Render tileset test

This commit is contained in:
2025-06-16 08:09:14 -05:00
parent ef6b9473fc
commit aa524f169c
9 changed files with 217 additions and 139 deletions

View File

@ -52,10 +52,25 @@ void drawOverworldDraw(void) {
tile_t tile = chunk->tiles[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;
DrawRectangle(x, y, TILE_WIDTH, TILE_HEIGHT, colors[tile % colorCount]);
DrawTextureRec(
RENDER_TILEMAP_TEXTURE,
(Rectangle){
tilemapX,
tilemapY,
TILE_WIDTH,
TILE_HEIGHT
},
(Vector2){ x, y },
WHITE
);
// DrawRectangle(x, y, TILE_WIDTH, TILE_HEIGHT, colors[tile % colorCount]);
}
// DrawRectangle(

View File

@ -8,9 +8,10 @@
#include "render.h"
#include "display/draw/drawscene.h"
#include "display/draw/drawoverworld.h"
#include "assert/assert.h"
RenderTexture2D RENDER_SCREEN_TEXTURE;
Texture2D RENDER_TILEMAP_TEXTURE;
void renderInit(void) {
InitWindow(
@ -26,6 +27,7 @@ void renderInit(void) {
);
RENDER_SCREEN_TEXTURE = LoadRenderTexture(RENDER_WIDTH, RENDER_HEIGHT);
RENDER_TILEMAP_TEXTURE = LoadTexture("../data/tilemap.png");
drawOverworldInit();
}

View File

@ -10,4 +10,4 @@
#include "display/renderbase.h"
extern RenderTexture2D RENDER_SCREEN_TEXTURE;
extern Camera2D RENDER_CAMERA;
extern Texture2D RENDER_TILEMAP_TEXTURE;