SKIN Update

This commit is contained in:
Anthony Calosa
2024-09-29 15:25:11 +08:00
parent 1f6f14cb3c
commit 7594888f8e
32 changed files with 152 additions and 33 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -698,7 +698,8 @@ public class FCardImageRenderer {
}
} else {
fillColorBackground(g, colors, x, y, w, h);
SkinIcon icon = FSkin.getIcon(FSkinProp.ICO_LOGO);
//Card Art Logo
SkinIcon icon = FSkin.getIcon(FSkinProp.ICO_CARDART);
float artWidth = (float)icon.getSizeForPaint(g).getWidth();
float artHeight = (float)icon.getSizeForPaint(g).getHeight();
if (artWidth / artHeight >= (float)w / (float)h) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -128,6 +128,17 @@ public class FSkin {
//reset hd buttons/icons
Forge.hdbuttons = false;
Forge.hdstart = false;
// TODO: the "v2" string should be a property of the default skin.
FileHandle v2File = Gdx.files.absolute(ForgeConstants.FONTS_DIR + "v2");
if (v2File == null || !v2File.exists()) {
//delete cached fonts
FSkinFont.deleteCachedFiles();
try {
v2File.file().createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
//ensure skins directory exists
final FileHandle dir = Gdx.files.absolute(ForgeConstants.CACHE_SKINS_DIR);

View File

@@ -219,9 +219,10 @@ public enum FSkinImage implements FSkinImageInterface {
UNKNOWN (FSkinProp.ICO_UNKNOWN),
LOGO (FSkinProp.ICO_LOGO),
CARDART (FSkinProp.ICO_CARDART),
FLIPCARD (FSkinProp.ICO_FLIPCARD),
HDFLIPCARD (FSkinProp.ICO_HDFLIPCARD),
HDFLIPCARD (FSkinProp.ICO_HDFLIPCARD),
FAVICON (FSkinProp.ICO_FAVICON),
LOCK (FSkinProp.ICO_LOCK),
@@ -313,15 +314,15 @@ public enum FSkinImage implements FSkinImageInterface {
HDBTN_DOWN_LEFT (FSkinProp.IMG_HDBTN_DOWN_LEFT),
HDBTN_DOWN_CENTER (FSkinProp.IMG_HDBTN_DOWN_CENTER),
HDBTN_DOWN_RIGHT (FSkinProp.IMG_HDBTN_DOWN_RIGHT),
HDBTN_FOCUS_LEFT (FSkinProp.IMG_HDBTN_FOCUS_LEFT),
HDBTN_FOCUS_CENTER (FSkinProp.IMG_HDBTN_FOCUS_CENTER),
HDBTN_FOCUS_RIGHT (FSkinProp.IMG_HDBTN_FOCUS_RIGHT),
HDBTN_TOGGLE_LEFT (FSkinProp.IMG_HDBTN_TOGGLE_LEFT),
HDBTN_TOGGLE_CENTER (FSkinProp.IMG_HDBTN_TOGGLE_CENTER),
HDBTN_TOGGLE_RIGHT (FSkinProp.IMG_HDBTN_TOGGLE_RIGHT),
HDBTN_DISABLED_LEFT (FSkinProp.IMG_HDBTN_DISABLED_LEFT),
HDBTN_DISABLED_CENTER (FSkinProp.IMG_HDBTN_DISABLED_CENTER),
HDBTN_DISABLED_RIGHT (FSkinProp.IMG_HDBTN_DISABLED_RIGHT),
HDBTN_FOCUS_LEFT (FSkinProp.IMG_HDBTN_FOCUS_LEFT),
HDBTN_FOCUS_CENTER (FSkinProp.IMG_HDBTN_FOCUS_CENTER),
HDBTN_FOCUS_RIGHT (FSkinProp.IMG_HDBTN_FOCUS_RIGHT),
HDBTN_TOGGLE_LEFT (FSkinProp.IMG_HDBTN_TOGGLE_LEFT),
HDBTN_TOGGLE_CENTER (FSkinProp.IMG_HDBTN_TOGGLE_CENTER),
HDBTN_TOGGLE_RIGHT (FSkinProp.IMG_HDBTN_TOGGLE_RIGHT),
HDBTN_DISABLED_LEFT (FSkinProp.IMG_HDBTN_DISABLED_LEFT),
HDBTN_DISABLED_CENTER (FSkinProp.IMG_HDBTN_DISABLED_CENTER),
HDBTN_DISABLED_RIGHT (FSkinProp.IMG_HDBTN_DISABLED_RIGHT),
//Foils
FOIL_01 (FSkinProp.FOIL_01),

View File

@@ -156,19 +156,20 @@ public class CardImageRenderer {
}
//space for artist
textBoxHeight -= 2 * PT_FONT.getCapHeight();
PaperCard paperCard = ImageUtil.getPaperCardFromImageKey(state.getImageKey());
PaperCard paperCard = null;
try {
paperCard = ImageUtil.getPaperCardFromImageKey(state.getImageKey());
} catch (Exception e) {}
String artist = "WOTC";
if (paperCard != null && !paperCard.getArtist().isEmpty())
artist = paperCard.getArtist();
float minTextBoxHeight = 2 * headerHeight;
if (textBoxHeight < minTextBoxHeight) {
if (textBoxHeight < minTextBoxHeight) {
artHeight -= (minTextBoxHeight - textBoxHeight); //subtract from art height if text box not big enough otherwise
textBoxHeight = minTextBoxHeight;
if (artHeight < 0) {
textBoxHeight += artHeight;
artHeight = 0;
}
artHeight -= (minTextBoxHeight - textBoxHeight); //subtract from art height if text box not big enough otherwise
textBoxHeight = minTextBoxHeight;
if (artHeight < 0) {
textBoxHeight += artHeight;
artHeight = 0;
}
}
@@ -302,8 +303,8 @@ public class CardImageRenderer {
private static final FBufferedImage stretchedArt;
static {
final float logoWidth = FSkinImage.LOGO.getWidth();
final float logoHeight = FSkinImage.LOGO.getHeight();
final float logoWidth = FSkinImage.CARDART.getWidth();
final float logoHeight = FSkinImage.CARDART.getHeight();
float h = logoHeight * 1.1f;
float w = h * CardRenderer.CARD_ART_RATIO;
forgeArt = new FBufferedImage(w, h) {
@@ -311,7 +312,7 @@ public class CardImageRenderer {
protected void draw(Graphics g, float w, float h) {
g.drawImage(Forge.isMobileAdventureMode ? FSkinTexture.ADV_BG_TEXTURE : FSkinTexture.BG_TEXTURE, 0, 0, w, h);
g.fillRect(FScreen.getTextureOverlayColor(), 0, 0, w, h);
g.drawImage(FSkinImage.LOGO, (w - logoWidth) / 2, (h - logoHeight) / 2, logoWidth, logoHeight);
g.drawImage(FSkinImage.CARDART, (w - logoWidth) / 2, (h - logoHeight) / 2, logoWidth, logoHeight);
}
};
stretchedArt = new FBufferedImage(w, h) {
@@ -319,20 +320,24 @@ public class CardImageRenderer {
protected void draw(Graphics g, float w, float h) {
g.drawImage(Forge.isMobileAdventureMode ? FSkinTexture.ADV_BG_TEXTURE : FSkinTexture.BG_TEXTURE, 0, 0, w, h);
g.fillRect(FScreen.getTextureOverlayColor(), 0, 0, w, h);
g.drawImage(FSkinImage.LOGO, (w - logoWidth) / 2, ((h - logoHeight) / 2) + h / 3.5f, logoWidth, logoHeight / 3);
int newW = Math.round((h * (logoWidth / logoHeight)) * 1.5f);
int newH = Math.round(logoHeight / 2);
g.drawImage(FSkinImage.CARDART, (w - newW) /2, (h - newH) / 2, newW, newH);
}
};
}
private static void drawArt(CardView cv, Graphics g, float x, float y, float w, float h, boolean altState, boolean isFaceDown) {
boolean isSaga = cv.getCurrentState().getType().hasSubtype("Saga");
boolean isClass = cv.getCurrentState().getType().hasSubtype("Class") || cv.getCurrentState().getType().hasSubtype("Case");
boolean isDungeon = cv.getCurrentState().getType().isDungeon();
boolean useStretchedArt = cv.getCurrentState().getType().hasSubtype("Saga")
|| cv.getCurrentState().getType().hasSubtype("Class")
|| cv.getCurrentState().getType().hasSubtype("Case")
|| cv.getCurrentState().getType().isDungeon();
ColorSet colorSet = cv.getCurrentState().getColors();
if (altState && cv.hasAlternateState()) {
isSaga = cv.getAlternateState().getType().hasSubtype("Saga");
isClass = cv.getAlternateState().getType().hasSubtype("Class") || cv.getAlternateState().getType().hasSubtype("Case");
isDungeon = cv.getAlternateState().getType().isDungeon();
useStretchedArt = cv.getAlternateState().getType().hasSubtype("Saga")
|| cv.getAlternateState().getType().hasSubtype("Class")
|| cv.getAlternateState().getType().hasSubtype("Case")
|| cv.getAlternateState().getType().isDungeon();
colorSet = cv.getAlternateState().getColors();
}
if (cv == null) {
@@ -344,7 +349,7 @@ public class CardImageRenderer {
}
}
//fallback
if (isSaga || isClass || isDungeon) {
if (useStretchedArt) {
g.drawImage(stretchedArt, x, y, w, h);
} else {
g.drawImage(forgeArt, x, y, w, h);
@@ -359,7 +364,7 @@ public class CardImageRenderer {
|| cv.getCurrentState().getImageKey().equals(ImageKeys.getTokenKey(ImageKeys.FORETELL_IMAGE)));
if (cardArt != null) {
if (isHidden && !altState) {
if (isSaga || isClass || isDungeon) {
if (useStretchedArt) {
g.drawImage(stretchedArt, x, y, w, h);
} else {
g.drawImage(forgeArt, x, y, w, h);
@@ -391,14 +396,14 @@ public class CardImageRenderer {
}
}
} else {
if (isSaga || isClass || isDungeon) {
if (useStretchedArt) {
g.drawImage(stretchedArt, x, y, w, h);
} else {
g.drawImage(forgeArt, x, y, w, h);
}
}
} else {
if (isSaga || isClass || isDungeon) {
if (useStretchedArt) {
g.drawImage(stretchedArt, x, y, w, h);
} else {
g.drawImage(forgeArt, x, y, w, h);

View File

@@ -143,3 +143,103 @@ https://downloads.cardforge.org/skins/magic_blue/sprite_buttons.png
https://downloads.cardforge.org/skins/magic_blue/sprite_icons.png
https://downloads.cardforge.org/skins/magic_blue/sprite_start.png
https://downloads.cardforge.org/skins/magic_blue/sprite_trophies.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_WU.png
https://downloads.cardforge.org/skins/old_forge/loader.gif
https://downloads.cardforge.org/skins/old_forge/overlay_alpha.png
https://downloads.cardforge.org/skins/old_forge/splatter.png
https://downloads.cardforge.org/skins/old_forge/sprite_ability.png
https://downloads.cardforge.org/skins/old_forge/sprite_adv_buttons.png
https://downloads.cardforge.org/skins/old_forge/sprite_adventure.png
https://downloads.cardforge.org/skins/old_forge/sprite_attraction_lights.png
https://downloads.cardforge.org/skins/old_forge/sprite_avatars.png
https://downloads.cardforge.org/skins/old_forge/sprite_border.png
https://downloads.cardforge.org/skins/old_forge/sprite_buttons.png
https://downloads.cardforge.org/skins/old_forge/sprite_cracks.png
https://downloads.cardforge.org/skins/old_forge/sprite_cursor.png
https://downloads.cardforge.org/skins/old_forge/sprite_deckbox.png
https://downloads.cardforge.org/skins/old_forge/sprite_draftranks.png
https://downloads.cardforge.org/skins/old_forge/sprite_favicons.png
https://downloads.cardforge.org/skins/old_forge/sprite_foils.png
https://downloads.cardforge.org/skins/old_forge/sprite_hybrid_colorless.png
https://downloads.cardforge.org/skins/old_forge/sprite_icons.png
https://downloads.cardforge.org/skins/old_forge/sprite_manaicons.png
https://downloads.cardforge.org/skins/old_forge/sprite_old_foils.png
https://downloads.cardforge.org/skins/old_forge/sprite_phyrexian.png
https://downloads.cardforge.org/skins/old_forge/sprite_planar_conquest.png
https://downloads.cardforge.org/skins/old_forge/sprite_setlogo.png
https://downloads.cardforge.org/skins/old_forge/sprite_sleeves.png
https://downloads.cardforge.org/skins/old_forge/sprite_sleeves2.png
https://downloads.cardforge.org/skins/old_forge/sprite_start.png
https://downloads.cardforge.org/skins/old_forge/sprite_trophies.png
https://downloads.cardforge.org/skins/old_forge/sprite_watermark.png
https://downloads.cardforge.org/skins/old_forge/adv_bg_castle.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_cave.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_common.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_dungeon.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_forest.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_island.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_match.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_match_day.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_match_nigh.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_mountain.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_plains.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_splash.png
https://downloads.cardforge.org/skins/old_forge/adv_bg_swamp.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_texture.jpg
https://downloads.cardforge.org/skins/old_forge/adv_bg_waste.jpg
https://downloads.cardforge.org/skins/old_forge/adv_logo.png
https://downloads.cardforge.org/skins/old_forge/bg_chaos_wheel.png
https://downloads.cardforge.org/skins/old_forge/bg_day.jpg
https://downloads.cardforge.org/skins/old_forge/bg_draft_deck.png
https://downloads.cardforge.org/skins/old_forge/bg_match.jpg
https://downloads.cardforge.org/skins/old_forge/bg_night.jpg
https://downloads.cardforge.org/skins/old_forge/bg_space.png
https://downloads.cardforge.org/skins/old_forge/bg_splash.png
https://downloads.cardforge.org/skins/old_forge/bg_splash_hd.png
https://downloads.cardforge.org/skins/old_forge/bg_texture.jpg
https://downloads.cardforge.org/skins/old_forge/font1.ttf
https://downloads.cardforge.org/skins/old_forge/grid_icons.png
https://downloads.cardforge.org/skins/old_forge/hd_logo.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_A.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_B.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_BG.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_BR.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_C.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_G.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_L.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_M.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_R.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_RG.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_U.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_UB.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_UG.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_UR.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_V.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_W.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_WB.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_WG.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_WR.png
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_WU.png
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_B.png
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_C.png
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_G.png
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_M.png
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_R.png
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_U.png
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_W.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_B.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_BG.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_BR.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_C.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_G.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_M.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_R.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_RG.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_U.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_UB.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_UG.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_UR.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_W.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_WB.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_WG.png
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_WR.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 KiB

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 691 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 786 KiB

After

Width:  |  Height:  |  Size: 801 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 567 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 817 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 185 KiB

View File

@@ -359,6 +359,7 @@ public enum FSkinProp {
ICO_UNKNOWN (new int[] {0, 720, 80, 80}, PropType.ICON),
ICO_LOGO (new int[] {480, 0, 200, 200}, PropType.ICON),
ICO_CARDART (new int[] {0, 1600, 200, 200}, PropType.ICON),
ICO_FLIPCARD (new int[] {400, 0, 80, 120}, PropType.ICON),
ICO_HDFLIPCARD (new int[] {2, 1268, 387, 500}, PropType.BUTTONS),