From 175b1d81cf1b15b0d097c299b37c170c2e985ee0 Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Sat, 28 Mar 2020 16:58:47 -0400 Subject: [PATCH] implement keypad, speed up portrait draw, move tick/draw to task so they can be debugged --- boot.jim | Bin 1360 -> 1360 bytes debug.jim | Bin 1337 -> 1382 bytes debug.jor | 7 ++++-- defs.jim | Bin 2269 -> 2269 bytes end.jim | Bin 60 -> 0 bytes entity.jim | Bin 1664 -> 1664 bytes footer.jim | Bin 1683 -> 1782 bytes footer.jor | 7 +++++- game.jim | Bin 4869 -> 4918 bytes game.jor | 2 ++ gameboot.jor | 4 ++++ input.jim | Bin 532 -> 532 bytes jiles.jim | Bin 1549 -> 1648 bytes jiles.jor | 11 +++++++-- job.jim | Bin 1113 -> 1113 bytes jorth.h | 3 ++- lev00001.jim | Bin 1023 -> 0 bytes lev00003.jim | Bin 2333 -> 0 bytes lev00004.jim | Bin 655 -> 0 bytes lev00005.jim | Bin 1512 -> 0 bytes lev00005.jor | 2 +- lev00006.jim | Bin 42 -> 1093 bytes lev00006.jor | 62 +++++++++++++++++++++++++++++++++++++++++++++++++-- lev16597.jim | Bin 12 -> 0 bytes lev16597.jor | 0 lev16603.jim | Bin 12 -> 0 bytes lev16603.jor | 0 lev16625.jor | 0 lev16631.jor | 0 level.jim | Bin 471 -> 471 bytes map.jim | Bin 1113 -> 1145 bytes map.jor | 5 ++++- neuttowr.exe | Bin 118344 -> 122885 bytes neuttowr.prj | Bin 5784 -> 5784 bytes portrait.gfx | Bin 8192 -> 8192 bytes state.jim | Bin 271 -> 271 bytes testbed.c | 29 +++++++++++++++++++----- timer.jim | Bin 453 -> 453 bytes 38 files changed, 117 insertions(+), 15 deletions(-) delete mode 100755 end.jim delete mode 100755 lev00001.jim delete mode 100755 lev00003.jim delete mode 100755 lev00004.jim delete mode 100755 lev00005.jim delete mode 100755 lev16597.jim delete mode 100755 lev16597.jor delete mode 100755 lev16603.jim delete mode 100755 lev16603.jor delete mode 100755 lev16625.jor delete mode 100755 lev16631.jor diff --git a/boot.jim b/boot.jim index 4a4ad6896352d885cb46429b890ef3b9224a7284..907f1f7d616e8da479309a54ccc7a6d945c76d7b 100755 GIT binary patch delta 11 Scmcb>b%Bd1V9iD*KUM%4v;(;S delta 11 Scmcb>b%Bei!+j%@A1eSE3j>S* diff --git a/debug.jim b/debug.jim index 40e8fe12096016e66c220132cef7002b98ada930..47d874fba5311e1a468e7d182da44a58f689da09 100755 GIT binary patch literal 1382 zcmah}O=ufO6rR=2^KPQX7Ks#c5r{ShL%YUpNDfH|IFTqOsjS*=c6N3{qqWwq>{zSl z2bm=?S*V~k1k~nejOn3np(%nKil_r6_r%bWLvHEGhaRdPLLg8|-;5%=ZVwTxcHTGd zdo$nr+1&lHs5xGCIJoA@)dAvG7LDaHNggM}H3vw+oi~a-^QNgwvzD(e%Kba0CV|MZYxPQiT6pu~MxG)>;(qwX9m3uL?4)a^cjoF3r){ta>hg!_X7GcTc?{^-{TK;NIXG)=YB@+-ZTdl^BP-G8#;iffo%$qe%uE`YY#PaF*kNrda(l(aZT0dL!dHmRN^E%#+d`}^u}}A~pR9=D))2gl<#`+r zVF#T=m2aWFbu@(M77({QTJR+?LgM;}8ba4<3RE^%2*9O}EWBv65RyEB1y52TcSP;W zJ;qgJy@!$7S_jfF%sbGc`2k&niiad9d$ zemOTek)4?)FA_lR9fyN}^}NC)4Ip&WdH z$P+wp!9J#l<4WH0f3CYCqipl*c850LciSzCAzFn7ytI*lYcV_zZAEc0H}S}Bq=nrb zpvV)>Q#%LmI}Lc(Y50{ws^r&FbAG*4kR+k=FI!dWB|+TgyF7$bPE?V}GV*gZIfijv z^jk`Oin1>`*pi>2b61;oLdZL+GU|$NictP9-Hy<`3XiDJEyi7py0ApOdSl<$f5++R F{|6YKgA@P& literal 1337 zcmah}O=ufO6rR=2)2dZ0E3K4M1j6aT2d{Awl0YxTsYGyoq{Y_kkD+xeX>EiPtyoFO zEbU=w1ho!9Bsqi_Ls1VYrH4S?j4Zop4;4te z@0<6%dEfidx2Gn;W1qdUR0y(>T#)45C3U$%5(fwgvLGqu7u8bVjI)q1YxC75asCNY z1W>qGBe0I&d@av{%i2_f>&&Aah1-|Vjtk^x zVP9i$sx$73t*p_^_!9FC5c1`7ZV%n|fe&o+! z+^6`|;5kO&hz~!q2q`$_YWID$$1hM^>f|Zan4HRC6iqpda0()N3MSbX zVUH%!KB{nQgGo9i<9H)FIw6l9i#1?MPnIg5CdnFjbOpbU*qy){IH3-`4PEMld>Ge5 zQqj)W7Z+_8iCuaEV@LE2R?wk;fT+#}=vR7JBs7ytYwA=6&pi4kTczvDz~hQOwC9o4 z)6=^?O)L?w!LRzdqQPsuLyrWyq7wt|eLW($(=4OrvT8b$LUIaRbmg`EL+@AP^K6D! zgG0lHBvpmet(}_qFoIZFU=Me(8)deQ+VqY2oDPKeIFt%qq=7Wn) zyvs?nZ-3;&HwKV=WxVJJVt~X#qp}ZIjV4FMaQU#&_YsZfgXY7g5yyrnD3?1b59Iz} z$jBPQNFAjMDcCZ)(8D+W_2HQj#<92Omnu%FT&v=2pFOZ;5d8e#^Q|#V&P|%?$?5du z87(`N$<2^AaUdtme?~kc6i_lDryxL*ax64t@?5iKloT%5^RBvgJGy$f53_L3^e7k8 zL@R-t&=kL`h$V2Y@0)GxN!^T)Dh~g9^d^#jGtUnt1hpv$YsMwXZCkav)VgI7oUw`4aN|8 zj2A|%k42_sd--4Kj)*98Cbhb>0hg_Og)h+xG~kAX3F13np7WL@<*_!gz{@}zr`to3 z53FTNgI}x${A4v8x0ozDwd8_RFBb)g>%3{nQoYQHb7l*LJwbas&;KU4m^~@#ESItZ Xo0Lo88_c(tTf7DRO&&=4Ye&*M4rp^M diff --git a/debug.jor b/debug.jor index 52584b8..22d94de 100755 --- a/debug.jor +++ b/debug.jor @@ -12,7 +12,7 @@ defer dbg-cmd dup $DOCOLON = if drop else dup $DOCREATE = if drop @ else $DODEFERRED = if @ dbg-first-ip else - drop 0 then then then ; + drop 0 then then then ; userword : tail :| rdrop dbg-first-ip >r |; , [ ' [ , ] ; immediate @@ -84,11 +84,14 @@ array breakpoints bp, bp, bp, bp, bp, : set-next-breakpoint ( ip -- ) free-breakpoint >r r@ breakpoint# reset-breakpoint - N=!`hH8fpXT}A*p#Odbx=O45##6SlJm|Sh*Rh zBV*_u)I*>_rLCa|atOtTwBY_g@yS8$r4Rz4P$-3-axo=Tlm=2mKz%d2a@<1^tDX0K z-@JK$v-z)1#r`?cOS|C>*_A2Gyfd52!_(woupx)hn!7xG1xUJ^XmTe1eC9;&jUt*UG z-yRi|sKCe!*9DT@K*HW0)fFPVR&yFiZW39{#bpj(MA-DxyKIKrtJ5+!u~zlR7Rj^mG%|S$J)5_b0rGb>QR8b#b1~YaN`M!JsdBv_&R3W+S#I`N&a@e1J$_VmgneInvSk(w>y3pW>S-&!Klr zF5?%wh3YnX-^P6%a#YLHKTy|1x|~n4J{0%!eY6)gvl={ zcM*D`5eBiQwXwo?)lGb!XAKEVg32yg0#1o-oB~;77jBa%vPZAz6iW3%g@x6l{?DVI z=@>pk8#wo|5s8jQBVk>YrwmPb**tC@pE#5l|5A?tn?t-F{%nU}SNvX=MOi$F!|_Px zx2oY5-0~uNe`&l&vovO$8TaT(^1JTQexSfA@y~&;Fu8(dz`PtXM!|NR8_k+I46}uU zy(h6lx+uAy>XLK#1$YCK3c>L3vj)zLRVq}=mEhCwKlg?oFXi2b}{V1em2S}Wsu z`k~Pw53xk|_~91}7M^WHn2$=+cFX_c*6 zJj0aMmYjOgEMaDKAB9Ld8la7`>tn)HdZ@%IR*MXc8E`rs3zRDbn>)Q{(2xL^nEL&~ zP0Ku>4qazzjviEtq2+WK){4zV?jUB6+sv+7O@4MC9gfBCFsN>=uKEYlZ!kpv!(%Qu w3s{mCRxAz`9I7mxfZO5@)-`f07r&0*3Q1TD@_O?Wned)zynxqw~@U&TVgyj?Bkla5t1;m%Ns68KAM zliu5<8%SZ!B5HZdQrWrWFif+sEiQCWA7}zthPuCLw`XH z3H~0hbPckBIkm}8JhQYK_T8t^t)l1(X(D3;{Uf-&q=s4HidGHF%QHV1NKsZ^mwu?q zVBW4&?FE)!lblpt`lTwsn>Y#pU*l>5R|0&Ct2C}e_z_pH<4S^`RSM}$YVtL-2>gah zSc+sX!cBEqx<;c~3+JZW-IHC~Aln=}f!Mz6A&)rnDk6I_HhIEp`9SOSJ&~_DNLnKubVW&5?eM0o^QL?sV^jTD z3q#4iZ6>_tA-myoSA-^1VX+Wn?sOCy6 ztPb^lF3su~K0|9b_u)R7_J@K2LsO2&bv2eal{j_exuL;=9t1Xrcs;z?7GYO8}jBbd-FmyL8oOV3qjiz+>!k2Frk{{Gj(k(YEL6 zl|(Ph1`hVV%noTI<>7FfoW(D|IZR4~-r-MloEfu_D_bT1=mzP~J$ViHc1RxkdDXxI z({;4w2eb6N(IVSeBGX{u2?h)Agb`#KrFzk^{zv5Ae?;E*MOL{8%Rn$(I%mkRG*ir# z=a%8}@UGsyZ}h{`O}m;;6fm=@hr*^2^3j^*c$o0`DHE$$&NFmNhd+$4&z#Q{xu|JS zQ2;59y0>zRX5tWAd@+t}jvi)9;>+;>EamI7TwqHllguugb$<3L3JyfBGN@`UEO-ag zVm!nf?wE-gdj?C=z=}nnghQ30N8lsr8?5VQJQH~fzsV1W*_fRK)|aEe?o=nvy0(H% F{TG2*$qxVk diff --git a/footer.jim b/footer.jim index 696c590b396834e88b436d606299d2edca835239..f529ea94416e2c189ade3050c55290b0eb7dce6b 100755 GIT binary patch literal 1782 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 B-^Ty| literal 4869 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 diff --git a/game.jor b/game.jor index 57ff227..3a56846 100755 --- a/game.jor +++ b/game.jor @@ -292,6 +292,8 @@ does> : create-object blankentity dup link-object ; : create-linked-object blankentity swap , dup link-object ; +: create-extra-linked-object blankentity swap , swap , + dup link-object ; : create-timed-object blankentity swap , swap , 0 , dup link-object obj-ticking! ; diff --git a/gameboot.jor b/gameboot.jor index c2d989f..3133d69 100755 --- a/gameboot.jor +++ b/gameboot.jor @@ -19,6 +19,8 @@ defer tick defer draw defer loadlevel +task :noname activate blah begin tick suspend again ; execute + :noname s" input.jor" loadfile s" timer.jor" loadfile @@ -33,6 +35,8 @@ s" game.jor" loadfile s" debug.jor" loadfile ; execute +task :noname activate blah begin draw suspend again ; execute + ' load-new-level checkpoint _loadlevel ' _loadlevel ' loadlevel redefine diff --git a/input.jim b/input.jim index 88d958c5b356e067e99e70e27c17319c87ac3ef6..5f0fac93998b7faae8cf0a5f6d29bcfbe669ee70 100755 GIT binary patch literal 532 zcmXw$J#5oJ6vtn3cXjwEU!tj0`5hGl%76t@89+jnLgG*$ZLQb^lp!K@42s&u#kGmZ z7KsHW28K$Rm{?dDL1I9RnJT1?3`~eD46wBP?TYRFe((M7?&+NOS5N$z`=|@~J@dz$ zq?YYg==V&H_Dq0Rz6Cf<-_0p>Ry?}_G-+ZgYE`^O9mI5C=BafPWisI}&xUZO?DS#`UX4&I}?>0sl|?WGi#>0#Qeu0B`+IrM}J z)NglVYa@70ug(mlF1n(r-tdCqs2BWN4poAD(g`->HU=I|zeW2qk7QLH9*$&5%!|Lq zyl~VPxRMyET|PyA5=B8Tw%Sn?_ID7gu~lrUpIlWra?~%L7*8{E0F#FyJu$usFLUQ~ zRY|z>ne#Ju39bNF%G^+W<+Df6ejG+ew^+$G?%C&o+~+Z#cweU*)O5PRWqq8squ|+k z631bWxJcC0(-e384XYEZhe^*55WX`@SZ%Se25L_TJY@ame6-V22h;OH8g>8qJZ52oAygxPoYN;k;|w z;9#6erz}pvp;Kx911WUvB!MnY4&orVbm`(`zwe3L^Z7i__kG`o_w(Z1-TuRmDwXJ) z$B#HwZ8uN<(gyWSKqa>T7^g#X1f7+NT?R_}VG63|E9D|c(UF;;>I;;(qvR!bx<$Sl|HLzzt)3qNk|Nq-z+X^T&DXH%|dBy1?12Z znW9c@Gqkq6PxNJ?%cn9fTNfocpLE14+2=hmhkVrZw!<0*Hpaf9y(o2^){y zF&u{*#%?NhXK*RF^Vs#ozMQ;y_B%hgxy6dwxaUB2`GFkbiIYliU?{!8g&d`J;C-k^ zVd%F=Wr)&hjKa;vmeus?e$;As2tR%>qZG!oYJ`?ctFEp8!l1$}>W@m0tM1TyKict{ hey0_uhS<8UlGND7fnF1?%iGFj13shDe8_&G{~u1xi9Y}U diff --git a/jiles.jim b/jiles.jim index ead598bcf9dcdeba1ba6973402a815ef6d38d557..6dc40ffed1957d9bf6ebb5347ecb1e2d96f65c97 100755 GIT binary patch literal 1648 zcmc&!|7%-S6u;@acPUA?rq1j=tFP<)L4=uh?tKk@VXdK3p)=ZUj7Y~y-fJ68^WsZv z(t=+ybm(+Yhp1S({m`FAo%>;Rx*zHY6lGvQ)aefj&LKJ&63U8L1?M^UCT0Ew2J+tL z^SS4od(OG%zT}5{!hd$Y8h5rh+C$nFl1+PA&nN1RcH#i_n>0cST9_2_ex~SVa*kUD z6GDz^+lcRu`)*+}mUCUlb-4WQrm2(hi!)q1s|A~;TbVci@3D!b{+4ta__uc7?TjIgU|N8p}8pHdt3lcs@XK9s2>5Ec|oz>@PlAYJ9 zRHZeo2KBwAx02nWYiN8@TbCC*PHIv52CHcm_KDs`9Dl47%a3KvQNU^?}29@>6V0M1B-wb()*QW0=6L%P>tTagu!nZ;7l)6?V#K7hZX@(eDt$=7+B6}E1K z8;+T>n-!-JFt5o~iXDraRT?nAkFxb-Z;HJQMkmZ%5!?$6qthUrHg8v!L0LBQo?rCGGDU7yVUL*G$g}7c z^RiB?m`Oj!$M?d2WE=o4*UT1jI7QZ@50GCF9s(F6b%etJcapyljsU!qFbm)Sz+EJQ z@M(bC$=wJa1K30ELwFEiFL}^nPmKt7bFX*wy4kux4%M=Sm)0#UT=?x@xQKmJMC96Ww;RGt6$Y zF;M724VtGsXpwGwYEWnhk+u{oQo24AB3LNxLv87Upv4yHva}CIA@Q7hH)8*SF6_+r zefOMm&yRcO?16#M?2B(FT3Y9{qSgxeQ7`WW5bN%QIi$fl4a0&Kf}$VfN^Y)@btlmT z;JVfUfjbts#Z&Qu>t@|7mw(Wdbs1*DE6QChCRf;fRQ11^?^s30B98>%$b6 zTL%WTMpVQl5mnfZ#Z)v}&pKZFOMdWj=p;g#ddOKu; zOgZjn@@}c*qDftG*d`EBvlz3>Si<-YI}G%c;DNNDUPGnanPh+CezeO^&%!i&B*JWd zF3bfCQ&$F~lxEtf$%_6+r92e9HJW6uA@CzrY_eB!*ajHD=RW9_gtiA+7&S%T8C_4n zGDHGB#uga&J}A1Qo)=_a#ezA&awv}2b=e@CWVi7xK|`vrs?jODe6L78_(G2_jjBxl z3j5J$6YGDjLB2Sbh9R}8rM}ZfsJMePL55E*A4{=MtSfkYddv~d=B=+eBagF9 zk3B8p+~c9uu2$t)etH|ylq~#zLI3l5lKpDU$|A;J7=x6DsC2%xtvkgYTMk=WtLfV~ zYqeLDntsoum2R8nO%dvx@8F#LA9Frrm)W3wY~S(WLkD`{5*sq7Em0pk5G4c++;@fl;(pF5?IRDsATM?PGGtq_?=Gu8~a{>8Q&gVJ5jQk+y zU)T;~P}5)I>^o#nu!d_uOo5Cj9|x>d(xqs9Nj=P ztq!X}|46hHeMcRPRaoZP!1y_u3E#!ADRv?;t?uGir mousexys getpixel r@ != if - r@ mousexys putpixel refresh + r@ mousexys putpixel + mousepos mousepos>sprpos refresh-xy then rdrop ; : gfxfilename @@ -96,7 +99,11 @@ var copysrc refresh-needed @ if mousehide draw-preview - spriteindex @ drawfatsprite + refresh-needed @ 2 = if + spritedirty b@ spritedirty 1 + b@ spriteindex @ drawfatspritepixel + else + spriteindex @ drawfatsprite + then lcolor @ 77 0 drawfatbox rcolor @ 78 0 drawfatbox draw-palette diff --git a/job.jim b/job.jim index 7d460025f63cde85c0bebe7bf75d80097c0517b9..c996f8756694c2f663555f20bd9c457f3b4c068d 100755 GIT binary patch literal 1113 zcmZva&ubGw6vxNz44WF7q-vx}3sq2rx}fbTv$Kb2Jot+S5-$|H>856PO&jQ8 z!6H_WUOerg2k|EKq=<(?E>a8iFHq^R2caS&jUf2mY|;jGVTaxCdvE45?|rkcej9ry zw~d>0BlRd1C#Joi-K$M$j%(Ikt4LN87or=fL1I>`s5{zpZFa6|xt5GHkCx9wAebs8S@$iGa4%bIP&E zsN%ERPzXdt(={Q|q*r;FC#laKLPg0{m~Ao>>GMm)>j!`~Kc`H~OfNpi<2&sorBswVE) zRs*`Ds62q2J$?jpG-tYO6}_re>?UPcgdC&|>qm)g&AZyH=}wmc4Vx{mysNeWu)hcJ zxsI?oz^lx5Lp3)%X*05+4~S<^K-Ii6Z(x8X9|VA}&ap`VFG zMUxiTEm*VaW)d5RYL=D6J062C6-J6TEs38gpN)t(sa711Zdnq! zllreq&Klhz3>zwMt1Xx~_Oif+jg=n%bUpJ`gr4~zqQtTvc$Oy*0E}%NTTn2XbaEhc z_n5@VvO7jN!1G3wxb+2eEkZ%f-=5t7nih@8X%^VJfjrp0wz?!6df?~HAqU0xJ!bjsD5jxuS_P zn{q(EOFL=+Jqz~&22^T*FsOwHu6+b?X?aO_7SV1;Gg3fF%R5JlhZwHy zR)Dn)QDq;rwb(N)BfUfCHJ@$3Pyt*u3r;6*mHiN{?Z!`9KPlNFQ%BK3+XEWWMxwi# zN2l3E-2$ zREl-MyG=M{goIZOMnq6xpSUq$`0SN&GE|gm!I>8_!Y*+vBFviJgeS$i3BDzG`|J -#define MEM_SIZE 24576 +#define MEM_SIZE 28762 #define STACK_SIZE 64 #define RSTACK_SIZE 64 diff --git a/lev00001.jim b/lev00001.jim deleted file mode 100755 index cba1b680fe7f6c7f33ad2a2613ee2426d5daeb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1023 zcmZuwPe@cj9G=vNSYTd~I;g)5LnK|af{+fT?o!LHyQ^*#Gqa21?&y2$+c(?1d2U*U z(j`1~2oGI~=nz3&>d;BLMgO2v7F~i4-BJi5sY5ewH6nVa$M5@o-|w66H*@{W{zBjI zRr0MdjgMmsIi8XNt+vIiPBhfD-TXA!(NzEcakOS#!RH0DBavt{iXQh~>y24^HET0u z8TEBS?Rba0_youlg026?D5TOV)7% zDh;BJ_FE*MY(O{AGfn$|-|Dh&%H0#DysXO`_%q(ZUo=oOz?+c2jJD8g{0p}bM6}Q` z4RmHr$26*<1LQC{q|3f3*M+7v0Hlu$kpT@94RD_t{%O>Pnn|2Yk_53(iC=P*#%QR8 z&>hr(3dAEb8uNFsOy2Y%ZP_J@WRx~xcGGnH zTn^?3q9+HVCuDK(7|oHe@v}8U@k~$G={S0Sp)07ZpA6%!*O`GIBKKROUU0M}2EE3YznF*o9D)t6v3Qr27$*_O~~^9ZSE_W88`C@rR^|% zU|9lROL|=D02KJP2;5S*!n(bZ5OUYrr+S+w6iCiWCb-H%s6l6i1YcCR0es;_>4bSA zPzik1GtZ&KDr}CIwCP=~mO{9LiZf>`&=-KsxH>06ZB{HBTKE`Wg)u+Dn>!1PS*<8$ bwV13<2SXw7+jA6YdXL6d{#oRs3+ZA_Bo+f9LyLxwN zjqb$`WFS-A1Sk8l4flp1Q^sI0DjORL`?SH>hly-oiW_B|_9wEm` zj-?o91_GF13%CrKl-ObRB5Sa2auBTh`-Uc3Zqwv>c9NZEr@^Fr1c0A|QujciA@VM} z!afARL!gym8i0@3BKw+s!9pa%k0A78F7#M8p(IVdXG`n{7ADg*t2D!1aUg$G{fzBPWed+Wrekk);*yC8g-TMloX z=npj>(ctaTTU5e^bjO^L|4{JThdvjtpZ81enlQmrg zE|oPSBOPFJCZHqjI?&|3ZKkZX-RedR0*j z@G#(bwl*t!)N|_Gu{pJD1gX#6x@DWSu{P)NY$va~(EwUMirGW~jAtZCmzB5{X=Mc< zLel{039x}bMPfRg8yS9TbaU$7s3N8$Dk?DpUzrB9r4h{Y{d;`H z)eM%0$Dd{AMk7?Fl?L~`PEEf8Hz~z2Y+6MBjC6B4*- zm9Ztan?_+qd6hv2#b^RDm#CJN^=QHvmlCoPLkwH8G!hd8kj5ArT9FCnvL9T?RA(8C zDC<;JR=m#vl*+@T)Obcrr63nQAu9Vd16)REyB=)Wc_3ybnw67D+7dyKk){UDTCG?F zj+hl?>^Pzsnvjy|NYLUS;x;XuSrB?AdWZ{Re~@l(&bB0r=;TtG#S~1-zv%<%4f=IuUSF4b8bC4#vj~1{QmXFCSLi4WY*0h%XklEz- zt^2Cz)$WajPTS5Fm%|$i{h@8zG3f+0qmba>G7k5}SkR1pV2`?t39AWy4@OSxC1XokEeeZhH3B^gYbd#;66ZPLlI9_KKCFyi;9D*R(9+myhJQ}2Hr}h-B~-cDAO6v zXQ>Cj9F|?dj{0!n7^NBqA;5v_OgVms{#r4?Y0YtFJX*70QgHEuYl*YU zYqLRSjag*$LQ>Z>{Pnp%t<#gs;S0t75O&~OL$8|lOmHir$7LfHOs>vt-?}fBG#Shh zCeRL2fuN@AG+R-K(HjXIcHU%QGw8mx_J~fY#N5;@lwOJ{3i99p3m!@86Ta* z3*k@$mK}P*VgFpzIQTbUG10UNRU+1wJSP6?BuIA1qZJ3;EC}n=m=K2LSxb%${2qO1 Vu(e9-;B9rR^A?7;&G5D${0j;)tI+@e diff --git a/lev00004.jim b/lev00004.jim deleted file mode 100755 index ac0a4db1745da9e02e47290b91b69cdd919b11af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmYk2KWI}?6o-##Zc|e!52baG;>}P&Y)Yz~L_)v^MXe^L_uOEJkTmbUquhi@UHcK8g1fAKQsj@DRR; zKVp;O6&-)=OHx|FU|Wo02*Z$7D};L4@YE1=wSPYz!UGtA@@zaPc@=nIB;_22^sLt+ zS*p?1MN*i+vuF~aA_Ks|fHQajZM;Z;s{8{D4LrPtS2XZRmFugD@Cr7>ExeDn36N?4 z3~0bF@fe@s69Uw601~?XZtUSZe67I}sk#|zbqChL!VmZvKN29-03`H3Y>4l;g}(_< zs{ttLH{OU5IWG4|4d!;hb*);(n4FOv!@@`B^X#0oFvBu(729k|j)CoXeh{y?o)!0< zKpz5hjOU`sqPdQtZ0*66xiEjiwF zf3;ky^Mn`mibzSFJqz?rO?*~BS%hkCsCU$L6<3H(U=liKys-5jRiO7EpK%!A zS()d16a9!9=+kr`1(-+gj@vRb=m0%TpX2cJk3>h&QTj4H&fz2f!3519g}y-jy-52tuncRlXhe~IlzCw;m?{r*T0 z-E9=mr)&?(B{POOVn?G%=al0M)-8O(xI_Ve#de__G~SanEg(15KZxF1z&}H#3T&jT zJm9z3raD0y#SdIpfZb+JG?2`AjGUSE*oluCh%$O=nPhB-~b0y^?a zvzR}022X3zq>@(0NHCXE%$&=Gy4yA!oZWIn@v0_kE^VojBZ0rwR@p7^;}^?^HXH?f zN^_#q>714KR1RnhH#Z>=9~T|16T+r{Nm$n!#aKnSOW$&=YqqRY@0Vki6>D#A2SIM+ zMLkUnv-hA%P6va-#4`H^O;eV=Uc)dXc$}u$@AhCe2cgNJ49zHli(ixIZXF(@Rtf6E! z&le6`@wiDKZiyad|XHe3{spR8HwLcxmBpdQD#CY6b&#@mIoPCDWEe z+L@EZ_~;NZhu}EQHhZ)sTrTtXO6xdGnt+J#@bYye`1i#fyd?S>9&)X~m4NfRSJ}rR zpQSCwN=x-x-iz~VSrn`5Uw76Lz6xqr%bRMQ%brgOW3CN{ hUk=Ij5`F^llbmb)D^TZ>@P1ffSUo1yxsJsO_+Jrc!0-S7 diff --git a/lev00005.jor b/lev00005.jor index 04d4228..4faf39d 100755 --- a/lev00005.jor +++ b/lev00005.jor @@ -11,7 +11,7 @@ lazy 60 over 19 9 timedswitch ts 10 9 door d2 5 6 door d3 >lazy! 10 2 door d4 -LEV_END 5 12 exitdoor dx +6 5 12 exitdoor dx lazy dup 11 3 computer c1 ' c1 7 11 computer c2 >lazy! diff --git a/lev00006.jim b/lev00006.jim index edb7f3cfc87c2174f59487d1e08cefdb09810d8d..f8f54de8ff1d3575ca91f3086241c2057c9777f6 100755 GIT binary patch literal 1093 zcmYjQQD_`h6usG*m$j+3i*Wj9R~UAJ%cX5VCH*v(9t zopmz{7FSUu3g*WT@uwAvKSEOwDQK|@{#3-`hbRd8CB>g0)sOvgy>HWm4$RDZ_ndpq zz4y(OK6_;OtBSFF+%)9vb3;&s=SQvL!^^;zAyXiaz(3g(9FW6M3zd^kcsl_TJKHth zJ_LEW58C9%`IRurE8q2FSkG*w=h9=cV;00-K;w$pF~2dDQ5J8>E4-Q*EsI2M@ah`h z?foS|y!(M!Ww9j3WX|ZN(a_l=@H%H*W^^mv6;H_#P!Y9vZKmYMOqykjgSo8v^JrIm z%9KH^JCzifa!jJ}w)w??JOZ-@8eMTy?t#c5mDg;p_(1MpZrp5(2kpoBf@5+@K9So> zZ>4{gJ-!Pf1^Q|5vn%e%{cxUClJ|o+3RSD-C>S3Fn6>vp-ANeQk-cTzwubLRBWrfW zf<1f}Wxw|q+u}H_XFBHBsCzs_1v_gl@#<*xYQ8OQ+6zvj5l&+>jwo=Q$imZ;t5{;! z=}PQ5xDxqJpc)Bo8)74@)h&4L&W^ zLiJ=2I}s*fE5iBhV?ynRddgPi*+8L3uQ^EAY@KJKqD0p`WWQ|dA$&Jz{mbfEkK)ND zM!xIC7A~*=^D4SX-3_4|HWUwrBAvWp{*EO9q&xYqTJ$`R3l5_wvGA@=5XR`ohbt$X zSXb9*)#^N+HJ*#V>S&1)k6))xQPD%sM{>yzc;L9|H=8_0?uSPiYHG*aoVhgf@8agn ziKVXiZLup>>=dXYeEyv?@4k?N49xQHbBdlO4j;WIoEa+7IXbJubGzY9cm`aGsjkEG zyWtJE2p8x*dXvL-t)19f8(F(RKbarWC-jkqwEhm18G4oa{Y|<~pKC~aY(p2>BceAR z_?~{DAGOaKL)Qky-hf-s@Bc}6=r0DE8kl@hJKcak;BV^F{mbi_J^bAZ=%weZjZ@z~ RS`a4i?`>V?^}d(7;(yt2M@Rqw literal 42 vcmeBh_lwf8H;$5H@QdmaaA9R-_{siGKGmgG(S?tile? if + runon pady say" Enter your 4-digit door code!\And have a super day!" + read-code keypad-code = if + pady say" That's right! Hooray!\You get a gold star!" + drop EVACT + else + pady say" Ohhh, sorry! That's not it.\Better luck next time!" + then + else + pady say" Oh hi again! I missed you too!" + then + then + dup PAD-ON PAD-OFF handle-onoff + PAD-ON handle-link |; listener! ; + +3 1 door d1 +17 1 door d2 +4 11 door d3 +10 9 door d4 + +1234 ' d1 3 2 keypad k1 +-1 ' d2 17 2 keypad k2 ( must be hacked ) +3456 ' d3 4 10 keypad k3 + +LEV_END 13 12 exitdoor dx +' dx 14 12 scanner sx + +:noname O 5 1 tile>world Jaye entity.pos! 4 0 tile>world Neut entity.pos! with-gord - ; ' onload redefine diff --git a/lev16597.jim b/lev16597.jim deleted file mode 100755 index b4d632fb6e99a37952d5e7e80a50a9b878f3dec3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmcCbuqp%q73c$w diff --git a/lev16603.jor b/lev16603.jor deleted file mode 100755 index e69de29..0000000 diff --git a/lev16625.jor b/lev16625.jor deleted file mode 100755 index e69de29..0000000 diff --git a/lev16631.jor b/lev16631.jor deleted file mode 100755 index e69de29..0000000 diff --git a/level.jim b/level.jim index 7b4f45e2a03f335b4d6e3e9d82316025c1377ab5..75052db1ad677435ce2f86abe0d3da4081728b29 100755 GIT binary patch literal 471 zcmWGoW56BmDC=^XG1uvVEhj@xYFTPdT4qivgRB?>GRSq}VgL#w%XT^OF{I{Zmgpjc zy9BCOY&lYxqgd}a&2$oFsdiFec4GO-KGR8!}%603Gf}=oVCeWFDt)@!N$3fH47$}n^*vro9C?C91?(FUtV*TWvK!N zRVgqaSY4`ECOfkkRk0j!t_AYNT_&)sa}HpYbSZcK$Y5M9j-CQ(Ba&hEfU8xyY;(d>j1o1j-IXc3Ow`o(z(7d3EVaY(>e*;t6= z7o-r8{DPELVkiCp1EL@{sp8(9UsKHNyf=@Xd1uSo@J#N5?g#R`J)dB&OViXzd@s{bm+Rm`F1L__KH%>E}K@y z5w*y`@X8jc;7O|vr4di$!455I9$eCi>|f~uPRYPGDo}64#~Vtrs(B=S74UTb^Vwc0v-K6+rjF+-tC z1J+vi0&lZ*w^?6r1ymWC_`-DG4aEgH)UUA|;TPp7p_e2^`jNyo+GXi; zcVtGj@FltYy){Cnt$xf~^y+?_D5@OCGgE1EMf__W>(gpFiWU1<&!~s`^w{rmbWD{~ z_&EJTdPQ8YnLjUY$O2Bvr|F*wyKM7rt5GXvcJPsSBwEQ({6@a4w$|@+yTH3i-FC5R zjE*@*k5N`UX`!6a_n#xa$S}*5Iji@WABX9;z$iYZ|MIu6Sm5k%v9hcX11Q zSf|>LHnVzIrdkg--*&~f_BQ^C+cXeA)(sokn$7s>h2mu&xD^548KKy>Q_yNO0Wsxc&p0ny=5_ zqzr|bOD2Na#=zGJt%HAv0~)iem9+zt7qX!VEflYa*lgA6u?tN6MfjSpRShOR(B7C# jJ0@DgZ#HAvq0SnoLody6yl?g}qZUqvdVi)r6c6-2Gbl20 literal 1113 zcmYLHPiPZq6o1LQZzfGTYYN+`i$t@xE`Bo;Z{k5oW7Mu`CZrWh1x;usIv6*#6I<I5P)#h)FPlvX912Wpl~WbU8R!- z7t9nKcbuwOC^@smhvgJ#_TP(nd71ij99#7vGwr)Re``JSDf` zb%=6Kj^iKu_8SYrvi{K~mFHo7gzBuatxb*{G}B|}WCoqgQf5IcSj_)HK9*CsEYD|d z5q90;+0{ZTX7=!oxFgz$K%}e`EVh?!u$}K-B)4^}>FF^?@6%{`usz(^sUD)D(Oy`| z*s|+;Yr|FQ;g-RFyR9sUzbMuQR>Vtd13B!rwvKDq#|GW~YcZ>jcj>N=t9vTqmDR=H zu}gt?8Gp8rTeBLiRvHa^&!GlO}|Fkzu5hd!@bz8HpqGR zX&>!%ysC4525oq4rzs0-^S2`2(RngF^LP0CCzP6>&%b3Eh_aoC`Sq1yUnkTa{w=mB zW>u}KTLuqgMHOlw61haI)vh<9E->*o;i;Zl)0uQr{bVrh5Yd`ms}<3q_B^(Vdn diff --git a/map.jor b/map.jor index fe7f578..8aa8f70 100755 --- a/map.jor +++ b/map.jor @@ -34,7 +34,8 @@ array tileflags ( 21:scanner-on ) NEUTABLE b, ( 22:cracked-wall ) 0 b, ( 23:rexx-pod ) NEUTABLE b, -( 24:keypad ) NEUTABLE b, +( 24:keypad-off ) NEUTABLE b, +( 25:keypad-on ) NEUTABLE b, here tileflags - 1 - const MAXTILE @@ -49,6 +50,8 @@ here tileflags - 1 - const MAXTILE 20 const SCAN-OFF 21 const SCAN-ON 23 const REXX-POD +24 const PAD-OFF +25 const PAD-ON : mapflag? ( x y flag -- b ) >rot tile b@ tileflags + b@ & ; diff --git a/neuttowr.exe b/neuttowr.exe index 206f56c932c4e8cd445ca4fe601879b3e652141f..b386fcc3b2949ece13897ae349c0ff94bc45b025 100755 GIT binary patch delta 31689 zcmcJ%30Ra>|Nno^nPEUc#0^0Val-|76c=1@8(a_u(81Ai%hXIwYyc~BKtvcO+oqiM zR4UD~BrR{z%CxjB%cacB)U@nYP!UZ{k@>$r=bjnSo~Q3~{jcjc1@pdN=X3V`+y}pU z)xU6uf9TkWQ~4U^&!QP)Zg)tNvd~MMUvmmEv0F+}zMF|h{6AyDJ_rwc=9ew(pc^!_ zXkqIz{h^CV2^SYe6u^O5{R=>y4$;5)Q2W;TWwGDaTwcGK?Q3oid!E@tRKX@rSLhDgkDr5uo4V?nQmn)EbHu>;&W-vGHvN1{>3U`ldyj=E z{e($r!Az=qUcnazC&()WoVX3 zO=lK0BS^E33d@2IyMF=f#J?ij|7Lc#Rk%0&a8LN|_`odn6SpU|6n|1}X<(MZk)6RF z?2Zr4QeV2$##S1v8AbYxnq;ZjcN(QK~Odc$v&<<1pqQ=gwkS?UnaLvpf1i{5Um zmC=7*Yw-}Bv6hrQsn+p_ES2PB+g-*l_>5!!X?&OMgFf49^Zya>UA6;#wl7^Y=b+Ms!|p`PH&`ak+w zR5z-{|D&g2bv-S))06GL<|?GFuP5&G^xTvMkgZ2yBN8#T~3>-t*wKlma~57+gS z^FMm(U)R$k@HF**sVl#_zHo zw4gTs-dAiWuAV;Qpno@pt-)s-_kY?Rz2U9#l9bv*>VItYwxn9`VDR1@<|pqo_jHk$ z(oLGGd8sT!EzM6isa1KJWsMwBX5G-np|~C8EYXziHKuP9N+bOx%Ov&0GI-mnd7GD{ z`RnfSM~1Sv@2bk%BXv^kwIh)`617NcZ}Ta&4*$B)Ob?D+ZJ;~ww^rlbf~dwFQ))~6 zU#x2^ZHaDXb@3fxJfVeAl2lu)mwBE0w`H=7Uz$CIp_5{qQsaon*YF!Lc7H{ODjVT7 zBj=}*(5*GI7;k#D5@`9iR&xI#uo47TtOfS>bx)jHV7{TT8y>a zUlGhXG&llf;Lfd8ch|9U=hmnnd!7p__0orI8=9)I8?{i3H8gTk4ve*SgsjaL1(k;X z>Lclf-FQRual_-+=J70pL4Y?r!H^XtY{hkpEaB_dv}_b~#boM;3eR%)Q5*RZjYrrD zZ=%UYR)|i{!NwMtFGZyF0ROei?Oz|{|ObRoAIj-Z|`DgtofiM4% zZURB}4e1itBFm`Gb;}qY4(ZydMHW+9V6F1qRm)^gX_zw|QH{_W3@kf=!V30;wI^hV zR)IN}1b zjcBATuUN30OTa*oecsa?s0LTov2n&WtY-`NxhsK4?zPJnb;d1U%xJ-msK6{*tOjNY zS#Qr@*7EA9x40c9xx5^GzbEyp1G99umzOi^SYzCxz>580lIU4~j#Ec?EKn?gS*wE) z7o4&1lref6NBKO9qe`ZvkH&W=%4q;4BV%7S9kEl)yD4C&f1`VBAz2Rp(oh5wLLE0W z%iXMCP)HWb)`klT7@32C%+$JSjLu}^?Y^r+voI^I4#Dr5JqUs^^((hp>PDZ1A9UhU zgs%nVjt|LFuT)#$B{30LE4;Y~4sC#pZwKs%3ZVhy!D@?4mb6SxHt#XkGPc54Yf>zj zqdX%}_isLnzHO1hx1R_m~N+^pY%N)BdZoFa+K-7c0$_OYBSXx z4_UlZeB>odMW$JO{E|g|!L2sE<_W8vjnVQrE>pE$vY6F-;XKu?wwHqwO~%#+Wax}+ zlF%VIt0La4>R}Nlon;dZ%SuS9$!;R^yR=H1X_qt!N132AG3L!}BRmSuJk47^G408W zmWK>irI&`Rew{N1A6_UMg9ARhT`R9CzmAM zWCo|fv6D74tZCY%J}P5MZQfv(-Bg*EkwXbfj|&zP-lyWpAT)py-W_HA#=;jL5~*HzaAZ77gYUAo|nswZum zuub&Tt=D>v#~M+R3k@99doc+29qoKKtOb&-HlsAiY)gkZqb*p=d;AqtMwwR_Px(4X z&MeBne`wm?$qO+kOYJ`UO%~aq;6YXe8pbMnMLkN2)<$eHUNd=7w|RmNR94}s$puS= zKSERgIA3S&LlaDMvo`ZBI`5ePD)r{Nv#y-c9e!y24!w8%f<=L!Rx~wsZIwgom|90X zbt_sO)J*ZtztrGDFe>MJg4gC?lbYpurlG}ovssM5SDWxIw$LneWs_R(yhRR5?a#|m zjfNrbu!J~dOF|LI0Wu`3!cUGxvSmG3d3$V^-R?h|4fUCM!jL7mI%EvGkV$>A60z2G zpvF;SUo+XK6-|;c|^2lf}D;jh@EM%#9gfj%-cTQ-ZfiP z)Hf=G`_8l^?6#d#9z_G)?MFnw&{L<=?OMMts2pI9yQ=Q1R@b>#7{Bl}h#zKHEI~W6 zyWMV7HR=wHMLLYf9A@WMnFf1qt+ztZ2Fco;qgNl-EDa9h_0j>}xuBp@E-R=oY1y&D zconV3h&JsoUQI9z$g&1fGYYA&oZZN%h2J);HK`RNV0b63G1=4~|A}vy)X)A&ubb3& zh+>XPz;tcBheD@rmZPm`22(;P{-@7bDtb~xa3LExh0Z6hG=(BRfpUh!2yVP#^PcZa zI%n~8EbT-Drm=E;TQ|kZ01RG_Q#^I4ckwsuV(CQ-3O$O$K3uF0$8Y@}!$ewKXbn}a;>gUQr{%?Pf#XBR zaD8cbmdD)@kF&H7+=!yIQC3CMet5JR)GyrXA6F=?n1axQ1~tMe=XX2YoXPj}ux(1h zR`*Y>hb1S=6^-nQwE79rRzH?Mwe^Vl{1rKFZ2Z$g>l`G(v%*0s-cw^y-fv`5pa0XM zl%mAm_|u~Hy`rADs;mNC0{RxH9klfo<)5N4!xvadRGpUDwegQfTlzUlO2ebp|B+xfNGcGHi z0c`*}1Ec_@T~@vYdKu_E&|5%*E-R;jih%wCdJZV|vQhK4!#EF?3>FXe{UznQ z0FxRHlmgTSX!|9l0>}?24JZ`oolA<&&!krWZc)Yq-TK|4uDqo51v&wg33Lvq;F2;A z=v$zPKtBO3xTLHB+6r_Z&=hK6+6rtTP-mbotCSR=5TGYf))7D-Rw+e5H&0uX99S8E-l$SG0jWTXfG(f5s83cY zCxCtgdJO0!(4$pKKNR9lpv6G@fM!-HK>_HiAAnIR%E2%CIMZ!s0@bHKp+>; zNFdv97nSi~oxolO>kanZMP)8fGoaUjS_5sns5pW2K&yco0Ij>IlmlHlWl`P+syT)2 z#YN==&~c!5fzARgy{H(Fif@3*fDQvad{Hq2DL`8mqW$dxyZ53p6YMRpZ7|yiH0q)< z3g|hY9YC)E#a~o%fNVft0+j%@xu~oInhUfSC>JR7qH+Pq0`xu544_*V6axl6BhW#h zG@x@Al;%LTIIthV27&!_LFoh*4Ri!37U+u$N-v=LK*xc?fyyo@KQuL|H-1A|1Ni~H zenI&i=ue;vK-IrlRL2EnInWP4*MUv|ExMrS>YLQhfpm|cV*ov1yP!may$==uwiPV> zf-)B96`&BHw}A#g0dMX8;JHac|Z{tl1!X=^ zDo`}gM4-#(l^1{p0JVJt?Jo)JcKsQfX)aTDDj{*G()E`I%%0I7M2HFcW80bf!`RA2p7~8hk zz=neD1e~%fW`pXfm)weh66nWWCF?o zYJfM7jWPQHO$53hsHRdm4XY7AQ-MrCXDe;WV_-eOW`PX^J6x&E0%{4A1=I;>SEcei zP%zLFK+S+QRw@e6-zU&hf%HJHRVoL7&H$AFT{?l;uTs|TAt0*V<3PEU%6+Ka9Y9Y5 z*}egrQK^)JZ2)^7OaV%(RE`3@4D>S4TR?*s6No!70MZ)i^nZW1<;M-7S&myoI-;-2J{!upFnvPN=b8* z`ZdrkpdWzdRVcO>!9E7lSz4@V5eW@ zX7&ze*@vCw9h&uf)5@&z<*gWCIcFsyZ(0wX3fhU3gOwO-FSz5^S>5q(TUWnn#W6S* z0;8}#-(z^w>J04I*7mv;ui>`|ia^n`*qx~eq+!DZ}9hxvXs7UwTG>(kSYx$DIHFcrOHeE?Vi&RMcFC-=I(Aoh_74@TPANq*>m_?^`G)fwM8O5{#;nmZ?o1*4rWc5c_9Z7|qyZZJWYg%bvApBl9(PB61(QK{Z{%0qIaet15j~u*cWWc&b>FnB z+eI$Mjc{)6aX-K44DVSg#te6U(lbW18Sea}=T!c=(-=3edDmQrF~DIq*u%Q#miEk5 z{BTb29nz98%(*YFooF)5c_r@At}hL>;2n-<^MyuQ+6&$crH9dA14@rrm1N`~A3jf^ ze!3)XdZpJNdfViDbb=Uu?VQf2H^I8RDZ6%VqHcfw&Qn%Lb%`GRCXZ$7&aPssk6Lka z<~q8`>SIzlt~>VVjD~An5rMf@XV&ZXJED5!>W-H97aMP_nv!2^tSK?pY-Wkunow^k z4x5sX=VE<{@z!QmW;k^6z{yw#a-`euj_;Y9E^W*F51sUj&qZ^-f#$!8l6T;wRrSM_hxmD^zsh~1B*-LRV}Y0jVeZxM&B&Sw%@(AWD3 zVf~L#dQat_`-&y(d?Yx?y+rTWL)R%P0#{3?lU=@|H&mX`^!cZ%+zC6g8&hDl3E{J~ zjGH{!ru?FS?B?qzVk!}nV-J1#_|+2QO;4fvp%AO~7;6}-7%flhD`N5n^9-!9(IP`uLy-qYUK9FTIm@roiE zXw7>;KfJ5+<65h`zn}B1fiW$q+N%;)S!FXebd)s zSv3_^i5E?=?i{R8naOedz-jlE_0V5lFyOmBPGzmdE}27WL~olixuyR^%cKe4cOV5`pLzZkT`dL7>t+8O$4Em_%p zlstL3rp(O8JdE+pAk)_@uCJwZdcHkuMt+E57-*8P5hYqVI>4mPZmu1~;5_mMjx&dp zEJJGZN{-OC(>=JSz*k&iXR$WkIW2KQ^4NIPmVZN&@&m?*M0%))dZdRqJZNWBMtwWx zE)Qlw`_rXM1YD>=2OK(CUf)M`@lL-X1N_wd(sTJvT?lj-staiTO-<(uKobW(vUKH zSZEoc4nUt13Iqz42v%d&_lX(60?L%UM3dU5nPs&nQH{LmsOO0~yCsD*+mwzYLw8P% zvT&(Moz)WAmdAZ#n>kIxx`?ZGr)^kxy%kI4+3ui7=c-{*w)&%J-cdsF!}K^M)iS%n zSoP#Vn)~XHGOMS~6@1actg>*NxNFYJ)HJM~FQUf1Be+@d1p8fcdaa-!qh4dPdhQkq z+N^%o?9Kq@B7pl0+OePaj58@go^0doDw=YV`$bG_F_wWdS$2J|MN7A(LcZLfcN2wf zZRXC|;VtfHnG)q06u|K2&XS`L2Anjwa-n;sPYPe|JK=XM0Ed7_gFj!paqrDX0`B^TJ(ofpY01( z*f4C;n^@G88_K;au{-<>cO5j}YvKEm2b zEQ6nz2(4^8Abnc%Gpj>uWZ5?Jm~DrdJN$MPXxT8Uk(yamQ;T}KR{0uMw{GDW2g8jr z13zdQ4UH{A!m{xG8mDEaWhFQhjQ7;T>1=MT?7Gv8jq$PqZ*k~pGi%p?4a6!{zfn}^ zi4^1Kc3sltAB;pW%lpTBS6XE+?urGDR;AvzCG>;?+wxVI)E!}gWi-H>pE?X+LaL8+?MaAF-^#!~7<97J0 zva9=iu-dNf@I3e?sK>h^Z{8_#zKx#JxF>hDa*m^hzv8T?1QI>|wPg5Sz+VrAJEb7n z7uglNI{1XQFXBC+R$#u{Z`Zcb8!p>3YP%NOrgE&aFg@yaPVuX9V~A86w%Df9;tPux zymH54>AG4QsqJ2Z4&v_f4Q`F87>b6Ii7`$+9l4D)f%Sn?7!7qhsj-+;^CdKviYSjw zl=^ApwuuXzxuZIas?2BEVUFFN<^@~$nxxxR(Yqq9U{GZ~&u)gA|}oZHWi8NL9TgzZzD1J4jgF4uUdM3vQrpus4vE<)Ax#*R>vmt94gD z4P{C!jf1;B(uORXcI|RA9*x(xh00xi1MKp#7^ZA)dMzc0QxjdE+8ZM`##VXYQLCQ4 zUN;t-)6vQAX;icChMz2fJ3X%0L?x;Hk3Ma} za7-Q4H)&+5eGx>kCkR~DvDF!gwD7bd&b=Xf!JthRvnRAY{|t?4=IkjMo@c}A>t1xB z^VMsf4n+Y|D|8UJjy;T4R(^_!HP?!T@TU4e6LD}E?xdCJj@T#Dm_b=|K9G^v?D>sobXN|X{9ux>vsSJlt{tTS#&FL-NPnJ*Vy?)b`lwb4ec z4S5%oa`id;IGTuNgENW+Us;q6!*M#g(V`r-VRaL}5$_GQE9qc2KESI4AVjUczFk=f z^e50cpz06s-e9{@IuOUBK$n3|04>@sH!`0C-2(a+=z;CZhw%75kY52_8vvzmS8PU{ zjsi6VdK+l)cIDb|9Pt-}wFGm5b>6Nt8-e3dpctS$por~Ccmj?`fw}|D12Sw^`oSs{ zXaLYepv&8o&OifzMgb)Oo!q76F0`+)WWJq+|C(EM%6LZB@`i-2|lP1>dm z8H$r4phBPzfJSapDq!_2(9;EY#q=sz?`_K4-SFN3Y$eR>K&`ha#qjwM&}%?BKn=Dj zYm@Qb0O&=a`+;i8mDhkq0KEfb0y+w1&qGK>o|{+5jl6T!~D@YXhJLKyLvJvXv|2z>2`a!JY$)EmvGXR-kAg z8&G(;vOgW~4S>1=%?0u+SE4iU-T_o_7@Gdb*rKxN&z+pX7z#I-l|MC;Vk?;i;@j=<2}4L*sAoxUhWu>4d_px zysgSDps#^SfPMg)x7D3vQ1!d;8WW`d_md|BqEwo(dV~LUh+!JyyrC$cB8Fi= z8-P-P{#2Arkdt;|6SJ!#e1$O&uQCF#Q0*b(HK{ES?bo~RFBr67DYO3O8LKh#EHQk# zeObX0Jzt`8WaBIi#SuaqyCA#|KVksi1O5U#Ar(l58~Kre$ z2Gaqg>ZnSH|Dn*?Yobx$Yw^TRP44ZrFxnCFHb(I`84g?#u{z3GKCw%O54&qCJV(gu zaD0{FEKT+AwXpGR<61&joDC+;5WI&od(!>9mGkFGyTsu_=j-==6h5e^9orFvGt+li zo>ia!bs|op_7~2c<9z78cR~*r<}KE<#et691-nBBh81mUJ9#nZV>YdxGJ*4I=Z&c| zBM%pjEInKpv}19IBkE+K+ieR`^0H4{&@B}R9D!z}zsWPihhMY%2T?xVk9X3@gN{SC8=oK@4B87@vU zDQ60u^{4mjm|j*e!2LuYhdvRv5AO|h4-Z_GURLaXZMXrI!U-{prg&dwNF3 zZKsGjPW7{c%xcfS(Qd7x;)RNl(kZ(o!boJ<;nZG~;YFsB;d-1=WVb=Xq1~{?5pKx+ zEgGhmZT4Pz!fOenZBxSi!??{@w8t>Ah)(q!AtQ?%QO2V3iCpQOqK@n2$63KaR%$G= zhm9;+J+kPfc5d6QRYwaEg$SV@WXO*>Qs};=Fk!l8I8w-j?@y&@F@(~^?HYzf+p2Tq z=eznIKR74x_)!ZRNl!xl*_ZT$GHdWa=eEg3EITB>_Dmt&`%Nyw-|#gq7&IC%IKTFA zVKxpVM;AG#JkSO;T<}1f`rj4W=M*f#A5Da1s?Rz%JutQ9iWzu)fg_|G!wMr^poo;c z-7#6e+n*^bW;lD!9O)PIfJv!z+Gd7()T=Ys8XhZlge@v|j+)h;Kkm$$70#zSOJ=nf zrXuI2S-r&KV&~aeT_b;p;l`SVSbt15P)mBrlpc3b8Nl#&PUX&?vwM33nK!#-ld-Lf zN9b@IHh|G_n1T9LtaH`urXAb1F7~^V>ss5%~6n^UmY5!})3Fwb|Wn-O7l}NXmK&K_J?Em?TD7OLXp-5Gn}&??9gO%tKt#-PKOT8(g)L;nTlR~ zsiRRJVK&qb*Od&{y+{YR$a&D5_5tRy-Fl|nTjcCNC#vhzBJ8?Y6YOqwPrh%bo?#p@ zqfwa)28}CoWB5UR>d+>+VO-hjab?csb9#t<%bZ*1bQfVo&Wbtr&{yC?Td9A4`A{@{ z{rOO5m~3h~w-YDFA@hEF_@ScWm^no>MxpDinOn5Eftunjj+tN7-!Qkx+GQ08QwO+# z`?%puE_s9I7U{AZVO{yuj+neb%UJjlzumA-lnyzK=_~P(VEXd+wbeBbOMlL1=QqA@ zo|OL9mI|vXKj${3E4f8jNYtXS2dkUu%lkKKYZhpx0Bj>Ip_S4{(3P^#l{T_9vx?Tt zELt_cNbg=VyJ*!s`hKv;$sg`3CKNjp9v&CCsJL<1W5rZ!&X*n@NLfDe@MlyIFD+2T zj523IR?o;8W%aXZlt^UOvVs}n#Htxu7p7rre^z_Z*Y5l~%hh~IQOUBrBD|!mXz18| z?Fjt=LmS&4dkjm8oa+~MM9`alT-aJPk%Oq?aL|57^|jrMTOV7Uh?>p5CF>$*1bwCD z$do*j(}AAKbMB|FmbtkhM~irNtTXVJMd5j$9W8RcnLD=e(W0L2f}2fqbY}x}2Tpf& zuQflmNx!HM=atR@kM;`P*0kUY{n?sZ>c>sbUcIGmbml!eP#i7V^x3019N*49k7vj3 zdX)ZqKj)*IZ8=Xaa_6{n>g9f$`+d$YIX~vy$mzal@1pZL`rOI6zvcYt{OR!t)INGF z*6D0Zim{}_pO0L}V7M?-ecNprsAmgjm-xx{x^LNw?*ucerDO!J`#h>-gsA)6FYgIm z7i(kuj*ibL+K%>SUrb_v)dS*Xk$2(sOuFB%{0qrN^^r7kB%s7@$MuYbL{b> z?ezHyiyTfuLol4|3n^VxY)4C>I2rp?$0}w7IgXc5)+o8ofq9YrJUJfdI8l;#M;>D- zCcJ6H>jX+qL9L7}N5)10I-kuO+;(DdPIW~q44%4$L721sjO-m9v+CR_0T|uJU;$Ay zvDkSfFD7V0alz;Q6?(_h6N@*s%OB1|pDix9*$fR}wblSGY9Un@e>%Uj;Hb661zolv32TEF7HUFFrq6}s|k#asQ@=0qID?Q6BQJu9y%-ki9v z)!A1UKRYel)-@sQnL=xyr;a`qC0M~A!SK%%bbT`Fxx$LRPaf%-V1Q%O)d8$)>2rm2 zE~l<$U7w0tSy<7gs{Af1ed9hxv<*HcHMo-zp3Kf-2D8W5I@ zvTF>*=6tAVLBr<@pZaAN!XVGPx~_h{&{A1io6{0q&j~<*f38&oF#^s?bc7NOs>4KLv)4(T~;(jSP zh8L6-hfYe475OOeNdw((Yj{^XP;T(F~*%9(wA#C9Keetl)NYhtA zd##iG8q@5*aLBctRqpHrgsmPr6?jUP5>gxufqV_J4{WrukW!k_)e-+ zJ4?3n)EK+fPaTR0Mb%-YyQ^PRTf4Ol{wC_Go?8v}_!xUdbV58B{tQnY$LKFFfbbBv zqqMCZy0n8mLoGWoX_vb}0{lAnJvpFR2fHIzZ_n1-7aMl%F?6t_njG;R?9S*FVFF)$ zSG29y*3PUg9Z`6CU`1l*OUF_8oLTF|9mFo_G@hu)QH)0*sgRpEj@S{pJu1fTJg}lk z(=rbaa~xS6W49*>>2hPmtdJOcb_2V=+h4Z}-VM%&pZc(4f4e(o0DcDHClQHx+R)Yh zw4pnGdfL%SPOPxU_p;ju#oL{upMJwq_=rWf7qtu=)yY0g_lx6-qcXN);Tgvt_O6}n zr$g*Htl&!#|6bsZlQ*nYaXairYQiU0I1q{hq2S5@e!AONce0l*Wve^eOP4WsOjo;e z=rdi6eeIa!bZ4(GjN7r*?Y0jt*d?mpkLl}|eZ}rSW%BC2_R{5S7aIQUkC<>j9zr+G zrQg4;px@QbkDe*j&o7%_wrSe44W@2d@a&Y(O$#o4)hOtZ1q&avKCs}yMGwq%b=ULC zE$#fcAGf_af&QZ~>rt=rd=8`k1mds9yq`087UH(SRXh(9IY zQ%|msdMJvq#kz4~KAWJw!Dk^s14Na7Afx}L4%@P@Cm-Q&+s|7LW-R=Bwv~@2v7a5~ zOGzAHoy1!t4zk@mBoX2e8!Pfi{J>7|JtTf)Djz=t;xOCEpC<7WJH*9Mh$F1N7((J_ z_BSskag^=lzmfQbH56`@r+GSw6ReuAByo~mcx{vA$Tzack?u_PLSWRYmhW5sJEnt%+lFvQ;!>In-_ z81Ey_k!Z%h;?pNWgu`hwi3o`JNf6EXC;a%m5Ro7?Bw9d3-3M_GKgPRHhKS^5Yw1zkZVPkFhdHxrnw!E{rZz@DPzKd@l5d)(yNVJDIPNDOx5WkU#hY-|}`#|iU4bc~((Ss2Ec!C&3qCZGBi3Et*b07vl z*h%03fvqPo2%`Bz5QFir!>|}qi4Y@641su*#88Mr62mZdyg*_&$h#y)K$MX%LVQXh z3F2oGBO$uYg%|}PCy>z)hlq@U*f0+w8RC)o5M#M*GW&&83ZKG49)?JT+g1`LK9B7q zkp?0~Iz;XQkPL`C665${ew@U3{y0BR!VITc5}6R~@JC^60>pF@7KlekOoVuq#3YXT zk5~wGFHjS_G9z;!%jGLWsv8 zXw}RfhoE&cTMR*qU-kt5oqx9+VhR6_Z!UtMHWX-w$m6qF4vBn_M@cO8iUNoyh%AH1 zBT*;?C1g2NAt9Uzv0@U~i)q3Rv4Thm#4{uuUhyO%Yg+=c0;D~Or@Z26h!I4dffz~R zS+95w!b-#mky}FJ&-0pM>;;Io$ZaLWIub6gc#$_1`-r>*vY*7uUhxW?Dv7)bQcdDD zuXr6I+5z$g#6=RTAdIx0T8-4ZAZ%<6(EEf+A-*T^Cd45UZ$bP-;%$guNUVim>{bL5}P2N zA+gyjK7x3b$j1=Rk=O$9JP8HjMG{*fUM5iv@hXXJ5V&&_z_vrYN#YY8$kvhg)W$!+ z;R@7ed@l>kg4n^|VZkIm=N(uGiJcIkBzEz)StAl(@I9;vi7)vf7Di$>598q^_VB-0 za}r;1Jxe6@{JqN{4nllO;t<4lg%CeL>?iRf#6c2=Ar6!H2_mcr;t0eb5uka8Omk~}Q5?3I`k@yS!g&MKnRS@cb%qI-Yp4y-gZP@!H>S4zrBlC&o zqJu_!qOsS;Cz^N@%&xP&(VH{0G95bNG z^i4%CO|(FMYA9p(cr#{;g1SKn8vxCXib3W++Dm-atwe7vpw=jSe+s&lh}TFP(MJ<) zMPJRS9c*OuF%UAq_M#tak%jv0Ao_cJ*+hb7-O+2^$tz+ZWE>q)uhM^*7@&FUEC#Zn z)bcxvK`fm_7cp3K>LL;~(bXGHH*Yq&do$*XtFy3qlIBA}h)kxs2mH%edx{}iI^wXg zl1_1Am?nb6a7~1Z5t>N!#yUh8*(oYlU&uZ&)SIATqJvF~W4K7t{KtrqT4dC!Wn?47 zC^nt4X!MdK1pNgCJ<=P;C^1@V)uaDG#=zHAGEPRuu9Fxm#%ML3B9fU+HiuL(R!avN z$xNF>iWXuWk?JKrVbVydNYm145*`vJ(lsZaND~>FO}ZH872}z~MvW*TERaxLn2$>+Vk)3OnXwGFx z-))TX$7k(pAhVGm>E9|+2 zgv;Vw4_~r8UJ^rj2Xdk^lch*yChMNc%qCmYKMU>uUopIk_JL-`4DX?RNwEPfP73M^ zQqTY(#T3z#)_<_x=t*o~8HDU+zIr7m1i*sHi97~>h|(hwNKQUu8Ri{MvMvATkad&* za`H#~b%Nf60-;q`Ae9~^H*m8Utu^?Uy^(zcAO=hvZ7^Af>idDw3$m67^=w%%Li}!MotYu>xe91CvFUE2j8*IXt zp*w=UGiSaG{WGBL2vH`Qx|vM$Cn7~l^uIWLDok2}Z0$v=W=(O(TJ*X3oIVp7JcO!a z2W(^o(Xb=S>~oQ>1=L=oY2oaIlk6rwu?s|wQC}d5vg3RSA;&0;KY`jHwHrbXQjrj{ zFYSSlgOm$GcB-!+JVR5U)|aU8RuZE)9F(zAml{11@$7^&`}7PL+WL+G37#3yD|QV{o+1te)|PT zrqS2AkAcX<{t6*m6IHoPtFOxc5OffRiC-IHA+#YDf>u`2NriAzR?i~SG@k0uLBJ8? zZv~Vb5q&+70-BDkzYIuRuS1F>#7FP3v6jPfB%n6@Ia7<|MxR@M=o>UbH((pR-7 z8#ZwnO8Re(bWjn=<%Tr!CFlxlWV5)#M$QXi;wfzapjwc=yd>C1{(_TidhLZ%GY%I| zYn5ob3O89X*Sv9D7td?+?7w)c$4q>eA!Ynod# z@wz7JxV@o~TGW}R>3TXR^ zfMm;$gpdv11tA-JO9&Ym*Ll)G!;UQ2JA#(o)fe=Ku#w}~KVua-PbumUptk?gL&*^R zym9=Ce*7N3UH61QWwYv9}IjTyV9;v3}^hh=3 znI84ph(LxHF~nZ)+uZMj|1 z*Sk&DYUDGqPD?#G$>`gQcepGM-%e<&rz_d?LbqPq3XK%+YV$O0vZS|>5Hx`5cR|Qh z-{D^tqtLyl`3gd0vb)ll@5!_$trVHeeXwqW7MIYyulcgohd1A{T;_~ginI>#)>#8@ zorOZkpoQ)O&A+e8e3jTvM~n7Cn{XFJ5_Ik!hOHzw&&_Bcj`zeN!G6&(3`z z<$bYieP`1dF$Ojl#M08fDOFF?;!gW4_@F z#_Z$yW4_~0jrpFh9&?bFjyc5FkNJUb8*`X{KjtU?=a`@Ql`+5It^YB8Ys{}aJoz|} zPCm(7C;!G{l27rz$*1|?dWKBrIct#niF&#q6;mB5Q0zVIA8@ zEFRlfEFarMJU6zfST#0Gd@$A)E_RNM5EWyaizX?NVqi)OF*D^JF)s!G{%1-nTu^8& zUQ1~s)~2)-n^W3}Z7DHgXG#aLH>IOEkrFHZNa-xplrG|83N8_(bQ3JKy9h|_AsVK} ziHOwRxXutSqEq{b_NjeE*VKL@KDECvr4GRDhJnJ8I!H{lr4AOeQWM3)sY8S_b(nCa z4i~Sdju7iojpBpUB=K?TNbzavXmKhv85bbNimKEU!A+^6kttntGi8WArg0(x-x(&e zm|&WKyAc*K(=<`!nkI`EOjE>brm12Ln#D%bbn&6-ezDawLwpH+z%)x7HO&^b3e$t) zrfH4{NP9>$OPebq(x!-ZX%CC8X<4{m@rW3ZW)+sSMdG2fM@4qpW8&$w$Av3xv3Moz z3GqhS60sr8CceV+&uRJM1l&%i6^LtTh2mD)a^aU=BwD2xi{9yWF)ZC7($b$4Q`1+7 z+38OSTlzC1KmA#oC{BM)tVn-WtWAGjyr2Gp_yi80r@O@7^q0i`^q0j?>92_2(q9#7 z`fK81`s?Ca`WqrBW3_0Qu|_n>C>2o|Z;9xPw?&(bwIVj-9nmFYz386tt{9r}z8IeI zfk?{OC{i-Y#I%eLg*9W7D9YF@Ue5SPY{>Xn?8vZf5r;AqaVBG{_&cLq1drP$T8`T; zdXD=ni8OZgYkB z&Ri)Do6n1%&1c1N^F?vaT#X^}vbbozBK|V}h1)FGMXmX7;g@+sglE=>*vwlZE|cl{ zW^&z#OraZ_=@zC;y)HA;ptDWN^w-^=Sx+}JGf+1-Gg$Xh zoY`3ST4od7s?3JE(#&SM4VmG(vP>QODASK^%`~t*nRxw}8OZi!2C*M9gW0jn`s{RO z2&>2pW#=;+u}hha*hT~Bpn%(5u z!2F;H!u25?1WB$a zx>m&E^_Rvw>Ke<-diB9O>q2qgNaF**gP|LM4+gLA;i=#u&<(-U!5e5io=t~CC>|Qa z;Q=@_^mxbyZv@>Gd=YqK4=)C9;!^VXPrRw?nS9xr;dbCTaBk(=NY1U{JPgho>o}i;a~s!5a&8Of zBse$s?}gvmC&j-XYv&3rfO8C-$ACWRe>>ls{5!Muu0(R~0OwRV|6a#AD4;9r=vn}0 z-pN&5z@O%^uJC0%iFbBQUB-Wk=z_g)F8nMG?5stH-|GU6teeYJ$a5ol!npvbf6#5` znL!Dxm+NF9V(bm)A~?St)Whfdr=T&ck1KRJV(jPYu$;Hy16;|=`P1zNA$c#u?9=*m zlB|7>)*r)$fWL~z-|7!%gI5;uq==y)r65Z}I(qDI*&!r`4RcK`Laf8#ycQ1oL)!S9 zFNd^cBV5nGnHyc}ig+$hazz*ODSV_WkG@8`P8P#0*>$}bnIG#)v?HJtp<~}8h}{iK zd;#H~3}$Jr1$J1ayA(UW$TM8)O88nn&Si4Ij~S8Qgmtr~x3fI5X$;GB>ZC$^TFTj*_QRtX{Gp8 z&kyuNu>~vuKh*P0eP5j|P~H*yD{iqa9+4HoVOFn|tdB=W#;;__og)N0C+x&u z0|&`lWzh-c{0Y~4&!M@ma2^h+)2{AL-lqOaAo`3P^Z;|=A9KXS z{gMa$Jg7T+8JaG89UIhzz2f2Z28Xd%q2C1$9!#^V_Gvjdmc54b(Z#QJgWIt;JZT+0 zxG!6c0-)<(>4Uqow>*65;5KY6G~EHS4{m`!7m~HviM=)WLG~U>auXaj44%e5)Erny z;zIT@I9&(}OPs?#a&>;5cN?`GX`yRh`x1-2NnzuM^k<*I+jj7YLwd6vp0qzbS!($Q_%HCLXCH?{3R znsv+#ICPA{Zc&=hW)_U;!D^}C@qg)niONnc9yv(F?5N7>iErg^|Sb8J9YYg~5R? zeqlf7#mtqOhMVa++;wN{_0-WmuBPU&NJLDB8&#=vJy`opHXUZIz$3wDn!aN#5oQbM zHKqcu3G0>iHH*>vG5o2RjSWcqoV7#IwS>_dY5jdhx6%%=SiL`P;^Ssn`ZqqlKYa-6 zi3GI)|0(^peZve|>Y^`!H_4#aIoc;WgO6l-^T`e!k?5mkqt%$;=u2pmYL2>9uFU3bCCw4-f-BO*^p&;JnYSEgEh5aeZco+ zM$5qI*ZIsymI=RfRqj$IprFNgzFm>;@EHE7Yv?BVy=WiXz6@nkR?=?ZyNf<(j^MPahSCqc`lH z&_IGIqWajTVWR}r0J|{kjIeQN2-mzu#OMf)(G^1U7p%|1L?`d3pHF^67ag*%Z*@GI}heU(4yS2*2`*NzsdOM(@Jeamv{V`gKxd zakgJz2}5t>S-HTX^HH9vr|+^r|~QAcT#oIYrDG)F(rozj9a%8{9hAu zS1B~19@rEEb6yw?yLF4cxj@llq-iEv2oycW6K_T^F4WD*FoB#57v7v01#*%kkdu)D hITgaWkfj-Zn$OAH~hT#{{R|Zxqkov delta 31363 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 diff --git a/portrait.gfx b/portrait.gfx index e9b95b8d572125cc589bcce46fbe9796b52e5c8b..f969436880b16486600ef2300c1288c89d713c4c 100755 GIT binary patch delta 479 zcmZp0XmHrT!ISf!x#9nRb_kYXZz$wpZ!iGiKK2F+kT|hof7l!9f!H2|{{b;bZy0;S z)g<aF`(N0AdJU<^`P)%U~yo8VF4Bg vM-VP#aX3z@7*M?f2s5%c902JJV{y2W#Nx07W)9dc1{APafafRwA~_}iMSrk{ delta 20 bcmZp0XmHrT!Lyl@?>qly0X{~iMRH64MGFP1 diff --git a/state.jim b/state.jim index ff58fa773b7ea07d49585d79c8d16fba66bde5c0..8aa7366331ad3b45e970758c4bbd98e0fb244650 100755 GIT binary patch literal 271 zcmWGoW5E4G%G#KjG0{lDh?6lO$lqNz%+ocT;fp8(L!uEEgPV_|yRNf;s9y+Bh>@Y# zh?OBNCo#R4K~{{R&4>fSDalV`=n|-6abe|Puwb5Gq`*8I%ywY@$v&Iq1#=_oWFvNn z(lkY&$^}NMe2uL8j93{#W;uXGe1IaCjMy2AQ%gXCKrxWsQ$~%fPk;_f&Ph!yf{MR~ zivKd=V$3MbP0Z6R%SzWGpDkPe-VW MGR{L+_yK4W0KlkB_y7O^ literal 271 zcmeBhH{hNiS!~G6IMX1)fRiyG$lqNz%+ocT;fp8(!%PD%1~(r^cU@=yP`?nM5F^8C z16GE#oW%5E23awNeFhv5PDy?mLzh4miwi3Ug9Y;m0|n;UV73GEPxjd?FPIxyPaCj9 zl%^>HRo*aAwajnG73QWehnPlXFrNi=g7~ zq2fk{T#Ol|xruqYWtpkvKn>-rnT92qIjO~Z>1h=V`r<`8%MBcW26zDtC@9KLN2r@* Ln1`-V1E>%HszOWd diff --git a/testbed.c b/testbed.c index da126fb..be18cb5 100755 --- a/testbed.c +++ b/testbed.c @@ -449,6 +449,29 @@ void f_drawfatsprite() { } } +void f_drawfatspritepixel() { + int x = ST2().i; + int y = ST1().i; + unsigned int far *spr = getTarget(TOP().i); + DROP(3); + + if (editTarget != ET_PORTRAIT) { + int color = getsprpixel(x, y, spr); + + setAllPlanes(); + drawFatBox(x, y << 3, color); + } else { + int colorl, colorr; + + x = x & 0xfffe; + colorl = getsprpixel( x, y, spr); + colorr = getsprpixel(x + 1, y, spr); + + drawDoubleFatBox(x >> 1, y << 2, colorl, colorr); + setAllPlanes(); + } +} + void f_drawfatbox() { drawFatBox(ST1().i, TOP().i, ST2().i); DROP(3); @@ -690,6 +713,7 @@ void game_f_init(char *exe, char *bootjor) { CDEF("mouseshow", f_mouseshow); CDEF("mousehide", f_mousehide); CDEF("drawfatsprite", f_drawfatsprite); + CDEF("drawfatspritepixel", f_drawfatspritepixel); CDEF("drawfatbox", f_drawfatbox); CDEF("putpixel", f_putpixel); CDEF("getpixel", f_getpixel); @@ -748,7 +772,6 @@ void do_repl(char *exe) { } int main(int argc, char *argv[]) { - cell tick, draw; char *bootjor = "gameboot.jor"; if (argc > 1) { @@ -758,15 +781,11 @@ int main(int argc, char *argv[]) { ser_init(SER_COM2, BAUD_19200, SER_8N1); game_init(); game_f_init(argv[0], bootjor); - tick = f_lookupcp("tick"); - draw = f_lookupcp("draw"); while (!keyIsDown(K_ESC)) { kbd_debounce(); f_poll(); - f_execcp(tick); f_taskloop(); - f_execcp(draw); } return 0; diff --git a/timer.jim b/timer.jim index dbe416954989fd67864798ab3787f97260df4282..50da0d2bbb22ee879d4458e25bf7861a5382b8bf 100755 GIT binary patch literal 453 zcmX|-u}i~16vj{bu2nQrgmw^;I~OTPp&&RF9UUCnP3Y9v9wCyZB@HcPJ3$Z!$>fqj zq|im7YaOKY59lA@&_P_>+@wzWE@|bKyWjiX_wIYu=hEh4*XJ*5bK})WlZIoqIwf+O zt!sCw8eJG6RB4t4@Rd>TEfzwEcf}&SNjk@-W6$*MHa1;D1fNC(zbQ#~Seleq1r3!4 z2vF%-B32eqQ%*E1#1T~(C64eq9*RbA%EoZS6u($<_n!};kkXmMBn=qEJy@FL2YLeU z*#_}F+p>fwnpg>71UXRkB-$HB8N)vOV3_wf)(nG5`h;d~yT2EkMWEx)KiE1kn?2KQ z2!(^CPXI&gm-L%uNUPlwMPKb8nN!gw`5WzlP0?To0Zg%{i3>dA73~lw7WoXzxg1GrHIyh9<4yB6ju^ zrcv`9X{OLRLJOP{TevkBMSYm%1NdSJXA|7{$9s^Dy|HaB=^lsBgVZotNJZcopC_Jc znWk_>85tk?unLNgR=ef_3}6d>aG4vd0~q6ClAdFjQ*Ca9VO?PO^IJYgjB>+pN?XV)P_^N8kT1{=21Akkh;UoS9D71wh*-tD{7m1o}TC`