From a16d7f1cdd20a1053ba8fd70d7201c4d1643b075 Mon Sep 17 00:00:00 2001 From: Solargale Date: Thu, 9 Apr 2020 10:00:26 -0600 Subject: [PATCH] Made the load chunks code more efficient --- .../com/mygdx/game/Dimension/Superchunks.java | 30 ++++--------------- 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/core/src/com/mygdx/game/Dimension/Superchunks.java b/core/src/com/mygdx/game/Dimension/Superchunks.java index b794eac..fbdaefd 100644 --- a/core/src/com/mygdx/game/Dimension/Superchunks.java +++ b/core/src/com/mygdx/game/Dimension/Superchunks.java @@ -44,32 +44,14 @@ public class Superchunks { public static void loadChunks() { - int chunkY = 0; - int chunkX = 0; - //Top-right - if (0 <= Player.getX() && 0 <= Player.getY()) { - chunkY = (Player.getY() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE)); - chunkX = (Player.getX() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE)); - } - //Top-left - else if (0 > Player.getX() && 0 < Player.getY()) { - chunkY = (Player.getY() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE)); - chunkX = ((Player.getX() - TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE)); - } - //Bottom-left - else if (0 >= Player.getX()) { - chunkY = ((Player.getY() - TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE)); - chunkX = ((Player.getX() - TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE)); - } - //Bottom-right - else { - chunkY = ((Player.getY() - TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE)); - chunkX = ((Player.getX()) / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE)); - } + int chunkY = Player.getY() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE); + int chunkX = Player.getX() / (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE); + if (0 > Player.getX()) chunkX /= (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE); //Left + if (0 > Player.getY()) chunkY /= (TILE_SIZE * SUPER_CHUNK_SIZE * CHUNK_SIZE); //Down - for (int i = -(RENDER_DISTANCE+1); i < RENDER_DISTANCE+1; i++) { - for (int j = -(RENDER_DISTANCE+1); j < RENDER_DISTANCE+1; j++) { + for (int i = -(RENDER_DISTANCE); i < RENDER_DISTANCE; i++) { + for (int j = -(RENDER_DISTANCE); j < RENDER_DISTANCE; j++) { generateSuperchunk(chunkX + i, chunkY + j); } }