Seperate world and add interactable grid layer

This commit is contained in:
2026-02-15 23:05:38 -06:00
parent 53d717dee4
commit 7e5960ef02
4 changed files with 89 additions and 22 deletions

View File

@@ -1,2 +1,55 @@
package main
WORLD_SIZE_X :: 1000
WORLD_SIZE_Y :: 1000
ground_layer_grid: [][]Tile
ground_tilemap_sheet: TilemapSpritesheet
interactables_layer_grid: [][]Tile
interactables_tilemap_sheet: TilemapSpritesheet
init_world :: proc() {
ground_tilemap_sheet = load_tilemap_sheet(
"assets/tiles/master_tilemap.png",
TILEMAP_TILE_SIZE,
TILEMAP_TILE_SIZE,
)
interactables_tilemap_sheet = load_tilemap_sheet(
"assets/interactables/interactables_spritesheet.png",
TILEMAP_TILE_SIZE,
TILEMAP_TILE_SIZE,
)
ground_layer_grid = create_tile_grid(WORLD_SIZE_X, WORLD_SIZE_Y, ground_tile)
interactables_layer_grid = create_tile_grid(WORLD_SIZE_X, WORLD_SIZE_Y, nothing_tile)
set_tile(interactables_layer_grid, 2, 2, plant_tile)
set_tile(interactables_layer_grid, 4, 2, plant_2_tile)
set_tile(interactables_layer_grid, 6, 2, plant_3_tile)
}
update_world :: proc(delta: f32) {
update_tile_grid(
ground_layer_grid,
&player.camera,
f32(ground_tilemap_sheet.tile_width),
f32(ground_tilemap_sheet.tile_height),
delta,
)
update_tile_grid(
interactables_layer_grid,
&player.camera,
f32(interactables_tilemap_sheet.tile_width),
f32(interactables_tilemap_sheet.tile_height),
delta,
)
}
draw_world :: proc() {
draw_tile_grid(&ground_tilemap_sheet, ground_layer_grid, &player.camera)
draw_tile_grid(&interactables_tilemap_sheet, interactables_layer_grid, &player.camera)
}