From dd42977ac019d343246ff3c71274ffc332811bf9 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 26 Jul 2022 01:08:25 +0800 Subject: [PATCH 1/2] update reward actor --- .../src/forge/adventure/util/RewardActor.java | 55 ++++++++++++------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/util/RewardActor.java b/forge-gui-mobile/src/forge/adventure/util/RewardActor.java index f2220bdd37d..cb2c9c4f2e8 100644 --- a/forge-gui-mobile/src/forge/adventure/util/RewardActor.java +++ b/forge-gui-mobile/src/forge/adventure/util/RewardActor.java @@ -52,7 +52,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb final int preview_h = 680; static TextureRegion backTexture; - Texture image; + Texture image, T; Texture generatedTooltip = null; //Storage for a generated tooltip. To dispose of on exit. boolean needsToBeDisposed; float flipProcess = 0; @@ -104,8 +104,14 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb CardImageRenderer.drawCardImage(G, CardView.getCardForUi(reward.getCard()), false, -(preview_w + 20), 0, preview_w, preview_h, CardRenderer.CardStackPosition.Top, Forge.enableUIMask.equals("Art"), true); G.end(); } - Texture T = renderPlaceholder(G, reward.getCard()); //Now we can render the card. + T = renderPlaceholder(G, reward.getCard()); //Now we can render the card. setCardImage(T); + if (image == null) { + if (T == null) + System.err.println("Error generating placeholder image for card: "+reward.getCard().getName()); + else + image = T; + } //Set the fetcher regardless. It'll replace the preview once it lands. fetcher.fetchImage(reward.getCard().getImageKey(false), this); } @@ -202,23 +208,27 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb } private void setCardImage(Texture img) { - image = img; - if (Forge.isTextureFilteringEnabled()) - image.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear); - TextureRegionDrawable drawable = new TextureRegionDrawable(ImageCache.croppedBorderImage(image)); - if(Forge.isLandscapeMode()) - drawable.setMinSize((Scene.getIntendedHeight() / RewardScene.CARD_WIDTH_TO_HEIGHT) * 0.95f, Scene.getIntendedHeight() * 0.95f); - else - drawable.setMinSize(Scene.getIntendedWidth() * 0.95f, Scene.getIntendedWidth()* RewardScene.CARD_WIDTH_TO_HEIGHT * 0.95f); - toolTipImage = new Image(drawable); - tooltip = new Tooltip(toolTipImage); - holdTooltip = new HoldTooltip(new Image(drawable)); - tooltip.setInstant(true); - if (frontSideUp()) { - if (GuiBase.isAndroid()) - addListener(holdTooltip); + try { + image = img; + if (Forge.isTextureFilteringEnabled()) + image.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear); + TextureRegionDrawable drawable = new TextureRegionDrawable(ImageCache.croppedBorderImage(image)); + if(Forge.isLandscapeMode()) + drawable.setMinSize((Scene.getIntendedHeight() / RewardScene.CARD_WIDTH_TO_HEIGHT) * 0.95f, Scene.getIntendedHeight() * 0.95f); else - addListener(tooltip); + drawable.setMinSize(Scene.getIntendedWidth() * 0.95f, Scene.getIntendedWidth()* RewardScene.CARD_WIDTH_TO_HEIGHT * 0.95f); + toolTipImage = new Image(drawable); + tooltip = new Tooltip(toolTipImage); + holdTooltip = new HoldTooltip(new Image(drawable)); + tooltip.setInstant(true); + if (frontSideUp()) { + if (GuiBase.isAndroid()) + addListener(holdTooltip); + else + addListener(tooltip); + } + } catch (Exception e) { + e.printStackTrace(); } } @@ -388,9 +398,14 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb batch.setShader(null); batch.begin(); } + } else { + if (Reward.Type.Card.equals(reward.getType())) { + if (T == null) { + T = renderPlaceholder(new Graphics(), reward.getCard()); + } + batch.draw(T, x, -getHeight() / 2, width, getHeight()); + } } - else - batch.draw(ImageCache.defaultImage, x, -getHeight() / 2, width, getHeight()); switch (reward.getType()) { case Card: break; From 637744e3cc9b4f1b80217f13b9f110e05385ab6c Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 26 Jul 2022 01:10:16 +0800 Subject: [PATCH 2/2] update imagecache --- forge-gui-mobile/src/forge/assets/ImageCache.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/assets/ImageCache.java b/forge-gui-mobile/src/forge/assets/ImageCache.java index 320e4a98551..f06f885acee 100644 --- a/forge-gui-mobile/src/forge/assets/ImageCache.java +++ b/forge-gui-mobile/src/forge/assets/ImageCache.java @@ -143,7 +143,7 @@ public class ImageCache { String imageKey = ii.getImageKey(false); if (imageKey != null) { if(imageKey.startsWith(ImageKeys.CARD_PREFIX) || imageKey.startsWith(ImageKeys.TOKEN_PREFIX)) - return getImage(ii.getImageKey(false), true, false); + return getImage(ii.getImageKey(false), false, false); } return getImage(ii.getImageKey(false), true, true); }