Add base overlay
This commit is contained in:
@ -48,8 +48,33 @@ void drawOverworldDraw(void) {
|
||||
uint8_t colorCount = sizeof(colors) / sizeof(Color);
|
||||
|
||||
do {
|
||||
// Base layer
|
||||
for(uint8_t i = 0; i < CHUNK_TILE_COUNT; i++) {
|
||||
tile_t tile = chunk->tiles[i];
|
||||
tile_t tile = chunk->tilesBase[i];
|
||||
if(tile == 0) continue; // Skip empty tiles
|
||||
|
||||
uint32_t tilemapIndex = tile - 1; // Convert to zero-based index
|
||||
uint32_t x = (uint32_t)chunk->x * CHUNK_WIDTH * TILE_WIDTH + (i % CHUNK_WIDTH) * TILE_WIDTH;
|
||||
uint32_t y = (uint32_t)chunk->y * CHUNK_HEIGHT * TILE_HEIGHT + (i / CHUNK_WIDTH) * TILE_HEIGHT;
|
||||
uint32_t tilemapX = (tilemapIndex % (RENDER_TILEMAP_TEXTURE.width / TILE_WIDTH)) * TILE_WIDTH;
|
||||
uint32_t tilemapY = (tilemapIndex / (RENDER_TILEMAP_TEXTURE.width / TILE_WIDTH)) * TILE_HEIGHT;
|
||||
|
||||
DrawTextureRec(
|
||||
RENDER_TILEMAP_TEXTURE,
|
||||
(Rectangle){
|
||||
tilemapX,
|
||||
tilemapY,
|
||||
TILE_WIDTH,
|
||||
TILE_HEIGHT
|
||||
},
|
||||
(Vector2){ x, y },
|
||||
WHITE
|
||||
);
|
||||
}
|
||||
|
||||
// Base overlay layer
|
||||
for(uint8_t i = 0; i < CHUNK_TILE_COUNT; i++) {
|
||||
tile_t tile = chunk->tilesBaseOverlay[i];
|
||||
if(tile == 0) continue; // Skip empty tiles
|
||||
|
||||
uint32_t tilemapIndex = tile - 1; // Convert to zero-based index
|
||||
@ -69,17 +94,8 @@ void drawOverworldDraw(void) {
|
||||
(Vector2){ x, y },
|
||||
WHITE
|
||||
);
|
||||
|
||||
// DrawRectangle(x, y, TILE_WIDTH, TILE_HEIGHT, colors[tile % colorCount]);
|
||||
}
|
||||
|
||||
// DrawRectangle(
|
||||
// ((int32_t)chunk->x) * CHUNK_WIDTH * TILE_WIDTH,
|
||||
// ((int32_t)chunk->y) * CHUNK_HEIGHT * TILE_HEIGHT,
|
||||
// CHUNK_WIDTH * TILE_WIDTH,
|
||||
// CHUNK_HEIGHT * TILE_HEIGHT,
|
||||
// (chunk->tiles[0] == 0) ? RED : GREEN
|
||||
// );
|
||||
chunk++;
|
||||
} while(chunk < CHUNK_MAP.chunks + CHUNK_MAP_COUNT);
|
||||
|
||||
|
Reference in New Issue
Block a user