From a9bde33a07d3fd122df7ee6554ab49e116fea8d3 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Tue, 29 Jul 2025 22:38:16 -0500 Subject: [PATCH] texture: add turning frames --- demo.mk | 13 +++- src/demo/lizard/levels.hpp | 100 +++++++++++++++++++++++++++ src/demo/lizard/main.cpp | 52 ++++++++++---- src/demo/lizard/main.hpp | 4 +- src/demo/lizard/maps/level1.png | Bin 631 -> 4681 bytes src/platform/texture.cpp | 42 +++++++++++ src/platform/texture.hpp | 9 +++ texture/turning/frame0000.png | Bin 0 -> 2536 bytes texture/turning/frame0000_128.data.h | 15 ++++ texture/turning/frame0001.png | Bin 0 -> 2484 bytes texture/turning/frame0001_128.data.h | 15 ++++ texture/turning/frame0002.png | Bin 0 -> 2575 bytes texture/turning/frame0002_128.data.h | 15 ++++ texture/turning/frame0003.png | Bin 0 -> 2532 bytes texture/turning/frame0003_128.data.h | 15 ++++ texture/turning/frame0004.png | Bin 0 -> 2497 bytes texture/turning/frame0004_128.data.h | 15 ++++ texture/turning/frame0005.png | Bin 0 -> 2528 bytes texture/turning/frame0005_128.data.h | 15 ++++ texture/turning/frame0006.png | Bin 0 -> 2541 bytes texture/turning/frame0006_128.data.h | 15 ++++ tools/parse_map.py | 4 +- 22 files changed, 312 insertions(+), 17 deletions(-) create mode 100644 texture/turning/frame0000.png create mode 100644 texture/turning/frame0000_128.data.h create mode 100644 texture/turning/frame0001.png create mode 100644 texture/turning/frame0001_128.data.h create mode 100644 texture/turning/frame0002.png create mode 100644 texture/turning/frame0002_128.data.h create mode 100644 texture/turning/frame0003.png create mode 100644 texture/turning/frame0003_128.data.h create mode 100644 texture/turning/frame0004.png create mode 100644 texture/turning/frame0004_128.data.h create mode 100644 texture/turning/frame0005.png create mode 100644 texture/turning/frame0005_128.data.h create mode 100644 texture/turning/frame0006.png create mode 100644 texture/turning/frame0006_128.data.h diff --git a/demo.mk b/demo.mk index 615abe3..b7080fc 100644 --- a/demo.mk +++ b/demo.mk @@ -11,8 +11,14 @@ TEXTURE_OBJ = \ texture/walking/frame0003_128.data.o \ texture/walking/frame0004_128.data.o \ texture/walking/frame0005_128.data.o \ - texture/walking/frame0006_128.data.o - + texture/walking/frame0006_128.data.o \ + texture/turning/frame0000_128.data.o \ + texture/turning/frame0001_128.data.o \ + texture/turning/frame0002_128.data.o \ + texture/turning/frame0003_128.data.o \ + texture/turning/frame0004_128.data.o \ + texture/turning/frame0005_128.data.o \ + texture/turning/frame0006_128.data.o DEMO_OBJ = \ $(LIB)/holly/core.o \ $(LIB)/holly/region_array.o \ @@ -56,5 +62,8 @@ texture/igh25_box_%.data: texture/igh25_box_%.png texture/walking/%.data: texture/walking/%.png python ../model_generator/color_convert.py $< argb4444 twiddled non_mipmapped $@ +texture/turning/%.data: texture/turning/%.png + python ../model_generator/color_convert.py $< argb4444 twiddled non_mipmapped $@ + font/ter_u12n.data: $(LIB)/tools/ttf_bitmap2 20 7f 128 64 /usr/share/fonts/terminus/ter-u12n.otb $@ > /dev/null diff --git a/src/demo/lizard/levels.hpp b/src/demo/lizard/levels.hpp index b94a1b9..587eec0 100644 --- a/src/demo/lizard/levels.hpp +++ b/src/demo/lizard/levels.hpp @@ -3,6 +3,34 @@ namespace demo { world::platform level1_platforms[] = { + { + .position = vec3( 23.500, -28.000, 7.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 30.500, -35.000, 7.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 37.500, -42.000, 7.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 44.500, -51.000, 7.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 51.500, -58.000, 7.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 59.500, -66.000, 7.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 68.500, -77.000, 7.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, { .position = vec3( 7.500, 0.000, 7.500), .scale = vec3( 3.000, 1.000, 3.000), @@ -15,10 +43,82 @@ namespace demo { .position = vec3( 17.500, 0.000, 7.500), .scale = vec3( 3.000, 1.000, 3.000), }, + { + .position = vec3( 77.500, -91.000, 9.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, { .position = vec3( 12.500, 0.000, 12.500), .scale = vec3( 3.000, 1.000, 3.000), }, + { + .position = vec3( 39.500, 3.000, 18.500), + .scale = vec3( 37.000, 1.000, 13.000), + }, + { + .position = vec3( 84.500, -101.000, 15.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 8.500, 1.000, 18.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 91.500, -109.000, 22.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 14.500, 2.000, 24.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 28.500, 4.000, 45.500), + .scale = vec3( 7.000, 1.000, 37.000), + }, + { + .position = vec3( 41.500, 2.000, 45.500), + .scale = vec3( 7.000, 1.000, 37.000), + }, + { + .position = vec3( 53.500, 0.000, 45.500), + .scale = vec3( 7.000, 1.000, 37.000), + }, + { + .position = vec3( 20.500, 3.000, 30.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 98.500, -117.000, 31.500), + .scale = vec3( 5.000, 1.000, 5.000), + }, + { + .position = vec3( 106.500, -117.000, 52.500), + .scale = vec3( 29.000, 1.000, 29.000), + }, + { + .position = vec3( 14.500, -2.000, 73.500), + .scale = vec3( 11.000, 1.000, 3.000), + }, + { + .position = vec3( 27.500, -2.000, 73.500), + .scale = vec3( 11.000, 1.000, 3.000), + }, + { + .position = vec3( 40.500, -2.000, 73.500), + .scale = vec3( 11.000, 1.000, 3.000), + }, + { + .position = vec3( 53.500, -2.000, 73.500), + .scale = vec3( 11.000, 1.000, 3.000), + }, + { + .position = vec3( 66.500, -2.000, 73.500), + .scale = vec3( 11.000, 1.000, 3.000), + }, + { + .position = vec3( 27.500, -5.000, 91.500), + .scale = vec3( 41.000, 1.000, 21.000), + }, }; world::level level1_level = { .platforms = level1_platforms, diff --git a/src/demo/lizard/main.cpp b/src/demo/lizard/main.cpp index 37f74e2..6eae0ed 100644 --- a/src/demo/lizard/main.cpp +++ b/src/demo/lizard/main.cpp @@ -13,7 +13,7 @@ extern float alpha_mul; -const int lizard_frames[] = { +const int lizard_walking_frames[] = { texture::offset::walking_frame0000, texture::offset::walking_frame0001, texture::offset::walking_frame0002, @@ -22,7 +22,19 @@ const int lizard_frames[] = { texture::offset::walking_frame0005, texture::offset::walking_frame0006, }; -const int lizard_frames_count = (sizeof (lizard_frames)) / (sizeof (lizard_frames[0])); +const int lizard_walking_frames_count = (sizeof (lizard_walking_frames)) / (sizeof (lizard_walking_frames[0])); + +const int lizard_turning_frames[] = { + texture::offset::turning_frame0000, + texture::offset::turning_frame0001, + texture::offset::turning_frame0002, + texture::offset::turning_frame0003, + texture::offset::turning_frame0004, + texture::offset::turning_frame0005, + texture::offset::turning_frame0006, +}; +const int lizard_turning_frames_count = (sizeof (lizard_turning_frames)) / (sizeof (lizard_turning_frames[0])); + int last_drawn_frame; namespace demo { @@ -62,6 +74,11 @@ namespace demo { if (!collided) lizard_velocity.y -= 0.01; */ + lizard_rotation *= 0.8; + + lizard_turning_frame += lizard_rotation * 10; + + lizard_heading += lizard_rotation; if (abs(lizard_velocity.x) > 0.05) lizard_velocity.x = 0.05 * sign(lizard_velocity.x); @@ -74,7 +91,7 @@ namespace demo { lizard_velocity.y *= 0.8; lizard_velocity.z *= 0.8; - lizard_frame += magnitude(lizard_velocity) * 15; + lizard_walking_frame += magnitude(lizard_velocity) * 15; lizard_position.x += lizard_velocity.x; lizard_position.y += lizard_velocity.y; @@ -106,12 +123,12 @@ namespace demo { void lizard::x() { - lizard_heading -= pi * (1.0f / 160); + lizard_rotation += pi * (1.0f / 160); } void lizard::b() { - lizard_heading += pi * (1.0f / 160); + lizard_rotation -= pi * (1.0f / 160); } void lizard::analog(float dl, float dr, float dx, float dy) @@ -192,14 +209,25 @@ namespace demo { t, vec3(1, 0.5, 0)); */ - int frame = ((int)lizard_frame) % lizard_frames_count; - if (frame < 0) - frame = lizard_frames_count + frame; - last_drawn_frame = frame; + if (abs(lizard_rotation) > 0) { + int frame = ((int)lizard_turning_frame) % lizard_turning_frames_count; + if (frame < 0) + frame = lizard_turning_frames_count + frame; + last_drawn_frame = frame; - draw_textured_voxel(writer, - t, - lizard_frames[frame]); + draw_textured_voxel(writer, + t, + lizard_turning_frames[frame]); + } else { + int frame = ((int)lizard_walking_frame) % lizard_walking_frames_count; + if (frame < 0) + frame = lizard_walking_frames_count + frame; + last_drawn_frame = frame; + + draw_textured_voxel(writer, + t, + lizard_walking_frames[frame]); + } } void lizard::draw(ta_parameter_writer& writer, const mat4x4& _) diff --git a/src/demo/lizard/main.hpp b/src/demo/lizard/main.hpp index 7f58461..41e2595 100644 --- a/src/demo/lizard/main.hpp +++ b/src/demo/lizard/main.hpp @@ -10,7 +10,9 @@ namespace demo { vec3 lizard_position; vec3 lizard_velocity; float lizard_heading; - float lizard_frame; + float lizard_rotation; + float lizard_walking_frame; + float lizard_turning_frame; bool collided; diff --git a/src/demo/lizard/maps/level1.png b/src/demo/lizard/maps/level1.png index c45f5634f834cb84e2ba668a20f356d98f9fc7a1..595f060f940e93d13ba8d46d15d7c07e92ccd3e3 100644 GIT binary patch literal 4681 zcmeHLe^3!W|SV zfq;-EB$`@GB#4QoNn6cCC!(N<25l0wCK=l>2?|Y|i7Abu(kU9y^t*e<0nwQbGtGbO z&EtLF_kG^yz4v+F_vQAQ3-VXQ#V(9R5G2l)n^g#Ptx#kU@HcPWf7%d4l1P`>oHpB| zhzxvlz!8N=1Pm0(6gxr^i9~{LJCt}y1ad#rJE7bUegQ9(g_3Bo{v+5w3fTw2UK+v( z<5e&=4(cu_YOoWbejf_6H8}4Du!Tn^eyki#@HB<`8NM7{VY3$?<0%O8OX#1d1t+SO ztCVt$5g3(fompuxt4*j{ZPw_`N-YwBG;Wt73t-GQP$V6b>xE|cxqGJWCC29fU(Z;r z1vaY{^>VC}anT48XxqHalG~H<(CH0D`>=V^$6ibPpx~viU&dP2HekiFx0e4Yeo5f`GV)xO&AG{2B==;$idzn@CTNytjHst-MFvi*hd0tkFMm}uk`x(% zU0C& zBSp#WSj+1#=HFWW3Atk=sce5Cx&PNU<~NRf)2r@da<-kqevf88S+}tFwG%mQt6xf- z!+f^#=FP3^-^r3UtfQ6OvX0oega49#TR(VlZNmrmDN@>yt_=@eCKF{>BL3QSsb=wG z`6E%Xw8%Bp{TtkfX7}E{{u2SXXkg00cnm3FU{E@yJ9Il8Di zznHAvNSY`tJuNmhUNfwIU3czC6I&`bk7mK;wmq#D5QOC1xM1^m9&RXo=PEHvoM3Or836t6*mRqO`D7&!#HmR z=Mpg#si0l78%TYyKGifl&p0Q=nzlBfN8HZTg}`)S{%Pomy^CN#+3n^mmaGsawPjf_ zVZCOGB^k;rnxw;=JD}_hol86AeS@1 z<1pw{N~d0hYaDt5Q0NS}kucCW=`?D!29hEOy>bf0N{)f3BwSNhB~Vd7rPMnq!l5_e zIs-}ITBp;5I~=42*K0`!WzuRiq`@Fk3FlzWEU;NHwLC~JdJ0?w?_@c*1m0%qiGVfn&x~EZ~~{8N5vkBH0J;#0fED~i85N@^^}Pn z!m*fPGaxJ>#3?X~e%Omy%%Ut;%(5;E7EaCKZaZ8jir|SXNa`?KI9V4@Bx_s=={qc% z+0Igov+94Lh0BAc29G?K@$oEICAxw)s)*hcYz3PxM!ZTWDqadRK?b+rBPwZ1Tqke^ zyU23FQ$|Df2!-o}pSedUPROcp`rD-P7i@af|GVQr?dN5C+{aX zI+rlbAkv~WBi7_KznYSV;Z&=dtzgf^@Ya>m4tQx$h*s7)nZ<$6u3XrY-&2rS`?;phihZ0aS=8L~ zh4)zW4|-$RCwhoY?^m^#R&(5<=+CLR`j7T^UKxG;;=yfn`td)+Jt;#v=Do7z?K_Vu zc4OEV>curJO-;Y8x%LQ#of|pX*VJS@BOOdz-1gi zLM*1w2?^N6N&duwN!UXy|JKKSmXMVpg;UUmY} z-J0{l)~Co*wjPHaWRAuMFI5tCv|eG6vf@#K zxM<;;Pz|Tn0PQWW5{h27Us$5(Sy(6%!_8Nx6DAuor?j*{l;t45K>0z>i>_XO;)5~- zA0I5VzjwF#&R*u0s+pN#?lKojZu_VUCz)+mYKs#*r0`4NNd1g6I>}*^fGu16oGpD#Mi zbiQZC%r7#9EfG4~HeNcmCMD}g@R7jK%bM{gs@4?Ud$eZi>NS=A{|*(z#m7CeI-97n zvBA|tVBvx;-YJR7Zma#e>RV0Ts@ME+UKg)4-Dw@KLD8ATOuU<3v;S|te>bZ2B&WXS z90sd+ndiwY9B-L=XFaZwxAuF?!ePf8UUfQtCA0DTCD)^(zHq#_%ci$3de$cPn0E}! z{%tv@)`=|96yZAXTe3Eo@5O%BUEzE0&H8Oo%V2aR^c91$Gt)GBC*Ye%|t_AimOMuLDDakX~l2tO5h^;K5|x<&#*r%a`n13)1B2 L>gTe~DWM4f|E}E0 diff --git a/src/platform/texture.cpp b/src/platform/texture.cpp index 0dd91d8..5304efb 100644 --- a/src/platform/texture.cpp +++ b/src/platform/texture.cpp @@ -18,6 +18,13 @@ #include "texture/walking/frame0004_128.data.h" #include "texture/walking/frame0005_128.data.h" #include "texture/walking/frame0006_128.data.h" +#include "texture/turning/frame0000_128.data.h" +#include "texture/turning/frame0001_128.data.h" +#include "texture/turning/frame0002_128.data.h" +#include "texture/turning/frame0003_128.data.h" +#include "texture/turning/frame0004_128.data.h" +#include "texture/turning/frame0005_128.data.h" +#include "texture/turning/frame0006_128.data.h" namespace texture { struct entry { @@ -82,6 +89,41 @@ namespace texture { .size = reinterpret_cast(&_binary_texture_walking_frame0006_128_data_size), .offset = offset::walking_frame0006, }, + { + .start = reinterpret_cast(&_binary_texture_turning_frame0000_128_data_start), + .size = reinterpret_cast(&_binary_texture_turning_frame0000_128_data_size), + .offset = offset::turning_frame0000, + }, + { + .start = reinterpret_cast(&_binary_texture_turning_frame0001_128_data_start), + .size = reinterpret_cast(&_binary_texture_turning_frame0001_128_data_size), + .offset = offset::turning_frame0001, + }, + { + .start = reinterpret_cast(&_binary_texture_turning_frame0002_128_data_start), + .size = reinterpret_cast(&_binary_texture_turning_frame0002_128_data_size), + .offset = offset::turning_frame0002, + }, + { + .start = reinterpret_cast(&_binary_texture_turning_frame0003_128_data_start), + .size = reinterpret_cast(&_binary_texture_turning_frame0003_128_data_size), + .offset = offset::turning_frame0003, + }, + { + .start = reinterpret_cast(&_binary_texture_turning_frame0004_128_data_start), + .size = reinterpret_cast(&_binary_texture_turning_frame0004_128_data_size), + .offset = offset::turning_frame0004, + }, + { + .start = reinterpret_cast(&_binary_texture_turning_frame0005_128_data_start), + .size = reinterpret_cast(&_binary_texture_turning_frame0005_128_data_size), + .offset = offset::turning_frame0005, + }, + { + .start = reinterpret_cast(&_binary_texture_turning_frame0006_128_data_start), + .size = reinterpret_cast(&_binary_texture_turning_frame0006_128_data_size), + .offset = offset::turning_frame0006, + }, }; const int textures_length = (sizeof (textures)) / (sizeof (textures[0])); diff --git a/src/platform/texture.hpp b/src/platform/texture.hpp index c6576c5..9701941 100644 --- a/src/platform/texture.hpp +++ b/src/platform/texture.hpp @@ -6,6 +6,7 @@ namespace texture { constexpr int igh25_box_top_32 = ter_u12n + 4096; constexpr int igh25_box_bottom_32 = igh25_box_top_32 + 2048; constexpr int igh25_box_side_32 = igh25_box_bottom_32 + 2048; + constexpr int walking_frame0000 = igh25_box_side_32 + 2048; constexpr int walking_frame0001 = walking_frame0000 + 8192; constexpr int walking_frame0002 = walking_frame0001 + 8192; @@ -13,6 +14,14 @@ namespace texture { constexpr int walking_frame0004 = walking_frame0003 + 8192; constexpr int walking_frame0005 = walking_frame0004 + 8192; constexpr int walking_frame0006 = walking_frame0005 + 8192; + + constexpr int turning_frame0000 = walking_frame0006 + 8192; + constexpr int turning_frame0001 = turning_frame0000 + 8192; + constexpr int turning_frame0002 = turning_frame0001 + 8192; + constexpr int turning_frame0003 = turning_frame0002 + 8192; + constexpr int turning_frame0004 = turning_frame0003 + 8192; + constexpr int turning_frame0005 = turning_frame0004 + 8192; + constexpr int turning_frame0006 = turning_frame0005 + 8192; } struct cube_texture_offsets { diff --git a/texture/turning/frame0000.png b/texture/turning/frame0000.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f31376aabb520d9604ae62a491bdcb8f21ca8d GIT binary patch literal 2536 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 + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_texture_turning_frame0000_128_data_start __asm("_binary_texture_turning_frame0000_128_data_start"); +extern uint32_t _binary_texture_turning_frame0000_128_data_end __asm("_binary_texture_turning_frame0000_128_data_end"); +extern uint32_t _binary_texture_turning_frame0000_128_data_size __asm("_binary_texture_turning_frame0000_128_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/texture/turning/frame0001.png b/texture/turning/frame0001.png new file mode 100644 index 0000000000000000000000000000000000000000..ce90571aa089e17d2be292ce6603334f5130f14b GIT binary patch literal 2484 zcmV;l2}|~gP)iCH>eWZEYj84GNlPJ5Z!zg@V$jp_w3`o z`<;8=CofSC9NxY6?6c24Ywf+yC#hEcW99K@A6N;K`e@cm``-S&RrAnqy_IdJZ>wW0 zgk04tJ@oF=5AD78;2R4uSeecMJVpA3)~&9bIC+ZC(*W{x3;l#JSDN-+>^Y{!tJ#kL ze;42JoAaiHHdMVHzMNSrAtQWknDZR^hwpuK+_|GC1+`LJ$VJ32Je zV^faT9{^2~;B8azEeY+~->!Toc=$fO`r+dbU*7fQ)WmYW>m))N=y)7EA$_*F*|t0H z^<&bTV=D6f%Iu_U*?RDAfNm$3i-66m2J08j{weL6gF8iEQwM=<$178wOdAv^{cS>6 z&g>M(J~CC`ViO_}z}!#o2LTGaOrY5U*o2&h9IT70^-8ngCe_(!eBt%c^(k-nWY|7_ z%rbzBY(XEp8=Hfn6R7mm8DO-%2nY200By6Vbad8JkiXB$%PuG^zDz%LWfdkwV_(AuI0BZ%Z@+s+=G8Ww`_J;gn*F$Z^Yv`QxFu7b-IuCi>e3M5`i`ad$1Yk zY+v5bIaMl}CY$sTAhamB1*uC2v$mz?kGXw>{`6!Lz?#twcpG$Z5nB|u7H#~K++uQ3@iFvM4f?c0=y|b1;#Z*jI063|01shm<4HNr|W=8 z6YAvzI~Ft9E&N#K-CKvQmwsv|Wm}8_>8JghjB^z2B!bQ}0SA=6iFDkHc7o5s3_`H^ z9>GN#>Orc>5CtdkU82Ag_Q{a;4{X(1tOUxxZCD%X%pNIz!@ zz6wF#;T!>IpqGy8BGuwL5O+Ifi)ew*0q)sg)Tw8qO}rxo8f2u+_NUyj6F+#B@=juH zN)5W%)Q?Jl&KE?|cIbT%?Ys>T0(2JyTy#fs$wat%KC#qPG>a&>2*CM12XE(kq1QgS zId}rZcq(rZ{M_VW;2yW*CJ*Fw5>dqhoB@1x)rC3*{3Hb^=MQ3WqUPYk+e!O9 z_s)i3pm@F6;%y-~s0>d6zzMHn#W(pSD52UR2oz;mwLK*l$qC~K8LaC0j2cuf?m_?o zPy8xC%OK0KsaJF#`TWyo_!|~pF1~tBsu@z2P$$w5(@hUSig@8go8?*0e(pCMXSCG6h5#;snfdv@0Q}Vi7PS zBllPexYO6ltL|t>*eo!)9rYxh2_Dx2A%O=h%>A!`9p`r@q$E0#t_PDL4e7XR^nqS) zjfuI}gspAo7BY9LwEKHLGw%oQ9)|4YlM>QP07kuu#?k9G*87-wV)@QIH~ej)1U1UG zBOjxnM5pF#714Ew?-~KJO+_Ku8Gz@!*iW1c;KpkPZZlPp2i@8b2`~%PL8xLsrO;MmBr>t$^M@fH69khG^_DTup>4gD;dAeBT+A43h-( z-(ZxgSNPqGf-EEiVm6`Qw+?)&q7EU!suD zf2>9EM{Iu65LV+Yc>MN=_6y!9yO~f3h;9{aj*rn`m6bdvcU3wD#y#(LR|H>+%xy_6 zZjvUg?B0C`yZ)!zNC2Ziucgg`%p9ouN!?3xTdAobceKW53;eV(UQf#;$mUr_4~t#! zJhoi5{WjIgcoNHW#eQKeu;42eGdB##rX}vz`LgZq#|pDVi;j^L%SC_zY#g4VmuE@> zFP3tD^~SqK!}~$I0?nMskQKvu-Hk^QX!q(I`YVcIq1QTb4 zPVis~WErehszUZc0q%{<5#Ye$SwIV)bGMmc;#P*T5qP_0}^{j0CjZ!3CwNyMAsT_Z>VDxDW>j6_+&jNPfV$m+~) zTDi9J)zrjNz^#X<6}N4FwD4bAlo(z&TSd5f7G~NdsE|(kUlJ)4tY>1vl5XhrYTzeF zUwIPW<9&n$NS_gL5A!*sDBWi2iMB80{R(a?k&!qPNM1L658-tMzj;|Wl91qmR@?1K zSMPpELe~i3K>Ckbo&Y;}pDRfK!8enNBxpZ)m;j$DIsqlc%XCUW*;X54O?v_Wsu1I@ z6pGB23%ITmP&isigA$PNsOLKg(N1h=w+{($Q6S)_io5B|i7W~MMT-+HQO~!NK`0CG zTG|cKcEOyFJR+V%G=OhG_Yq;!PbUu6_L5#ifJ-}t-lG!;A)6zolL^cR@Kj&U4;zQF yb4NorO+TI3zvu+eNPAz7u>IdeNVmzRzP|xLXFFEd#3#%E0000 + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_texture_turning_frame0001_128_data_start __asm("_binary_texture_turning_frame0001_128_data_start"); +extern uint32_t _binary_texture_turning_frame0001_128_data_end __asm("_binary_texture_turning_frame0001_128_data_end"); +extern uint32_t _binary_texture_turning_frame0001_128_data_size __asm("_binary_texture_turning_frame0001_128_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/texture/turning/frame0002.png b/texture/turning/frame0002.png new file mode 100644 index 0000000000000000000000000000000000000000..abe42d0e8c27c8cdf0a4cbd59bb2c87a286f78e9 GIT binary patch literal 2575 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 literal 0 HcmV?d00001 diff --git a/texture/turning/frame0002_128.data.h b/texture/turning/frame0002_128.data.h new file mode 100644 index 0000000..8533ee2 --- /dev/null +++ b/texture/turning/frame0002_128.data.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_texture_turning_frame0002_128_data_start __asm("_binary_texture_turning_frame0002_128_data_start"); +extern uint32_t _binary_texture_turning_frame0002_128_data_end __asm("_binary_texture_turning_frame0002_128_data_end"); +extern uint32_t _binary_texture_turning_frame0002_128_data_size __asm("_binary_texture_turning_frame0002_128_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/texture/turning/frame0003.png b/texture/turning/frame0003.png new file mode 100644 index 0000000000000000000000000000000000000000..cd7a08d7de2a906f24513805590e32b2cc32d2c0 GIT binary patch literal 2532 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 + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_texture_turning_frame0003_128_data_start __asm("_binary_texture_turning_frame0003_128_data_start"); +extern uint32_t _binary_texture_turning_frame0003_128_data_end __asm("_binary_texture_turning_frame0003_128_data_end"); +extern uint32_t _binary_texture_turning_frame0003_128_data_size __asm("_binary_texture_turning_frame0003_128_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/texture/turning/frame0004.png b/texture/turning/frame0004.png new file mode 100644 index 0000000000000000000000000000000000000000..3debcb2384a14ea1916fa8b1818ba9f6d94af8ff GIT binary patch literal 2497 zcmV;y2|o6TP)_!BguVWBPz5H_w5 zA!_2v4X{uX0}EM6j3!1jk&O$Zi7rfJ#X>Etj3z`eO29;8jSGX4*eZoqTHE)Y-*-4? zJa^vQ`|d3*;w001-<>lvXTI;8Gw052y>^|I=U#d8MyS+BwGJQn;J32sq2GEhTcvN= zITk~%9uNA~M=w6T@3BMgEyiR;V=C|z=^I?Px_0jT1>R2q$crWV31Ly`+V@(oF*RSq zKLq%@_#4-ZH7&NHX7vC*2C~l))1ii1edt5tTuG6#*h{HAeue<+{nO~rH7+i8>&l~} zL$`5!$ce{SK$9fIx*7PMgsS>im7fnDai1mj;Pc~e?D}?Mte3xS5gG>OJ&#|I-TT<= z+av3Z=cF}ujt7xe?zMljimC^Lx1{R2l(I$P;{$Faddjn<+!Xx3awk z9B;y<{`&s+H`MF(wS3lYx6eNR>QjGUY)N)lgaD2Icj0!FAqWGH%r}pYH`N$mPXyWw z?165ev%PmE*Ho)nnC#L=fUsiV=7cUG%jdO~2{?1)=s|i;8>#+owuL=_;fK}ARm4IGJ$V~BoYurL>a?xfz5-Gn21zZ{Iac(UL7jtc0=z3dIm&f-jO+o3{~~V$xDDyX z`R)TQOqi7u>`>fdH}PSSb#ETLP5POhlr8B6($D&Lndb!BNd%2&3)8(wf8&&3N|VV^d_{t~9$XJz+^-A?75dv|N+Jf-Kr&$rYyDOC0IKpAszeazQO7zMj;xRnwl72d1(kcq zEW*zu!8aj{cO*jq8fc}Xwn>%T2ST>vQbZ4Y2Jn~-dYxG|+Qd3ipg~63e1FQFJojTf zr2HnaKBVf{Y+8v*fG+2F(iV(+4DCD(5CSX<0xp)(%sLM@%O{o=ikk3(834}TEm%AE z3p@77tRW^ql;_|j!Otun3hs$Aj$H5+^!=EIxKK?{9H=kqUOy8*CeIqb(UQwKSXq2Vjulpvua zP9nk_q^!8U#^JNL<-36F1E@^PM)J;C2)KJQ4KW`;TiBrm6BM74-O2ebH|J{0dt~bG zbb&E3Av;Tuz%BtW0~gQa9LoT=`wCafXh>KS^FD-n9`^)~`+<b*`O_Byxq?MxvvZQCyeKecO;j#e-4Bx& zgn-*ut|lP_j`6nR+e86)l&vBkyr5uAi`gb(`w)Md2S}Q#I=2Bl*TsHfWB@lDGce7} z1KsQ3--P*`9>78mkYaDf_8WlTtoJ)@0|WsEKCRv?UX)YsBKUXviF-l7Y^y0&d&jCZ zl&zn+I4&C>?@czxF#J%NY{zZ185#a47>jSQG{#HOyr(c;2tTm?{b-+3nHIu`;ngu$ z*$0^yF?7m=Au4-$ z#Q2v+f{WiiT`jx5j9kuGUeC?Zz)VM340Phv58wyqr9h&Sgax?Hhj|0qW(wf%Wrf^M zwK7`$8r)zI+o!p;Gh^*2Y4D&%smg0pbPxHh`<7GHT`az0VYjU$H4_E^LILjC;i&=($*fBI&%t0WM;p5bUe>m>A$G}gqj4|0@4%r2|5Te< zm>o+i_~!DKPZID9VUU}|f_w_;fuC~9_oZSp+DQiI+3EoX0SrUO^;v(HeL(gZ4{$fK zOn$o6-2DBeD<7ax%&^whm2c{S@(lkxxb@lGDA8@cqV^b2lN|*pc6i1#j3n@2Df89a zDgCi_v||azOuDQn&f{*}hBVR19#djS9LW$O)C;yM2@^#N$VpSHVq)MA0DLj1cC9@F z-BuKZ=c<#W(PBKGQy8?kGHBW?8{Mdw0B)(GO?)3xRtWBY75t)@dl& z8!aZJrUe>I7g>z8*}uPV9Lz()Y%W`@ywK=UeOL>*HQViF2S*0mjRZ}5O~uq+00000 LNkvXXu0mjf9S5u0 literal 0 HcmV?d00001 diff --git a/texture/turning/frame0004_128.data.h b/texture/turning/frame0004_128.data.h new file mode 100644 index 0000000..a2f4129 --- /dev/null +++ b/texture/turning/frame0004_128.data.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_texture_turning_frame0004_128_data_start __asm("_binary_texture_turning_frame0004_128_data_start"); +extern uint32_t _binary_texture_turning_frame0004_128_data_end __asm("_binary_texture_turning_frame0004_128_data_end"); +extern uint32_t _binary_texture_turning_frame0004_128_data_size __asm("_binary_texture_turning_frame0004_128_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/texture/turning/frame0005.png b/texture/turning/frame0005.png new file mode 100644 index 0000000000000000000000000000000000000000..2f6a9b89f88adc42dccb492697c9333b24afac33 GIT binary patch literal 2528 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 literal 0 HcmV?d00001 diff --git a/texture/turning/frame0005_128.data.h b/texture/turning/frame0005_128.data.h new file mode 100644 index 0000000..ea145ff --- /dev/null +++ b/texture/turning/frame0005_128.data.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_texture_turning_frame0005_128_data_start __asm("_binary_texture_turning_frame0005_128_data_start"); +extern uint32_t _binary_texture_turning_frame0005_128_data_end __asm("_binary_texture_turning_frame0005_128_data_end"); +extern uint32_t _binary_texture_turning_frame0005_128_data_size __asm("_binary_texture_turning_frame0005_128_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/texture/turning/frame0006.png b/texture/turning/frame0006.png new file mode 100644 index 0000000000000000000000000000000000000000..622c69d976ca0e6f33aba44124cb04a1d6369071 GIT binary patch literal 2541 zcmV{+P)h_BySz z?>;~Gdap?vHs{>4*Is+=Z~dNqZn<=ewY_gVy96TjQmn)KKmN0*c$l}!(zY_U=o;Oi zEBj2}`}DP)d!9P@VK)}b;^}}VN$=3grKR!nmv}!7ATJk~Ckpdg?%bQb$IyBe`w-x7 z=WkpS*3@l5)#?Gf4`i=VOp_SS>fRTcvLY4}Z=)eel)sceej9d7+2DbrUWOw7rhqklx$aY{xz8 z_1B~|$DzodmnA1@v+}`z0lM8>!UOIb7#x|Ix+vosgWE-4LkEFv#VSLVOc@j?z2+z^ zA$AC4-!qlp%~ptb0AoL`9|}<5WdnH$Fh@B}F<6tUwMvt4gY2v~zV*TGRUvElm0{=j zYi0qQCJW}+YODc4FQC&>Yrtqr8V;EE1;*;=G<5b$pnuxZOBLjjFT>9W;{Ok^>O`g z7+i#*Dnd;JFF23q;svI0PK2<31YWQ^E<^1GO)N~5e;y`iIK_6yO&_$S5rJ`3;2G9ah?W<0<;POE?Uvd8V^^?CzcwD>hOYV0Gz)Yuy*DPJ@!fL z!B>C?Pv!-|Pi!6n?(!;*RPY_hiyQ+hhk)ar>v#xcp$RF$^D1tf72Z6fXs*|fUIDEF zbImD?d>=5y0nEP1GUaCrCg#|3xg`sCn_>>7;$0 z_{{+)pjf>r@ir11bh;-2;D!g-@l37+#dW&`fg&xtj)&-C<+yc38SHBL^cr*~cToTV z4_p58cq7i96 zm~df8mtU?ow0bL39D9x1+HsbUiML8y-}9bv-&yxCXy@LP5MCTGYE2X_wz{9DE@_yc zLa2DQrf(A&;E}c!`q&FHcxud663s*WtsWp{DjJm?0eJ3<^TfyiZhXwZGE*7(pj#R2 zn=qf#1K8*R()7((e*^H_-2FC9fKY&fPpemp7vY?D5&U&_;U0Lvn!dU7`G~td6z9&;x-feRW3{wdZa<$22z#ZI;FEdiJwUvG-v)4%QpQ=ie(#fywP^k; zHlL{rtMC@EHSULa%S@wQs+P+NuvoiO0`DtOKneZ9(~}e5;CCzWK3G+`wQDe#t6pN? zV1$&t&9B7iYQoa)*?+L(pK9Zkj2Fmv0X9|uw039lOgt4iy#V9K({`3prWOH0EPrg8x{|#~TTrQ9U)#T|Yk>QLHMzEe z6{sc>rYBBVu}?H5sQVVX1rkU>uyCEZL`LRYD%2oE@2t9Sjt;NjCwsa7~V z-|Nc*9z3&YYKAV9iwLsR^LQVbsYlUV3~JQJRi-rXN!N7+=x*%4Bto0C0Aj8VR(Xum|XA)w(WVm+Zn%QJwUy{#r+`o91DdDdO{i)YN7CiS6cy$>*xt* zmKXeQJb>WP3vgLXPq5trXFWgxD(DFvjpeN<)6)I}kfUyCDmVD-00000NkvXXu0mjf DY#GL- literal 0 HcmV?d00001 diff --git a/texture/turning/frame0006_128.data.h b/texture/turning/frame0006_128.data.h new file mode 100644 index 0000000..66e0c08 --- /dev/null +++ b/texture/turning/frame0006_128.data.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern uint32_t _binary_texture_turning_frame0006_128_data_start __asm("_binary_texture_turning_frame0006_128_data_start"); +extern uint32_t _binary_texture_turning_frame0006_128_data_end __asm("_binary_texture_turning_frame0006_128_data_end"); +extern uint32_t _binary_texture_turning_frame0006_128_data_size __asm("_binary_texture_turning_frame0006_128_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/tools/parse_map.py b/tools/parse_map.py index 02d1f01..2408791 100644 --- a/tools/parse_map.py +++ b/tools/parse_map.py @@ -122,9 +122,9 @@ def generate_level(name, platforms): yield "};" def generate_file(name_platforms_list): - yield '#include "demo/platform/world.hpp"' + yield '#include "demo/lizard/world.hpp"' yield "" - yield f"namespace demo::map {{" + yield f"namespace demo {{" yield "" for name, platforms in name_platforms_list: yield from generate_level(name, platforms)