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) }