From 2b3042197d5098d2920bfebc518f2668a40441e2 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 27 Mar 2023 13:07:09 +0800 Subject: [PATCH 1/2] fix blackscreen - some poi initial data are null so refactor how it parses the poi data to prevent blackscreen when the biome chunks are loaded --- .../src/forge/adventure/character/MapActor.java | 4 ++-- .../src/forge/adventure/stage/MapSprite.java | 17 ++++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/character/MapActor.java b/forge-gui-mobile/src/forge/adventure/character/MapActor.java index f6354045dd5..4573a11c22e 100644 --- a/forge-gui-mobile/src/forge/adventure/character/MapActor.java +++ b/forge-gui-mobile/src/forge/adventure/character/MapActor.java @@ -191,8 +191,6 @@ public class MapActor extends Actor { } public boolean collideWithPlayer(PlayerSprite other) { - - boolean newIsColliding = collideWith(other); if (newIsColliding) { if (!isCollidingWithPlayer) @@ -205,6 +203,8 @@ public class MapActor extends Actor { } public boolean collideWith(Rectangle other) { + if (getCollisionHeight() == 0f) + return false; return boundingRect().overlaps(other); } diff --git a/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java b/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java index 0b3a690be23..f996908fb72 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java +++ b/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java @@ -22,20 +22,23 @@ public class MapSprite extends Actor { static public int BackgroundLayer = -1; static public int SpriteLayer = 0; TextureRegion texture; - TextraLabel searchPost; + TextraLabel searchPost = Controls.newTextraLabel("[%80][+SearchPost]"); boolean isCaveDungeon, isOldorVisited; - PointOfInterest poi; + //PointOfInterest poi; public MapSprite(Vector2 pos, TextureRegion sprite, PointOfInterest point) { - poi = point; - isCaveDungeon = point != null && (point.getData().type.equalsIgnoreCase("cave") || point.getData().type.equalsIgnoreCase("dungeon")); - isOldorVisited = poi != null && WorldSave.getCurrentSave().getPointOfInterestChanges(poi.getID() + poi.getData().map).hasDeletedObjects(); - searchPost = Controls.newTextraLabel("[%80][+SearchPost]"); + if (point != null) { + isCaveDungeon = "cave".equalsIgnoreCase(point.getData().type) || "dungeon".equalsIgnoreCase(point.getData().type); + if (point.getData().map != null && point.getID() != null) { + isOldorVisited = WorldSave.getCurrentSave().getPointOfInterestChanges(point.getID() + point.getData().map).hasDeletedObjects(); + } + } texture = sprite; setPosition(pos.x, pos.y); setHeight(texture.getRegionHeight()); - setWidth(texture.getRegionWidth()); + setWidth(texture.getRegionWidth()); } + public void checkOut() { isOldorVisited = true; } From e5607167bbed9b19ae5825781cc1398eb3dc575c Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 27 Mar 2023 13:16:52 +0800 Subject: [PATCH 2/2] remove unused --- forge-gui-mobile/src/forge/adventure/stage/MapSprite.java | 1 - 1 file changed, 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java b/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java index f996908fb72..c321231e359 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java +++ b/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java @@ -24,7 +24,6 @@ public class MapSprite extends Actor { TextureRegion texture; TextraLabel searchPost = Controls.newTextraLabel("[%80][+SearchPost]"); boolean isCaveDungeon, isOldorVisited; - //PointOfInterest poi; public MapSprite(Vector2 pos, TextureRegion sprite, PointOfInterest point) { if (point != null) {