From da8b123158383de1e4bd9a431f300d543ce626e0 Mon Sep 17 00:00:00 2001 From: ketmar Date: Tue, 26 Apr 2011 20:16:07 +0300 Subject: [PATCH] initial commit --- .gitignore | 5 + gfx/blk_ball4_strip.bin | Bin 0 -> 32 bytes gfx/blk_planet_hstrip.bin | Bin 0 -> 384 bytes gfx/blk_reactor_hstrip.bin | Bin 0 -> 384 bytes gfx/blk_ship_hstrip.bin | Bin 0 -> 1152 bytes gfx/blk_spark_hstrip.bin | Bin 0 -> 192 bytes gfx/blk_tport_hstrip.bin | Bin 0 -> 384 bytes gfx/enemies/blk_cb60.bin | Bin 0 -> 192 bytes gfx/enemies/blk_cc20.bin | Bin 0 -> 192 bytes gfx/enemies/blk_cce0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_cda0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_ce60.bin | Bin 0 -> 192 bytes gfx/enemies/blk_cf20.bin | Bin 0 -> 192 bytes gfx/enemies/blk_cfe0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d0a0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d160.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d220.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d2e0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d3a0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d460.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d520.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d5e0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d6a0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d760.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d820.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d8e0.bin | Bin 0 -> 192 bytes gfx/enemies/blk_d9a0.bin | Bin 0 -> 192 bytes gfx/tiles/blk_7580_squares.bin | Bin 0 -> 384 bytes gfx/tiles/blk_7700_rounds.bin | Bin 0 -> 384 bytes gfx/tiles/blk_7880_springs.bin | Bin 0 -> 384 bytes gfx/tiles/blk_7a00_bricks.bin | Bin 0 -> 384 bytes gfx/tiles/blk_7b80_anim.bin | Bin 0 -> 384 bytes gfx/tiles/blk_ded8_blobs.bin | Bin 0 -> 384 bytes gfx/tiles/blk_e058_anim.bin | Bin 0 -> 384 bytes gfx/tiles/tiles.txt | 16 + main.zas | 717 +++++++++++++++++++++++++++++++++++++++++ maps/map00.bin | Bin 0 -> 2048 bytes maps/map06.bin | Bin 0 -> 2048 bytes mmshow/Jamfile | 4 + mmshow/Jamrules | 10 + mmshow/src/Jamfile | 10 + mmshow/src/libvideo | 1 + mmshow/src/main.c | 157 +++++++++ 43 files changed, 920 insertions(+) create mode 100644 .gitignore create mode 100644 gfx/blk_ball4_strip.bin create mode 100644 gfx/blk_planet_hstrip.bin create mode 100644 gfx/blk_reactor_hstrip.bin create mode 100644 gfx/blk_ship_hstrip.bin create mode 100644 gfx/blk_spark_hstrip.bin create mode 100644 gfx/blk_tport_hstrip.bin create mode 100644 gfx/enemies/blk_cb60.bin create mode 100644 gfx/enemies/blk_cc20.bin create mode 100644 gfx/enemies/blk_cce0.bin create mode 100644 gfx/enemies/blk_cda0.bin create mode 100644 gfx/enemies/blk_ce60.bin create mode 100644 gfx/enemies/blk_cf20.bin create mode 100644 gfx/enemies/blk_cfe0.bin create mode 100644 gfx/enemies/blk_d0a0.bin create mode 100644 gfx/enemies/blk_d160.bin create mode 100644 gfx/enemies/blk_d220.bin create mode 100644 gfx/enemies/blk_d2e0.bin create mode 100644 gfx/enemies/blk_d3a0.bin create mode 100644 gfx/enemies/blk_d460.bin create mode 100644 gfx/enemies/blk_d520.bin create mode 100644 gfx/enemies/blk_d5e0.bin create mode 100644 gfx/enemies/blk_d6a0.bin create mode 100644 gfx/enemies/blk_d760.bin create mode 100644 gfx/enemies/blk_d820.bin create mode 100644 gfx/enemies/blk_d8e0.bin create mode 100644 gfx/enemies/blk_d9a0.bin create mode 100644 gfx/tiles/blk_7580_squares.bin create mode 100644 gfx/tiles/blk_7700_rounds.bin create mode 100644 gfx/tiles/blk_7880_springs.bin create mode 100644 gfx/tiles/blk_7a00_bricks.bin create mode 100644 gfx/tiles/blk_7b80_anim.bin create mode 100644 gfx/tiles/blk_ded8_blobs.bin create mode 100644 gfx/tiles/blk_e058_anim.bin create mode 100644 gfx/tiles/tiles.txt create mode 100644 main.zas create mode 100644 maps/map00.bin create mode 100644 maps/map06.bin create mode 100644 mmshow/Jamfile create mode 100644 mmshow/Jamrules create mode 100644 mmshow/src/Jamfile create mode 120000 mmshow/src/libvideo create mode 100644 mmshow/src/main.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..af7386d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +_* +*.sna +*.tap +*.scr +mapshow diff --git a/gfx/blk_ball4_strip.bin b/gfx/blk_ball4_strip.bin new file mode 100644 index 0000000000000000000000000000000000000000..c09b4ff88e555052828eca3f6979e6f41615881f GIT binary patch literal 32 ncwS3jVEC|sfgwSHfx$+HfkA?efq|c!fq{*&;Q%w!fd)nZU10^L literal 0 HcwPel00001 diff --git a/gfx/blk_planet_hstrip.bin b/gfx/blk_planet_hstrip.bin new file mode 100644 index 0000000000000000000000000000000000000000..bd420bc0d27c72abf632faab9d8a3f3dfa550025 GIT binary patch literal 384 zcwQaPF-yZh7{>AElC+6JYgCE_g@%eC-KByK5fnsl5G=GG8<6trGPp>{LrBd(VjN3j{xDOqtvIkrkmH`W>DuEMyZ-$!@kk$a1xdXjJ6;YaI zpHWN}3zBinfi)qSJn_xRI|>~u7{uM@(6TC@o*y<0qp#B>Mk0 zP|Mt=-eH{R9eguM*%u;UnzAX3fWt4Y7+H_{4MWWRrgskwAqr>P*Wo2_-g3QVAMoHS KQ3dRBPX7bsc$&Ka literal 0 HcwPel00001 diff --git a/gfx/blk_reactor_hstrip.bin b/gfx/blk_reactor_hstrip.bin new file mode 100644 index 0000000000000000000000000000000000000000..caefe6d15d9d02ea037a3b0c831fb80d568e93ac GIT binary patch literal 384 zcwQCGF-yZx7=__;KVzH3!61~14vpm&G$8&0@f#f4$t$GbqPRG_=pxugK@g`Xbv8(= zcxAp<_ zi-{Z?0Q(~GsRPuJ_@V+hh&|MR0!}Tlkahc59NlF$qR}Y2TCW(>W59QlCi7LP;%@IU z7f+-!@y0x;lwI-7{6*4=4wx?>Ed(CvGg&Tcq#-AU7fnnV1Qs^!S0*il{~vJp8-6(Sdr@RZ9oxE!k!-^TPz ztOj`-aAQ@cOn47kyJN=uSpY%jhr{1>!cA_tw_YX0&yV3&b}uP~a)}Amd|Nu1Ol>Jf fLWbi$WlvXImPfGXWSGkl#7{dM&-MW8UTgXX@||TI literal 0 HcwPel00001 diff --git a/gfx/blk_ship_hstrip.bin b/gfx/blk_ship_hstrip.bin new file mode 100644 index 0000000000000000000000000000000000000000..ac78f192047d483af7988fa6a4ab162bdaf70f57 GIT binary patch literal 1152 zcwTK&L1-IC6n(R^(yUxryKN7V)QzQLLvo12rU`hBq-xyK99th72a2IV?Ma9dgeZlK zTzUy92zpWF9QM#-1fld`hy())#f5--EU^MZDIo_RmgKSrQFq2kT5R_*49oEU+j(!^ zM;>SZKLX!_q=iTm0ugPb=J)U4pUnIDPG`KZFzi&ftCg$MX}7Y9Q3t+{(1U~H5Ddt3 zz6iVR7*gi|F8-SuWW5wE8Mcq zTn?XFcV3j-q=opDHCkW^LMx?G8tuybWK{*4=W$OOf1+No9kO-jcD*!moSsW}9k20H z#&J+#d?QL(+Pzlm4FuUZPKWKsackWE>Rvf2gzu*$UoN>fd3l`?UM`n`GUxdtw~xbt z7s6jaXM|d%JDoNv;l3Y^eVw09eqsJwlc>~2Bw#Y8cXVNvzF7Vh1CfBFhM2RQ(%-pU zko7lR_j)(~G0|jqfu(Hb zI+|me8aA87j3fQon&;J$IOBP5OEjF5g0#=K%zKgNzyYOGeII5Hmsp_>R2R!b!ME4A zb@1pJ=M6vEyOgWP(#8LP302orv6>N7xR|)X6X4g6co7(NyZ3-1U)utn1nxxe%OJ^S ztaDOVCXJ`z%DA4pw3k%Bxcb4f=|P&W?Q@LFix+@?!F1%oBrv7)5%4E5k-K$jE(CKL zkUzZX{T3%R&$~9e`*fCENGAmPBu+`z!_K^{apurh+h8884uoKpd$2E?qeVF2p|i9pOjRSpsn5advR i3CI*cXpo42AhInGwgLxGTmWGJ+W`byKma5QvjqV6BL=hp literal 0 HcwPel00001 diff --git a/gfx/blk_tport_hstrip.bin b/gfx/blk_tport_hstrip.bin new file mode 100644 index 0000000000000000000000000000000000000000..953711d30d2cf2afdad88d36f1a690ceea37d1a6 GIT binary patch literal 384 zcwQZku`5MU0LFjko^xN^cb_iqOANYXxJh}vEGB0VZ!la!2E!`@nPfDbNEwvDqP*dh zi4T}lYQ8A?*$Q@mNzjC7~Xh#t-ip=V3LH-a7&Vi z7VN1cp$jdNf-}e|5?`qD`otw3jc>{aysCJYyLk0x-HaJGdOn{L82wh}k{GvGZ_XWm zIgXT4;t-}$iZx@#gi3v3h*UAz^Z0!T7nr#wQ_iC@FF&;jNas&RombbxcEuh%wg*D6 z#rHyllQdRO<63rqXU2sPY#S3HLQ-Rv2nCU~3cvRm@A0Y39a$|l{SBleTKFj}gabR3 z16yf_VoP*8wJRw!dHQ=1_>XR7eL~9C?2KL32tAV7Knrx3*+C6Du$lPJyh|@dHbYCw UELd?K4lc?x_oKWPovxSv0o@H#r~m)} literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_cb60.bin b/gfx/enemies/blk_cb60.bin new file mode 100644 index 0000000000000000000000000000000000000000..ea17fa82f6f090b8ee374665bfd472977e34123f GIT binary patch literal 192 zcwS>*U|?`yV(0*otc*Yo16u=-;O7PsjBE^8fdYi$fKUP;f{`VGf#Cxq#|8$51Sagd s-~ebUKLZ2M0yYkiW)`p@7X!$01vHfn0w9$R3Lu9#2p}Y&%mxky0I`4u%>V!Z literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_cc20.bin b/gfx/enemies/blk_cc20.bin new file mode 100644 index 0000000000000000000000000000000000000000..91b6744d72a5e6488e3091e6cdeda49fef131f40 GIT binary patch literal 192 zcwS>*0D%O?h6BZ)w){HK@H2(w2LnR^6G-$ACy;3PpW6NZz=8kW5D~^U28Q#@Os5$b zrZF;DFfiCLGTJdP%mJHH57PCZUQ+4*hY$aipdvgB3~~$%Vhjwr3=GZ<4gL%a{tXQ3 zAjt#sLFA8kHje#&{_N*~iX7mPd%(z;Aa>>?1B38`2f`ro0LUQ>AHcf)O=o1%|Nmc~ H2_gajE%!7a literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_cce0.bin b/gfx/enemies/blk_cce0.bin new file mode 100644 index 0000000000000000000000000000000000000000..5d4c65375b0c95707499f49535b082a92f21510c GIT binary patch literal 192 zcwS9TyA8rH6g(RXIZ6r;0?`pEMH&hQKyo_hvH}%r*adw?$SNLyAv}W16p#;L7l&n|yDkUHVU-{9q2*@kAx?>ml!n;1k#+y@6+XQ5D<1#= literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_cda0.bin b/gfx/enemies/blk_cda0.bin new file mode 100644 index 0000000000000000000000000000000000000000..624006e066354c8a77cb1c183ac0a83aa99eac6c GIT binary patch literal 192 zcwQ}vu?@m75Jg|kMggUSl7fy3y@wW4VS!6|a4txR8i4)8K literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_cf20.bin b/gfx/enemies/blk_cf20.bin new file mode 100644 index 0000000000000000000000000000000000000000..252c13387a97006f4f6b065d6b6263710eb4b13d GIT binary patch literal 192 zcwQAwD-MG|5Ph?33M3?KP?#obno62FOoOZ70(C|70E7#41qrUU$6;kF>nrvMNCfG2 z81d%4dGiY#a7ok+=(IipWmT2ns6F6oCdNNk{oTed7QhTVf=vKJNkYaV&tcimytO`K z;{0yy@4`@X5;(zpK!-}VLNr=ADV<_Nj?*+sCi6XJv~Pkj>tJdce&ej70T`k_B}#iP TQ?V=sG5K8uW4q_wEnoNpLdPmJ literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_cfe0.bin b/gfx/enemies/blk_cfe0.bin new file mode 100644 index 0000000000000000000000000000000000000000..3b565cd779dbc92951411fe2fcc9e92d7c818144 GIT binary patch literal 192 zcwQZhu?@m75JjIYgDj;ADWHo)Bt*dgbfHUu1REg6pu=K;tU|#6E+`noBcx0b#rXW2 z`|s=Nl!Na|d+>VuBV`d_tfWm%H^baDlaNWfQ_`&B4sXLpNIjBcq(xgs=VEDN-j9fu zvWFLJ;E?f#Yvqq`wRwi{G`jV&U$SEzJ1966aL)ePg{$15N7dt4EBZmWaxD1+mkcEg literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_d0a0.bin b/gfx/enemies/blk_d0a0.bin new file mode 100644 index 0000000000000000000000000000000000000000..d76a99a6e38aab01f02eb6641e3a9f5b16a9e3d1 GIT binary patch literal 192 zcwS>*Km`I!5SsA;1H%U*U|`^2U{C-f2N+^tU_QXW@PGxxs^7l79z-(%MH(1E${1kk;RpymFfhzu1kwlY z>+0S=01}zNz>olzVqk%&;fuRVjubi8^`~!$(!oVQGzyP)rL?R;~;AdzM1JQr( OGBMr#0})|hV*mhh{uXxt literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_d220.bin b/gfx/enemies/blk_d220.bin new file mode 100644 index 0000000000000000000000000000000000000000..af34ba2623c0ce83c874f6ae95747a9cdf084684 GIT binary patch literal 192 zcwQZiAqoOP7=^#_2gl@W5f=p6VDtbcF$i{((cmErgU&XicmnYTHk;eMfN_#2mQA9t zE6!RTkB^V{n8Ok*tVXP09i?ZuOb=s7KX0IB1BPL@%DM{ZtMwO3Q6+8%Vc{6Dtx6*( zaZ8Hen96x87LY5sJ94c(cw?^6haPzcB=;I7J~PmEG^-C1*bwiP$_Dl>@+$08*00Kq^2?h`XgTyulhSQrstpEM}|3S3-KL&lOchj zVIxTMf&a?N{|^8e96()lY>Yp^N`W#u3=Aqj1~W4QR761sM1T0t!SVkC$olyW40Q|$ kzy?GK8ybMD2?-D`H%R!8Jrk4t9}uhm!-I4N26>PQ05#ho6951J literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_d460.bin b/gfx/enemies/blk_d460.bin new file mode 100644 index 0000000000000000000000000000000000000000..43d5a9e79863c7897679138db72389caa24bd60e GIT binary patch literal 192 zcwTjiAr8V&5CvzmfNE07igJg_icMvYK~P+RitVkCoBR`S0~``uZ6PQUI_l-k>`u@% zO$YA%2xgja-)`Q2Dl3>o(zax(_jAVOAO^3s{1=BK44)xWBwcmTDti^s4OPmvLJag-mM&=jNcdvi?*Ehi5Bm ywCGA7uGU3LvD+MB(fXff7E-~8zc2}mou9+Z`yBGVO(AVIACtp75)Qg!i1-1t*e1&W literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_d5e0.bin b/gfx/enemies/blk_d5e0.bin new file mode 100644 index 0000000000000000000000000000000000000000..2f5b2abc60e418cbe2eed9ca6b5a5e5fce5558d7 GIT binary patch literal 192 zcwQxptqOxs0EIu5A$Wsh7-bk&WWtI;!8{iBE-MR$3+sCbU%;|B;Xc4{_y#tE<$}eq zFnffH5c@q@dd5w9FG71 literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_d820.bin b/gfx/enemies/blk_d820.bin new file mode 100644 index 0000000000000000000000000000000000000000..226adcde8e3351db2e1f474cc2e71ea9211259c2 GIT binary patch literal 192 zcwQaKp$>uo6ouh)kpYt+ktu=hCY9uv&tYIA8kA1BPr#ed)ZoTOBGaTvH)voQEZ)m@ z_HAeTiGj{_JD^|YB@mkG<9E9QWp0M*s@G;N4HHseG>j3rT0zEeNNm2_&86WiAP1uL znVK^+_JLZ*71{oP9mIFNaI4ec+j2#!S(|E#EhG^TCFudw#_XxZYi2z6aZB)6J*L{M G6N&$7$TQ6V literal 0 HcwPel00001 diff --git a/gfx/enemies/blk_d8e0.bin b/gfx/enemies/blk_d8e0.bin new file mode 100644 index 0000000000000000000000000000000000000000..8987f852ffb65defeedf6f07840d2fd822a0455e GIT binary patch literal 192 zcwPm;F;2oz7{KxW%WK*RUPn;GOE6%fl*GhQuh5Oeg-+lEUyr~6jE)|`jh=vog#nT` zkhl>O4U{PT`2EPBBue{|UnEOmJh)e3xBRLQ)!_m8ao02Hr;cxUffn>It2liR-LEe; z%~-wsb#7F=CYPte|J!Jr#w*J$v>`$qjDp68v8Qe}4uhohy;^9&Hen5XqZCPDtMmg-I)1`3j(5=0 ztpq+oSc9T*fHmBa84N|uolBI;9g)Zd&Y=IgjXq?!DeSG?z|EU*yL!8VW5tLsw!0bU literal 0 HcwPel00001 diff --git a/gfx/tiles/blk_7580_squares.bin b/gfx/tiles/blk_7580_squares.bin new file mode 100644 index 0000000000000000000000000000000000000000..dd97fa6ca078fa58166b5eccde12cddd0298c4f1 GIT binary patch literal 384 zcwSAAv2Ft~3_}USL(r+;;cw8OAycMK`Wl1KoGG|3=+N&pLS5Y^XPoXqph@BumJVl3 zf;Nmv3)}4M(TR4R{YbuYax&a#9H<%j%blHplDC)q^p~TY^*U{{>)S=S{r%McAP2&y zKQJDaK)~<`2Udcv4DcI6Tp2Zsv$$Q} uGRhx~n81};EvQEL(DZ&S|F2`K)nTo=!I)BUs8KSi(aG9(?e%l~&;JP$6j(0+ literal 0 HcwPel00001 diff --git a/gfx/tiles/blk_7700_rounds.bin b/gfx/tiles/blk_7700_rounds.bin new file mode 100644 index 0000000000000000000000000000000000000000..0e046b2318e1c57cc23f42e9d1aad1118d00b24b GIT binary patch literal 384 zcwUW9F{%PV6nm>!2o`pBx~+|8h+=J{2hdB{{3f&OAZjJnf_RNB^h6>az%jG?1ra{{ z7s!M+nUFF2o_Yx3ZY`;nwTor(uyouX9}P`w4hT!RC3V|DCQiUh2n~3cZIO!|*5VZo z;(fXCANw<${6l0{vlIBUED{WrZ;bghrpiyOt>oHohpNy2rzii@=28h~>VM-#`BPB& z4KU^d(a6eE`Tv@(+V8Mn4u=Vyev%{8ZzH01C8F90mGU}$xzB{R$AjgY5u+m}=IGiB D)7D_l literal 0 HcwPel00001 diff --git a/gfx/tiles/blk_7880_springs.bin b/gfx/tiles/blk_7880_springs.bin new file mode 100644 index 0000000000000000000000000000000000000000..7faa05bfe631e4744ca0b11cb71b17090f57ba4d GIT binary patch literal 384 zcwTLep$@`85JV?HKw?NqfGj^k$e}O@(jW+eegJ6nB@NiR233I~nEpZ)HE1LjL-+>f zwiPrmm%QxV?amJ1G;qS$sls6p1nUahX`04pM^Th$ouHfN`J=*q7=|%A^c4)0?&V)+ z;qc9J7bRu=o2p1#sG(fx%aNZWEVbvQ+^Iv8T*4<8ICIO%OqhRf+{TM#ko<uGK(NUiUhG>friL~j6?zm6&5B} zT!L|f8Ux+D+>lW6E9NN1WY z`4~B0qb`nG((09hm2SPrg(sp%!Tni|OBzvTyy=BVM=N5Zo_m4ISvkIyU-PL7*@^QfK`56Tz|CgC@S^1YXp6|4cpY{|8F)Dh2=m literal 0 HcwPel00001 diff --git a/gfx/tiles/blk_ded8_blobs.bin b/gfx/tiles/blk_ded8_blobs.bin new file mode 100644 index 0000000000000000000000000000000000000000..92a83c7faca0bbd151682585096b3093743ce69e GIT binary patch literal 384 zcwSACg4=YICV>UxqC6k zlX-e9W_lXZIP%BbGA!;zU1sxd`7(_(8_hNpYtfp)Y{6R?AjNU#xFF4Vtv*4?nYnfR zux?==bVZq~t8fA~OmX<1AF#7uhx6C(WB)k1*}sA$`$P1_{wtYc|Fb+~e?o4v|A9K# zukr60k%Eo=97On60vdm?2}MTmfmNyEoD5PCrwN`r(5Fws(wESM7KX8bGr5aT==w5F bFo_`6un#|P4f0?IA?bleH?kK)sPUa|Ik$X$ literal 0 HcwPel00001 diff --git a/gfx/tiles/blk_e058_anim.bin b/gfx/tiles/blk_e058_anim.bin new file mode 100644 index 0000000000000000000000000000000000000000..046ecd74e2b30ad3a6540e90c25183411ff2aa8f GIT binary patch literal 384 zcwTjoy$!-J5JsOPBYq0gggRD~J#Z>oSR~2_HwvR<7G|KJ)tz$1ISnr{k*kkwmRru~p}qm?@kKE%II2;$_KXr{0E*ejTk| zEFybWsnyS9GdYM{nP+eA&GM^av5aECLw&p~fo$ZsE`c@F9ui`~6IYhuVL>S#C2t1f7~W-ru1U#5upR2VxB_ g&ShCaJlu2EfAlWhQvMPN(9SsjzX$cR;kqDy0(D?LyZ`_I literal 0 HcwPel00001 diff --git a/maps/map06.bin b/maps/map06.bin new file mode 100644 index 0000000000000000000000000000000000000000..5c00b57f9778eac66ae302379bbee676c55f0e42 GIT binary patch literal 2048 zcwUv2&9Z|a422U#_gyekmoA)Xm)+U-f3XXaKM3@;XIg9dh$JVd)AXH|cTYG?GhByC z=XsWskOCo1SfCMcz*&zy6%zaf;Jzt`RfZ4IzCTi6;eq2(E6Rj9$K!lg8NMHcp%zXy zGoPkf^MGENIUR`!4hKmTx-JIWp^k?*Bv};gtu4Zj_^KQST*}7I+Saq+c^(m<)+1CrGoDzqvS8wLriCzcU$3Yv3 zhf$Z=PP_OstKmU8+O{j_%NLK>ch9S7+D@6s%d8Dg<2fl#tjB4%94evHbS#M%#*Qx>d5}rTVuNfh6kP> zq1DAxF7C!RJm==`eC5|#;#*OqZ{qP<_0~ofiGQ4MEiFt_w?$NicjRBKEgnxWueuNV E1F+T;a{vGU literal 0 HcwPel00001 diff --git a/mmshow/Jamfile b/mmshow/Jamfile new file mode 100644 index 0000000..92d5e2e --- /dev/null +++ b/mmshow/Jamfile @@ -0,0 +1,4 @@ +SubDir TOP ; + + +SubInclude TOP src ; diff --git a/mmshow/Jamrules b/mmshow/Jamrules new file mode 100644 index 0000000..1c0c18f --- /dev/null +++ b/mmshow/Jamrules @@ -0,0 +1,10 @@ +set-profile ; +set-default-target-locations ; +OPTIM += -Wall ; + + +_SDL_PKG = [ pkg-config sdl ] ; +if $(_SDL_PKG) != "tan" { + Exit "FATAL: no SDL found" ; +} +Echo "MSG: using SDL" ; diff --git a/mmshow/src/Jamfile b/mmshow/src/Jamfile new file mode 100644 index 0000000..783e88b --- /dev/null +++ b/mmshow/src/Jamfile @@ -0,0 +1,10 @@ +SubDir TOP src ; + + +Main mapshow : + main.c +; +LinkLibraries mapshow : libvideo.a ; + + +SubInclude TOP src libvideo ; diff --git a/mmshow/src/libvideo b/mmshow/src/libvideo new file mode 120000 index 0000000..ceb5170 --- /dev/null +++ b/mmshow/src/libvideo @@ -0,0 +1 @@ +/home/ketmar/zx/k8_pc/libs/libvideo \ No newline at end of file diff --git a/mmshow/src/main.c b/mmshow/src/main.c new file mode 100644 index 0000000..a6ce83a --- /dev/null +++ b/mmshow/src/main.c @@ -0,0 +1,157 @@ +/* coded by Ketmar // Vampire Avalon (psyc://ketmar.no-ip.org/~Ketmar) + * Understanding is not required. Only obedience. + * + * This program is free software. It comes without any warranty, to + * the extent permitted by applicable law. You can redistribute it + * and/or modify it under the terms of the Do What The Fuck You Want + * To Public License, Version 2, as published by Sam Hocevar. See + * http://sam.zoy.org/wtfpl/COPYING for more details. */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "libvideo/video.h" + + +#define XTILES 14 +#define YTILES 8 + +static unsigned char map[32*64]; +static unsigned char tiles[6*16*4]; + + +static const unsigned char ttypes[16] = { + 0x33, // 0x00 + 0x01, // 0x01 + 0x11, // 0x02 + 0x12, // 0x03 + 0x30, // 0x04 + 0x23, // 0x05 + 0x02, // 0x06 + 0x03, // 0x07 + 0x32, // 0x08 + 0x22, // 0x09 + 0x00, // 0x0A + 0x21, // 0x0B + 0x10, // 0x0C + 0x13, // 0x0D + 0x31, // 0x0E + 0x20, // 0x0F +}; + + +static void putTile (int trow, int tnum, int px, int py) { + int x, y, d, a; + // + a = trow*(6*16)+tnum*2; + for (y = 0; y < 16; ++y) { + for (x = 0; x < 2; ++x) { + unsigned char b = tnum<3 ? tiles[a+x] : 0; + for (d = 7; d >= 0; --d, b >>= 1) putPixel(px+x*8+d, py+y, b&0x01?7:0); + } + a += 6; + } +} + + +static void put2XTiles (unsigned char mapb, int px, int py) { + int trow = (mapb>>4)&0x03; + int tnum = ttypes[mapb&0x0f]; + putTile(trow, (tnum>>4)&0x03, px, py); + putTile(trow, tnum&0x03, px+16, py); +} + + +static void drawMap (int mx, int my) { + int dx, dy; + char buf[16]; + // + for (dy = 0; dy < YTILES; ++dy) { + int ox = mx; + for (dx = 0; dx < XTILES/2; ++dx) { + put2XTiles(map[my*32+mx], dx*32, dy*16); + sprintf(buf, "%02X", map[my*32+mx]); + drawOutlineText(dx*32+2, dy*16+2, buf, 15, 0); + mx = (mx+1)%32; + } + mx = ox; my = (my+1)%64; + } +} + + +int main (int argc, char *argv[]) { + static int mapX = 0; + static int mapY = 0; + // + static SDL_Event event; + static FILE *fl; + //static char fname[128]; + //static char buf[1024]; + //int ctrlDown, ta; + + if ((fl = fopen("../gfx/tiles/blk_ded8_blobs.bin", "rb")) == NULL) { fprintf(stderr, "tiles?\n"); return 1; } + fread(tiles, sizeof(tiles), 1, fl); + fclose(fl); + + if ((fl = fopen("../maps/map00.bin", "rb")) == NULL) { fprintf(stderr, "map?\n"); return 1; } + fread(map, sizeof(map), 1, fl); + fclose(fl); + + videoInit(); + if (setVMode(2, 0)) { videoDeinit(); return 1; } + setCaption("enJine level renderer"); + SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); + +/* + drawOutlineText(10, 10, "test!", 15, 3); + drawEllipse(8, 8, 8+6*5+4, 8+8+4, 10); + drawCircle(45, 70, 42, 5); + drawIconById(ICON_ID_PENTA, 80, 90); + drawFilledEllipse(8+40, 8+40, 8+6*5+4+40, 8+8+4+40, 11); + drawFilledCircle(120, 150, 42, 5); + drawLine(50, 50, 100, 60, 7); + putPixel(49, 49, 3); + putPixel(101, 61, 3); + + drawCursor(8, 8, 0); + drawCursor(28, 28, 1); +*/ + +repaint: + drawBar(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0); + drawMap(mapX, mapY); + repaintScreen(); + + for (;;) { + while (SDL_WaitEvent(&event)) { + switch (event.type) { + case SDL_QUIT: goto quit; + case SDL_VIDEOEXPOSE: repaintScreen(); break; + case SDL_KEYDOWN: + //ctrlDown = event.key.keysym.mod&KMOD_CTRL; + switch (event.key.keysym.sym) { + case SDLK_ESCAPE: case SDLK_q: goto quit; + case SDLK_LEFT: if (mapX > 0) --mapX; goto repaint; + case SDLK_RIGHT: if (mapX < 31) ++mapX; goto repaint; + case SDLK_UP: if (mapY > 0) --mapY; goto repaint; + case SDLK_DOWN: if (mapY < 63) ++mapY; goto repaint; + default: ; + } + break; + default: ; + } + } + } + +quit: + videoDeinit(); + return 0; +} -- 2.11.4.GIT