diff --git a/forge-gui-mobile/src/forge/adventure/scene/GameScene.java b/forge-gui-mobile/src/forge/adventure/scene/GameScene.java index eabe69d509a..87eae661704 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/GameScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/GameScene.java @@ -70,8 +70,8 @@ public class GameScene extends HudScene { if (skipRoads) { location = forHeader ? "Waste Map" : "waste"; } else { - //should load while walking on "road" - location = ""; + //current workaround to get the POI town name + location = WorldStage.getInstance().getBoundary(); } else { BiomeData data = biomeData.get(currentBiome); diff --git a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java index ab9021c188f..1a9b91db2cb 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java +++ b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java @@ -584,6 +584,7 @@ public class GameHUD extends Stage { case "town": changeBGM(MusicPlaylist.TOWN); break; + case "dungeon": case "cave": changeBGM(MusicPlaylist.CAVE); break; diff --git a/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java b/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java index 87252921090..27188dbe120 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java +++ b/forge-gui-mobile/src/forge/adventure/stage/MapSprite.java @@ -63,6 +63,30 @@ public class MapSprite extends Actor { return actorGroup; } + public static String getBoundaryName(int chunkX, int chunkY) { + String boundary = ""; + List poi = WorldSave.getCurrentSave().getWorld().getPointsOfInterest(chunkX, chunkY); + + for (PointOfInterest p : poi) { + if ("town".equalsIgnoreCase(p.getData().type)) { + if (p.getData().name.startsWith("Waste")) + boundary = "waste"; + else if (p.getData().name.startsWith("Plains")) + boundary = "white"; + else if (p.getData().name.startsWith("Forest")) + boundary = "green"; + else if (p.getData().name.startsWith("Island")) + boundary = "blue"; + else if (p.getData().name.startsWith("Mountain")) + boundary = "red"; + else if (p.getData().name.startsWith("Swamp")) + boundary = "black"; + break; + } + } + return boundary; + } + //BitmapFont font; @Override public void draw(Batch batch, float parentAlpha) { diff --git a/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java b/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java index 047e4b9804b..198c8d27dc5 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java +++ b/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java @@ -294,6 +294,10 @@ public class WorldStage extends GameStage implements SaveFileContent { background.loadChunk(pos.x, pos.y); handlePointsOfInterestCollision(); } + public String getBoundary() { + GridPoint2 pos = background.translateFromWorldToChunk(player.getX(), player.getY()); + return MapSprite.getBoundaryName(pos.x, pos.y); + } @Override public void leave() {