Render entities first pass.

This commit is contained in:
2025-06-16 09:42:36 -05:00
parent 0728a332ac
commit 6c7faedd74
4 changed files with 61 additions and 44 deletions

View File

@ -98,47 +98,61 @@ void drawOverworldDrawEntity(const entity_t *entity) {
uint32_t x = (uint32_t)floorf(entity->x);
uint32_t y = (uint32_t)floorf(entity->y);
uint32_t row = 0;
uint32_t col = entity->dir;
DrawRectangle(
x,
y,
TILE_WIDTH,
TILE_HEIGHT,
(entity->type == ENTITY_TYPE_PLAYER) ? BLUE : YELLOW
DrawTextureRec(
RENDER_ENTITIES_TEXTURE,
(Rectangle){
col * TILE_WIDTH,
row * TILE_HEIGHT,
TILE_WIDTH,
TILE_HEIGHT
},
(Vector2){ x, y },
WHITE
);
// DrawRectangle(
// x,
// y,
// TILE_WIDTH,
// TILE_HEIGHT,
// (entity->type == ENTITY_TYPE_PLAYER) ? BLUE : YELLOW
// );
switch(entity->dir) {
case ENTITY_DIR_NORTH:
DrawTriangle(
(Vector2){ x + TILE_WIDTH / 2, y },
(Vector2){ x, y + TILE_HEIGHT },
(Vector2){ x + TILE_WIDTH, y + TILE_HEIGHT },
WHITE
);
break;
case ENTITY_DIR_SOUTH:
DrawTriangle(
(Vector2){ x + TILE_WIDTH / 2, y + TILE_HEIGHT },
(Vector2){ x + TILE_WIDTH, y },
(Vector2){ x, y },
WHITE
);
break;
case ENTITY_DIR_WEST:
DrawTriangle(
(Vector2){ x, y + TILE_HEIGHT / 2 },
(Vector2){ x + TILE_WIDTH, y + TILE_HEIGHT },
(Vector2){ x + TILE_WIDTH, y },
WHITE
);
break;
case ENTITY_DIR_EAST:
DrawTriangle(
(Vector2){ x + TILE_WIDTH, y + TILE_HEIGHT / 2 },
(Vector2){ x, y },
(Vector2){ x, y + TILE_HEIGHT },
WHITE
);
break;
}
// switch(entity->dir) {
// case ENTITY_DIR_NORTH:
// DrawTriangle(
// (Vector2){ x + TILE_WIDTH / 2, y },
// (Vector2){ x, y + TILE_HEIGHT },
// (Vector2){ x + TILE_WIDTH, y + TILE_HEIGHT },
// WHITE
// );
// break;
// case ENTITY_DIR_SOUTH:
// DrawTriangle(
// (Vector2){ x + TILE_WIDTH / 2, y + TILE_HEIGHT },
// (Vector2){ x + TILE_WIDTH, y },
// (Vector2){ x, y },
// WHITE
// );
// break;
// case ENTITY_DIR_WEST:
// DrawTriangle(
// (Vector2){ x, y + TILE_HEIGHT / 2 },
// (Vector2){ x + TILE_WIDTH, y + TILE_HEIGHT },
// (Vector2){ x + TILE_WIDTH, y },
// WHITE
// );
// break;
// case ENTITY_DIR_EAST:
// DrawTriangle(
// (Vector2){ x + TILE_WIDTH, y + TILE_HEIGHT / 2 },
// (Vector2){ x, y },
// (Vector2){ x, y + TILE_HEIGHT },
// WHITE
// );
// break;
// }
}