Better Icon Render

This commit is contained in:
Anthony Calosa
2020-03-01 10:47:48 +08:00
parent 0306ab97f1
commit 4d1d79098d
8 changed files with 61 additions and 24 deletions

View File

@@ -90,6 +90,10 @@ public class FSkin {
public static void loadLight(String skinName, final SplashScreen splashScreen) { public static void loadLight(String skinName, final SplashScreen splashScreen) {
preferredName = skinName.toLowerCase().replace(' ', '_'); preferredName = skinName.toLowerCase().replace(' ', '_');
//reset hd buttons/icons
Forge.hdbuttons = false;
Forge.hdstart = false;
//ensure skins directory exists //ensure skins directory exists
final FileHandle dir = Gdx.files.absolute(ForgeConstants.SKINS_DIR); final FileHandle dir = Gdx.files.absolute(ForgeConstants.SKINS_DIR);
if (!dir.exists() || !dir.isDirectory()) { if (!dir.exists() || !dir.isDirectory()) {
@@ -205,21 +209,21 @@ public class FSkin {
textures.put(f6.path(), textures.get(f3.path())); textures.put(f6.path(), textures.get(f3.path()));
} }
if (f7.exists()){ if (f7.exists()){
Texture t = new Texture(f7, true); Texture t = new Texture(f7, false);
t.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear); //t.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
textures.put(f7.path(), t); textures.put(f7.path(), t);
} }
//hdbuttons //hdbuttons
if (f11.exists()) { if (f11.exists()) {
Texture tf11 = new Texture(f11, true); Texture t = new Texture(f11, true);
tf11.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear); t.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
textures.put(f11.path(), tf11); textures.put(f11.path(), t);
Forge.hdbuttons = true; Forge.hdbuttons = true;
} else { Forge.hdbuttons = false; } //how to refresh buttons when a theme don't have hd buttons? } else { Forge.hdbuttons = false; } //how to refresh buttons when a theme don't have hd buttons?
if (f12.exists()) { if (f12.exists()) {
Texture tf12 = new Texture(f12, true); Texture t = new Texture(f12, true);
tf12.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear); t.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
textures.put(f12.path(), tf12); textures.put(f12.path(), t);
Forge.hdstart = true; Forge.hdstart = true;
} else { Forge.hdstart = false; } } else { Forge.hdstart = false; }
//update colors //update colors

View File

@@ -176,6 +176,22 @@ public enum FSkinImage implements FImage {
QUEST_MINUS (FSkinProp.ICO_QUEST_MINUS, SourceFile.ICONS), QUEST_MINUS (FSkinProp.ICO_QUEST_MINUS, SourceFile.ICONS),
QUEST_PLUS (FSkinProp.ICO_QUEST_PLUS, SourceFile.ICONS), QUEST_PLUS (FSkinProp.ICO_QUEST_PLUS, SourceFile.ICONS),
QUEST_PLUSPLUS (FSkinProp.ICO_QUEST_PLUSPLUS, SourceFile.ICONS), QUEST_PLUSPLUS (FSkinProp.ICO_QUEST_PLUSPLUS, SourceFile.ICONS),
QUEST_BIG_ELIXIR (FSkinProp.ICO_QUEST_BIG_ELIXIR, SourceFile.ICONS),
QUEST_BIG_BREW (FSkinProp.ICO_QUEST_BIG_BREW, SourceFile.ICONS),
QUEST_BIG_BM (FSkinProp.ICO_QUEST_BIG_BM, SourceFile.ICONS),
QUEST_BIG_STAKES (FSkinProp.ICO_QUEST_BIG_STAKES, SourceFile.ICONS),
QUEST_BIG_HOUSE (FSkinProp.ICO_QUEST_BIG_HOUSE, SourceFile.ICONS),
QUEST_BIG_COIN (FSkinProp.ICO_QUEST_BIG_COIN, SourceFile.ICONS),
QUEST_BIG_BOOK (FSkinProp.ICO_QUEST_BIG_BOOK, SourceFile.ICONS),
QUEST_BIG_MAP (FSkinProp.ICO_QUEST_BIG_MAP, SourceFile.ICONS),
QUEST_BIG_ZEP (FSkinProp.ICO_QUEST_BIG_ZEP, SourceFile.ICONS),
QUEST_BIG_CHARM (FSkinProp.ICO_QUEST_BIG_CHARM, SourceFile.ICONS),
QUEST_BIG_BOOTS (FSkinProp.ICO_QUEST_BIG_BOOTS, SourceFile.ICONS),
QUEST_BIG_SHIELD (FSkinProp.ICO_QUEST_BIG_SHIELD, SourceFile.ICONS),
QUEST_BIG_ARMOR (FSkinProp.ICO_QUEST_BIG_ARMOR, SourceFile.ICONS),
QUEST_BIG_AXE (FSkinProp.ICO_QUEST_BIG_AXE, SourceFile.ICONS),
QUEST_BIG_SWORD (FSkinProp.ICO_QUEST_BIG_SWORD, SourceFile.ICONS),
QUEST_BIG_BAG (FSkinProp.ICO_QUEST_BIG_BAG, SourceFile.ICONS),
//Interface icons //Interface icons
QUESTION (FSkinProp.ICO_QUESTION, SourceFile.ICONS), QUESTION (FSkinProp.ICO_QUESTION, SourceFile.ICONS),
@@ -249,6 +265,7 @@ public enum FSkinImage implements FImage {
ENCHANTMENT (FSkinProp.IMG_ENCHANTMENT, SourceFile.MANAICONS), ENCHANTMENT (FSkinProp.IMG_ENCHANTMENT, SourceFile.MANAICONS),
INSTANT (FSkinProp.IMG_INSTANT, SourceFile.MANAICONS), INSTANT (FSkinProp.IMG_INSTANT, SourceFile.MANAICONS),
LAND (FSkinProp.IMG_LAND, SourceFile.MANAICONS), LAND (FSkinProp.IMG_LAND, SourceFile.MANAICONS),
LANDLOGO (FSkinProp.IMG_LANDLOGO, SourceFile.MANAICONS),
MULTI (FSkinProp.IMG_MULTI, SourceFile.ICONS), MULTI (FSkinProp.IMG_MULTI, SourceFile.ICONS),
HDMULTI (FSkinProp.IMG_HDMULTI, SourceFile.MANAICONS), HDMULTI (FSkinProp.IMG_HDMULTI, SourceFile.MANAICONS),
PLANESWALKER (FSkinProp.IMG_PLANESWALKER, SourceFile.MANAICONS), PLANESWALKER (FSkinProp.IMG_PLANESWALKER, SourceFile.MANAICONS),

View File

@@ -332,7 +332,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
protected void buildMenu() { protected void buildMenu() {
final Localizer localizer = Localizer.getInstance(); final Localizer localizer = Localizer.getInstance();
addItem(new FMenuItem(localizer.getMessage("lblAddBasicLands"), FSkinImage.LAND, new FEventHandler() { addItem(new FMenuItem(localizer.getMessage("lblAddBasicLands"), FSkinImage.LANDLOGO, new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
CardEdition defaultLandSet; CardEdition defaultLandSet;

View File

@@ -43,7 +43,7 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
private static final QuestStatsScreen statsScreen = new QuestStatsScreen(); private static final QuestStatsScreen statsScreen = new QuestStatsScreen();
private static final QuestTournamentsScreen tournamentsScreen = new QuestTournamentsScreen(); private static final QuestTournamentsScreen tournamentsScreen = new QuestTournamentsScreen();
private static final FMenuItem duelsItem = new FMenuItem(Localizer.getInstance().getMessage("lblDuels"), FSkinImage.QUEST_GEAR, new FEventHandler() { private static final FMenuItem duelsItem = new FMenuItem(Localizer.getInstance().getMessage("lblDuels"), FSkinImage.QUEST_BIG_SWORD, new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
setCurrentScreen(duelsScreen); setCurrentScreen(duelsScreen);
@@ -55,13 +55,13 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
setCurrentScreen(challengesScreen); setCurrentScreen(challengesScreen);
} }
}); });
private static final FMenuItem tournamentsItem = new FMenuItem(Localizer.getInstance().getMessage("lblTournaments"), FSkinImage.PACK, new FEventHandler() { private static final FMenuItem tournamentsItem = new FMenuItem(Localizer.getInstance().getMessage("lblTournaments"), FSkinImage.QUEST_BIG_SHIELD, new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
setCurrentScreen(tournamentsScreen); setCurrentScreen(tournamentsScreen);
} }
}); });
private static final FMenuItem decksItem = new FMenuItem(Localizer.getInstance().getMessage("lblQuestDecks"), FSkinImage.DECKLIST, new FEventHandler() { private static final FMenuItem decksItem = new FMenuItem(Localizer.getInstance().getMessage("lblQuestDecks"), FSkinImage.QUEST_BIG_BAG, new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
setCurrentScreen(decksScreen); setCurrentScreen(decksScreen);

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" ?> <?xml version="1.0" ?>
<bazaar> <bazaar>
<options> <options>
<iconSize>80</iconSize> <iconSize>160</iconSize>
</options> </options>
<stalls> <stalls>
<stall name="Alchemist" displayName="Orim, Samite Healer" icon="ICO_QUEST_BOTTLES"> <stall name="Alchemist" displayName="Orim, Samite Healer" icon="ICO_QUEST_BOTTLES">
@@ -26,7 +26,7 @@
<string>Sleight</string> <string>Sleight</string>
</items> </items>
</stall> </stall>
<stall name="Gear" displayName="The Rope and Axe" icon="ICO_QUEST_GEAR"> <stall name="Gear" displayName="The Rope and Axe" icon="ICO_QUEST_BIG_ARMOR">
<description>This adventurer&apos;s market has a tool for every need ... or so the plaque on the wall claims.</description> <description>This adventurer&apos;s market has a tool for every need ... or so the plaque on the wall claims.</description>
<items> <items>
<string>Map</string> <string>Map</string>
@@ -53,22 +53,22 @@
</stall> </stall>
</stalls> </stalls>
<questItems> <questItems>
<item name="Sleight" purchaseName="Sleight of Hand Vol. I" maxLevel="1" basePrice="2000" itemType="SLEIGHT" icon="ICO_QUEST_BOOK"> <item name="Sleight" purchaseName="Sleight of Hand Vol. I" maxLevel="1" basePrice="2000" itemType="SLEIGHT" icon="ICO_QUEST_BIG_BOOK">
<description>These volumes explain how to perform the most difficult of sleights. <description>These volumes explain how to perform the most difficult of sleights.
Effect: Your first mulligan is free.</description> Effect: Your first mulligan is free.</description>
</item> </item>
<item name="Map" purchaseName="Adventurer&apos;s Map" maxLevel="1" basePrice="2000" itemType="MAP" icon="ICO_QUEST_MAP"> <item name="Map" purchaseName="Adventurer&apos;s Map" maxLevel="1" basePrice="2000" itemType="MAP" icon="ICO_QUEST_BIG_MAP">
<description>These ancient charts should facilitate navigation during your travels significantly. <description>These ancient charts should facilitate navigation during your travels significantly.
Effect: Quest challenges become available more frequently.</description> Effect: Quest challenges become available more frequently.</description>
</item> </item>
<item name="Lucky Coin" maxLevel="1" basePrice="2000" itemType="LUCKY_COIN" icon="ICO_QUEST_COIN"> <item name="Lucky Coin" maxLevel="1" basePrice="2000" itemType="LUCKY_COIN" icon="ICO_QUEST_BIG_COIN">
<description>This coin is believed to give good luck to its owner. <description>This coin is believed to give good luck to its owner.
Effect: Improves the chance of getting a random rare after each match by 15%.</description> Effect: Improves the chance of getting a random rare after each match by 15%.</description>
</item> </item>
<item name="Estates" maxLevel="3" basePrice="250" itemType="ESTATES" icon="ICO_QUEST_GOLD"> <item name="Estates" maxLevel="3" basePrice="250" itemType="ESTATES" icon="ICO_QUEST_BIG_HOUSE">
<description>Land owners have a strong voice in community matters. <description>Land owners have a strong voice in community matters.
Effect: Gives a bonus of %d%% to match winnings. Effect: Gives a bonus of %d%% to match winnings.
@@ -81,37 +81,37 @@ Effect: Quest challenges become available more frequently.
Effect: +3 life Effect: +3 life
Effect: Activate once for a new set of challenges (re-fuels after a challenge is attempted).</description> Effect: Activate once for a new set of challenges (re-fuels after a challenge is attempted).</description>
</item> </item>
<item name="Pound of Flesh" maxLevel="29" basePrice="250" itemType="POUND_FLESH" icon="ICO_QUEST_BREW"> <item name="Pound of Flesh" maxLevel="29" basePrice="250" itemType="POUND_FLESH" icon="ICO_QUEST_BIG_BREW">
<description>The Alchemist welcomes contributions to his famous Elixir. <description>The Alchemist welcomes contributions to his famous Elixir.
But beware, you may build an immunity to its effects... But beware, you may build an immunity to its effects...
Effect: Alchemist gives you %d credits. Effect: Alchemist gives you %d credits.
Effect: Reduces maximum life by 1.</description> Effect: Reduces maximum life by 1.</description>
</item> </item>
<item name="Elixir of Life" maxLevel="15" basePrice="250" itemType="ELIXIR_OF_LIFE" icon="ICO_QUEST_ELIXIR"> <item name="Elixir of Life" maxLevel="15" basePrice="250" itemType="ELIXIR_OF_LIFE" icon="ICO_QUEST_BIG_ELIXIR">
<description>A salty sweet smell rises from the vials bubbling behind the counter. <description>A salty sweet smell rises from the vials bubbling behind the counter.
Effect: Gives +1 to maximum life. Effect: Gives +1 to maximum life.
Fine Print: Loses effectiveness after 15 uses.</description> Fine Print: Loses effectiveness after 15 uses.</description>
</item> </item>
<item name="Charm of Vim" maxLevel="1" basePrice="1000" <item name="Charm of Vim" maxLevel="1" basePrice="1000"
itemType="CHARM_VIM" icon="ICO_QUEST_CHARM"> itemType="CHARM_VIM" icon="ICO_QUEST_BIG_BOOTS">
<description>A charm fills you with energy, speeding your movements. <description>A charm fills you with energy, speeding your movements.
Effect: You may have each match be best of 1 instead of 3.</description> Effect: You may have each match be best of 1 instead of 3.</description>
</item> </item>
<item name="Charm of Vigor" maxLevel="1" basePrice="1000" <item name="Charm of Vigor" maxLevel="1" basePrice="1000"
itemType="CHARM" icon="ICO_QUEST_CHARM"> itemType="CHARM" icon="ICO_QUEST_BIG_CHARM">
<description>A charm to ward off the fatigue of battle. <description>A charm to ward off the fatigue of battle.
Effect: You may have each match be best of 5 instead of 3.</description> Effect: You may have each match be best of 5 instead of 3.</description>
</item> </item>
<item name="Cash Stakes" maxLevel="1" basePrice="1500" itemType="CASH_STAKES" icon="ICO_QUEST_STAKES"> <item name="Cash Stakes" maxLevel="1" basePrice="1500" itemType="CASH_STAKES" icon="ICO_QUEST_BIG_STAKES">
<description>A written agreement with the Spell Shop to acquire cards you lose in an ante match from quest opponents. <description>A written agreement with the Spell Shop to acquire cards you lose in an ante match from quest opponents.
Effect: Cards lost in an ante match will be available immediately following the match in the Card Shop.</description> Effect: Cards lost in an ante match will be available immediately following the match in the Card Shop.</description>
</item> </item>
<item name="Bank Membership" maxLevel="3" basePrice="2500" itemType="MEMBERSHIP_TOKEN" icon="ICO_QUEST_GOLD"> <item name="Bank Membership" maxLevel="3" basePrice="2500" itemType="MEMBERSHIP_TOKEN" icon="ICO_QUEST_BIG_BM">
<description>A token certifying you as a member of the bank, giving you a greater selection of booster packs when you win. <description>A token certifying you as a member of the bank, giving you a greater selection of booster packs when you win.
Effect: Adds one more booster pack to the pack selection after you win.</description> Effect: Adds one more booster pack to the pack selection after you win.</description>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 686 KiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 639 KiB

After

Width:  |  Height:  |  Size: 534 KiB

View File

@@ -213,6 +213,22 @@ public enum FSkinProp {
ICO_QUEST_MINUS (new int[] {560, 640, 80, 80}, PropType.ICON), ICO_QUEST_MINUS (new int[] {560, 640, 80, 80}, PropType.ICON),
ICO_QUEST_PLUS (new int[] {480, 640, 80, 80}, PropType.ICON), ICO_QUEST_PLUS (new int[] {480, 640, 80, 80}, PropType.ICON),
ICO_QUEST_PLUSPLUS (new int[] {480, 720, 80, 80}, PropType.ICON), ICO_QUEST_PLUSPLUS (new int[] {480, 720, 80, 80}, PropType.ICON),
ICO_QUEST_BIG_ELIXIR (new int[] {0, 880, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_BREW (new int[] {160, 880, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_BM (new int[] {320, 880, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_STAKES (new int[] {480, 880, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_HOUSE (new int[] {0, 1040, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_COIN (new int[] {160, 1040, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_BOOK (new int[] {320, 1040, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_MAP (new int[] {480, 1040, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_ZEP (new int[] {0, 1200, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_CHARM (new int[] {160, 1200, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_BOOTS (new int[] {320, 1200, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_SHIELD (new int[] {480, 1200, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_ARMOR (new int[] {0, 1360, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_AXE (new int[] {160, 1360, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_SWORD (new int[] {320, 1360, 160, 160}, PropType.ICON),
ICO_QUEST_BIG_BAG (new int[] {480, 1360, 160, 160}, PropType.ICON),
//interface icons //interface icons
ICO_QUESTION (new int[] {560, 800, 32, 32}, PropType.ICON), ICO_QUESTION (new int[] {560, 800, 32, 32}, PropType.ICON),