diff --git a/src/world.odin b/src/world.odin index d52177f..b014f36 100644 --- a/src/world.odin +++ b/src/world.odin @@ -13,6 +13,8 @@ interactables_layer_grid: Grid interactables_tilemap_sheet: TilemapSpritesheet init_world :: proc() { + + ground_tilemap_sheet = load_tilemap_sheet( "assets/tiles/master_tilemap.png", TILEMAP_TILE_SIZE, @@ -25,17 +27,20 @@ init_world :: proc() { 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) + ground_layer_grid = create_tile_grid(WORLD_SIZE_X, WORLD_SIZE_Y, GROUND_TILES_MAP[.GROUND]) + interactables_layer_grid = create_tile_grid( + WORLD_SIZE_X, + WORLD_SIZE_Y, + GROUND_TILES_MAP[.NOTHING], + ) + + + for i := 0; i < 11; i += 1 { + id := Interactive_Tile_ID(i) + set_tile(&interactables_layer_grid, i, 5, INTERACTIVE_TILES_MAP[id]) + } - 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) - set_tile(&ground_layer_grid, 5, 5, test_wall_tile) - set_tile(&ground_layer_grid, 6, 5, test_wall_tile) - set_tile(&ground_layer_grid, 7, 5, test_wall_tile) - set_tile(&ground_layer_grid, 8, 5, test_wall_tile) } deinit_world :: proc() { @@ -62,12 +67,17 @@ update_world :: proc(delta: f32) { } draw_world :: proc() { + raylib.BeginShaderMode(shader) + draw_tile_grid(&ground_tilemap_sheet, &ground_layer_grid, &player.camera, world_base_color) + draw_tile_grid( &interactables_tilemap_sheet, &interactables_layer_grid, &player.camera, - world_base_color, + raylib.WHITE, ) + + raylib.EndShaderMode() }