From e7cfa172914d06ae5ad3e818ba625ccf55be5143 Mon Sep 17 00:00:00 2001 From: "Lucas S. Vieira" Date: Sun, 18 Aug 2024 03:01:52 -0300 Subject: [PATCH] First attempt at creating a script for cooking assets --- assets/levels/.gitignore | 6 + assets/{pre => }/levels/R1/128.png | Bin assets/{pre => }/levels/R1/128x128.tsx | 0 assets/{pre => }/levels/R1/16x16.png | Bin assets/levels/R1/MAP128.MAP | Bin 4102 -> 0 bytes assets/levels/R1/MAP16.COL | Bin 19852 -> 0 bytes assets/levels/R1/MAP16.MAP | Bin 3334 -> 0 bytes assets/levels/R1/Z1.LVL | Bin 31626 -> 0 bytes assets/{pre => }/levels/R1/Z1.tmx | 0 assets/levels/R1/Z2.LVL | Bin 31626 -> 0 bytes assets/{pre => }/levels/R1/Z2.tmx | 0 assets/{pre => }/levels/R1/map16.json | 0 assets/{pre => }/levels/R1/tilemap128.tmx | 0 assets/levels/R1/tiles.png | Bin 26793 -> 16788 bytes assets/{pre => }/levels/R1/tiles16.tsx | 0 assets/pre/levels/R1/Z1.psxlvl | 1 - assets/pre/levels/R1/Z2.psxlvl | 1 - assets/pre/levels/R1/collision16.json | 15622 -------------------- assets/pre/levels/R1/map128.csv | 64 - assets/pre/levels/R1/tiles.png | Bin 16788 -> 0 bytes cook.sh | 34 + tools/chunkgen.py | 2 +- tools/cookcollision.py | 2 +- tools/cooklvl.py | 4 +- tools/framepacker.py | 1 - tools/guide.org | 10 +- 26 files changed, 49 insertions(+), 15698 deletions(-) create mode 100644 assets/levels/.gitignore rename assets/{pre => }/levels/R1/128.png (100%) rename assets/{pre => }/levels/R1/128x128.tsx (100%) rename assets/{pre => }/levels/R1/16x16.png (100%) delete mode 100644 assets/levels/R1/MAP128.MAP delete mode 100644 assets/levels/R1/MAP16.COL delete mode 100644 assets/levels/R1/MAP16.MAP delete mode 100644 assets/levels/R1/Z1.LVL rename assets/{pre => }/levels/R1/Z1.tmx (100%) delete mode 100644 assets/levels/R1/Z2.LVL rename assets/{pre => }/levels/R1/Z2.tmx (100%) rename assets/{pre => }/levels/R1/map16.json (100%) rename assets/{pre => }/levels/R1/tilemap128.tmx (100%) rename assets/{pre => }/levels/R1/tiles16.tsx (100%) delete mode 100644 assets/pre/levels/R1/Z1.psxlvl delete mode 100644 assets/pre/levels/R1/Z2.psxlvl delete mode 100644 assets/pre/levels/R1/collision16.json delete mode 100644 assets/pre/levels/R1/map128.csv delete mode 100644 assets/pre/levels/R1/tiles.png create mode 100755 cook.sh diff --git a/assets/levels/.gitignore b/assets/levels/.gitignore new file mode 100644 index 0000000..bd5a294 --- /dev/null +++ b/assets/levels/.gitignore @@ -0,0 +1,6 @@ +*.MAP +*.LVL +*.COL +*.psxlvl +**/collision16.json +**/tilemap128.csv diff --git a/assets/pre/levels/R1/128.png b/assets/levels/R1/128.png similarity index 100% rename from assets/pre/levels/R1/128.png rename to assets/levels/R1/128.png diff --git a/assets/pre/levels/R1/128x128.tsx b/assets/levels/R1/128x128.tsx similarity index 100% rename from assets/pre/levels/R1/128x128.tsx rename to assets/levels/R1/128x128.tsx diff --git a/assets/pre/levels/R1/16x16.png b/assets/levels/R1/16x16.png similarity index 100% rename from assets/pre/levels/R1/16x16.png rename to assets/levels/R1/16x16.png diff --git a/assets/levels/R1/MAP128.MAP b/assets/levels/R1/MAP128.MAP deleted file mode 100644 index 73866b2f4a35d567cbb69d4bf515617199fd3dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4102 zcmZQ*U{GM-U>In?!@z|Ec^T-=F03Cw5UVhCmkVF+aiL&`fa8PaI5B@_^#Jb{c!vz-fJ zGb1x23nMFx&&bILF$p3d1?6!uL^4D%L^H%t>~DzaNcKZ4BAGGUJabcEb%(gtH(FWe5c&6&XAg!I!|9_B6>4RaTarnUX(=EK|pqhaoV(dg=7d`Q2C l7siG5gJ{nmD0|@^g)&HWhX{ix7(%s^O%0U2WILF;8UY&*Ed&4n diff --git a/assets/levels/R1/MAP16.COL b/assets/levels/R1/MAP16.COL deleted file mode 100644 index 90bcc684328ae5c1a2d553749f6667226b2146aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19852 zcmZSVWng4rU|{$U1w^r#h*E`YDl^GCSV-2vO0o_%l6A0?tb>DO9h@ZV;38QEH_1A9 zNY=qivJO6yb?}p{Ly%-0LL}=DCRv9F$vQ+y)*(i+4snuoNH8$)eg6ON?VZ!RR?c8x z;1h)wD<4ozVtmEq)^!df#~{hTz<05|EH%X0NKpW)1FV{Xf$0*##U|{575L7aD2~8_!VBph!vm!+SBn#CI(!&7K4H5&Hz#t9M(J^z??lX7a{fDW7 z=>jPSVUP}xYA{;{WbXgBr&qS8IxE6-{Qv(S>@tuF5C-XBRCZ18Tz&REgB-{Z6>=%60CLH{Q*BNlogg;IE^zQLFunqbf%qW5!b3+9CFB_RK9{G3x)>{gG66Vl z!2SXG16BbrC^0bbIfKmke|s9(9xxkX2~5#{1_p+gGiR;d0}fARkbY3ifK-Cx|J~g) zyI0NZKyo429*{f;GpNAa3g#jE5EomOWF2ZG>rf|IhX%MY0ZUl6B~itV5S% z9eO0|&?i}k0m(WHN!DRRvJPXCb(oN>!<1wlW+dw{Cs~ID$vP}a)?r1m4r`Ki*pRHl zmSi1vBz3Yr>E)jhZ7m{_j z;?eOE)G&a$5K;5Fp@ai8M4^5{4mVMFee4eMIjo8Vvl$o|Kw$)`6Vd8jPz}n!;DPEY zv=D{YqDUd)iK+uhhJo>lkV#m@tUdQYA*~H>yLf?If)pRfszm?Y*)^jq#7F?eRBr|b z{_7y0{(JZC9cn0`*!PM9qzKe9@L^!!w|aZ`%<0{$R?bA|09X3300Fh(UNJCdo(E}S z@CE6Z(NSKO78>FL(*be?2!m9BFv#T~zS*4r{~7!k82A&Mjg=HZZ5OZ(i1DzN9!LYo z4nL3%1_tI#27d+yh6<3hppvpN0|Vd2Y2f++BoA);KpJzUD@6$2<}K@y>$&|NumMn`*jSsF|SEPzq`!N9=M1JV%&(vcb(;^J&<1Zp#iLL0{* zD^UCa7GUZ5&k)YQz`ssWP*4z@+!**oVdg{Q8SG(DsRY)+z`(%}!N9-(Zes}w3JQWs zvIeLW%!Lpxr0vVVz`)NC2?||fV`CQ=*U(U~DoDVB6{7hA6y^UJqCjyDitmn&nXt4A zk90I05En*+;(XPr-Fwd5y@$vjCzCPlfNE!m0ZBnQ;G9p89ZRx~IFfb5ldL0wWF3j1 zIRF3u|GRf@@51v3xMo3V=`+4!T@MKph9potgS(IIWvSp81WSNyMo#UZI0u!j|Nk>2 zgHoci5+qfDb-)uANEIkufN~nce25v0CJZT{IEV0rl)<`Tn!!C*hzvAUg0(ZGf_hb; z{wAmw3AW=uqP_$>5R@mtB?CB-{AWl5r9_hQc?JUm-{h4YWvL;?@SZTdjDna7@&~vl z%xID^`y4|i0|TQUgP^iWXj(-lxDMah<_z%)tXu&lH*hF`4PeM(U|=}9YR}nsAUA_T z8btqpyQ>}KXD}P=52TRJ#wmjmgGf4ZK>ql5_w+81Um#%xHW_3PYRMq%*0~2%3g&{! zD~PW_ia>4$(I5cWjUf+|2f;i+WfKMlez6pAOCBTw(hc%8hz-#V zavMWFD6CvU(<^4K+H)4-syFb^0=p0FbH-O-%RuY`kO>GGkSP!zPVqtp2L5)intyNa z;8exH@NyP-?BoA`h9XcL>{>YkJOBc5707CkUS#{g{s1R;hGKAfH8xUG1ec?HqR=D) zs^}1IXJA|mF@vRtp#+lJ1qGFqj6wBa47_*)r*@EgL2AKvKvH`tD7Ax!S2|`w>JNA$ z2g6k$?f)6dK=HBr%)R#@E~vc&qW}LpJp*Jim<{z7oL!Dn23NWQ)#XU(2iYY!*p(#P zQAM(jYLa!-kgTH?Ru+Lm55{I-VCV<6)F5>u$V@&_Sh{DZ1MxwsK^U&XQoFfg=$d9X?eT!w=sKmh}4-!Tdb3JQVL`~V9xFfg=2Lljgjf!drM zpvqbvkgKVy{6Fc*TyhZuxhD;Rp9 zp$pFIpi-NGfdS_BjWfzXE&V$^1JVTnTLw}EvKt&~|Nk>gg0wO~eF;!d@NI;s`ZEn=HiQilM~cnKp!x$M z^Y%1ORSXRCcb^5t-~ay%Q$Y3kic%*?!vdPBK{{da1ab_>L19+GLoyN!NLSwvY^BV<0}S6(@Idc5tNedfCiR9eU$0&o&qS%Fz}0|x)?!&7o0Lc zjsay$#JD)9E;_mz<|_t%NWS}bXBS8*#I0yy1?vy|f3p)(Rv=U{z5*vtaC|VlgvZ$| zh|j^*C@7!L2i3VIF3=KZ8@vMw)BK-dHcs17LIEkP=8&voE;MvO8o?OFA0QF4{h*p5 zAvM&+8C)~W1N(z1Vl7A|sC5SJ+|QhWC}Ys`{Cub#APwLw0%CwL$Rtn-fv_1E-a!Gw z0+0;Ia*#(sv=S76O#%r(F-Ru}Gb{uNfLI_*6nha-sz43^83~Hb#bDdPJ^<-O3U^Sx z0}JtkVwM5wSS5xfV1K~$Ga&g8npZ%^f;2*v{AXASwgbWiNgz@K$PSO$;MO51wZFZ4 z=gjFe zH3`e)5SM^$WME*-0hz#Pk`At8%0itXb<}FGs~A)=KpjL-N(8ke`jFyj z4a~i;X+e-05C)qBwhf%mkCvC0gSvBP7}kPiK*oT>gb_5?&8TGJnhvhd(MoM_Sg(UB z1{n)V4amO5UaqW1(}5J{DD@Sh?Xv;q4@g!6)e~UrKrN0v3=E9QVHLCXGBEI!@0w8# zo~2~i2(62ROu{NxgGz1C^d%%1!DS-Y+YrA(f`MTZsQ!RP6ey;!x7(2O$7WEQ6XK5l z|M2+<+{FZi=N8b6B50s77+ixuT>=UX@Bqu7Y?76eh?aip<7c7a^-cX75I`gK$dR zgQf%7Rmi##xpptfalQ|fE_b%4LJ}Xe90cbaaGXQ>*w7lBQQ0-Df?+>2&cUvMmjjiKAW$zH)P#YSM3dod zu%pmcF$1HrYbB_jC<_5Eo`AJ1A>jit37owcj)BGiz|{&k^+Cq>LF00$u0`_saZo6N zeEJ{Mw?IyDsO+Pwc0`+OI{-EWWpG{2{0c z*^a9u+i{I#9oI?Laf4(XH}UA0zxxa%#ez~RBy?`CWVnT@0~Aw`s0Ov?KqDXN6`ixd zY2p7LNW|WT@L)GF1dW$4Ffa-V3V}vg`9yz#R|7FHFx-LWXRyIAHUonyXf&!F zK0yagJs{UGFfgEvEr9I+XB|)(GqVFUH|heP1q3$??tyedd<9M=FK6wA@IW~Y#QJyV zG-}OvA590?bs&|XTBf{W)*jFh2B?GriJe~Ap2qM1>T{4rP%#VcDT1_t!U`-XWCH59 ze=dde=NT9t!hOpRauv9p2pXFJ&1_l0i!QLw!M@&Et- ze^0M$M;!@$jH&~vLs?8i@=H3{O%0!SE7fCj;2G{Mh~R z45R|&ZV(2gjNQ=T0Z{D&68ryqC1?}`6ntPV!*i&sKmi5PjF5qpQQ*27ly+Bwrh!vK zT^L?KT?MJJ7#LoJnsk_z=Ze-WHQJGm_NXFR4_0=$Nk?kAkPUf@VA5d`Jh=O!Dju3R~bk;z^(!t2C8FRTp)9444)u2GBCMygY4k90+$9M zh|&P;2xL1x!&BV9+bcl+1sjSP|A<+xFCZQ8JPgjAFjK*<0!IYMRUp$qO)7@3C_D!A zJb|VgR2F;#UqR$RBVU8E}+Q$S(X1D#Jnk`2QBqNE!npPv;tF===fs12W}>C!Qgt1e06W z|NjhsQF0{6=ddUMsY2vn#GDtXXNpMsSaT{UwxRJ4TKfSiu#dviCCHBdu<-+M0s(sw znp(j&g11c|QW+$y{^OfVWdv&h8-$r&k@5<{K1PyvS}=lkT0myHiJTc_1nsmqnwDPC z0b0fa$-)0`w?T(05v~P=71-nd89_TOD$bm}3vT#9b%4f)z)ezQ9T4^Z|1+|I=AA$? z|K8p`gU|u#@_@ua7!A^Xn=+G&C4-!t%wf!zK7-yNJi zeMWAOtDvgz_3mGSR&IgRf$D6&jWegiayo`fK#D+PK%hAtCeZS8M$k?Ra9zm21ZuJH zTZO_}EZ}qu@dYHTAX%3Yw9^7^Biw~=ahF$&{GdDtw)#Kbc>{RpFoIU|Uu+8jFPMe( zOhK6rQtyITkX&#S#AFaM31t+7xRIp`)T0EsYWMC{t3WjZJjFo00&&Ox|BT>yInYeu zDew#%ddh&P1C@fHxx!VuckgBt2H62iWw2BUS}Fy%13Eeh(fj{DqX?+}fbjm}t8w5t zf>9J?2Q2M_dSPeo!e_>zJ0fnOII*1Tq1ntd$+71qJq!I^|!ZX%@=6k@oZuf5Rk_1Lch#er+pxT)M98-)! z#;zb$Xe%zjF~cYYQ40wzP-_Wk6c}q>VU$MGf#fO%tfNtkpuHJLtIa@ehlB&D?gE*{ zz-W>IN&e7iZ2b;C#17{R+a zz##>3G^qap_q`-P@HNL~Ru0i@+WBfi}n6-X)nGg$fmzbhEg zc5{GS1(5@d2Zg0~%tTJdJIfdt7}cO|gm?>7>w}yLYI!jrr%Jwyu=P)j>L3LWQ^9E$ zIbC68GlEwdlB5IQZjSl8q03=lea`>?ceXL2?dAaa9O4*I85J6q2A(K|`W3vQkP&S+ z2UrII0@hS8Rfe1*LXy3k1XgVNkBk zmvK4nR8`!7HB_7#M^> zW0~Md6p$WJ-43Q17#PuZbAaZ|Rl>XWf>+&72F)O*g*Zdw1LWHe427_A|8fE9u4K#ha9yWop1AS(X}`q=rF?vq!p5zL7M+Fg7#)0My(n6vBnxm6Il8G z|Nj}CK(jKikOPMTSPG;D;dW%dGCG6DsUZr$Z8%771__{~V{q9CN)(Ksy%}&GC=`&> zD;C}SjIN;B9#~j|U4$bJYL6jR7<$IfPS2bD6QcH-MJsAUGKNsKvR zo%_KCGkSnp5G!YPw3nx)LRON)OH^b#z@Y%%)xhWp%EKX`rFBNIwRIrVAsB2ZB(Fef zaE7S=j9%c-C1FK8qc>>09b_W0vjB`fpj4&=ng%d|_O_RT^g}SFtN#CI^aZusLPOKi z%R4$jEhJIIjs^^$gL4bGwK9MAZpgA?(7ZF)+}|@&LAHR|V4ov&GlKSJ;K~zN#Tn7| zM*w4pIs+Ffax|QW;1Q1E|~u)s`R*sC2%L zoQ^?8fFu~v_hum1`jf#vM+*hU5U{I2QXm7+OE?C|jtu0q#~2EA6*#Oh+X=AUCWsJW z1dUoFwU7}qP?H!KAT@P6EVVL*!(|x2ISRZg1m3d1l42Mm!2W>x0jeA7LU>4nW(43n zJ{TjRsz7>Rp$l7Ei7}f6Dk&JFKz6`aU4rU6XgWeN2^1CJ@&=S67^C5>V$l8(2L9_H zQILfolR#!d*bo=k1C|7df-u|;NGmfCmWLQ);W7+SSlT;aL%;;c6cA>N z1KaWcKe$B)k^+f>Fw`Uv6XcKiuw2I&50wFzETFOry@dqx3s@_tY)?RLXQJAH9RCdP ze98#go6!zybAVh3GZShz*brEG11{T>kaChA|VFhsK@{*=+>Mn|v{lpgNh% z2-?ko*p1pUU@Szn z0~}0XEx5!Pi*U(+@(pB-F4#WUEcqWs@bWycq2Q7YWwprsRjVMI%s_b)tmbDj10!fR z2YOh6B|&ix?Lk6oZAf{;SPItQRqu>EVaBM=x zDgVC%jrAk)4I|oa4ulM9h#lb0*1MBBy5QXX&1Dh`nHiv~l0t!L;B^ji^=1PNU zVFqai83vGkSukIeL7G91ftNuZtX~1DUy(tHfsH{K>vt0#K6ap%#Z@s&&H4nrqjUYrZZ$PWHMwiWP^3(Fyw;iJO)07e1-ys zLWUxSVg?3=5{6O+28J?*a)t_qN(L5&Du!x?8irbiItB)YdWHtDo<@cyFx|}1!oa}L z%FxEp&d|Zo$ez6vluxTIl(j+BR3-tBQIE`C%IF5t#lXPm&gjAD$>_zv!syND!|2QC z$H2ho&%nSK0QOfP$UacMWej2rW?*0pVPIekWej5sXN+LrWsGECV~k>8V2lP~#ux@Z z##oSg#yAEx#(2gA1_m%rWZ+{=VqjrRW=vsBWlUpWU`%IVV9a35WME*-Vqjp*X3SyC zWz1vXWz1(3U@TxPWME({Vqjn_W-MVWWh`SXXRKhXWUOLfV60|fV60)RW#D71gM>E& z8)H3V17jm2I5#jhGqy0cGPZ%-3wB34I6ONT7#KSlyBNC}dl(oPd%^zdV_;$QVDJO^ zo52|pP7J(^{b2PIAo`*9Oa!}Y5@P`aFC!=)IWbOQU|^ieu#2&VaT+*|rZdi9oXI!~ zZ0>AuIm^c&%{Yf~F5^7L`HTw~7lM2PR=J2_KjUJ?C6IEBaVg_61~$g!47(T@7*{Z^ zWME*}&$xpuuBSG^ezf%%6a{sX)B2qP<)W?($Zz{_}y@i^lN#*>Vv z7*8`WFrI;?TQ){e-eh1r$9SHBf$;+4MFu{`ON^Hpcp0xSUS+(-cpc;d5N5mqCT}wE zG2UXl&A`iehw(1sJ;wVWQ4nT)045(Y@G(AOe9ZWS@hRgo1_s9Gj4v1%7+*5*GQMJ9 zV|>l{hJk?*oO>DHF)%Q`XZ*mx$M_KxpP+h!@e@dn@iW+@_Y4e-Ul`mO_!z%3urPjO zU|{^t_=ACg@h9Ui#@~#882>V`G5!Oq{0|~Qn2CXjk%@_knSq6gg^87cjR~ALnZP+4 zEYHEj$;8FP&A`IM!^F$L#>B_O&%nSWz$6Hk6@rC3lQ07VlL(V2lNggYlLV6_0}GQB zES#C7LE#Ki&%nSW!?>GCmPw9Do=Jg85hTu}#H0+SRTwuisWPd7)G?`pNXFfa#Y`GZ znoL??^R$_CK=w0kWME*@Wvl?HU|?X`jjbx30#jdMKMJ)#W2M(#W9L9#e-BaFfb)BB{C&3B}3^HrUa%` zrZlE>rVOS`rYr^qrfjAhkV>XpraUm6$CMAI3z!PQbP-cA0|QeDQz=s-QyEh^*qjQu zd6i66Ow~*^3=B-QAk`qu1gb$9nCh7t7#Nru!Rnisl9`&BT9{fH7?|3a+8G#_I+!|{ zx|q5d7?^sPdKnm)`k49|7?>t7O=MtTn#44jX$n&U(^Rm#r!g=vO=p_Hz`!(=)Qxek(rj-l~Oskky zgH^3zS_`JvF|7yF>zOuy>5WXA7#Nr~Gi_no%CwDXJJSxPWTu@^`x2OTG3{pB!vwEu znf8J8>}N`3I>2<0=@8RlrXvgtOh=iHF)%P4XF9>az;qI<;uHe|(`lwN3=B-*9L{u( zfr05fh|P2XEPtMXf$1XCB?bnj%V7Q$1_q|9OxG9~n65M3U|?Xn$#je9Hq#xZyG%(; z_rNOPd7bG2(?h05Oplq8nVv8`WqQW+98}IQyGY2y#GZzCNGdD92GcPkAGe5Hcvmmn&voHe#vj{Udl`@MlgX?8x31&$K z24*Q{X=WK_S!Ou~US@e_1!hHNC1z!26=qdtHD+~Y4Q5SdEoNV(2*S^dq%%%(s%x28y%ofa+%vQ|S%r?xn%y!K7%nrZp`k?9?YK1Ud-OiKFq$%e$4*N0nCBSLCnDn49p?Sp$rVnVa(yo5zLXyQOwcI tG0d^dam?||3CxL%D$GeBQ$UzG8BC@yr!q=2r!l89XE0|nXMx1%i2*@C*Y^Mb diff --git a/assets/levels/R1/Z1.LVL b/assets/levels/R1/Z1.LVL deleted file mode 100644 index fdf80a8c6f7195c671a715d8fac7155505444dfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31626 zcmZQ#_%F{O%`gfeAs_>xMie<3`>^O9jeS^1j6`~5#y&R#2(mM9FmNz%GO#mnGO#kR zjlk$1iLsA8n)ydy3K)%js7`PZ17s8DQxG zBnGJ~K=lRt5U(#rV;>absFi3a8U|;7ay0hQlNH7!B$d z(qe3AH0G%iJ#;XH+9_Z(=IIb=RJDRyDPT0_sTwVGG>p;|FdFl8j4Ya1MS2Q=^yfGk zxEWw86KLYFQA6nz0bB7k7!85Z5Eu=C z(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R z7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7 pfzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Exn^002#m466VD diff --git a/assets/pre/levels/R1/Z1.tmx b/assets/levels/R1/Z1.tmx similarity index 100% rename from assets/pre/levels/R1/Z1.tmx rename to assets/levels/R1/Z1.tmx diff --git a/assets/levels/R1/Z2.LVL b/assets/levels/R1/Z2.LVL deleted file mode 100644 index 1acac9a1a847904c3b2477099f9f0136a6881d90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31626 zcmZQ#_%F{O%|HwQsS;w~U|=IgF_C5xWz?u5nuY)7f^ z#2C04n82k1AA>LhKLbCwbdVX1eNYe$2`tSZ!63mP#vsWc$sh)W3=E)LEP~{I4h9Ye zaRwO%Q3fffC^tB^K`{=&Obp@-4B*mXH1?rEGz2JV1}1R)gVKOF11Od`7&sZY8Mwje z0hA^r!90jpKzs(UdVVm;z#s{cfR^{5x?wc-;XyJi7>o?E;JB7R%KMP=K^&Y$Ky^I> zgY0PD9~QBV?g>T)P#%ZGF(}qSB>*P_KU^88_6L<65)5+S6hK^C0uZd=HiY diff --git a/assets/pre/levels/R1/Z2.tmx b/assets/levels/R1/Z2.tmx similarity index 100% rename from assets/pre/levels/R1/Z2.tmx rename to assets/levels/R1/Z2.tmx diff --git a/assets/pre/levels/R1/map16.json b/assets/levels/R1/map16.json similarity index 100% rename from assets/pre/levels/R1/map16.json rename to assets/levels/R1/map16.json diff --git a/assets/pre/levels/R1/tilemap128.tmx b/assets/levels/R1/tilemap128.tmx similarity index 100% rename from assets/pre/levels/R1/tilemap128.tmx rename to assets/levels/R1/tilemap128.tmx diff --git a/assets/levels/R1/tiles.png b/assets/levels/R1/tiles.png index 0e6699d27a055c843ebd58ddc034b9d8606a0fec..e0182c8ca19313e87edb5132540763d91e323d40 100644 GIT binary patch literal 16788 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 literal 26793 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 diff --git a/cook.sh b/cook.sh new file mode 100755 index 0000000..1a35f13 --- /dev/null +++ b/cook.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# TODO: Install Tiled exporter as well + +echo "Cooking 16x16 mappings..." +for f in assets/levels/**/map16.json; do + echo "Generating 16x16 mappings for ${f}..." + ./tools/framepacker.py --tilemap "${f}" "`dirname ${f}`/MAP16.MAP" +done + +echo "Cooking 16x16 collision..." +for f in assets/levels/**/tiles16.tsx; do + echo "Generating collision for ${f}..." + tiled --export-tileset "${f}" "`dirname ${f}`/collision16.json" + ./tools/cookcollision.py "`dirname ${f}`/collision16.json" "`dirname ${f}`/MAP16.COL" + rm "`dirname ${f}`/collision16.json" +done + +echo "Cooking 128x128 mappings..." +for f in assets/levels/**/tilemap128.tmx; do + echo "Generating 128x128 mappings for ${f}..." + tiled --export-map "${f}" "${f%%.tmx}.csv" + tmxrasterizer "${f}" "`dirname ${f}`/128.png" + ./tools/chunkgen.py "${f%%.tmx}.csv" "`dirname ${f}`/MAP128.MAP" + rm "${f%%.tmx}.csv" +done + +echo "Cooking level maps..." +for f in assets/levels/**/Z*.tmx; do + echo "Generating PSX LVL for ${f}..." + tiled --export-map "${f}" "${f%%.tmx}.psxlvl" + ./tools/cooklvl.py "${f%%.tmx}.psxlvl" "${f%%.tmx}.LVL" + rm "${f%%.tmx}.psxlvl" +done diff --git a/tools/chunkgen.py b/tools/chunkgen.py index c20f420..9c0dcbe 100755 --- a/tools/chunkgen.py +++ b/tools/chunkgen.py @@ -69,7 +69,7 @@ def export_binary(f, df): for cx in range(0, grid[0]): chunk = get_chunk(df, cx, cy) chunk_id = (cy * grid[0]) + cx - print(f"Exporting tile {chunk_id}...") + # print(f"Exporting tile {chunk_id}...") # Loop for each piece within chunk for py in range(0, 8): for px in range(0, 8): diff --git a/tools/cookcollision.py b/tools/cookcollision.py index 0e72691..af5f51a 100755 --- a/tools/cookcollision.py +++ b/tools/cookcollision.py @@ -206,7 +206,7 @@ def parse_json(j): "points": points, } ) - print(f"Number of collidable tiles: {len(res)}") + # print(f"Number of collidable tiles: {len(res)}") return res diff --git a/tools/cooklvl.py b/tools/cooklvl.py index 3b45c96..5aa6726 100755 --- a/tools/cooklvl.py +++ b/tools/cooklvl.py @@ -56,8 +56,8 @@ def main(): f.write(c_ubyte(j.get("_unused"))) layer_data = j.get("layer_data") for layer in layer_data: - print(layer.get("width")) - print(layer.get("height")) + # print(layer.get("width")) + # print(layer.get("height")) f.write(c_ubyte(layer.get("width"))) f.write(c_ubyte(layer.get("height"))) for tile in layer.get("tiles"): diff --git a/tools/framepacker.py b/tools/framepacker.py index 9d052d3..96a82e2 100755 --- a/tools/framepacker.py +++ b/tools/framepacker.py @@ -14,7 +14,6 @@ # texture with 4bpp. import json import sys -from pprint import pp as pprint from ctypes import c_ushort, c_ubyte # Set endianness of some types to big endian diff --git a/tools/guide.org b/tools/guide.org index ac9581b..dc5244d 100644 --- a/tools/guide.org +++ b/tools/guide.org @@ -76,9 +76,9 @@ Extra files such as 'tiles16.tsx' will also be generated. * Generating 128x128 tiles and mappings The following steps will allow you to generate a 'MAP128.MAP' file from a -'map128.tmx'. -This 'map128.tmx' tile is supposed to be a map comprised of 16x16 tiles, created -from the same '16x16.png' file we addressed earlier. +'tilemap128.tmx'. +This 'tilemap128.tmx' tile is supposed to be a map comprised of 16x16 tiles, +created from the same '16x16.png' file we addressed earlier. Each 128x128 tile is supposed to be equivalent to every eight rows and columns on the .tmx map. @@ -86,8 +86,8 @@ Please make sure that the first tile is COMPLETELY BLANK and mind the tile sequence (tiles are counted first from left to right, then up to down). 1. Create a 'tileset16.tsx' map from '16x16.png', if you haven't already. -2. Create a 'map128.tmx' map and use 'tileset16.tsx' as tileset. This map must - have infinite dimensions. +2. Create a 'tilemap128.tmx' map and use 'tileset16.tsx' as tileset. This map + must have infinite dimensions. 3. Create your tiles from left to right, and if you must, up to down. Be mindful of tile order, and make sure that the first tile (first eight rows and columns) are completely blank.