package game import rl "vendor:raylib" import "core:fmt" CELL_SIZE :: 16 WORLD_SIZE :: 100 World :: struct { grid: [WORLD_SIZE][WORLD_SIZE]Tile } Tile :: struct { type: TileType, tilemap_pos:rl.Vector2, color:rl.Color, } TileType :: enum { NOTHING, WALL, DOOR, FLOOR, } set_grid_tile :: proc(w:^World, pos:Vec2i, t:Tile) { w.grid[pos.x][pos.y] = t } get_grid_tile :: proc(w: ^World, pos: Vec2i) -> Tile { if pos.x < 0 || pos.x >= len(w.grid) || pos.y < 0 || pos.y >= len(w.grid[0]) { // fmt.printfln("Target [%v] outside of world bounds", pos) return w.grid[0][0] // Default or error tile } return w.grid[pos.x][pos.y] } fill_world_grid_with_nothing :: proc(w:^World) { for x in 0..< len(w.grid) { for y in 0..