add missing tile variations for water
This commit is contained in:
+127
-40
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user