From b79af85b8e5b6ff94341b85ea2de8a5dfb9080f5 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Tue, 10 Jan 2017 11:32:59 -0600 Subject: [PATCH] made a new function modexMVSetup() --- DEBUG.16B | 210 --------------------------------------------- MEMINFO.16B | 0 MEMINFO.16W | 0 MMDUMP.16B | Bin 2550 -> 2550 bytes b4get.bat | 60 +++++++++++++ bcexmm.dsk | Bin 981 -> 955 bytes bcexmm.exe | Bin 104108 -> 103908 bytes bcexmm.prj | Bin 8408 -> 8377 bytes makefile | 17 +++- q.sh | 3 +- src/0.c | 13 +-- src/lib/16_dbg.c | 4 + src/lib/16_dbg.h | 5 ++ src/lib/16_map.c | 8 +- src/lib/16_map.h | 27 +----- src/lib/16_tdef.h | 33 ++++++- src/lib/doslib | 2 +- src/lib/scroll16.c | 43 ++++++++-- src/lib/scroll16.h | 6 +- src/scroll.c | 8 +- src/zcroll.c | 8 +- 21 files changed, 168 insertions(+), 279 deletions(-) delete mode 100755 DEBUG.16B create mode 100755 MEMINFO.16B create mode 100755 MEMINFO.16W create mode 100755 b4get.bat diff --git a/DEBUG.16B b/DEBUG.16B deleted file mode 100755 index f30673d9..00000000 --- a/DEBUG.16B +++ /dev/null @@ -1,210 +0,0 @@ -Seg:0 Size:4897 Owner:0x0 -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0 -Seg:1321 Size:256 Owner:0x993 -++++ -Seg:1421 Size:256 Owner:0x798 -++++ -Seg:1521 Size:256 Owner:0x79a -++++ -Seg:1621 Size:256 Owner:0x79c -+++++ -Seg:1721 Size:256 Owner:0x79e -++++ -Seg:1821 Size:256 Owner:0x7a0 -++++ -Seg:1921 Size:256 Owner:0x7a2 -++++ -Seg:1a21 Size:256 Owner:0x7a4 -++++ -Seg:1b21 Size:256 Owner:0x7a6 -+++++ -Seg:1c21 Size:256 Owner:0x7a8 -++++ -Seg:1d21 Size:256 Owner:0x7aa -++++ -Seg:1e21 Size:256 Owner:0x7ac -++++ -Seg:1f21 Size:256 Owner:0x7ae -++++ -Seg:2021 Size:256 Owner:0x7b0 -+++++ -Seg:2121 Size:256 Owner:0x7b2 -++++ -Seg:2221 Size:256 Owner:0x7b4 -++++ -Seg:2321 Size:256 Owner:0x7b6 -++++ -Seg:2421 Size:256 Owner:0x7b8 -++++ -Seg:2521 Size:256 Owner:0x7ba -+++++ -Seg:2621 Size:256 Owner:0x7bc -++++ -Seg:2721 Size:256 Owner:0x7be -++++ -Seg:2821 Size:256 Owner:0x7c0 -++++ -Seg:2921 Size:256 Owner:0x7c2 -++++ -Seg:2a21 Size:256 Owner:0x7c4 -+++++ -Seg:2b21 Size:256 Owner:0x7c6 -++++ -Seg:2c21 Size:256 Owner:0x7c8 -++++ -Seg:2d21 Size:256 Owner:0x7ca -++++ -Seg:2e21 Size:256 Owner:0x7cc -++++ -Seg:2f21 Size:256 Owner:0x7ce -+++++ -Seg:3021 Size:256 Owner:0x7d0 -++++ -Seg:3121 Size:256 Owner:0x7d2 -++++ -Seg:3221 Size:256 Owner:0x7d4 -++++ -Seg:3321 Size:256 Owner:0x7d6 -++++ -Seg:3421 Size:256 Owner:0x7d8 -+++++ -Seg:3521 Size:256 Owner:0x7da -++++ -Seg:3621 Size:256 Owner:0x7dc -++++ -Seg:3721 Size:256 Owner:0x7de -++++ -Seg:3821 Size:256 Owner:0x7e0 -++++ -Seg:3921 Size:256 Owner:0x7e2 -+++++ -Seg:3a21 Size:256 Owner:0x7e4 -++++ -Seg:3b21 Size:256 Owner:0x7e6 -++++ -Seg:3c21 Size:256 Owner:0x7e8 -++++ -Seg:3d21 Size:256 Owner:0x7ea -++++ -Seg:3e21 Size:256 Owner:0x7ec -+++++ -Seg:3f21 Size:256 Owner:0x7ee -++++ -Seg:4021 Size:256 Owner:0x7f0 -++++ -Seg:4121 Size:256 Owner:0x7f2 -++++ -Seg:4221 Size:256 Owner:0x7f4 -++++ -Seg:4321 Size:256 Owner:0x7f6 -+++++ -Seg:4421 Size:256 Owner:0x7f8 -++++ -Seg:4521 Size:256 Owner:0x7fa -++++ -Seg:4621 Size:256 Owner:0x7fc -++++ -Seg:4721 Size:256 Owner:0x7fe -++++ -Seg:4821 Size:256 Owner:0x800 -+++++ -Seg:4921 Size:256 Owner:0x802 -++++ -Seg:4a21 Size:256 Owner:0x804 -++++ -Seg:4b21 Size:256 Owner:0x806 -++++ -Seg:4c21 Size:256 Owner:0x808 -++++ -Seg:4d21 Size:256 Owner:0x80a -+++++ -Seg:4e21 Size:256 Owner:0x80c -++++ -Seg:4f21 Size:256 Owner:0x80e -++++ -Seg:5021 Size:256 Owner:0x810 -++++ -Seg:5121 Size:256 Owner:0x812 -++++ -Seg:5221 Size:256 Owner:0x814 -+++++ -Seg:5321 Size:256 Owner:0x816 -++++ -Seg:5421 Size:256 Owner:0x818 -++++ -Seg:5521 Size:256 Owner:0x81a -++++ -Seg:5621 Size:256 Owner:0x81c -++++ -Seg:5721 Size:256 Owner:0x81e -+++++ -Seg:5821 Size:256 Owner:0x820 -++++ -Seg:5921 Size:256 Owner:0x822 -++++ -Seg:5a21 Size:256 Owner:0x824 -++++ -Seg:5b21 Size:256 Owner:0x826 -++++ -Seg:5c21 Size:256 Owner:0x828 -+++++ -Seg:5d21 Size:256 Owner:0x82a -++++ -Seg:5e21 Size:256 Owner:0x82c -++++ -Seg:5f21 Size:256 Owner:0x82e -++++ -Seg:6021 Size:256 Owner:0x830 -++++ -Seg:6121 Size:256 Owner:0x832 -+++++ -Seg:6221 Size:256 Owner:0x834 -++++ -Seg:6321 Size:256 Owner:0x836 -++++ -Seg:6421 Size:256 Owner:0x838 -++++ -Seg:6521 Size:256 Owner:0x83a -++++ -Seg:6621 Size:256 Owner:0x83c -+++++ -Seg:6721 Size:256 Owner:0x83e -++++ -Seg:6821 Size:256 Owner:0x840 -++++ -Seg:6921 Size:256 Owner:0x842 -++++ -Seg:6a21 Size:256 Owner:0x844 -++++ -Seg:6b21 Size:256 Owner:0x846 -+++++ -Seg:6c21 Size:256 Owner:0x848 -++++ -Seg:6d21 Size:256 Owner:0x84a -++++ -Seg:6e21 Size:256 Owner:0x84c -++++ -Seg:6f21 Size:256 Owner:0x84e -++++ -Seg:7021 Size:256 Owner:0x850 -+++++ -Seg:7121 Size:256 Owner:0x852 -++++ -Seg:7221 Size:256 Owner:0x854 -++++ -Seg:7321 Size:256 Owner:0x856 -++++ -Seg:7421 Size:256 Owner:0x858 -++++ -Seg:7521 Size:256 Owner:0x85a -+++++ -Seg:7621 Size:256 Owner:0x85c -++++ -Seg:7721 Size:256 Owner:0x85e -++++ -Seg:7821 Size:273 Owner:0xfde -++++ -Seg:9fde Size:32802 Owner:0x0 - -Seg:9ffe Size:24577 Owner:0x0 -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \ No newline at end of file diff --git a/MEMINFO.16B b/MEMINFO.16B new file mode 100755 index 00000000..e69de29b diff --git a/MEMINFO.16W b/MEMINFO.16W new file mode 100755 index 00000000..e69de29b diff --git a/MMDUMP.16B b/MMDUMP.16B index 451d087ed8a9e199d66b37c7b7cee5dd7d4d7e95..841a51a99e0f7f6efa600cec81728651103e2c3e 100755 GIT binary patch literal 2550 zcmZ|RDNY4J07X$W34$H8{D_~_2-PHru1T{TmQOHXIQpui-V0wLr1>7+&UV~BA6|}+ zBefQv9>Z_A6o$e=xPn4bCh8#nVA;*wo z$T8#?a!fg<98-=d$CP8rG3A(YEIF1OOO7SSl4HrSp5nWI3`N zS&l46mLtoN<;ZdrIf@)bjv_~qqsUR@C~{OesvK30Do2&0%2DO0aGYm8Zufsa-2Pdd J`}5zq`vwfM;`{&r literal 2550 zcmZ|RD^5f~6h%=q34$54Y(yuweo#$cj8M-MrY97&EON0KASk>p5nBssDiS&l46mLtoN<;ZemIf@)b zjv_~qqsUR@C~_1zsvK30Do2&0%2DO0a#T5*98HcUN0Xz;(d1}yG&t_}a=G6A`EdJZ Kac<9l=k6PL2i*by diff --git a/b4get.bat b/b4get.bat new file mode 100755 index 00000000..c770c63e --- /dev/null +++ b/b4get.bat @@ -0,0 +1,60 @@ +@echo off +iff exist %* then + del %* +endiff +setlocal +set url="beta.latech.edu/~wwc001/16" +rem for %@eval[%#+1] in (%*) do ( +rem for %# in (1,1,%*) do ( +:loop + set /a o=0 +:oooo + set /a q=%@EVAL[%@LEN[%1] - 4] + set w=%@INSTR[0,%q,%1] + iff NOT "%w" == "" then + set /a o=%o+1 + set y=%w.z%o +rem echo y=%y + if %o lt 100 ( + if %o lt 10 ( + set z=00%o + ) else ( + set z=0%o + ) endif + ) else if %o gt 99 ( + set z=%o + ) endif + + htget http://%url/%1.zip.%z > %y +rem pause + iff NOT "%@FILESIZE[%y,b]" == "0" then + type %y >> %w.zip + iff "%@FILESIZE[%y,b]" == "65536" then +rem echo o=%o + goto oooo + endiff + iff NOT "%#" == "0" then + shift /1 + iff exist %w.zip then + unzip %w.zip + del %w.z* + endiff + goto loop + else + del %# + endiff + else + del %y + echo Error null zip file wwww + endiff + else + rem del %y.z* + rem need to add a cleaner wwww + echo done~ wwww + endiff +rem echo y="%y" +rem echo q=%q +rem echo o=%o +rem echo w=%w +rem echo %%1=%1 +endlocal diff --git a/bcexmm.dsk b/bcexmm.dsk index c8d927e3fe1c262b224b4549af444f03470807ee..47bc095d2011f2fda545edf03fb3ab3453cbbec0 100755 GIT binary patch delta 21 ccmcc0zMFl6D>G98!{kI}2_}YFldGAd07#Vv9{>OV delta 66 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 {U8e zlzA>Pej(UP!Cv7|cwHClpY0On%NmEnLc$5OOC*7I0mcNAfcajHz@c(k0u2L!vLkVM zpL0AO$)T=hk-vPN@z^Onr7qSzcgJ`1&kqo-&AJx?#v%k(O2n6J?<=?(f7 z{f2%=f1tPF&hQ?6Kp)aa^fCRNKA}(P-}E_sMT;qX7sm{+`wV0j7Q!4Xl!dVf7Rk!9 zXcog_SydL#YOq=?fz@I4SR!l48ndRXIcv#Uvo;6*MBbdI z!~e;i!!x*tujYsOaek2p$-%N+cFEy#q+CueFGtH2<;rr594p7k?s&O|TuV-n>&o@z z267|0iQG(XA-9&>$?fHiawoZq+)eH-_mq3fedPi2AbE&9OdctZlE=v7-dOQ2AP6IvI{* zW8H8L%YcJ=EqLU!!Fy)~QVDK?+rUQ@3*kY1C&`6-;G5(J@-ul%UXo(MXdn%yp)?9U zR*r{HmJ?}X+6;~vCKLqsP*5;k2G;9k56+=*9%>+o8zf3J(`!zFlAIH9$M zTZR-kk_|wEkb4MRqK|;r?Js|#)1mUrYm_(1*+U(VO_e13^X zLB%(O`fVk*l{-M)_HaYR!ac6c6_*mLWGL5^@06bvtTXDYx*EFXx=y;Dx<0zWy0N;W zx-+^9y6d_?eXzc&zMa0ezQ2B$eyo0;{<8j>{(Jo&dc|NeBp8wnX@-G@DF%;Wx#4}o z9>ZzFdBg7p#ppCf7;74njh&2X#-YZMMvrl|@gt)<+ZbR9Gu1G4H>H^tnbw+eP5GuD zO?ONWO)pFp%}vdn%>&Ho<{9Q?=H=!!=3N1w1^gUvH=sBG2lBv>!1%!Gf%O7s2d)bA z1!f1H51b#A8MHoVbI{(PAA_C*y$-5usb^_oX=Z6<>163*>0udTnPXXGS!P*f*x7@Wnw)}0eS{>GCYfI~N>q6@)>ssqJYk~Eu^``Y_t0Oo%xMpy@;FiHt zg5yH!hWrrH*w(_<(bm=0$ChRrVjE@~Ya4HyZkuVFV|&}S$hO?(wPo41*$&u_+RoW7 z+wR(mZ8m$nz2v*@ZT6BczTG9Ce7hZQek%T-KNN4}>g8JR+UnZpI^fE46}rB3-GpPM z4T;OC(Qu+)2gkr2=qkDnUxq5!1-DI|U_Ukr&%y8DTwDP6Pj~PiIE=)QYNV0qSG~vx z`2KVnSw(ii`-h!|L%;4p2hw45GMz`4(|73_dIp{@KBI;77A=CQhcKDxVKS-Dn!qHI z470`vwty{WnJkALh1udJ`;$FmuUUoMr?c>|K;O`1I9wSze)QnMg9Z=EoxcoMQvM$< CnhKHt delta 17365 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 J^Km8R{{iNLqb>jd diff --git a/bcexmm.prj b/bcexmm.prj index 72ec764f317f94de0cafa57501cc14ed020e3ccb..82dc00b900c2c09a9e1e6671f804f0edee956c4b 100755 GIT binary patch literal 8377 zcmeI1X>c4@5yyM9_sWMX-?D5^>`me$ULCO=+kxQq>_{4UXLoCN97|?F70GK^LAK0F zPQoQC30EbU;;5pWd

q0TRLyK82(BLPBgO1-VlcRPl{390_;G(ElFE8ELhJ%Hqb=3SR>4lnFjVb)?WQ zm_*Ntd|r4#G#77{?6 z-Vc^C-eSr3Zxr7KY=9Jn>J*0JVUQQ_0e(-z`YFmIHXSipG5Ifz^75X54ayV3w#dvJn#kJi-5O*;RF0Y z00;s*lsHlJfR^Go*7A!g6Qu3S9myR?WfHMuT+10rEpaHW*V1T}bz6%1kT4EZ*+#AA zt(=}WwiC4}K5E~^t+lhz*4j#RqjIL!#%ry=Q`tb<$~LmAqQ<7B^M2*i+GBZ$*oJ z6)kSAXz{L!7VoZTaZ5#u_f)jl&xw1rf3d5do^d5eJ6reeMksWa_q6Thl|#j<9pd-Kt^m_2IC5kqZBsgcXw_I&y?-#X`Qaw0e$&-b4m94s9{8ap~) zC$ra!=skKeX8t!%``J5EqxQn35c12!F@BFInS?ZUiY;n%=dS+062gnNk{QpBj+`zG zLx!2YtPi=7 z%iUm!eqU+z^ES@t|Nm-=z%DxP;cpUjksor-uH&~{AHQPziLx0j$61$a+ufHoqZ&*nTtIW^KUG2J4* zOm^GI%zY9??OKdJsg?{^@VN;tqa&z4OA(EEai*aH(h-gv*4D!sT*zg>a>C zm2kD(T_f^ZVUuXqNgtZ&=bX3eMZQMp6>bo2ls<0~ZWc{MeI+Nlaesx2hTwl%9A~A9gX5q}PZ6nW|Y>$I~lC)ml&jv7$WEUuRogm;rYul{@81?}DAY4bKb& zuc)FZSbC2IEe<_bY~+EVIF!7P7PWu}&>2eiT=6X&VD7f#ddJKfm?r3O-bSNE|C-6g z4VghKo7ryP8cQ6~vuL1{1%GAK^sJba@}Xxk$yB*E5{7A5WxZsrjFIdt*9L$8EO$HG zo6TjdSlL(@(#cYz=+Kf@0xn7!XjX4pFJ}--BvLY^rDADTw7`-p=R!**ol%r>k+tHy ztCWjWU-D2w#)+L`ww&lob{GliMHwgMd(p?4S~g|kDY-pkW0Av}XJCe!UqEM7YIGAl zNSk>p;x7R+eg`Q*CUx;UW;dOsbMye+P50AhC`mokOGoG!4bpKc&?t@38Gb;=hK3)n kCtj=l10#+sJ-SrleZY}%@bnM3%(O{)^6k~J!sm(q0N?jwSpWb4 literal 8408 zcmeI1Yj6}*7ROI#GMPt2LKJyLXknE1{jFw-dDC`G~~fP~;AL{T>c z6%EVcs$1o&%5vAo?y|mLyR}ujYx&JxK`nIwv9`9h_QU$cD&KEu&;RxWI!IgW$$G1qZ? z!k|xq&lu9@kiMW&qF$meQTPh@8u$jal<2{JSS*)Pb*3U@f}Of?@>Gfm;gxg!WcoNc6z|+7pz_Y;1!0&-d zxI7O%I3E}fTmVdvtQ=0{f;34&z9&OJ1*n4ZLP%2?j%g^$C{71v06ySi;1X1>n90&y z(ad!vEMCo!t^uwEnt>Kz6OaO0fi_?>gW7@ZKnHZ!L+XUI6H+&%8z9{XX%}!4a5HcV zgYE);f?^M_8|Vf00Jj3SG3a(kdx1Mpyc6g{@u$Fk-~ezpa1U@V@C%@{g5d?5hc7Ps20=cFzZ%l^&zaS7-k#An%D63 zTu?_;D>+-kaE`dFk(N>S>ItG4!^;)s{}}C}1+I+w-^2m3_LZ&#J9kGF$dV zqKT^lG1(W3NA;K?`xGwdiN;yzT^$RvyF0dQlIQqaV29$2E{&*#H+e18+IMuMyX5ee=Jdw&mW|tUG^FXV(|XADo$dy6 z^!rS!-!idB|Nkl~1B>X8gJ>Gv#fO{&Q}`{{$*nvkFl__&UKpG%juC7xaE#k#&JcvPm-xHNqY({{wYH^L`#x(l}wN2wyt8t>p4# zn=g)MrNUm+gpus`->(~*7t87b8c*j7QKg@A4)0?ht|p?xtV6r%T3t8T3A@6N@MY5t z#}!Sdi%1qV8tHEK^`Zw~J&2a_uPp{8kR6xM4aeCuno1Xn3Yze>igSpZZsk9lua#;b zh|mV)(9#XvTNO>A$-=ye?%}xp!SisQmp==+2Kdr35BqbNnVUj4bWcQ+Xd+Dz6{5md z70>q;&f&xSXN$`SXkqrYA@e&N52tJ^Xe^zJkA1zTbZ1(sCr|lmcJi5*SH}@ud&~am zea(B&+vjcbs$QSB#QQJLtDZ+ZJ)Ubk%REy(-?-m*|IvNFyW5>`*Sag+CtUw=9diA_ z^{8vVtJ}5F)m~OrPMzf|m%+6r3e&W(#?a;9Q}ZCpcfwFIX+^)(F-L)(I{U zcNYqIkzl>hET-eJecBR=Z0pk+=-=JDG?}(G?bVhF`BDmp_G*_2`Eoki+NWJ1S<2+J07 zW{>buh<5QzADyAvC+5(eORO%|L^cr?0v@mdS5c5YXudV`l#kA+O%p4kiEi2kOdMeN ze>${6EJW5SVa>|yWz$-1tR>M}9<8O)TIezku!i+J7q`x=M+yNdo?rB-XwD z8+?K?G+m9e9#2jQJ$*9yqcgGgDP&Ep+^e0HDbz5r`rBgGB7-D?A1BTZW}nScoF`a~ zt;DA0i1{;=O!7{FjiuA4R-s=KzNOs z$Y;SHAr&LoUgiKtc$7n3ESo9*71v|;#iw!(e^G=yyRNTgq&^D9Bp3Ggxnarl<_fuA4r5UJHXfZuRGk7J+ zJ_k4PNlfRRUE>4F0eXNQq&>8sent^mOY3MowNe{xrZja@7wzWrJJvH?yuk6Z+T7A% d$)ZOmOZ>!JGWM6|7Mq!pkuxv1mKDBU`~W2_O$h)1 diff --git a/makefile b/makefile index f97d87fa..cad8a554 100755 --- a/makefile +++ b/makefile @@ -82,11 +82,17 @@ DOSLIB_JOYSTICK=$(DOSLIBDIR)/hw/joystick DOSLIB_MEMMODE=dos86$(MEMORYMODE) # remote host (for sparky4) -HOSTUSER=sparky4#wwc001 -HOSTADDR=4ch.mooo.com#beta.latech.edu -HOSTDIR=/var/www/#~/public_html/ +HOSTUSER=sparky4 +HOSTADDR=4ch.mooo.com +HOSTDIR=/var/www/ #ssh port HOSTPORT=26 +# 2nd remote host (for sparky4) +HOST2USER=wwc001 +HOST2ADDR=beta.latech.edu +HOST2DIR=~/public_html/ +#ssh port +HOST2PORT=22 # # quiet flags @@ -396,9 +402,14 @@ www: .symbolic wwwext: .symbolic ####----@ssh -p $(HOSTPORT) $(HOSTUSER)@$(HOSTADDR) 'rm -f $(HOSTDIR)/16/*exe*' + #4ch.mooo.com @scp -r -P $(HOSTPORT) *.exe $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/ @scp -r -P $(HOSTPORT) *get.bat $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/ @scp -r -P $(HOSTPORT) /var/www/*.exe.zip.* $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/ + #beta.latech.edu + @scp -r -P $(HOST2PORT) *.exe $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/ + @scp -r -P $(HOST2PORT) *get.bat $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/ + @scp -r -P $(HOST2PORT) /var/www/*.exe.zip.* $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/ getwww: .symbolic *x4get.bat $(EXEC) diff --git a/q.sh b/q.sh index db78af58..db8984de 100755 --- a/q.sh +++ b/q.sh @@ -1 +1,2 @@ -grep -iR "$1" src/* +grep -i "$1" src/* +grep -i "$1" src/lib/* diff --git a/src/0.c b/src/0.c index d6a48249..d7fc2fda 100755 --- a/src/0.c +++ b/src/0.c @@ -18,6 +18,8 @@ player_t player[MaxPlayers]; map_view_t mv[4]; pan_t pan; +map_t map;//junk var + int main(int argc,char **argv) { static global_game_variables_t gvar; @@ -25,7 +27,7 @@ int main(int argc,char **argv) vrl1_vgax_offset_t *vrl_lineoffs; unsigned char *buffer; unsigned int bufsz; - int fd, i; + int fd; char *bakapee1,*bakapee2; boolean anim=1,noanim=0; @@ -99,15 +101,8 @@ int main(int argc,char **argv) /* setup camera and screen~ */ modexHiganbanaPageSetup(&gvar.video); + modexMVSetup(&mv, &map, &pan, &gvar); modexShowPage(&(gvar.video.page[pan.pn])); - for(i=0;itiles->tileWidth = 16; map->tiles->rows = 1; map->tiles->cols = 1; - map->tiles->debug_text=false; +#ifdef __DEBUG_MAP__ + dbg_maptext=false; +#endif strcpy(js_sv, "data");//strdup(js+t->start);//, t->end - t->start); } else @@ -295,7 +297,9 @@ void extract_map(const char *js, jsmntok_t *t, size_t count, map_t *map) { map->layertile[k]->tileWidth = 16; map->layertile[k]->rows = 1; map->layertile[k]->cols = 1; - map->layertile[k]->debug_text=false; +#ifdef __DEBUG_MAP__ + dbg_maptext=false; +#endif //Fix to load tileset specified. //And move to vrs, probably //bp = bitmapLoadPcx("data/ed.pcx"); diff --git a/src/lib/16_map.h b/src/lib/16_map.h index 103ff763..5cf56c2c 100755 --- a/src/lib/16_map.h +++ b/src/lib/16_map.h @@ -24,42 +24,21 @@ #define _16_MAP__H_ #include "src/lib/16_head.h" +#include "src/lib/16_tdef.h" #include "src/lib/jsmn/jsmn.h" //#include "stdio.h" included in 16_head.h //#include "stdlib.h" included in 16_head.h #include "src/lib/16_vl.h" #include "src/lib/16_ca.h" #include "src/lib/16_mm.h" +#include "src/lib/16_pm.h" //#define DEBUG_MAPDATA //#define DEBUG_MAPVAR //#define DEBUG_DUMPVARS //#define DEBUG_JS -//TODO: 16_mm and 16_ca must handle this -typedef struct { - bitmap_t far *btdata; //old - planar_buf_t far *data; //old - word tileHeight, tileWidth; - unsigned int rows, cols; - #ifdef __DEBUG__ - boolean debug_text; //show the value of the tile! wwww - byte *debug_data; - #endif -} tiles_t; - -//TODO: 16_mm and 16_ca must handle this -//TODO: add variables from 16_ca -typedef struct { - //long planestart[3]; - //unsigned planelength[3]; - byte *data; //TODO: 16_mm and 16_ca must handle this - byte * far *layerdata; //TODO: 16_mm and 16_ca must handle this - tiles_t *tiles; //TODO: 16_mm and 16_ca must handle this - tiles_t * far *layertile; //TODO: 16_mm and 16_ca must handle this - int width, height; //this has to be signed! - char name[16]; -} map_t; +//typedefs moved to 16_tdef.h int jsoneq(const char *json, jsmntok_t *tok, const char *s); word dump(const char *js, jsmntok_t *t, size_t count, word indent, char *js_sv, map_t *map, dword q); diff --git a/src/lib/16_tdef.h b/src/lib/16_tdef.h index 152f509d..09e86c74 100755 --- a/src/lib/16_tdef.h +++ b/src/lib/16_tdef.h @@ -57,13 +57,38 @@ typedef struct { } tileset_t; typedef struct { - byte far *plane[4]; /* 4 planes of image data */ - word width; /* width of the image (spread across 4 planes) */ - word height; /* height of the image (spread across 4 planes) */ - word pwidth; /* the number of bytes in each plane */ + byte far *plane[4]; // 4 planes of image data + word width; // width of the image (spread across 4 planes) + word height; // height of the image (spread across 4 planes) + word pwidth; // the number of bytes in each plane byte *palette; } planar_buf_t; +//TODO: 16_mm and 16_ca must handle this +typedef struct { + bitmap_t far *btdata; //old + planar_buf_t far *data; //old + word tileHeight, tileWidth; + unsigned int rows, cols; +// #ifdef __DEBUG__ +// boolean debug_text; //show the value of the tile! wwww +// byte *debug_data; +// #endif +} tiles_t; + +//TODO: 16_mm and 16_ca must handle this +//TODO: add variables from 16_ca +typedef struct { + //long planestart[3]; + //unsigned planelength[3]; + byte *data; //TODO: 16_mm and 16_ca must handle this + byte * far *layerdata; //TODO: 16_mm and 16_ca must handle this + tiles_t *tiles; //TODO: 16_mm and 16_ca must handle this + tiles_t * far *layertile; //TODO: 16_mm and 16_ca must handle this + int width, height; //this has to be signed! + char name[16]; +} map_t; + typedef struct { /*nibble*/word id; /* the Identification number of the page~ For layering~ */ byte far* data; /* the data for the page */ diff --git a/src/lib/doslib b/src/lib/doslib index 0c6774ea..bff76110 160000 --- a/src/lib/doslib +++ b/src/lib/doslib @@ -1 +1 @@ -Subproject commit 0c6774ead605d21c220a3a076faa79b31434a450 +Subproject commit bff76110ad29bd30f6f78efb7ec187c7207822c9 diff --git a/src/lib/scroll16.c b/src/lib/scroll16.c index f2a16e3d..0901f382 100755 --- a/src/lib/scroll16.c +++ b/src/lib/scroll16.c @@ -333,6 +333,27 @@ void panVmemManual(map_view_t *pip, player_t *player, word pn) //if (player[pn].d!=2) printf("player[%u].d=%u player[%u].q=%u\n", pn, player[pn].d, pn, player[pn].q); } +/* + * modex mv setup +*/ +void modexMVSetup(map_view_t *mv, map_t *map, pan_t *pan, global_game_variables_t *gv) +{ + word i; + // 1st page + mv[0].page = &gv->video.page[0]; + mv[0].map = map; + mv[0].video = &gv->video; + mv[0].pan = pan; + + for(i=1;ivideo.num_of_pages;i++) + { + mv[i].page = &gv->video.page[i]; + mv[i].map = mv[0].map; + mv[i].video = mv[0].video; + mv[i].pan = mv[0].pan; + } +} + /*map_t allocMap(int w, int h) { map_t result; @@ -640,14 +661,20 @@ sword chkmap(map_t *map, word q) //fix this to be far~ // bp = bitmapLoadPcx("data/ed.pcx"); // map->tiles->data = &bp; - map->tiles->debug_data = map->data; +#ifdef __DEBUG_MAP__ + dbg_mapdata = map->data; +#endif map->tiles->tileHeight = 16; map->tiles->tileWidth = 16; map->tiles->rows = 1; map->tiles->cols = 1; - map->tiles->debug_text = true; +#ifdef __DEBUG_MAP__ + dbg_maptext = true; +#endif } - else map->tiles->debug_text = false; +#ifdef __DEBUG_MAP__ + else dbg_maptext = false; +#endif return 0; } @@ -711,11 +738,13 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y) rx = (((i-1) % ((t->data->width)/t->tileWidth)) * t->tileWidth); ry = (((i-1) / ((t->data->height)/t->tileHeight)) * t->tileHeight); ////0000printf("i=%d\n", i); - switch(t->debug_text) +#ifdef __DEBUG_MAP__ + switch(dbg_maptext) { case 0: +#endif #ifndef TILERENDER - modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, ((t->debug_data[i])+1)); + modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, ((dbg_mapdata[i])+1)); //modexprint(page, x, y, 1, 15, 0, (char const *)(t->debug_data[i])); #else PBUFBFUN (page, x, y, rx, ry, t->tileWidth, t->tileHeight, (t->data)); @@ -723,9 +752,10 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y) //draw_vrl1_vgax_modex(x-rx,y-ry,vrl_header,vrl_lineoffs,buffer+sizeof(*vrl_header),bufsz-sizeof(*vrl_header)); //modexDrawBmpRegion (page, x, y, rx, ry, t->tileWidth, t->tileHeight, (t->data)); #endif +#ifdef __DEBUG_MAP__ break; case 1: - modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, (t->debug_data[i])+1); + modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, (dbg_mapdata[i])+1); //modexprintbig(page, x, y, 1, 15, 0, (t->debug_data)); /*for(texty=0; texty<2; texty++) { @@ -736,6 +766,7 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y) }*/ break; } +#endif } } diff --git a/src/lib/scroll16.h b/src/lib/scroll16.h index a29f1f50..8d79d213 100755 --- a/src/lib/scroll16.h +++ b/src/lib/scroll16.h @@ -75,11 +75,6 @@ typedef struct { * should have a sprite too. Map is drawn left-to-right, top-to-bottom. */ -typedef struct -{ - map_view_t *mv; -} map_view_db_t; - //for null map! #define MAPW 40 #define MAPH 30 @@ -128,6 +123,7 @@ extern char global_temp_status_text[512]; void walk(map_view_t *pip, player_t *player, word pn); void panPageManual(map_view_t *pip, player_t *player, word pn); void panVmemManual(map_view_t *pip, player_t *player, word pn); +void modexMVSetup(map_view_t *mv, map_t *map, pan_t *pan, global_game_variables_t *gv); void near mapScrollRight(map_view_t *mv, player_t *player, word id, word plid); void near mapScrollLeft(map_view_t *mv, player_t *player, word id, word plid); void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid); diff --git a/src/scroll.c b/src/scroll.c index 855ffb09..d3ff0ef2 100755 --- a/src/scroll.c +++ b/src/scroll.c @@ -125,13 +125,7 @@ void main(int argc, char *argv[]) /* setup camera and screen~ */ modexHiganbanaPageSetup(&gvar.video); - for(i=0;ispri->x = player[0].ent->spri->y = TILEWH; // set up paging -- 2.39.2