add missing tile variations for water

This commit is contained in:
Sven Balzer
2026-05-13 18:18:28 +02:00
parent 8bc6f68b3b
commit f8f82bc653
18 changed files with 127 additions and 40 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

+127 -40
View File
@@ -30,7 +30,7 @@ using namespace glm;
#define NEAR_PLANE (0.01f)
#define TILE_SIZE (32)
#define TILE_ATLAS_SIZE (256)
#define TILE_ATLAS_SIZE (512)
static SDL_Window *window;
static bool wgpu_init_done;
@@ -324,59 +324,141 @@ static TileInfo tile_infos[] = {
{ 5, "tiles/grass_4.png", TILE_CORNER_INFO(0, GRASS, GRASS, GRASS, GRASS) },
// DIRT
{ 6, "tiles/dirt_3.png", TILE_CORNER_INFO(0, DIRT, DIRT, DIRT, DIRT ) },
{ 7, "tiles/dirt_1.png", TILE_CORNER_INFO(0, DIRT, DIRT, DIRT, DIRT ) },
{ 8, "tiles/dirt_2.png", TILE_CORNER_INFO(0, DIRT, DIRT, DIRT, DIRT ) },
{ 6, "tiles/dirt_3.png", TILE_CORNER_INFO(0, DIRT, DIRT, DIRT, DIRT ) },
{ 7, "tiles/dirt_1.png", TILE_CORNER_INFO(0, DIRT, DIRT, DIRT, DIRT ) },
{ 8, "tiles/dirt_2.png", TILE_CORNER_INFO(0, DIRT, DIRT, DIRT, DIRT ) },
// WATER
{ 9, "tiles/water_1.png", TILE_CORNER_INFO(0, WATER, WATER, WATER, WATER) },
{ 10, "tiles/water_2.png", TILE_CORNER_INFO(0, WATER, WATER, WATER, WATER) },
// GRASS / DIRT
{ 11, "tiles/grass_dirt_1.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, GRASS) },
{ 12, "tiles/grass_dirt_1.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, GRASS) },
{ 13, "tiles/grass_dirt_1.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, GRASS) },
{ 14, "tiles/grass_dirt_1.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, GRASS) },
{ 11, "tiles/grass_dirt_1.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, GRASS) },
{ 12, "tiles/grass_dirt_1.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, GRASS) },
{ 13, "tiles/grass_dirt_1.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, GRASS) },
{ 14, "tiles/grass_dirt_1.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, GRASS) },
{ 15, "tiles/grass_dirt_2.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, GRASS) },
{ 16, "tiles/grass_dirt_2.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, GRASS) },
{ 17, "tiles/grass_dirt_2.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, GRASS) },
{ 18, "tiles/grass_dirt_2.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, GRASS) },
{ 15, "tiles/grass_dirt_2.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, GRASS) },
{ 16, "tiles/grass_dirt_2.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, GRASS) },
{ 17, "tiles/grass_dirt_2.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, GRASS) },
{ 18, "tiles/grass_dirt_2.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, GRASS) },
{ 19, "tiles/grass_dirt_3.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, GRASS) },
{ 20, "tiles/grass_dirt_3.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, GRASS) },
{ 21, "tiles/grass_dirt_3.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, GRASS) },
{ 22, "tiles/grass_dirt_3.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, GRASS) },
{ 19, "tiles/grass_dirt_3.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, GRASS) },
{ 20, "tiles/grass_dirt_3.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, GRASS) },
{ 21, "tiles/grass_dirt_3.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, GRASS) },
{ 22, "tiles/grass_dirt_3.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, GRASS) },
{ 23, "tiles/grass_dirt_outer_corner_1.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, DIRT ) },
{ 24, "tiles/grass_dirt_outer_corner_1.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, DIRT ) },
{ 25, "tiles/grass_dirt_outer_corner_1.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, DIRT ) },
{ 26, "tiles/grass_dirt_outer_corner_1.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, DIRT ) },
{ 23, "tiles/grass_dirt_outer_corner_1.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, DIRT ) },
{ 24, "tiles/grass_dirt_outer_corner_1.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, DIRT ) },
{ 25, "tiles/grass_dirt_outer_corner_1.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, DIRT ) },
{ 26, "tiles/grass_dirt_outer_corner_1.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, DIRT ) },
{ 27, "tiles/grass_dirt_outer_corner_2.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, DIRT ) },
{ 28, "tiles/grass_dirt_outer_corner_2.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, DIRT ) },
{ 29, "tiles/grass_dirt_outer_corner_2.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, DIRT ) },
{ 30, "tiles/grass_dirt_outer_corner_2.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, DIRT ) },
{ 27, "tiles/grass_dirt_outer_corner_2.png", TILE_CORNER_INFO(0, DIRT, DIRT, GRASS, DIRT ) },
{ 28, "tiles/grass_dirt_outer_corner_2.png", TILE_CORNER_INFO(1, DIRT, DIRT, GRASS, DIRT ) },
{ 29, "tiles/grass_dirt_outer_corner_2.png", TILE_CORNER_INFO(2, DIRT, DIRT, GRASS, DIRT ) },
{ 30, "tiles/grass_dirt_outer_corner_2.png", TILE_CORNER_INFO(3, DIRT, DIRT, GRASS, DIRT ) },
{ 31, "tiles/grass_dirt_inner_corner_1.png", TILE_CORNER_INFO(0, GRASS, DIRT, GRASS, GRASS) },
{ 32, "tiles/grass_dirt_inner_corner_1.png", TILE_CORNER_INFO(1, GRASS, DIRT, GRASS, GRASS) },
{ 33, "tiles/grass_dirt_inner_corner_1.png", TILE_CORNER_INFO(2, GRASS, DIRT, GRASS, GRASS) },
{ 34, "tiles/grass_dirt_inner_corner_1.png", TILE_CORNER_INFO(3, GRASS, DIRT, GRASS, GRASS) },
{ 31, "tiles/grass_dirt_inner_corner_1.png", TILE_CORNER_INFO(0, GRASS, DIRT, GRASS, GRASS) },
{ 32, "tiles/grass_dirt_inner_corner_1.png", TILE_CORNER_INFO(1, GRASS, DIRT, GRASS, GRASS) },
{ 33, "tiles/grass_dirt_inner_corner_1.png", TILE_CORNER_INFO(2, GRASS, DIRT, GRASS, GRASS) },
{ 34, "tiles/grass_dirt_inner_corner_1.png", TILE_CORNER_INFO(3, GRASS, DIRT, GRASS, GRASS) },
{ 35, "tiles/grass_dirt_inner_corner_2.png", TILE_CORNER_INFO(0, GRASS, DIRT, GRASS, GRASS) },
{ 36, "tiles/grass_dirt_inner_corner_2.png", TILE_CORNER_INFO(1, GRASS, DIRT, GRASS, GRASS) },
{ 37, "tiles/grass_dirt_inner_corner_2.png", TILE_CORNER_INFO(2, GRASS, DIRT, GRASS, GRASS) },
{ 38, "tiles/grass_dirt_inner_corner_2.png", TILE_CORNER_INFO(3, GRASS, DIRT, GRASS, GRASS) },
{ 35, "tiles/grass_dirt_inner_corner_2.png", TILE_CORNER_INFO(0, GRASS, DIRT, GRASS, GRASS) },
{ 36, "tiles/grass_dirt_inner_corner_2.png", TILE_CORNER_INFO(1, GRASS, DIRT, GRASS, GRASS) },
{ 37, "tiles/grass_dirt_inner_corner_2.png", TILE_CORNER_INFO(2, GRASS, DIRT, GRASS, GRASS) },
{ 38, "tiles/grass_dirt_inner_corner_2.png", TILE_CORNER_INFO(3, GRASS, DIRT, GRASS, GRASS) },
{ 39, "tiles/grass_dirt_inner_corner_3.png", TILE_CORNER_INFO(0, GRASS, DIRT, GRASS, GRASS) },
{ 40, "tiles/grass_dirt_inner_corner_3.png", TILE_CORNER_INFO(1, GRASS, DIRT, GRASS, GRASS) },
{ 41, "tiles/grass_dirt_inner_corner_3.png", TILE_CORNER_INFO(2, GRASS, DIRT, GRASS, GRASS) },
{ 42, "tiles/grass_dirt_inner_corner_3.png", TILE_CORNER_INFO(3, GRASS, DIRT, GRASS, GRASS) },
{ 39, "tiles/grass_dirt_inner_corner_3.png", TILE_CORNER_INFO(0, GRASS, DIRT, GRASS, GRASS) },
{ 40, "tiles/grass_dirt_inner_corner_3.png", TILE_CORNER_INFO(1, GRASS, DIRT, GRASS, GRASS) },
{ 41, "tiles/grass_dirt_inner_corner_3.png", TILE_CORNER_INFO(2, GRASS, DIRT, GRASS, GRASS) },
{ 42, "tiles/grass_dirt_inner_corner_3.png", TILE_CORNER_INFO(3, GRASS, DIRT, GRASS, GRASS) },
{ 43, "tiles/grass_dirt_two_corner.png", TILE_CORNER_INFO(0, GRASS, DIRT, GRASS, DIRT ) },
{ 44, "tiles/grass_dirt_two_corner.png", TILE_CORNER_INFO(1, GRASS, DIRT, GRASS, DIRT ) },
{ 45, "tiles/grass_dirt_two_corner.png", TILE_CORNER_INFO(2, GRASS, DIRT, GRASS, DIRT ) },
{ 46, "tiles/grass_dirt_two_corner.png", TILE_CORNER_INFO(3, GRASS, DIRT, GRASS, DIRT ) },
{ 43, "tiles/grass_dirt_two_corner.png", TILE_CORNER_INFO(0, GRASS, DIRT, GRASS, DIRT ) },
{ 44, "tiles/grass_dirt_two_corner.png", TILE_CORNER_INFO(1, GRASS, DIRT, GRASS, DIRT ) },
// GRASS / WATER
{ 47, "tiles/PH_water_water_grass_grass.png", TILE_CORNER_INFO(0, WATER, WATER, GRASS, GRASS) },
{ 48, "tiles/PH_water_water_grass_grass.png", TILE_CORNER_INFO(1, WATER, WATER, GRASS, GRASS) },
{ 49, "tiles/PH_water_water_grass_grass.png", TILE_CORNER_INFO(2, WATER, WATER, GRASS, GRASS) },
{ 50, "tiles/PH_water_water_grass_grass.png", TILE_CORNER_INFO(3, WATER, WATER, GRASS, GRASS) },
{ 51, "tiles/PH_water_water_grass_water.png", TILE_CORNER_INFO(0, WATER, WATER, GRASS, WATER) },
{ 52, "tiles/PH_water_water_grass_water.png", TILE_CORNER_INFO(1, WATER, WATER, GRASS, WATER) },
{ 53, "tiles/PH_water_water_grass_water.png", TILE_CORNER_INFO(2, WATER, WATER, GRASS, WATER) },
{ 54, "tiles/PH_water_water_grass_water.png", TILE_CORNER_INFO(3, WATER, WATER, GRASS, WATER) },
{ 55, "tiles/PH_grass_water_grass_grass.png", TILE_CORNER_INFO(0, GRASS, WATER, GRASS, GRASS) },
{ 56, "tiles/PH_grass_water_grass_grass.png", TILE_CORNER_INFO(1, GRASS, WATER, GRASS, GRASS) },
{ 57, "tiles/PH_grass_water_grass_grass.png", TILE_CORNER_INFO(2, GRASS, WATER, GRASS, GRASS) },
{ 58, "tiles/PH_grass_water_grass_grass.png", TILE_CORNER_INFO(3, GRASS, WATER, GRASS, GRASS) },
{ 59, "tiles/PH_grass_water_grass_water.png", TILE_CORNER_INFO(0, GRASS, WATER, GRASS, WATER) },
{ 60, "tiles/PH_grass_water_grass_water.png", TILE_CORNER_INFO(1, GRASS, WATER, GRASS, WATER) },
// DIRT / WATER
{ 61, "tiles/PH_dirt_dirt_water_water.png", TILE_CORNER_INFO(0, DIRT, DIRT, WATER, WATER) },
{ 62, "tiles/PH_dirt_dirt_water_water.png", TILE_CORNER_INFO(1, DIRT, DIRT, WATER, WATER) },
{ 63, "tiles/PH_dirt_dirt_water_water.png", TILE_CORNER_INFO(2, DIRT, DIRT, WATER, WATER) },
{ 64, "tiles/PH_dirt_dirt_water_water.png", TILE_CORNER_INFO(3, DIRT, DIRT, WATER, WATER) },
{ 65, "tiles/PH_water_water_dirt_water.png", TILE_CORNER_INFO(0, WATER, WATER, DIRT, WATER) },
{ 66, "tiles/PH_water_water_dirt_water.png", TILE_CORNER_INFO(1, WATER, WATER, DIRT, WATER) },
{ 67, "tiles/PH_water_water_dirt_water.png", TILE_CORNER_INFO(2, WATER, WATER, DIRT, WATER) },
{ 68, "tiles/PH_water_water_dirt_water.png", TILE_CORNER_INFO(3, WATER, WATER, DIRT, WATER) },
{ 69, "tiles/PH_dirt_water_dirt_dirt.png", TILE_CORNER_INFO(0, DIRT, WATER, DIRT, DIRT) },
{ 70, "tiles/PH_dirt_water_dirt_dirt.png", TILE_CORNER_INFO(1, DIRT, WATER, DIRT, DIRT) },
{ 71, "tiles/PH_dirt_water_dirt_dirt.png", TILE_CORNER_INFO(2, DIRT, WATER, DIRT, DIRT) },
{ 72, "tiles/PH_dirt_water_dirt_dirt.png", TILE_CORNER_INFO(3, DIRT, WATER, DIRT, DIRT) },
{ 73, "tiles/PH_dirt_water_dirt_water.png", TILE_CORNER_INFO(0, DIRT, WATER, DIRT, WATER) },
{ 74, "tiles/PH_dirt_water_dirt_water.png", TILE_CORNER_INFO(1, DIRT, WATER, DIRT, WATER) },
// GRASS / DIRT / WATER
{ 75, "tiles/PH_grass_water_dirt_water.png", TILE_CORNER_INFO(0, GRASS, WATER, DIRT, WATER) },
{ 76, "tiles/PH_grass_water_dirt_water.png", TILE_CORNER_INFO(1, GRASS, WATER, DIRT, WATER) },
{ 77, "tiles/PH_grass_water_dirt_water.png", TILE_CORNER_INFO(2, GRASS, WATER, DIRT, WATER) },
{ 78, "tiles/PH_grass_water_dirt_water.png", TILE_CORNER_INFO(3, GRASS, WATER, DIRT, WATER) },
{ 79, "tiles/PH_water_water_dirt_grass.png", TILE_CORNER_INFO(0, WATER, WATER, DIRT, GRASS) },
{ 80, "tiles/PH_water_water_dirt_grass.png", TILE_CORNER_INFO(1, WATER, WATER, DIRT, GRASS) },
{ 81, "tiles/PH_water_water_dirt_grass.png", TILE_CORNER_INFO(2, WATER, WATER, DIRT, GRASS) },
{ 82, "tiles/PH_water_water_dirt_grass.png", TILE_CORNER_INFO(3, WATER, WATER, DIRT, GRASS) },
{ 83, "tiles/PH_water_water_grass_dirt.png", TILE_CORNER_INFO(0, WATER, WATER, GRASS, DIRT) },
{ 84, "tiles/PH_water_water_grass_dirt.png", TILE_CORNER_INFO(1, WATER, WATER, GRASS, DIRT) },
{ 85, "tiles/PH_water_water_grass_dirt.png", TILE_CORNER_INFO(2, WATER, WATER, GRASS, DIRT) },
{ 86, "tiles/PH_water_water_grass_dirt.png", TILE_CORNER_INFO(3, WATER, WATER, GRASS, DIRT) },
{ 87, "tiles/PH_grass_water_dirt_grass.png", TILE_CORNER_INFO(0, GRASS, WATER, DIRT, GRASS) },
{ 88, "tiles/PH_grass_water_dirt_grass.png", TILE_CORNER_INFO(1, GRASS, WATER, DIRT, GRASS) },
{ 89, "tiles/PH_grass_water_dirt_grass.png", TILE_CORNER_INFO(2, GRASS, WATER, DIRT, GRASS) },
{ 90, "tiles/PH_grass_water_dirt_grass.png", TILE_CORNER_INFO(3, GRASS, WATER, DIRT, GRASS) },
{ 91, "tiles/PH_dirt_water_grass_grass.png", TILE_CORNER_INFO(0, DIRT, WATER, GRASS, GRASS) },
{ 92, "tiles/PH_dirt_water_grass_grass.png", TILE_CORNER_INFO(1, DIRT, WATER, GRASS, GRASS) },
{ 93, "tiles/PH_dirt_water_grass_grass.png", TILE_CORNER_INFO(2, DIRT, WATER, GRASS, GRASS) },
{ 94, "tiles/PH_dirt_water_grass_grass.png", TILE_CORNER_INFO(3, DIRT, WATER, GRASS, GRASS) },
{ 95, "tiles/PH_grass_water_grass_dirt.png", TILE_CORNER_INFO(0, GRASS, WATER, GRASS, DIRT) },
{ 96, "tiles/PH_grass_water_grass_dirt.png", TILE_CORNER_INFO(1, GRASS, WATER, GRASS, DIRT) },
{ 97, "tiles/PH_grass_water_grass_dirt.png", TILE_CORNER_INFO(2, GRASS, WATER, GRASS, DIRT) },
{ 98, "tiles/PH_grass_water_grass_dirt.png", TILE_CORNER_INFO(3, GRASS, WATER, GRASS, DIRT) },
{ 99, "tiles/PH_dirt_water_dirt_grass.png", TILE_CORNER_INFO(0, DIRT, WATER, DIRT, GRASS) },
{ 100, "tiles/PH_dirt_water_dirt_grass.png", TILE_CORNER_INFO(1, DIRT, WATER, DIRT, GRASS) },
{ 101, "tiles/PH_dirt_water_dirt_grass.png", TILE_CORNER_INFO(2, DIRT, WATER, DIRT, GRASS) },
{ 102, "tiles/PH_dirt_water_dirt_grass.png", TILE_CORNER_INFO(3, DIRT, WATER, DIRT, GRASS) },
{ 103, "tiles/PH_dirt_water_grass_dirt.png", TILE_CORNER_INFO(0, DIRT, WATER, GRASS, DIRT) },
{ 104, "tiles/PH_dirt_water_grass_dirt.png", TILE_CORNER_INFO(1, DIRT, WATER, GRASS, DIRT) },
{ 105, "tiles/PH_dirt_water_grass_dirt.png", TILE_CORNER_INFO(2, DIRT, WATER, GRASS, DIRT) },
{ 106, "tiles/PH_dirt_water_grass_dirt.png", TILE_CORNER_INFO(3, DIRT, WATER, GRASS, DIRT) },
{ 107, "tiles/PH_grass_water_dirt_dirt.png", TILE_CORNER_INFO(0, GRASS, WATER, DIRT, DIRT) },
{ 108, "tiles/PH_grass_water_dirt_dirt.png", TILE_CORNER_INFO(1, GRASS, WATER, DIRT, DIRT) },
{ 109, "tiles/PH_grass_water_dirt_dirt.png", TILE_CORNER_INFO(2, GRASS, WATER, DIRT, DIRT) },
{ 110, "tiles/PH_grass_water_dirt_dirt.png", TILE_CORNER_INFO(3, GRASS, WATER, DIRT, DIRT) },
};
static vec4 tile_uvs[SDL_arraysize(tile_infos)];
@@ -2028,6 +2110,11 @@ static void update_state_editor() {
selected_tile = -1;
}
if (ImGui::Selectable("Water", selected_tile_kind == TILEKIND_WATER)) {
selected_tile_kind = TILEKIND_WATER;
selected_tile = -1;
}
for (int i = 0; i < SDL_arraysize(tile_infos); i++) {
ImGui::PushID(i);