From 995a8836c3f860c4779b893f6b6af8f5a141aedb Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 25 Jun 2024 15:39:34 -0400 Subject: [PATCH] v2.5.0: added new icons for some existing landmarks --- core/src/main/assets/interfaces/icons.png | Bin 15077 -> 15852 bytes .../shatteredpixeldungeon/journal/Notes.java | 39 ++++++++++++------ .../shatteredpixeldungeon/ui/Icons.java | 16 +++++++ .../ui/ScrollingGridPane.java | 2 + .../windows/WndHeroInfo.java | 3 +- .../windows/WndJournal.java | 8 ++-- 6 files changed, 50 insertions(+), 18 deletions(-) diff --git a/core/src/main/assets/interfaces/icons.png b/core/src/main/assets/interfaces/icons.png index 8da9dc914829bdb141732390aa12f12e0cb6c2cb..30eb3a3ff6f33176a6352f42d1ac2d2e4e76238a 100644 GIT binary patch literal 15852 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 bz|WGA^sfr$QB2Q(m*b6`s%*KmNyz^I)`_u9 literal 15077 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 diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Notes.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Notes.java index de5e4e7e6..334061aa9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Notes.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Notes.java @@ -21,24 +21,21 @@ package com.shatteredpixel.shatteredpixeldungeon.journal; -import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.items.keys.Key; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; -import com.shatteredpixel.shatteredpixeldungeon.plants.Sungrass; +import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.BlacksmithSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.GhostSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.ImpSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite; -import com.shatteredpixel.shatteredpixeldungeon.sprites.ShopkeeperSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.SpawnerSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.StatueSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.WandmakerSprite; -import com.shatteredpixel.shatteredpixeldungeon.tiles.TerrainFeaturesTilemap; -import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIcon; -import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.Icons; +import com.watabou.noosa.BitmapText; import com.watabou.noosa.Image; +import com.watabou.noosa.Visual; import com.watabou.utils.Bundlable; import com.watabou.utils.Bundle; @@ -58,6 +55,8 @@ public class Notes { public Image icon() { return Icons.STAIRS.get(); } + public Visual secondIcon() { return null; } + public int quantity() { return 1; } public abstract String title(); @@ -86,6 +85,10 @@ public class Notes { } public enum Landmark { + //a landmark for each depth type + + //more special room landmarks? + // distant well WELL_OF_HEALTH, WELL_OF_AWARENESS, ALCHEMY, @@ -98,6 +101,7 @@ public class Notes { WANDMAKER, TROLL, IMP, + //rat king? DEMON_SPAWNER; @@ -122,20 +126,20 @@ public class Notes { default: return super.icon(); - //TODO we probably want a separate image file for landmark visuals, especially if we expand this case WELL_OF_HEALTH: + return Icons.get(Icons.WELL_HEALTH); case WELL_OF_AWARENESS: - return new Image(Assets.Environment.TILES_SEWERS, 48, 16, 16, 16); + return Icons.get(Icons.WELL_AWARENESS); case ALCHEMY: - return new Image(Assets.Environment.TILES_SEWERS, 0, 64, 16, 16); + return Icons.get(Icons.ALCHEMY); case GARDEN: - return TerrainFeaturesTilemap.getPlantVisual(new Sungrass()); + return Icons.get(Icons.GRASS); case STATUE: return new Image(new StatueSprite()); case SACRIFICIAL_FIRE: - return new BuffIcon(BuffIndicator.SACRIFICE, true); + return Icons.get(Icons.SACRIFICE_ALTAR); case SHOP: - return new Image(new ShopkeeperSprite()); + return Icons.get(Icons.GOLD); case GHOST: return new Image(new GhostSprite()); @@ -203,6 +207,17 @@ public class Notes { return new ItemSprite(key); } + @Override + public Visual secondIcon() { + if (quantity() > 1){ + BitmapText text = new BitmapText(Integer.toString(quantity()), PixelScene.pixelFont); + text.measure(); + return text; + } else { + return null; + } + } + @Override public String title() { return key.title(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java index bc6edd5ee..5c8662741 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java @@ -85,6 +85,10 @@ public enum Icons { BUFFS, CATALOG, ALCHEMY, + GRASS, + WELL_HEALTH, + WELL_AWARENESS, + SACRIFICE_ALTAR, //smaller icons, variable spacing SKULL, @@ -272,6 +276,18 @@ public enum Icons { case ALCHEMY: icon.frame( icon.texture.uvRectBySize( 112, 48, 16, 16 ) ); break; + case GRASS: + icon.frame( icon.texture.uvRectBySize( 128, 48, 16, 16 ) ); + break; + case WELL_HEALTH: + icon.frame( icon.texture.uvRectBySize( 144, 48, 16, 16 ) ); + break; + case WELL_AWARENESS: + icon.frame( icon.texture.uvRectBySize( 160, 48, 16, 16 ) ); + break; + case SACRIFICE_ALTAR: + icon.frame( icon.texture.uvRectBySize( 176, 48, 16, 16 ) ); + break; case SKULL: icon.frame( icon.texture.uvRectBySize( 0, 64, 8, 8 ) ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ScrollingGridPane.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ScrollingGridPane.java index e1b9a6579..15e732f6f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ScrollingGridPane.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ScrollingGridPane.java @@ -23,6 +23,7 @@ package com.shatteredpixel.shatteredpixeldungeon.ui; import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite; +import com.watabou.noosa.BitmapText; import com.watabou.noosa.ColorBlock; import com.watabou.noosa.Image; import com.watabou.noosa.Visual; @@ -200,6 +201,7 @@ public class ScrollingGridPane extends ScrollPane { if (secondIcon != null){ secondIcon.x = x + width()-secondIcon.width()-1; secondIcon.y = y + height()-secondIcon.height()-1; + if (secondIcon instanceof BitmapText) secondIcon.y++; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java index 1e41a0409..2de2cda98 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java @@ -21,7 +21,6 @@ package com.shatteredpixel.shatteredpixeldungeon.windows; -import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass; @@ -189,7 +188,7 @@ public class WndHeroInfo extends WndTabbed { break; case HUNTRESS: icons = new Image[]{ new ItemSprite(ItemSpriteSheet.SPIRIT_BOW), - new Image(Assets.Environment.TILES_SEWERS, 32, 64, 16, 16), + Icons.GRASS.get(), new ItemSprite(ItemSpriteSheet.GLOVES), new ItemSprite(ItemSpriteSheet.SCROLL_ISAZ)}; break; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java index 0046d37ed..da7b6eedc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndJournal.java @@ -63,6 +63,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.ScrollingListPane; import com.watabou.noosa.BitmapText; import com.watabou.noosa.ColorBlock; import com.watabou.noosa.Image; +import com.watabou.noosa.Visual; import com.watabou.noosa.ui.Component; import com.watabou.utils.RectF; import com.watabou.utils.Reflection; @@ -463,10 +464,9 @@ public class WndJournal extends WndTabbed { } }; - if (rec.quantity() > 1){ - BitmapText text = new BitmapText(Integer.toString(rec.quantity()), PixelScene.pixelFont); - text.measure(); - gridItem.addSecondIcon( text ); + Visual secondIcon = rec.secondIcon(); + if (secondIcon != null){ + gridItem.addSecondIcon( secondIcon ); } grid.addItem(gridItem);