Render tileset test
This commit is contained in:
@ -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(
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -10,4 +10,4 @@
|
||||
#include "display/renderbase.h"
|
||||
|
||||
extern RenderTexture2D RENDER_SCREEN_TEXTURE;
|
||||
extern Camera2D RENDER_CAMERA;
|
||||
extern Texture2D RENDER_TILEMAP_TEXTURE;
|
Reference in New Issue
Block a user