From 4b6ca767dcee5ba88ee59434fc191518cb5bd130 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 15 May 2023 06:06:10 +0800 Subject: [PATCH] update art mode for battle cards --- .../src/forge/card/CardAvatarImage.java | 2 +- .../src/forge/card/CardImageRenderer.java | 2 +- .../src/forge/card/CardRenderer.java | 16 ++++++++++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/forge-gui-mobile/src/forge/card/CardAvatarImage.java b/forge-gui-mobile/src/forge/card/CardAvatarImage.java index 6370d32f115..e2b9c8c6340 100644 --- a/forge-gui-mobile/src/forge/card/CardAvatarImage.java +++ b/forge-gui-mobile/src/forge/card/CardAvatarImage.java @@ -32,7 +32,7 @@ public class CardAvatarImage implements FImage { @Override public void draw(Graphics g, float x, float y, float w, float h) { //force to get the avatar since the the cardartcache & loadingcache is always cleared on screen change or the battle bar will display black - image = CardRenderer.getCardArt(imageKey, false, false, false, false, false, false, false, false, true); + image = CardRenderer.getCardArt(imageKey, false, false, false, false, false, false, false, false, true, false); if (image == null) { return; //can't draw anything if can't be loaded yet } diff --git a/forge-gui-mobile/src/forge/card/CardImageRenderer.java b/forge-gui-mobile/src/forge/card/CardImageRenderer.java index 9593ecd50ae..c1ab6998f55 100644 --- a/forge-gui-mobile/src/forge/card/CardImageRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardImageRenderer.java @@ -376,7 +376,7 @@ public class CardImageRenderer { altArt = CardRenderer.getAlternateCardArt(cv.getAlternateState().getImageKey(), cv.getAlternateState().isPlaneswalker()); else { altArt = CardRenderer.getCardArt(cv.getAlternateState().getImageKey(), cv.isSplitCard(), cv.getAlternateState().isPlane() || cv.getAlternateState().isPhenomenon(), cv.getText().contains("Aftermath"), - cv.getAlternateState().getType().hasSubtype("Saga"), cv.getAlternateState().getType().hasSubtype("Class"), cv.getAlternateState().getType().isDungeon(), cv.isFlipCard(), cv.getAlternateState().isPlaneswalker(), CardRenderer.isModernFrame(cv)); + cv.getAlternateState().getType().hasSubtype("Saga"), cv.getAlternateState().getType().hasSubtype("Class"), cv.getAlternateState().getType().isDungeon(), cv.isFlipCard(), cv.getAlternateState().isPlaneswalker(), CardRenderer.isModernFrame(cv), cv.getAlternateState().getType().isBattle()); } } } diff --git a/forge-gui-mobile/src/forge/card/CardRenderer.java b/forge-gui-mobile/src/forge/card/CardRenderer.java index b425f2e4d9f..37c4c0087b3 100644 --- a/forge-gui-mobile/src/forge/card/CardRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardRenderer.java @@ -208,23 +208,23 @@ public class CardRenderer { return CardImageRenderer.forgeArt; //token? if (pc.getRules() == null) - return getCardArt(pc.getImageKey(backFace), false, false, false, false, false, false, false, false, true); + return getCardArt(pc.getImageKey(backFace), false, false, false, false, false, false, false, false, true, false); CardType type = pc.getRules().getType(); return getCardArt(pc.getImageKey(backFace), pc.getRules().getSplitType() == CardSplitType.Split, type.isPlane() || type.isPhenomenon(), pc.getRules().getOracleText().contains("Aftermath"), type.hasSubtype("Saga"), type.hasSubtype("Class"), type.isDungeon(), CardSplitType.Flip.equals(pc.getRules().getSplitType()), - type.isPlaneswalker(), isModernFrame(pc)); + type.isPlaneswalker(), isModernFrame(pc), type.isBattle()); } public static FImageComplex getCardArt(CardView card) { CardTypeView type = card.getCurrentState().getType(); return getCardArt(card.getCurrentState().getImageKey(), card.isSplitCard(), type.isPlane() || type.isPhenomenon(), card.getText().contains("Aftermath"), type.hasSubtype("Saga"), type.hasSubtype("Class"), type.isDungeon(), - card.isFlipCard(), type.isPlaneswalker(), isModernFrame(card)); + card.isFlipCard(), type.isPlaneswalker(), isModernFrame(card), type.isBattle()); } - public static FImageComplex getCardArt(String imageKey, boolean isSplitCard, boolean isHorizontalCard, boolean isAftermathCard, boolean isSaga, boolean isClass, boolean isDungeon, boolean isFlipCard, boolean isPlanesWalker, boolean isModernFrame) { + public static FImageComplex getCardArt(String imageKey, boolean isSplitCard, boolean isHorizontalCard, boolean isAftermathCard, boolean isSaga, boolean isClass, boolean isDungeon, boolean isFlipCard, boolean isPlanesWalker, boolean isModernFrame, boolean isBattle) { FImageComplex cardArt = Forge.getAssets().cardArtCache().get(imageKey); boolean isClassicModule = imageKey != null && imageKey.length() > 2 && classicModuleCardtoCrop.contains(imageKey.substring(ImageKeys.CARD_PREFIX.length()).replace(".jpg", "").replace(".png", "")); if (cardArt == null) { @@ -261,6 +261,14 @@ public class CardRenderer { y = h * 0.11f; w -= 1.1f * x + w / 2; h -= 2.45f * y; + } else if (isBattle) { + x = w * 0.14f; + y = h * 0.1f; + w -= 0.5f * x + w / 2; + h -= 2.35f * y; + cardArt = new FRotatedImage(image, Math.round(x), Math.round(y), Math.round(w), Math.round(h), true); + Forge.getAssets().cardArtCache().put(imageKey, cardArt); + return cardArt; } else if (isSaga) { x = (w * 0.1f) + (w * 0.8f / 2); y = h * 0.11f;