feat: Set default world position to 0,0 and extend floor to 2 chunks deep

This commit is contained in:
Kacper Kostka (aider) 2025-04-04 11:59:29 +02:00
parent 5ef436498f
commit 9cdf7eba78

View File

@ -46,7 +46,7 @@ let currentMouseX, currentMouseY;
let lastFrameTime = 0; let lastFrameTime = 0;
let fps = 0; let fps = 0;
let worldOffsetX = 0; let worldOffsetX = 0;
let worldOffsetY = CHUNK_SIZE; // Start at Chunk: 0,-1 let worldOffsetY = 0; // Start at Chunk: 0,0
let worldOffsetXBeforeDrag = 0; let worldOffsetXBeforeDrag = 0;
let worldOffsetYBeforeDrag = 0; let worldOffsetYBeforeDrag = 0;
let chunks = new Map(); // Map to store chunks with key "x,y" let chunks = new Map(); // Map to store chunks with key "x,y"
@ -307,8 +307,8 @@ function getOrCreateChunk(chunkX, chunkY) {
// Create a new chunk with empty pixels // Create a new chunk with empty pixels
const chunkData = new Array(CHUNK_SIZE * CHUNK_SIZE).fill(EMPTY); const chunkData = new Array(CHUNK_SIZE * CHUNK_SIZE).fill(EMPTY);
// Add floor at the bottom of the world (y = 0) // Add floor at the bottom of the world (y = 0 and y = 1)
if (chunkY === 0) { if (chunkY === 0 || chunkY === 1) {
// Fill the bottom row with walls // Fill the bottom row with walls
for (let x = 0; x < CHUNK_SIZE; x++) { for (let x = 0; x < CHUNK_SIZE; x++) {
chunkData[(CHUNK_SIZE - 1) * CHUNK_SIZE + x] = WALL; chunkData[(CHUNK_SIZE - 1) * CHUNK_SIZE + x] = WALL;
@ -339,8 +339,9 @@ function setPixel(worldX, worldY, type) {
} }
function getPixel(worldX, worldY) { function getPixel(worldX, worldY) {
// Special case: floor at the bottom of the world // Special case: floor at the bottom of the world (first two chunks)
if (worldY === CHUNK_SIZE - 1 && Math.floor(worldY / CHUNK_SIZE) === 0) { const chunkY = Math.floor(worldY / CHUNK_SIZE);
if (worldY % CHUNK_SIZE === CHUNK_SIZE - 1 && (chunkY === 0 || chunkY === 1)) {
return WALL; return WALL;
} }