diff --git a/assets/tiles/PH_dirt_dirt_water_water.png b/assets/tiles/PH_dirt_dirt_water_water.png new file mode 100644 index 0000000..3b7876d Binary files /dev/null and b/assets/tiles/PH_dirt_dirt_water_water.png differ diff --git a/assets/tiles/PH_dirt_water_dirt_dirt.png b/assets/tiles/PH_dirt_water_dirt_dirt.png new file mode 100644 index 0000000..5b5ad09 Binary files /dev/null and b/assets/tiles/PH_dirt_water_dirt_dirt.png differ diff --git a/assets/tiles/PH_dirt_water_dirt_grass.png b/assets/tiles/PH_dirt_water_dirt_grass.png new file mode 100644 index 0000000..edc4ab0 Binary files /dev/null and b/assets/tiles/PH_dirt_water_dirt_grass.png differ diff --git a/assets/tiles/PH_dirt_water_dirt_water.png b/assets/tiles/PH_dirt_water_dirt_water.png new file mode 100644 index 0000000..52cdd2d Binary files /dev/null and b/assets/tiles/PH_dirt_water_dirt_water.png differ diff --git a/assets/tiles/PH_dirt_water_grass_dirt.png b/assets/tiles/PH_dirt_water_grass_dirt.png new file mode 100644 index 0000000..f859d09 Binary files /dev/null and b/assets/tiles/PH_dirt_water_grass_dirt.png differ diff --git a/assets/tiles/PH_dirt_water_grass_grass.png b/assets/tiles/PH_dirt_water_grass_grass.png new file mode 100644 index 0000000..8a8927d Binary files /dev/null and b/assets/tiles/PH_dirt_water_grass_grass.png differ diff --git a/assets/tiles/PH_grass_water_dirt_dirt.png b/assets/tiles/PH_grass_water_dirt_dirt.png new file mode 100644 index 0000000..85c5b40 Binary files /dev/null and b/assets/tiles/PH_grass_water_dirt_dirt.png differ diff --git a/assets/tiles/PH_grass_water_dirt_grass.png b/assets/tiles/PH_grass_water_dirt_grass.png new file mode 100644 index 0000000..34d865f Binary files /dev/null and b/assets/tiles/PH_grass_water_dirt_grass.png differ diff --git a/assets/tiles/PH_grass_water_dirt_water.png b/assets/tiles/PH_grass_water_dirt_water.png new file mode 100644 index 0000000..0c998a4 Binary files /dev/null and b/assets/tiles/PH_grass_water_dirt_water.png differ diff --git a/assets/tiles/PH_grass_water_grass_dirt.png b/assets/tiles/PH_grass_water_grass_dirt.png new file mode 100644 index 0000000..23ac31f Binary files /dev/null and b/assets/tiles/PH_grass_water_grass_dirt.png differ diff --git a/assets/tiles/PH_grass_water_grass_grass.png b/assets/tiles/PH_grass_water_grass_grass.png new file mode 100644 index 0000000..0bfc592 Binary files /dev/null and b/assets/tiles/PH_grass_water_grass_grass.png differ diff --git a/assets/tiles/PH_grass_water_grass_water.png b/assets/tiles/PH_grass_water_grass_water.png new file mode 100644 index 0000000..e6e33c5 Binary files /dev/null and b/assets/tiles/PH_grass_water_grass_water.png differ diff --git a/assets/tiles/PH_water_water_dirt_grass.png b/assets/tiles/PH_water_water_dirt_grass.png new file mode 100644 index 0000000..e9dcc6f Binary files /dev/null and b/assets/tiles/PH_water_water_dirt_grass.png differ diff --git a/assets/tiles/PH_water_water_dirt_water.png b/assets/tiles/PH_water_water_dirt_water.png new file mode 100644 index 0000000..74346ae Binary files /dev/null and b/assets/tiles/PH_water_water_dirt_water.png differ diff --git a/assets/tiles/PH_water_water_grass_dirt.png b/assets/tiles/PH_water_water_grass_dirt.png new file mode 100644 index 0000000..d7ffe54 Binary files /dev/null and b/assets/tiles/PH_water_water_grass_dirt.png differ diff --git a/assets/tiles/PH_water_water_grass_grass.png b/assets/tiles/PH_water_water_grass_grass.png new file mode 100644 index 0000000..e33ec37 Binary files /dev/null and b/assets/tiles/PH_water_water_grass_grass.png differ diff --git a/assets/tiles/PH_water_water_grass_water.png b/assets/tiles/PH_water_water_grass_water.png new file mode 100644 index 0000000..9634097 Binary files /dev/null and b/assets/tiles/PH_water_water_grass_water.png differ diff --git a/src/main.cpp b/src/main.cpp index c692597..f1c9cbf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -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);