From 7cea9c39737c478eaf7d055532c87b8c1a968df9 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sun, 7 Aug 2022 22:14:58 +0800 Subject: [PATCH] fix black texture on adventure mode list view - needs to clear card art cache when unloading card textures - minor speedup on startup on selector adventure settings --- forge-gui-mobile/src/forge/Forge.java | 12 ++++++++++-- forge-gui-mobile/src/forge/assets/ImageCache.java | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index 7da28d0c317..37c205b20d3 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -328,6 +328,9 @@ public class Forge implements ApplicationListener { altZoneTabs = true; //pixl cursor for adventure setCursor(null, "0"); + loadAdventureResources(true); + } + private static void loadAdventureResources(boolean startScene) { try { if(!adventureLoaded) { @@ -336,7 +339,8 @@ public class Forge implements ApplicationListener { } adventureLoaded=true; } - switchScene(SceneType.StartScene.instance); + if (startScene) + switchScene(SceneType.StartScene.instance); } catch (Exception e) { e.printStackTrace(); } @@ -362,6 +366,10 @@ public class Forge implements ApplicationListener { //load Drafts preloadBoosterDrafts(); FThreads.invokeInEdtLater(() -> { + if (selector.equals("Adventure")) { + //preload adventure resources to speedup startup if selector is adventure. Needs in edt when setting up worldstage + loadAdventureResources(false); + } //selection transition setTransitionScreen(new TransitionScreen(() -> { if (selector.equals("Classic")) { @@ -944,10 +952,10 @@ public class Forge implements ApplicationListener { @Override public void dispose() { if (currentScreen != null) { - FOverlay.hideAll(); currentScreen.onClose(null); currentScreen = null; } + FOverlay.hideAll(); assets.dispose(); Dscreens.clear(); graphics.dispose(); diff --git a/forge-gui-mobile/src/forge/assets/ImageCache.java b/forge-gui-mobile/src/forge/assets/ImageCache.java index 3af05833443..ab5b129241e 100644 --- a/forge-gui-mobile/src/forge/assets/ImageCache.java +++ b/forge-gui-mobile/src/forge/assets/ImageCache.java @@ -327,6 +327,7 @@ public class ImageCache { syncQ.clear(); cardsLoaded.clear(); counter = 0; + CardRenderer.clearcardArtCache(); } catch (Exception e) { //e.printStackTrace(); } finally {