diff options
| author | Lulonaut <67191924+Lulonaut@users.noreply.github.com> | 2022-03-20 08:47:29 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-20 08:47:29 +0100 |
| commit | f29ebcc6cdf202a69f267a4dbdbfc9239929fd8a (patch) | |
| tree | 4e7699384cc5d400f1b3d101a5ed31448e3110d5 /src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java | |
| parent | 0ef9d7e01ec6696444af53176ab955e0cb0701b0 (diff) | |
| download | notenoughupdates-f29ebcc6cdf202a69f267a4dbdbfc9239929fd8a.tar.gz notenoughupdates-f29ebcc6cdf202a69f267a4dbdbfc9239929fd8a.tar.bz2 notenoughupdates-f29ebcc6cdf202a69f267a4dbdbfc9239929fd8a.zip | |
dungeons and pv bingo tab (#93)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java | 41 |
1 files changed, 15 insertions, 26 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java index 592f5b19..e132d287 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java @@ -578,8 +578,8 @@ public class DungeonMap { GlStateManager.rotate(-rotation + 180, 0, 0, 1); if (NotEnoughUpdates.INSTANCE.config.dungeonMap.dmCenterPlayer && playerPos != null) { - float x = playerPos.getRenderX(); - float y = playerPos.getRenderY(); + float x = playerPos.getRenderX(0); + float y = playerPos.getRenderY(0); x -= minRoomX * (renderRoomSize + renderConnSize); y -= minRoomY * (renderRoomSize + renderConnSize); @@ -648,8 +648,8 @@ public class DungeonMap { for (Map.Entry<String, MapPosition> entry : playerMarkerMapPositions.entrySet()) { String name = entry.getKey(); MapPosition pos = entry.getValue(); - float x = pos.getRenderX(); - float y = pos.getRenderY(); + float x = pos.getRenderX(0); + float y = pos.getRenderY(0); float angle = pos.rotation; boolean doInterp = NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPlayerInterp; @@ -657,19 +657,8 @@ public class DungeonMap { MapPosition entityPos = playerEntityMapPositions.get(name); angle = entityPos.rotation; - float deltaX = entityPos.getRenderX() - pos.getRenderX(); - float deltaY = entityPos.getRenderY() - pos.getRenderY(); - - /*if(deltaX > (renderRoomSize + renderConnSize)/2) { - deltaX -= (renderRoomSize + renderConnSize); - } else if(deltaX < -(renderRoomSize + renderConnSize)/2) { - deltaX += (renderRoomSize + renderConnSize); - } - if(deltaY > (renderRoomSize + renderConnSize)/2) { - deltaY -= (renderRoomSize + renderConnSize); - } else if(deltaY < -(renderRoomSize + renderConnSize)/2) { - deltaY += (renderRoomSize + renderConnSize); - }*/ + float deltaX = entityPos.getRenderX(9) - pos.getRenderX(0); + float deltaY = entityPos.getRenderY(9) - pos.getRenderY(0); x += deltaX; y += deltaY; @@ -689,8 +678,8 @@ public class DungeonMap { if (doInterp && playerMarkerMapPositionsLast.containsKey(name)) { MapPosition last = playerMarkerMapPositionsLast.get(name); - float xLast = last.getRenderX(); - float yLast = last.getRenderY(); + float xLast = last.getRenderX(0); + float yLast = last.getRenderY(0); float distSq = (x - xLast) * (x - xLast) + (y - yLast) * (y - yLast); if (distSq < renderRoomSize * renderRoomSize / 4f) { @@ -1087,12 +1076,12 @@ public class DungeonMap { this.connOffsetY = connOffsetY; } - public float getRenderX() { - return roomOffsetX * getRenderRoomSize() + connOffsetX * getRenderConnSize(); + public float getRenderX(int blockOffset) { + return (roomOffsetX + blockOffset) * getRenderRoomSize() + connOffsetX * getRenderConnSize(); } - public float getRenderY() { - return roomOffsetY * getRenderRoomSize() + connOffsetY * getRenderConnSize(); + public float getRenderY(int blockOffset) { + return (roomOffsetY + blockOffset) * getRenderRoomSize() + connOffsetY * getRenderConnSize(); } @Override @@ -1153,7 +1142,7 @@ public class DungeonMap { String line = ScorePlayerTeam.formatPlayerName(scoreplayerteam1, score.getPlayerName()); line = Utils.cleanColour(line); - if (line.contains("(F1)") || line.contains("(E0)") || line.contains("(M1)")) { + if (line.contains("(F1)") || line.contains("(E)") || line.contains("(M1)")) { isFloorOne = true; break; } @@ -1425,8 +1414,8 @@ public class DungeonMap { for (Map.Entry<String, MapPosition> entry : playerMarkerMapPositionsLast.entrySet()) { HashMap<Integer, Float> deltaDists = new HashMap<>(); for (int i = 0; i < positions.size(); i++) { - float dx = entry.getValue().getRenderX() - positions.get(i).getRenderX(); - float dy = entry.getValue().getRenderY() - positions.get(i).getRenderY(); + float dx = entry.getValue().getRenderX(0) - positions.get(i).getRenderX(0); + float dy = entry.getValue().getRenderY(0) - positions.get(i).getRenderY(0); deltaDists.put(i, dx * dx + dy * dy); } distanceMap.put(entry.getKey(), deltaDists); |
