diff --git a/.gitattributes b/.gitattributes index a6a6b4b6c61..42aa8d34f35 100644 --- a/.gitattributes +++ b/.gitattributes @@ -16516,8 +16516,6 @@ forge-gui/res/skins/default/bg_draft_deck.png -text forge-gui/res/skins/default/bg_match.jpg -text forge-gui/res/skins/default/bg_splash.png -text forge-gui/res/skins/default/bg_texture.jpg -text -forge-gui/res/skins/default/bg_trophy_case_shelf.png -text -forge-gui/res/skins/default/bg_trophy_case_top.png -text forge-gui/res/skins/default/font1.ttf -text forge-gui/res/skins/default/grid_icons.png -text forge-gui/res/skins/default/loader.gif -text diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java index 310bc77de7b..438e947d0c7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java @@ -37,7 +37,6 @@ public enum VSubmenuAchievements implements IVSubmenu { private static final int MIN_SHELVES = 3; private static final int TROPHIES_PER_SHELVE = 4; - private static final int IMAGE_SCALE = 3; // Fields used with interface IVDoc private DragCell parentCell; @@ -53,7 +52,7 @@ public enum VSubmenuAchievements implements IVSubmenu { private VSubmenuAchievements() { lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2)); - trophyCase.setMinimumSize(new Dimension(266 * IMAGE_SCALE, 0)); + trophyCase.setMinimumSize(new Dimension(FSkinProp.IMG_TROPHY_CASE_SHELF.getWidth(), 0)); AchievementCollection.buildComboBox(cbCollections); @@ -162,7 +161,7 @@ public enum VSubmenuAchievements implements IVSubmenu { trophyCase.shelfCount = MIN_SHELVES; } - trophyCase.setMinimumSize(new Dimension(trophyCase.getMinimumSize().width, IMAGE_SCALE * (14 + trophyCase.shelfCount * 86))); + trophyCase.setMinimumSize(new Dimension(trophyCase.getMinimumSize().width, (FSkinProp.IMG_TROPHY_CASE_TOP.getHeight() + trophyCase.shelfCount * FSkinProp.IMG_TROPHY_CASE_SHELF.getHeight()))); trophyCase.setPreferredSize(trophyCase.getMinimumSize()); scroller.revalidate(); scroller.repaint(); @@ -170,8 +169,8 @@ public enum VSubmenuAchievements implements IVSubmenu { @SuppressWarnings("serial") private static class TrophyCase extends JPanel { - private static final SkinImage imgTop = FSkin.getImage(FSkinProp.BG_TROPHY_CASE_TOP).scale(IMAGE_SCALE); - private static final SkinImage imgShelf = FSkin.getImage(FSkinProp.BG_TROPHY_CASE_SHELF).scale(IMAGE_SCALE); + private static final SkinImage imgTop = FSkin.getImage(FSkinProp.IMG_TROPHY_CASE_TOP); + private static final SkinImage imgShelf = FSkin.getImage(FSkinProp.IMG_TROPHY_CASE_SHELF); private static final SkinImage imgBronzeTrophy = FSkin.getImage(FSkinProp.IMG_BRONZE_TROPHY).scale(1.8); private static final SkinImage imgSilverTrophy = FSkin.getImage(FSkinProp.IMG_SILVER_TROPHY).scale(1.8); private static final SkinImage imgGoldTrophy = FSkin.getImage(FSkinProp.IMG_GOLD_TROPHY).scale(1.8); @@ -212,7 +211,7 @@ public enum VSubmenuAchievements implements IVSubmenu { Dimension trophyPlateSize = imgTrophyPlate.getSizeForPaint(g2d); x += (w - TROPHIES_PER_SHELVE * trophySize.width) / 2; - y = imgTopSize.height + (h - trophySize.height - 12 * IMAGE_SCALE) / 2; + y = imgTopSize.height + (h - trophySize.height - 37) / 2; FontMetrics fm; String label; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java index e9e1263e106..37001e0da1e 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java @@ -1106,10 +1106,6 @@ public class FSkin { if (f != null) { FSkin.defaultFontSize = f.getSize(); } - - //only need to initialize trophy case images once - SkinIcon.setIcon(FSkinProp.BG_TROPHY_CASE_TOP, defaultDir + ForgeConstants.TROPHY_CASE_TOP_FILE); - SkinIcon.setIcon(FSkinProp.BG_TROPHY_CASE_SHELF, defaultDir + ForgeConstants.TROPHY_CASE_SHELF_FILE); } SkinFont.setBaseFont(GuiUtils.newFont(preferredDir + ForgeConstants.FONT_FILE)); diff --git a/forge-gui-mobile/src/forge/assets/FSkinImage.java b/forge-gui-mobile/src/forge/assets/FSkinImage.java index d6da8a1e687..dff0a0869e8 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinImage.java +++ b/forge-gui-mobile/src/forge/assets/FSkinImage.java @@ -106,10 +106,12 @@ public enum FSkinImage implements FImage { ARCSHOVER (FSkinProp.ICO_ARCSHOVER, SourceFile.ICONS), //Achievement Trophies - BRONZE_TROPHY (FSkinProp.IMG_BRONZE_TROPHY, SourceFile.ICONS), - SILVER_TROPHY (FSkinProp.IMG_SILVER_TROPHY, SourceFile.ICONS), - GOLD_TROPHY (FSkinProp.IMG_GOLD_TROPHY, SourceFile.ICONS), - TROPHY_PLATE (FSkinProp.IMG_TROPHY_PLATE, SourceFile.ICONS), + BRONZE_TROPHY (FSkinProp.IMG_BRONZE_TROPHY, SourceFile.ICONS), + SILVER_TROPHY (FSkinProp.IMG_SILVER_TROPHY, SourceFile.ICONS), + GOLD_TROPHY (FSkinProp.IMG_GOLD_TROPHY, SourceFile.ICONS), + TROPHY_PLATE (FSkinProp.IMG_TROPHY_PLATE, SourceFile.ICONS), + TROPHY_CASE_TOP (FSkinProp.IMG_TROPHY_CASE_TOP, SourceFile.ICONS), + TROPHY_CASE_SHELF (FSkinProp.IMG_TROPHY_CASE_SHELF, SourceFile.ICONS), //Quest Icons QUEST_ZEP (FSkinProp.ICO_QUEST_ZEP, SourceFile.ICONS), diff --git a/forge-gui-mobile/src/forge/assets/FSkinTexture.java b/forge-gui-mobile/src/forge/assets/FSkinTexture.java index dfc3bf62e1f..9b2ecf77e3a 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinTexture.java +++ b/forge-gui-mobile/src/forge/assets/FSkinTexture.java @@ -8,9 +8,7 @@ import forge.Graphics; public enum FSkinTexture implements FImage { BG_TEXTURE("bg_texture.jpg", true), - BG_MATCH("bg_match.jpg", false), - BG_TROPHY_CASE_TOP("bg_trophy_case_top.png", false), - BG_TROPHY_CASE_SHELF("bg_trophy_case_shelf.png", false); + BG_MATCH("bg_match.jpg", false); private final String filename; private final boolean repeat; diff --git a/forge-gui-mobile/src/forge/screens/settings/AchievementsPage.java b/forge-gui-mobile/src/forge/screens/settings/AchievementsPage.java index 6b30d38ac6b..231a30169aa 100644 --- a/forge-gui-mobile/src/forge/screens/settings/AchievementsPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/AchievementsPage.java @@ -79,22 +79,22 @@ public class AchievementsPage extends TabPage { @Override protected ScrollBounds layoutAndGetScrollBounds(float visibleWidth, float visibleHeight) { float scrollWidth = visibleWidth + extraWidth; - float scale = scrollWidth / FSkinTexture.BG_TROPHY_CASE_TOP.getWidth(); - float scrollHeight = (FSkinTexture.BG_TROPHY_CASE_TOP.getHeight() + - shelfCount * FSkinTexture.BG_TROPHY_CASE_SHELF.getHeight()) * scale; + float scale = scrollWidth / FSkinImage.TROPHY_CASE_TOP.getWidth(); + float scrollHeight = (FSkinImage.TROPHY_CASE_TOP.getHeight() + + shelfCount * FSkinImage.TROPHY_CASE_SHELF.getHeight()) * scale; return new ScrollBounds(scrollWidth, scrollHeight); } private Achievement getAchievementAt(float x0, float y0) { float w = getScrollWidth(); - float scale = w / FSkinTexture.BG_TROPHY_CASE_TOP.getWidth(); - float trophyScale = scale / 3f * 1.8f; + float scale = w / FSkinImage.TROPHY_CASE_TOP.getWidth(); + float trophyScale = scale * 1.8f; - float shelfHeight = FSkinTexture.BG_TROPHY_CASE_SHELF.getHeight() * scale; + float shelfHeight = FSkinImage.TROPHY_CASE_SHELF.getHeight() * scale; float trophyWidth = FSkinImage.GOLD_TROPHY.getWidth() * trophyScale; float trophyHeight = FSkinImage.GOLD_TROPHY.getHeight() * trophyScale; float x = -getScrollLeft() + (w - TROPHIES_PER_SHELVE * trophyWidth) / 2; - float y = -getScrollTop() + FSkinTexture.BG_TROPHY_CASE_TOP.getHeight() * scale + (shelfHeight - trophyHeight - 12 * scale) / 2; + float y = -getScrollTop() + FSkinImage.TROPHY_CASE_TOP.getHeight() * scale + (shelfHeight - trophyHeight - 12 * scale) / 2; int trophyCount = 0; float startX = x; @@ -165,16 +165,15 @@ public class AchievementsPage extends TabPage { float x = -getScrollLeft(); float y = -getScrollTop(); float w = getScrollWidth(); - float scale = w / FSkinTexture.BG_TROPHY_CASE_TOP.getWidth(); - float trophyScale = scale / 3f * 1.8f; - float plateScale = scale / 3f; + float scale = w / FSkinImage.TROPHY_CASE_TOP.getWidth(); + float trophyScale = scale * 1.8f; - float topHeight = FSkinTexture.BG_TROPHY_CASE_TOP.getHeight() * scale; - float shelfHeight = FSkinTexture.BG_TROPHY_CASE_SHELF.getHeight() * scale; + float topHeight = FSkinImage.TROPHY_CASE_TOP.getHeight() * scale; + float shelfHeight = FSkinImage.TROPHY_CASE_SHELF.getHeight() * scale; float trophyWidth = FSkinImage.GOLD_TROPHY.getWidth() * trophyScale; float trophyHeight = FSkinImage.GOLD_TROPHY.getHeight() * trophyScale; - float plateWidth = FSkinImage.TROPHY_PLATE.getWidth() * plateScale; - float plateHeight = FSkinImage.TROPHY_PLATE.getHeight() * plateScale; + float plateWidth = FSkinImage.TROPHY_PLATE.getWidth() * scale; + float plateHeight = FSkinImage.TROPHY_PLATE.getHeight() * scale; float titleHeight = plateHeight * 0.55f; float subTitleHeight = plateHeight * 0.35f; @@ -186,13 +185,13 @@ public class AchievementsPage extends TabPage { float plateOffset = (trophyWidth - plateWidth) / 2; if (y + topHeight > 0) { - g.drawImage(FSkinTexture.BG_TROPHY_CASE_TOP, x, y, w, topHeight); + g.drawImage(FSkinImage.TROPHY_CASE_TOP, x, y, w, topHeight); } y += topHeight; for (int i = 0; i < shelfCount; i++) { if (y + shelfHeight > 0) { - g.drawImage(FSkinTexture.BG_TROPHY_CASE_SHELF, x, y, w, shelfHeight); + g.drawImage(FSkinImage.TROPHY_CASE_SHELF, x, y, w, shelfHeight); } y += shelfHeight; if (y >= getHeight()) { diff --git a/forge-gui/res/skins/default/bg_trophy_case_shelf.png b/forge-gui/res/skins/default/bg_trophy_case_shelf.png deleted file mode 100644 index fdd2ff559b5..00000000000 Binary files a/forge-gui/res/skins/default/bg_trophy_case_shelf.png and /dev/null differ diff --git a/forge-gui/res/skins/default/bg_trophy_case_top.png b/forge-gui/res/skins/default/bg_trophy_case_top.png deleted file mode 100644 index 48fe989db1a..00000000000 Binary files a/forge-gui/res/skins/default/bg_trophy_case_top.png and /dev/null differ diff --git a/forge-gui/res/skins/default/sprite_icons.png b/forge-gui/res/skins/default/sprite_icons.png index 72dee037410..9e36b340884 100644 Binary files a/forge-gui/res/skins/default/sprite_icons.png and b/forge-gui/res/skins/default/sprite_icons.png differ diff --git a/forge-gui/src/main/java/forge/assets/FSkinProp.java b/forge-gui/src/main/java/forge/assets/FSkinProp.java index 68e838f4c42..150a1049023 100644 --- a/forge-gui/src/main/java/forge/assets/FSkinProp.java +++ b/forge-gui/src/main/java/forge/assets/FSkinProp.java @@ -27,8 +27,6 @@ public enum FSkinProp { BG_SPLASH (null, PropType.BACKGROUND), BG_TEXTURE (null, PropType.BACKGROUND), BG_MATCH (null, PropType.BACKGROUND), - BG_TROPHY_CASE_TOP (null, PropType.BACKGROUND), - BG_TROPHY_CASE_SHELF (null, PropType.BACKGROUND), //colors CLR_THEME (new int[] {70, 10}, PropType.COLOR), @@ -232,11 +230,13 @@ public enum FSkinProp { IMG_PACK (new int[] {80, 760, 40, 40}, PropType.IMAGE), IMG_SORCERY (new int[] {160, 720, 40, 40}, PropType.IMAGE), - //achievement trophies - IMG_BRONZE_TROPHY (new int[] {0, 880, 100, 120}, PropType.IMAGE), - IMG_SILVER_TROPHY (new int[] {100, 880, 100, 120}, PropType.IMAGE), - IMG_GOLD_TROPHY (new int[] {200, 880, 100, 120}, PropType.IMAGE), - IMG_TROPHY_PLATE (new int[] {300, 880, 160, 40}, PropType.IMAGE), + //achievement trophies and shelf + IMG_BRONZE_TROPHY (new int[] {0, 880, 100, 120}, PropType.IMAGE), + IMG_SILVER_TROPHY (new int[] {100, 880, 100, 120}, PropType.IMAGE), + IMG_GOLD_TROPHY (new int[] {200, 880, 100, 120}, PropType.IMAGE), + IMG_TROPHY_PLATE (new int[] {300, 880, 160, 40}, PropType.IMAGE), + IMG_TROPHY_CASE_TOP (new int[] {1, 1001, 798, 42}, PropType.IMAGE), + IMG_TROPHY_CASE_SHELF (new int[] {1, 1043, 798, 257}, PropType.IMAGE), //button images IMG_BTN_START_UP (new int[] {480, 200, 160, 80}, PropType.ICON), @@ -278,6 +278,14 @@ public enum FSkinProp { return type; } + public int getWidth() { + return coords[2]; + } + + public int getHeight() { + return coords[3]; + } + public enum PropType { BACKGROUND, COLOR,