From f8f82bc6530ddfbc95a96e2bc55f8d3b33bcdcc5 Mon Sep 17 00:00:00 2001 From: Sven Balzer <4653051+Kyuusokuna@users.noreply.github.com> Date: Wed, 13 May 2026 18:18:28 +0200 Subject: [PATCH] add missing tile variations for water --- assets/tiles/PH_dirt_dirt_water_water.png | Bin 0 -> 289 bytes assets/tiles/PH_dirt_water_dirt_dirt.png | Bin 0 -> 324 bytes assets/tiles/PH_dirt_water_dirt_grass.png | Bin 0 -> 444 bytes assets/tiles/PH_dirt_water_dirt_water.png | Bin 0 -> 373 bytes assets/tiles/PH_dirt_water_grass_dirt.png | Bin 0 -> 394 bytes assets/tiles/PH_dirt_water_grass_grass.png | Bin 0 -> 424 bytes assets/tiles/PH_grass_water_dirt_dirt.png | Bin 0 -> 429 bytes assets/tiles/PH_grass_water_dirt_grass.png | Bin 0 -> 397 bytes assets/tiles/PH_grass_water_dirt_water.png | Bin 0 -> 415 bytes assets/tiles/PH_grass_water_grass_dirt.png | Bin 0 -> 449 bytes assets/tiles/PH_grass_water_grass_grass.png | Bin 0 -> 379 bytes assets/tiles/PH_grass_water_grass_water.png | Bin 0 -> 431 bytes assets/tiles/PH_water_water_dirt_grass.png | Bin 0 -> 388 bytes assets/tiles/PH_water_water_dirt_water.png | Bin 0 -> 283 bytes assets/tiles/PH_water_water_grass_dirt.png | Bin 0 -> 380 bytes assets/tiles/PH_water_water_grass_grass.png | Bin 0 -> 320 bytes assets/tiles/PH_water_water_grass_water.png | Bin 0 -> 284 bytes src/main.cpp | 167 +++++++++++++++----- 18 files changed, 127 insertions(+), 40 deletions(-) create mode 100644 assets/tiles/PH_dirt_dirt_water_water.png create mode 100644 assets/tiles/PH_dirt_water_dirt_dirt.png create mode 100644 assets/tiles/PH_dirt_water_dirt_grass.png create mode 100644 assets/tiles/PH_dirt_water_dirt_water.png create mode 100644 assets/tiles/PH_dirt_water_grass_dirt.png create mode 100644 assets/tiles/PH_dirt_water_grass_grass.png create mode 100644 assets/tiles/PH_grass_water_dirt_dirt.png create mode 100644 assets/tiles/PH_grass_water_dirt_grass.png create mode 100644 assets/tiles/PH_grass_water_dirt_water.png create mode 100644 assets/tiles/PH_grass_water_grass_dirt.png create mode 100644 assets/tiles/PH_grass_water_grass_grass.png create mode 100644 assets/tiles/PH_grass_water_grass_water.png create mode 100644 assets/tiles/PH_water_water_dirt_grass.png create mode 100644 assets/tiles/PH_water_water_dirt_water.png create mode 100644 assets/tiles/PH_water_water_grass_dirt.png create mode 100644 assets/tiles/PH_water_water_grass_grass.png create mode 100644 assets/tiles/PH_water_water_grass_water.png 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 0000000000000000000000000000000000000000..3b7876ded3979e23bc96b70a961707222e064eb2 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D%BjV=&J|)l*D9eVLi5ZLxY`)HGIK?ZE0-eg>>FVdQ&MBb@02EJSNdN!< literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5b5ad09552aa8a0215c770c2bb2902f697150d50 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!DXY>2}68q{8t9s5((b8~wY_Y)KPT{0*h34o$`eNz8Dy4wz0hKq RRR#17gQu&X%Q~loCIGqwdbI!m literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..edc4ab06147bd021e95461ac0a62518e39a9014b GIT binary patch literal 444 zcmV;t0Ymz@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzI!Q!9R7l6wl`#&2FcgL#O&6sMO?m_uH}2xfEj)*bXE3bp9;1tK z@c<4a45BWEI6SPi2)5N?d<#(8|Kq(!|3-)H3hbjS@S4kdJ)PUEAP_iw0J*G#0k{|< zgDfQgFxxEx0PaoxmmXZsa5;Cq4D*|E5x57#>;tDHdI6&`jK&^YVYXW+cI4(oEk|m% z-AKy|(2LP)n9KSLfHnrzUuB@LvA3Px?MKP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy^GQTOR7l6oRk;nqKoFd>wgDuXAS0y?Qo5iHnn0wKKo2B{76>f4 z10Xo$vwe?u42yipC8wFancZ3UxE(>ArUr1jKF_PY=6MD7ESA)Bo}j7yy}ci72mk=P zb!GMgbBO?NvbhJgKQJTcly5c%i~%#0h|~vwuk44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D5+?~_COx6V3x6s-E8aIB%Tu~G3y zl|HXdgX^b&&gS>`CHB=HR`r~nqNU;V*kXadox(}s3f%`!k{&!+WS~7k-bKLw!ZD!c zM}HkNRfK!kW-V88yYz~=Cy9C9>cXeiTsjVG>nE&jY>{s9UCGZO=BpFJDbL2%#;v8p zR{rn6%_)%$Syp!}Qi?UdG3E(t`Yn@aWM;HcY67AeIbyGtRdwvVv&ZHMn_%Aa#WT5| z8wJWSM))o-3T!-G(xua|{Fi?Iz52g@T1~j?>L2|5+bCW?wk44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D_$$rE)}|`{Z|zkbH8)FP=3d61Vl46RWgposSjg(F_a`|aL1NLw zKmT~=K597eLGdEfrMdon{0fFX+T0$db49o(9BTi;p>T_7lhgbs3Qg_&6PF6G7(CKh z7Z}TH__v9Ro0+-!;9UD7?Bc>#7JSbaP*d7$=;NLy@L2koxcjdTPvaA9hZr}77yRtp znC`{jBAR@l#Z*yA`mD0jkEds=*Q`63CCSXpoP4H_Gh(UX+%w8b9ElG$F`rfI;MA#b zVz^wA7dLPH{QU=V4`oTt3e*v}I^)#@-$sVKI5`VWMuF2GsykRO2WF@}VvP8D=xuYy zW`SgZI_n8LPkeJ+60st>K5zopr0Kz@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzD@jB_R7l6|lrav1KoCU-f`y8SBpkuUj=R`$3$KAz9KqIGcmO+N z;sGp3Fk#U`V=P98*=0dN4I#QAWOv#5Z)W}mW4c{}ZlsA2QA|s3cUg|7P<@#2xd-)%FiC|l zIL{yTy*h@ewdbWVeNx9FUcXTmS9#iN-!m8MtJ14-m=T0Q-cM?})Evi!IO6*VBMebF z(g?x;Jgpv$_63hLzkE7$Z7XdZ9_ X3q6z?^`80c00000NkvXXu0mjfSNEx0 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..34d865fe2907e0ccc4e37383643dce3ee591879d GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D|ITV!V35peb>@NJ+op{W+wM>8`GB0l4 z`uY10EN+~k!&}a{frFuWK%UHx3vIVCg!07Pq$IRF3v literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0c998a4c29ba0306d2382044cee483480b027749 GIT binary patch literal 415 zcmV;Q0bu@#P)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUz9Z5t%R7l6ol|K%GFciig*tiG-iAP{@WAz-a-hyl3<`G;yf_Gpu zCLV!=L0kx^!!xy(mhfI};x`ovzwiBP8swKF40OLW0MJx5K4#Yr0FJ91=n8Ecl8)lh z#|)$}e74L6i#UpwiTY-9-ti6EzH57Hm}M$lJgg;BlaL+^2>_VSgl&-AWzN7jrpyeG zwTL4vYHdu}lPXjYuC@7blo-Z4jNRp+39qM2H;}k86)Kt(zC14YS5WMWk*}wtZO1TJ zpPq6Xaq5}@-DaV|fGQQO5ot}P(Uav543MrzZ9;Plbh@2OxNuzPz@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzKS@MER7l6&mOBoDKoEw1$aZ2u!VzrjxQnf~@EmvuW9uzE0F5yw z9)N;`g58c7iy`9%Sl!($COXxG$9~N7C)(XkFqmqktQ+$4dv{vz;BGNyw%GFX!vkiI z;2VG>OUWr$0>I{4gaj;>$?vB~H_DQS3DwG3BM{u|HnzDIuJi0%1J_;>rdb^)y<7>8 zk$%0i&0_$^@-aYqmzON6&U@26hUpjr+gBp0&U>U8ni>Go3_$OXNPdjCKQzsHXW(nu z8zjxL+EH~me158_O>vODiN*miW=ysp!8ks<4&fr1R|u2%Xu4(Hf*K>gcau{RV3MiY zx?r$o1X~pY#$uTe#zbk44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D zjv*e$lXdp(oW{uh@A_oP_7ef>j0L6^H?Krr$@ppd%>yhd5GwPZ;HU#Yb;J7)n!aUkdcR@cZ1Cwo9 Vyw;zHGGHJuc)I$ztaD0e0s!P$ieLZ$ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e6e33c564602345f78d710515647df37a4948611 GIT binary patch literal 431 zcmV;g0Z{&lP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUzElET{R7l6wRxu93Fbp)Q)rE9G;t4Elth|G#@QyyEPv8%12#F^k zb)YPW3I-#~O4A7Jbl|2WmF~`|?Rd67H!#5c)&W3wZE3r?JOQ9t@8Ng2u@B5n(6Ofk z7-V0KxWK&fez}k*yHl+fc=XRlKWg*1LW{=e70Do2LjeSUvcR!KvLhZrG)=7=c5-L+_SC!%3?w6kxjJ3MIALJ^*0UBOh9*3A63t#Z^jla&5;) zU^+OM7}*4Nr<%K=TxYnVbeF|k)H1VW_eDE9(?z?wDS~g_376~M{c^!wQm!#?QW7sU zf4xA|e!$CHXa50F_RNJgWamjmFTh#fUE9Qjpb_9kn|O}O0%=%LMi4afL=f&j3N0~+ ZyaCb2j9I7>dXoSE002ovPDHLkV1lcBuap1) literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e9dcc6fbee7868a7c673ee128205d5de2f4e6bbf GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!Dm|g>;;B_kyCIBx0@Rk44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!DqGbieD_=6N zX*(ui5O|O&W${IyB~APVv-C8aSh*FJE#56P`{I*`hCHjh;*%%YQ)c*W;$N^#INc=E z?!eSD?IDpZ_Ira<7`=W>5MpfJutV+QPn8IVIFk44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D;B zjv*e$legUYJ-=~ULucc$gey&f+-|xOd}13MRy=sUH$y1fw0mU|WAgbaava*nfJzz@ zPqx-y+1mN>=tR4iq7&05=JG!7R<7k~QsQ}k-v9_Wx`2ek%^NvNhoz2*hl?jpKbXk7 zvh2Y&hS{k*_B73LyOt&9yhFhBNMyrVsU412J}~C3KX8y$RIJ&${({Si?F={hIviPy zq&70lyVqebYtbSmk44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D&&bwIj zzTT%;f5irgJ3pO!d?W6%2)1M-zL|NcInBgK{H)Xtvy|e8Q3j&M1_lPl-pp_?5ZLhQ zND1$(qz)Z!L&4S@0T=tQ#T##R9eOAz_~+9z+mF*6w*ZwsxOlW_nMgld%4@|_7rrEA zJrNX4aSS_k_H^_8pO3mWsiZRH#mR}SX%pJQ+26T1_2LRv=krVqKQ`N2Wbc-B2l|A; M)78&qol`;+0PzKQl>h($ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9634097690b5da055058191313c7fb1c0be39e57 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={W7>k44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCf{A_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!Dx}-~|Vfiop{Co9(|Fq5$TXR*%ZFBRllOlQSj{XL`y*+H_!+>s- X>^6!O=t_(Ox{|@u)z4*}Q$iB}q+n%U literal 0 HcmV?d00001 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);