From 12b9ac94f43c33b4804682e15d8f5a8a76f1f8b3 Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Mon, 25 Mar 2019 22:05:23 -0400 Subject: [PATCH] Add hiking trail, chuck plot, beginnings of adlib driver --- adlib.c | 14 ++++++++++++++ adlib.h | 1 + boot.jim | Bin 1243 -> 1243 bytes defs.jim | Bin 1699 -> 1764 bytes defs.jor | 11 +++++++---- entity.jim | Bin 1021 -> 1021 bytes footer.jim | Bin 1142 -> 1142 bytes game.exe | Bin 118079 -> 118456 bytes game.jim | Bin 1925 -> 1962 bytes game.jor | 19 ++++++++++++------- game.prj | Bin 5316 -> 5365 bytes gameboot.jor | 2 ++ input.jim | Bin 372 -> 372 bytes jeanne.jim | Bin 583 -> 593 bytes jeanne.jor | 3 +-- jorth.c | 5 ++++- jorts.map | Bin 10004 -> 0 bytes map.jim | Bin 748 -> 1009 bytes map.jor | 19 +++++++++++++++++++ pete.jim | Bin 456 -> 456 bytes petehous.jim | Bin 686 -> 686 bytes repl.jim | Bin 331 -> 331 bytes repl.jor | 1 + road.jim | Bin 513 -> 501 bytes road.jor | 3 +-- state.jim | Bin 0 -> 89 bytes state.jor | 4 ++++ testbed.c | 11 +++++++++-- timer.jim | Bin 438 -> 438 bytes trail1.jim | Bin 0 -> 504 bytes trail1.jor | 42 ++++++++++++++++++++++++++++++++++++++++++ trail1.map | Bin 0 -> 5629 bytes 32 files changed, 117 insertions(+), 18 deletions(-) create mode 100755 adlib.c create mode 100755 adlib.h delete mode 100755 jorts.map create mode 100755 state.jim create mode 100755 state.jor create mode 100755 trail1.jim create mode 100755 trail1.jor create mode 100755 trail1.map diff --git a/adlib.c b/adlib.c new file mode 100755 index 0000000..5547a4e --- /dev/null +++ b/adlib.c @@ -0,0 +1,14 @@ +#include + +static void adlib_wait(int delay) { + int i; + for (i = 0; i < delay; i ++) inp(0x388); +} + +void adlib_write(int reg, int val) { + int i; + outp(0x388, reg); + adlib_wait(6); + outp(0x389, val); + adlib_wait(35); +} diff --git a/adlib.h b/adlib.h new file mode 100755 index 0000000..ab352f5 --- /dev/null +++ b/adlib.h @@ -0,0 +1 @@ +void adlib_write(int reg, int val); \ No newline at end of file diff --git a/boot.jim b/boot.jim index 9cb5a8ca2ceb8581106f38cee13f3adb2c636aba..d20f40fe6260405bb92b01e1b9d739f8b56a227f 100755 GIT binary patch delta 143 zcmcc3d7HCdgnbS7I)=+Etn4fd$*DOx439;a7)01v!JJ|S9sybQcT9g+6xo>>)HT(C zvYHIWK&9$2c_0oKgFTp21mf^A_^>lE6c+%Q3Jj6#+zf85BB4Xe^@Gj+>Q0djEs*rZ)VhB1^`hsA!7gl delta 143 zcmcc3d7HCdgnbS7I)=+Etn4fd$*DOx497*77)01v!JJ|S9sybQcT9g+6xo>>)HT(C zvYHIWK&9$2c_0oKgFTp21mf^A_^>lE6c+%Q3Jj6#+zf85BB4Xe^@Gj+>Q0djEu)OZ)VhB1^^%!AfEsL diff --git a/defs.jim b/defs.jim index d3c7ee01e2ac99de133589ea5d7a3334efd0943c..6af2d25bd4a5614a4e2b3d7e9901f87d2223323c 100755 GIT binary patch literal 1764 zcmZ8hO=uit82)DFo!xYIW_M;OYd~tdO$jVXqc#oEq+JUY6e)>N>7l4)vO8-gKQm!= z(Nbo42~nUsa!4N{-Wsa`6U69o zWrKdyzR*JYR+Ge1Xh@vNQ{L$2pq)9jv-Ux4#vI9mF$7+M5$xq~4P0AO(#Kmaz1>Q@~hT|@_#?^_E% z*QG7#w*)(`pnlo6V?r3d0hlRZ<279qRmXK|^850hiJRI18Dnx z5}n|G0H*oxex;~NNYA#Aj%8jIPUOqhklf7c*zJ5Q%F>Ro1DT@w5W?~ib~18a%BW(& zv8O6Xa0VQGhG5$&kK?mlRRU?>0iO2!SS_nN^6*^inIz^P1ACJQTg4bcVA{+D(Z&Me zY61O?$dJ^mDyAHFl1W(2G!;Q6i0H|Nv^V>PsM(eu)endZwI?@QGjsDiMBM)4Sw&1c zE)orD%;r)y7XAd|)_jDsh_AHp%i+)ZSr9BcwA3#FCl%? zMr-_}Tu;PxW7`i#M;zgA8)e8iHvVp;Vq>jtm01)Vt8AMkGu@7D*$wk*tL8p4Df)Pn zXshj6X3TiM6DCiTj~=I!kP}ZfV&<_X?A|2280Ya7(h+3gd1`$uGORRWq-hFz+WeC~ zF^BevPF2uPMpH?X(MtY3%uR(<-gSe%HeX3Hxm@DiDCx49g3hgS-8mb-6KPsAHnB0o zOd}Pa9>M88PTa%K=9^-N^M5+ym*I}d(%?5Kq(lx>`U?kZw#(P>Q|zsY{XduE@_d;Z zbUL@GF#91roZBVlET{f|@5S77qCqbFLV7+&xJFU3BS;d``CL-?cG-5$@(sS2h)eLT RyB39gl;e_IsyBL#{{;sJxKjWC literal 1699 zcmZ8hO=uit82)zVo!#y3%9uztnpLb@rDISvj=6Rp@ z?|I+vyFYVTJd^(*c|H4OHYu8Z&0X+?Y6SEVxwI{ZbRF=b<4@P;0iRKZ$Wd-2&L{<{ z;1troSrQe`WuE~Wppbf15=Uwa%+694z#xF5F)&2K>f`jFS^+!;_~9`sMovqKk%rr_=9r$5?ge=b!~@zZVq^u-TAHDd9s#g23Lrpp zMdeC5q$e~*Se|Ds1KmvQCaxu!_?(s$RnNA34#@C#fCCbOjh?28y3=r))3+)8(tA>G zYDeN0-_p*Cnrk;JaLq^okvIg)>2yGsP(+-WtGleF#UbBaw7gmq)GQs9x9Be|poG|w zTJ%qJ`dJF;d+k+GcRg?d8baBBq)-Wd1I&v5AC!wq0^!*f(ysQha3U^SLn`U7iH5xt z?^NXux1UhWeQ+y8*knX5>xx)*?AaOuoPVE1*F4c+QzMHdT*vjy}uJVW{hIcJ^542$6FZCQ{BA%4|E+R@L6rfqpq z{y0&$bF}|Oq3F29|<-<4yBt`RW%THp~a_7uz`fM&K5Y_g$ zo>i@1T0p3P+EJi37UiqlK2fu)?p$ZjHxr*>(@T&vA%<068Ww{W<{)Y=8iMLbxJCPo z9^C#G^%?~tz`4&y?r~r+Gn8Z49XPQ~Sm@s>j@M4VN zE2LYU%A13{WaW+`Yo?%-d6R19$N|x#2)byryYif#J8jYa{I<;MhxD7dPb^xF|9|#qelFRf5_loqlP6rGDA=v2 h^09nMcy`rxPVo&spNv!Rt@9$csXV9TR0GkY{U5hNsFwf$ diff --git a/defs.jor b/defs.jor index 0c3491c..027036e 100755 --- a/defs.jor +++ b/defs.jor @@ -5,17 +5,20 @@ : 2dup over over ; : 3dup r> 2dup r@ >rot r< ; : 4dup r> r> 2dup r@ >rot rswap r@ >rot r< r< swap ; +: nip swap drop ; : 2= ( a b c d -- a=c&b=d ) r> dup @ ( b v val r: flag ) - rot r> r@ @ >rot ( val flag b r: v ) + if | else ~ & then r< ! ; : f@ ( v flag -- ) swap @ & ; -: fnot! 2dup f@ not f! ; +: fnot! ( v flag -- ) over @ ^ swap ! ; : expile state if , else execute then ; diff --git a/entity.jim b/entity.jim index a54d05a37308b83a0d9bc4958390cdd1d5f2b6b0..a03576f03d82702e6ae7189d13c372e74fd38ea9 100755 GIT binary patch literal 1021 zcmYLHPe>F|82{$YH_p0$R7jmS6B#3WNYf62LM<$TNJ>x#v#zZ>V-C*l%I=uu(y_ur zb&2TWDX?1}>LNkgt%G$4>mZ^OQJsV+hz>*cy*INP!_2(*`~AM(`~JM+$$WSE=r489 zNE&T0arx5J_<8u!4KQfvVta9Be3JGGoHmlMT&em_KJa`O(p?Qi*idb3{zIH1i6HY* z7faS-iTH=;8|~n@b8b2Cf}5mxnrUD!4rt=38{!+{10w;E;M9%SZ_57seEm*>IEY6W8}82{!l^$-ri)L3NbcDcpq;X<`*k9A^=|- z+f>00eM21Mspfe^+r$rHiWIx*4!t4H@XnYYrebSBK^)ryu+)lkD#Pw|id*H|>POt* zHty+L_>wnJfmOb%mNKHTK%H4hG%%+QXlr_i_xK$+6I7Op^AtK^tnm=v@!JG>#RWn} zCGv^ig%W#bAh5)3j1y%+!H;+G<0e znWKaqvzO94JQSYPMLZ$V6^SYkp(7HzZ;GAJZsDVNtx(KaQ-ir`p(N%pqD4=LkIl9S zrJnaNP*hECPqihI>1SpF#Qe&R8{G*8>*}Vt&-U2?RrAJ_*GhESE0W`@%!t-NW_`|t zc%XhTL;Myiyz(`9dm}|wDr~xf!X;r*t?pc*?3H2tPl=w9-&tbOU#o z@-I6Psywk$F}hsv7X;{A8e__4OC1zueOC}!EAyUGuNUVFo;1x`9p9~F96swx%dFM; NM~LPt)mj|Y^$&vo59j~@ literal 1021 zcmYLHO=#3m5S}EHX1m+iLN$LyO2kXG^-w4jtGSd?MNzQ+oD|Yc){Wh6%5H4cS`b9- z&5L>y^iq$dAc%O_V-KYVSwzaxf@r}@v7o4jXr1?xT?t9%ecw0Vo0<1|vwynZS>L4% z?XA`ZW0xrJU+aC5Tw%2g$82?Fun2Q#r|2ju#SRV}h@@44s*e2_i zX4tr?tlHU1$HpTVX$^Q&Ne28{Bs*?xBP;QxA;1-W(5n=U@gsgu(K(7lXizjkkp$a@0yNXs z7}kvuD!AL!sJy*B<{49&A355`Q2`S46UR=PY{j%|IF`l&<$N<_C{)~Ob{>Or^29i9 zwk2ql<|Tq4$x3^!EtBoIYG#0)U)l4MJ0Zf7R5Z85EpdmsnKk*fVv`Q?pd1F$qe!(pV)2Rm_^8py59>?(zb>3+W5$4e9 zv$}@AsN)HmM32RG0(#g1vYKpiw7YHmDcbm#W-k)Ta8^shlwm&aRu-W5z={c@RtL<_ z_>n(A^_RT_6)sr06rFQRQw;2}WKk4~Ep_BhmV8FkP4%9okY&*gxM|(o_sq(s>61RU Qtec&$n5Y<5s%ci&Kg~}TJ^%m! diff --git a/footer.jim b/footer.jim index 88c1d82d964782ff3599490ae2c8b98bc4c9f36a..495c9852303f50b653fce05c4cca5089013906ba 100755 GIT binary patch literal 1142 zcmah|O=uHA6#kld`DvS`0ox+7J3AGrC{{$&OQje!w$@msR!gNq*L0=PG+UCD+KV34 zlX~p+|77C&w3VIMvvIpPnM(fQ$hW)-b@4fGRGh?;%cl=UC zS}^Vy37m0V&nfrLBiRWo7_FEp+jG4ki)4DqsEZS8e0pa@u{W35cL*OkfS(32I-X_F zgoqi%z(_Vb%qW6(ldx|*qk({F3XEj;^EY9$8OPzwKz4XE!#IjvoVIu5$e7+4!vRLQ zfsxEOqc}zx?Qft2PU~2sT{C9QnBE!oYr#bwY&2}e4eoyQ;ILMi#BDQy+-l1<+~?Hs zY%X_XjN>Uh;ncCggQI$kcDyuO;5iq(-n?6M%WOwGmUzFWF0ec4E%eE(iy8Lfi^(e7 zvRAeXo{m(h3ElM5^a(PKif4Q0DQm54Dq3oh_^1Aft zk`&lDv61Uf;PGFTdCmucp2|MaO@r}1ah0>b23a*qTA<_1Ez&P$G``Mt>tcxip&Rq; z#`A`LuQ20i+kli6PE_Iv!VcdAXps(BuVkpSMuS!t`J}7_Dn)m$F{@$iFhJk9;Z4i1 z4jB{jd!$OhPL?=8>zTi1?WC<%Kcfw)8dbQ+F`9|h=u}W{$ciFgbZnN9)`#`l{A4bR zAN0mj|M@|?pe^oUg&n~vdDZDv`u6~q`2cQNt*A`9|GbhaZG+BUG71LY0@aG?!j!Z6 ziu4examDe*vzy~9#A4IxZRcc{PkWR=#nyM{o|RT()=}ltNp(eY>zQ0gROz(pZ}X|7 znvtKj%QjyFJ?*o$P0>x!D&1A@ISQ%^E!~W-MCzi059zWZ%sQTfzRtTU0^ku7Gj@4C zAfjl(3&q||pU42hR56@&>{2PrNPNozPc&`a$(}Vm^_^8EkF*TGP8A~ya;=8Jty)>aBW7uSr8Oo+68O0&= zC6MIUSNNUz7dQ*ukzjH^5z z)uD@?>OMW!<0!k9d!rok@f!b*I|YRTmA}+bsQCt0Q@--NZBO$g5o~kYVnK01@fg6!)x-6t zkdr%8=C}a}G%E*07Y)Y;#4=|;4zeorQi8^rTcKynC_KP*t71#(5U6p2)o^4uzdJK$ zE7^coHKxcLgdNreXoWWAO&LyFq2FB5rw_bJx!^3+cCE;-hd}GxaL}m8KZhFSkBCRW zaUOAqx|u&|9H-CnG^4Lg73wxR=`zj5DwO0upSENaxq@w#crA5UxAg}s!!NpHnE&~p zR8SJH=pOA4tYoXwJ=%K!pZEZVjYgF7&YoA|(NU=EW$l2*w}AcmnQ43X6{#h5{U6w0 zdv*(ah14M%_c~fSecCVt%9gr2S;I48#$Usydh@R0x|w{J@Tkq)PWq&q^~mL|lEv3R zZF{S!H`*KZXw-btd83AyWi8-sZ6cAC=p=`2t z`5U>}fQcc3yJig6ZL3%evzj6Bkb{bj!%VVuN8C4ow1I$1!USHigsp)+5LlC~PyYZ0 C<|xkq diff --git a/game.exe b/game.exe index 53ffb0bcbd8a725634f36667086593d685212741..2211ecc05d9cb521452103c50d7c2a2d49eee008 100755 GIT binary patch delta 25933 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 literal 1925 zcmdT_-A^1<6hFIjD$6o_Ez2(bFu3l{o!NmY4-IJo2`c?S8jz-l#-uL`I~44)V|ND% zqVWT2nm#oqjrKu}HZ?YlFFt5uY^KJfjal(Q++a$g5-qh>E2%~wIvCHLnO)#daFexRfo`}SRudovK+l@v=D41RU3JYtQL1!-87*Zx$pT>Fb_uYE$E9}M zEB2rfT@-roG>sL}m&GEENUa#bE@a{$ep*vNT^dA_=5{GUcm!>HP!i#}Oln5Y?arGi zQ>W?xU`Pxiz66zQyM<3);VUiwJ-hI|*L{v8Fp zCCy9kIr2?u+L1?g*!ZzjTk@LDjZckdk3CX8Y2)pU-H}vw!kE(e?z&XOBzrwpz!vsO zY$;}A1uKWS7M@9dA^G7fT!l6kEF~(P=b3899=t#~x!>ewsLRXH?+@8{kW~TqpgFmo zA#Lz1C^IYo89h}> z7~o1%r%=R0G7l}{9W3ChGT?% z449Xzz>&0J{n&WciPo$EtS9GJ=x_lq%Y(!+*O?Di{q%_CfO|$y^YRt(7uiBT6!15i zePH8)TwPMoCXAd@$;UQJ{ylHAs89cM~-W5p}cE~b(iE8=P{jC{)#L|d5oZ#HRohL-e-K= z$?An0vRR`mwP5CEC~6{3x!fIWh`pfjlzgQuFdIK8J94?T)lu0f=Q20?^=6}+*f_*) zI!0s3IWoGgRKN)>qfhA>=c&e%L6Y4Vc27Idp3TsV1076O!HG$IQuj`Zb#2LIVTitN z`fTK^=jrBT`Xk9#D~%t9iui7llg9@OO&#n)bXiz)&`&&c$wL<%biqScJoH}&{mDb` zc&KatGbJEB9^(Dy8H#L7&twekq>;;{i732(tco`NnXIIjnbw^w6Yh4pHuYyJ4)0;j zY6RKC*BjraIQOX*3M#ib8)-`}3QkWX41nJ=(AZ7b5PfR2gN2(4I6-G^tX8WaolBkE zc>BClZ1hmKYjok~Q7dGlp;p4^WG18WBNR^u}9W{pdF3%5&s!F$+DXz2mlREcwPUyxVp TA9dpo(Zb7g)4%DD(#HP)DFf-} diff --git a/game.jor b/game.jor index 83252cc..07826d2 100755 --- a/game.jor +++ b/game.jor @@ -30,15 +30,19 @@ defer player 1 const MOVING 2 const DRIVING +4 const NOCLIP + +: player.driving? player.state DRIVING f@ ; : {player} - player.state DRIVING f@ if {car} + player.driving? if {car} else player.state MOVING f@ if {pete-walk} else {pete-stand} then then ; -: player.driving? player.state DRIVING f@ ; : player.canmove? ( x y -- ) - player.driving? if DRIVABLE else WALKABLE then mapflag? ; + player.state NOCLIP f@ not if + player.driving? if DRIVABLE else WALKABLE then mapflag? + else drop drop 1 then ; 12 9 N ' {player} defentity player @@ -111,6 +115,10 @@ player :tick : hello-world player.state DRIVING fnot! ; +: reset-level + :| player yield 0 |; ' entities redefine + :| drop drop 0 |; ' player-touch redefine ; + : mode-move entities each EVTICK entity>do more tick-mapedit @@ -120,6 +128,7 @@ player :tick tick-debounce q-level @ dup if 0 q-level ! + reset-level loadlevel q-player.x @ q-player.y @ tile>world player entity.pos! else drop then ; @@ -142,10 +151,6 @@ player :tick draw-screen draw-footer ; -: reset-level - :| player yield 0 |; ' entities redefine - :| drop drop 0 |; ' player-touch redefine ; - :noname reset-level MODE-MOVE @ ' tick redefine diff --git a/game.prj b/game.prj index 9a79db0374f3ea7c9e2c081bdec6fbea7b43d7b2..892a749d53ec2b2894e2d5474d0d9ae235ba46f5 100755 GIT binary patch delta 379 zcmXv|y-UJT6g}@f{UxPXD4IdwAczgNgxZ(oSLN5QMFPPkA|a@RK8BwK=@KnL^opRh zf|gAAfpbN3e?YWEIMmPq*CJzbbv)Cio^H2!HVdf-7>-b47WemNrXOfu?^A(BlLIyk&D-+^{3Zal+`bP8AMpnos`J$sFO^<1jHmOFQ z=m)u^hlG;`Ds-DV={-4zkd>1?Cl%W+uQE;#+@^v<>2wD+%ByNGu5J>l5UK-SjM*QD z8=?)T7R8$6cOwG^Ftiav=U0e}?uqOAK$9@3uCLoHB&cFY8fK9}8Yv{PfO*UzfjDA_ cB7#}WU<%U+V-gb>M+iX#5a3nn;tzJiAE6m%j{pDw delta 367 zcmW-bJ4k|20EN%J*B5H2X+}_CkcADRJuQ3sAaS@xY9ZBFgCM0j*aOOzmLTC58cGN< zf?6t}h-e6$+MF7KprN2SBxw2jl>;AVIGl5;wzBOyFP8zSwD7^U1(U+a)X`+AM=_@$ zE+MO3)mfp8Ci#H{xbgy-lBoTp@=jUeZ7ML=>!>zS9@-N~$Q+d%8e>$R4;PK!s-fMv}t5p?${+ z({tO6nAlwA!4RN_2I)+kD`8PBnpJhm>Xf5WjBx{8TQj@`twk57I64h+9oD408fWKz z-hty{fSXZkYeM-X#zhgPrCn%qO0ZyPHWILiwfcxZ9P#*lb}vEc&2UGUbf=UzHV~&@ q`Ud#mg$GlZ#017MhEcdNf?>EYghBM79|P!x6An0pEH%rd8TX(4VkKsz9p8f+mZz5);7V0;4x z7lKUR{ys0wGeUcma5;8$@6F;J#%oGWB08V|QkW6WWy9jaxW~o3rjVPzBjCLr3 zCs-Fj{rD&?FpDi=9^_ARLqUSVr(Lh{DGUk^NCU;qFB literal 372 zcmXw#KS%;m9LK+R_p%a$Oz%xaI5avHR1ksKm63lAJ!`vA?+xaki@Hk!mxiWrYiVhz zJsN|+vB5E-A#lsNp(zaeJ)!OUdEY<0_ZEY{ktcqnxcX0&!8Qs>yhIhadVnBn8F|8a zwDk$tNh_ZwTELaA!rmacj2kI8Nv_~tr+y-B5v<`s_6uerX%MdCS=V3}P0}g!wjj6Xyucg5A!AwKo>yjX;luIcGzr@&J5C z)V&e~Rzrtmn>@z4Y&43of!bHQOhI4mF^f(I>X0q*AdXMOS=skIw~4PPu+L}URV%f) zBg(GdtO%OAhzS0n4Ox};Gr3~HkWW`|`H%8nR9y3EG+h5wIBu&sZgr@0$0t##)1Yw1 Rw|?YdEye_Y)jC?6{6C}0VEq69 diff --git a/jeanne.jim b/jeanne.jim index e37524547a8b1115569bf89c803cb0a303f23033..64854b2ad9f510051c01e18f6c063637aee7dbf8 100755 GIT binary patch literal 593 zcmYk3zl#$=6vro*!H6s&DtDYe(08J@mynqO3ma|J;ye)*Y!`I0nPk@N&K$cN<97ZD z!u48+h+G-25QW9sQqICg5o`pTwN2rhB*n3?%$`UlMh`&$3kb*lvYH9Keu|0JF@pW@m1XSk}}ymz9apM}@D)V^`%-4>yT^dnz5 z_vZoL@*O_`V{@3ucodnT+y4ui7Hh1Nk~YXK_N!C09rhUBSIJ9n4iXDcEa*l>|6<;e zvEgX>?jYyQ#gbki@6WrYPK*1tXZrYBs$X!xip3(n) ChPfaB delta 463 zcmYjNPbdUY82`q8Ax+y(A>_{|c88hww&bA5$pM7}2M&t0CcDPYh}qU2GzwS6=HTe) zilbV&IB-CeoLnWPy|}FM-maooulIi6uiu~V9yI1eiw!1_Dpm%WNuOB^$A_%i_wr2iGoIZ zV$#D5%20xm{>XMj8tjBm!zXHa{$=D5evtz1GBwm6 z@q(A87yJ%uB8bl(#anWUB3xs5tfqj^Tn(M*?+sBM@ChGSnR!);e8EQb6gj@@Q6{!x zC!Hl3`9`qH?hTN~D%dcS-Owd`<4@KKQZ~a~vz0imgJjqliB|S&5kd diff --git a/jeanne.jor b/jeanne.jor index f623628..8bdb685 100755 --- a/jeanne.jor +++ b/jeanne.jor @@ -13,10 +13,9 @@ car :touch ;entity :noname - reset-level 0 player.state DRIVING f! :| player yield - e_chuck yield + chuck.state @ CHUCK-HOME = if e_chuck yield then player.driving? not if car yield then 0 |; ' entities redefine diff --git a/jorth.c b/jorth.c index 8526c8c..4e649d0 100755 --- a/jorth.c +++ b/jorth.c @@ -525,7 +525,10 @@ void f_lit_() { void f_number() { // str -- (num 1 | str 0) int num = 0, result; - result = sscanf(TOP().s, "%d", &num); + result = sscanf(TOP().s, "0x%x", &num); + if (result != 1) { + result = sscanf(TOP().s, "%d", &num); + } if (result == 1) { TOP().i = num; PUSHI(result == 1); diff --git a/jorts.map b/jorts.map deleted file mode 100755 index f0997563909558523675fb2bfc93300aafaf77ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10004 zcmeI2VUofi424^IRquZW^MJIdI3_g74=1eC*}5YiB=04~*~j+SW@D#OXdE=~_q+FB z7?y|~i`;gswO{MHO%a%#e;Ni1TLkt2Onc#X8pepdPKZg{V1`w?t6b&`Q$(o?f4i88 zwu}C4`g&`-i!$AZk@ZgNV&T=y!-j0!eIkyR*msUe0l5$eecJ}T2l>*S7Xn^v2lcS<~l>P%z`~y|W zU=>cky}}%Q!Ey>f9QJ|vw6df1E;;r7!Lj>X1y|K%HUW70}y%sP~?UrGp6URf~KDj zK;-vV3hQS7kSkJQrDY#w|Bx#(`-ei20mVH4k>?ME==1!cP^7|2tHnJ4k>6h_M6a+C grEcxirFaxuMcDsi!R*OhVI_*|(%CTp@i+bB3Cp@VMF0Q* diff --git a/map.jim b/map.jim index cc4b58a39de2578f808698f5e46d9122fb1ec753..81329f3961b1bd9cb486642b7fc644f005991074 100755 GIT binary patch literal 1009 zcmYjQPe>GD6n{JOCf9W`adbR%sBdOng6t5oEEI0oA2vxNDoQel$(_}~v9+B|OAirt ziSn?Af-d19f}jY36*@_W4zYNsP^e%dg!QClkcXH<@6GOJGtA6;zwdp&@Av(_H+v$< zw$ITuIWGR}Mc6-)^+0Xu!m<=o%aTAJ<01li$F)7%wTJVdwgdEwW^k@eTCS6}^7eso zYl7w!w0X_PD`F>%XK#4+R5s_Pt8A~dgIZGfI4v5hV@yXg9*DsXA0G(}_yY9#O ztCb}mUx+YV?Cn3*d$j)qthR;V9RbJB_Fbp}608s*b7fp>gk-meWRQWc5Z$$FO*Ftj z@8J2qfJB2PBMc;%ryQXrV`@>X%fCfgT9@Z!A9ov#FlD)8)>YT$@sDDk;o~7f(>Z6d zj;;pi8AGMzhsW3eJMEA+EkojyyxIP(bs6s)ix`56xM@TnXM4_c{R9OTG@i!tPMa)0i6y*bCP^A^ zg$2eDFogzH+%&m1g&`VGVYIn~mrWhdp^gH%6FN;~qo+tqLDQ*`?pA@(0Jx+2_|S|% zHk0w}e65AH-FZ(`B`lfT2hYq#@J5|Xz3PeCgm2Y~6sLveYH>_WsI!{DqRH5XR5W8j z{!*4zhB<>9ZK#R_tM{$ z&D8T0!qI9a0R6x)wv>$CQV2ubOeLZ2`EKC)Zn+NIg8;u%{opM%Y~OS2x_fNVu5wMu zm^DJ|r#@J$To2skO3ion+?I^(fp#jyBh<6ECU#tLlHvzL94CzYBMTFMDJ`X7w3HAp zQvxpKC(q>zljHDyFa~u_oH;*nv6E2XJ{yYHoNvzuOcql?1sO4(o$;9BFqNOVFcFy; z@S05+SV~UumKoilw)%`(N?U!PhWLRkmu-K+zUsTOewV&bh(9^&)VxMF`zXr(A)U7` zFGvGi$E&kENuSi!p_PFqp0L(223yLDC^{QOEd_8L0Zyw;oUu%NN5IbrN7p!#l_Y&r zADXYsCf>2cYnmL|QHh?KZ#lPONz1YkvM32rL+y4v#38E}%9ZL3K?&S>CK<)7etdsM zFLFnvpM<%8U&A=IFT_)*Zh`7IHi>g!ZmG;-$M0O^Ry60(h2Y@w$r&s vA{^5`^33WY+R|nXkzHZgoag%;nZSt4f1o!E1XwVNe0g`&F4U7Q6d&VX^~%F` diff --git a/map.jor b/map.jor index fb8c1e4..d71e645 100755 --- a/map.jor +++ b/map.jor @@ -66,6 +66,25 @@ here tileflags - 1 - const MAXTILE for 2dup i copy-mapseg next drop swap mapsize! ; +: mapw mapsize drop ; +: maph mapsize nip ; + +: offset-map ( p d -- p ) dup 0 < if drop else + then ; + +: shift-map ( dx dy -- ) + maph over abs - r> ( dx dy r: h ) + swap mapw over abs - >rot ( w dy dx r: h ) + 2dup map swap offset-map + swap mapw * offset-map >rot ( w end dy dx r: h ) + map swap negate offset-map + swap mapw * negate offset-map ( w end start r: h ) + 2dup > if r@ mapw * + swap r@ mapw * + swap then + r< 0 for + 3dup fW{~R``QFO(jf_n%3cde@})1M5b4GgeNx>Rl2OJYS=seY`*f5UBY;qnqHvO) zqCHDD*35(4U=z>;9kQs?V)uB8Ojh)XhkYS%#dc-Hf!(O9=!?K%aE_lP5lxlW?nBS1n- z&MaB!=|3e~2Q)(GX3}|VdU%Wu%nH*Z%qYcmC*%>wPSX>S(b%`4fL}S0OrD1!%E6W4 z?!dN~vCQ)&=*m;|S`x~4X&5f3OaVRf@{>*8Tak`4!$J($Ddorm1SGEzwjVl01Hkkyre)s^T?Jg!oYDZ3afyHL+lJy#(wzeJ%VvnVx1p)$2Zj{&B5 zn)WA_<9a*-o7K1S&DGt?w;70!1Mz+q28KUC=j5yTaD8HtG2jtU(%jD?z_6c%i(vu} z1ItyGuX>x+|ETY0;Q@+qFi7aiJkqMv1Zm_13a~&Gh3bR+5v)JCjnTz7NdcmO8%aSM zSV4@ ooXw=5oTLy8bQ8!Ue3~GS7#kF%mZWCnmlo^gCKfR4SNX#N0CaDH@c;k- delta 454 zcmZ3-x{fujK5E7>cx+8In>{fMU)%+kj#T3Xa#bV!5k5F;16F2FUua zJ#nIpl#GHH%O4hGb@pI&wmK7!tJGu4=743hbUf8_74q^+6iPCSQd1NvQ%m$1V2ZbB zePWrQ!z1urwS+HCyM(U>h$jH?eijCXKS1YPQ}N;Y#PU>^M<7joKZ^jveikl<1|9~M zt1SC;zNQ2sP mQc#vrm=1Ik$Rk1OAdmdfEl4d%&B!k;*2_&SU{F*3!vX-p#KC$Qs=VvoWu-3DmW>FOW!?KP66?_!(5k4b4v2m{eQ2d4v3qz1= LfDglC5i?-`$6_Aj delta 119 zcmX@jbec(Dp6jL1eql$(ZlMMtE{5Wg#G(@2qSS&M1|EU^EK7uz3jSf)&oY}OpXE05 zCzcCB6ZKWJV}v-kKC#>v%FkwyV6A6A&2mNP56e0RRIo(ozfisK#Kye>K=E!N7KR|# L03U|qA}@siTT&rc diff --git a/repl.jor b/repl.jor index 35dee6b..ef77d9f 100755 --- a/repl.jor +++ b/repl.jor @@ -3,3 +3,4 @@ begin receive loadstring s" ok" type cr again ; task const REPL REPL start-repl + diff --git a/road.jim b/road.jim index 47a13418c96f1bf761f756335ada90426c2ee2ad..8abf566d75c621cf10b63af05ed56498a6500ea2 100755 GIT binary patch literal 501 zcmYk3u}{K47{w1g43bK4&|n<=P^4h&Rc99y2SVbcgNuo&?I8{A9ciyBPW}ld&d$b} zU>r<3J2<*HI%*ummBBl#$aeST_ujpG-<@%}dTo59u8ngejqGM*w~#hBj|+)i5);zZ2YQTW6p(vIv6p!WQvK;!!YPQ*|(dVdonDK1T=Us%;{L2^+S*IRtTQk zqW@_@I+PNJZ}Kd^`bBD#(ZKQ`6g;3{F$dZ_6u=t|*B+CuNU5Gki>7L6$=u<-A2C;S zz@|*l;P0Vc@pCf9vuJBl)nX0lBeSmiz_@f~R2Aw3ybUfpjF`n3kC;szrQeses_o>e SYC9KZz%7UPRvX2o0saBQW}7^s8JN*adfCi^QK-cAC)6K8NVs0uF?5l zjl7TbH3z+beSO2Vp+z0awn6wNbqB=Ukoszfm_?`mL^amr`^2{%@m1flTAaJ_*gO=_ z=zv9-ApT#Fo&QKiID?jxvY@k``ovgQJzzX0Ga{?CeclGj8X+?o f;~}$%E&VU5NXb22sB%x&hR;pA;+btk3*Yz$fcKUx diff --git a/road.jor b/road.jor index 17d08aa..03dce2a 100755 --- a/road.jor +++ b/road.jor @@ -3,7 +3,6 @@ 24 4 N ' {horse} defentity chuck :noname - reset-level 1 player.state DRIVING f! :| player yield chuck yield 0 |; ' entities redefine :| @@ -12,7 +11,7 @@ touch-begin E leaving? dup touch-next 5 9 2= dup if player move-entity 13 12 pete.jor queue-level then touch-next 13 6 2= dup - if pete say" Old hiking trail." then + if player move-entity 38 71 trail1.jor queue-level then touch-next 24 6 2= dup if player move-entity 13 22 jeanne.jor queue-level then touch-next 39 33 2= dup diff --git a/state.jim b/state.jim new file mode 100755 index 0000000000000000000000000000000000000000..6462f1b77c006f9c8c13eaeac8fe83cdea8f5bdf GIT binary patch literal 89 zcmb2=YEb>IL;+8(vgCMDJiPIY$d2XJ!| z^b2SQ$Bg2l;G%T(3*6vyNh?`$zyHhg+?7|o^*i~HDG6KTsnzrQgI%)M_UuFJ9s9yT zjAKEVg2<2~CQfoP+~t3b5(mA=A9h0y7T{u&g=b6SgoT5J5HkoZxcDv8jez;o({sen02IKd)kz^~ICWco9f4EH#TaP6|K73Js%fr=ud(W`$70 zn`QL$dS&Ur!;dvZhGJ~-$w4EzoW?H~2H};P6uS82?YHGJ`R$P(w3NX#?;=#WL&K9x z)DK5$XK3CbomH`$#WVX`)VZJvLY*@k{EQP>vHSTLm$Jb#(@*16=IElQ)L=fe0JCcW O=bU(z#{Zb?sPPA%>Syo( literal 438 zcmX|-&q@MO6vmIvr~Ppjf-sA@LvbU7z{rgR5iZ=gi8j(U8T4X;Gb5AOGqmjidV<~{ z!Uq^>6Hyej3S0FCH|pFOjk~$`cfRjC=br7&pUSCsmz%ryZjpK;KN#1^E+5(_)-%3b z2MH`en1RTUUnWlaGF`#Uf8%vOQaU~usje;oB@v4w8*kZuSaG+A4EP_gQB zh0ws0W$M}Y9)*J@KCKyYl;D+L4m#=QG;TRCjILxFDDlqIzlnA7`%^#cDT8U5MW}Ix z#u}HPXxLtXE=Nj@mrZ$> RJZlLT?1(+1KlhAQ;}59>WY+)y diff --git a/trail1.jim b/trail1.jim new file mode 100755 index 0000000000000000000000000000000000000000..6d2d743998b7ad5de3ceff5b41494d6b4daab728 GIT binary patch literal 504 zcmYL_ze~eF6vwa4Nkw9bgFmVuucF45-UT-ehtsMma1i@Y1 z92|?A5ciIvgARhDgF|ub;GGqO8{WJ3zTfwG@12~_-I1@vB{?N2#11QVqf$fa=op@u zN}xyOD0xW~R51hb7n7^WB=WJJR5gTSoIuOUGkzm&y{F6Ub$(F)RL5`+t6GfFU*5&z zRMp!0eL6*+lukiv2Iw`pPaFD(h(~B!#InC9Jo)_AP#4>Vs?FqzncD?~pRq;zo%{3w zx_Fyz>UHpV1WnVeIbM~bGIT^!A7dEBIEB{8NB)1DX0&p0#GI%V(S<5aHA9-+&>b6& zc>s~kz~v_l_%Wr@v5Q~mx;#b}O1uf&gAFr?Y_J>)TD)<qDKvE{j+J>{{CpMM`P3Po6&x|NA9e0t|O&`Ux GJ^TYGADB4+ literal 0 HcmV?d00001 diff --git a/trail1.jor b/trail1.jor new file mode 100755 index 0000000..717555b --- /dev/null +++ b/trail1.jor @@ -0,0 +1,42 @@ +( T R A I L 1 ) + +38 60 E ' {horse} defentity e_chuck +39 71 N ' {car} defentity car + +car :touch + player move-entity 1 player.state DRIVING f! +;entity + +:noname +0 player.state DRIVING f! + +:| player yield + chuck.state @ CHUCK-LOST = if e_chuck yield then + player.driving? not if car yield then + 0 |; ' entities redefine + +:| +touch-begin S leaving? dup + if player.driving? not + if pete say" I'm not walking." + else player move-entity 13 7 road.jor queue-level + then + then +chuck.state @ CHUCK-LOST = if + touch-next 37 60 2= dup + if + pete say" Oh for the love of..." + say" Chuck! How on Earth did you\end up over there!?" + W e_chuck entity.dir ! + chuck say" * n e i g h *\(Help me Pete, I'm lost!)" + then +then +touch-next 3 56 2= dup + if + pete say" This is where I buried it." + say" All those years ago." + then +touch-last |; ' player-touch redefine + +s" trail1.map" load-map +; ' onload redefine diff --git a/trail1.map b/trail1.map new file mode 100755 index 0000000000000000000000000000000000000000..ca9af507ebde8c72b189aa2eb8653e3ff8c3ab79 GIT binary patch literal 5629 zcmeHJS(d^;2#oqXo%g@bP|)ne=+hbJ!~TdYMNv&>@wVNz>vw%_0;fk8No>$8yQOyn zo#}K+T*c+y2_TL%$O($2KyfM8BPak@D(uKZfYx_lZQ2n%!fZphgo@i`e^u!O>M8u= zS+#o+d+0|^q4fUjh~c(orrw~`7Pt4u6C(?`v<_8~?r|j+I9riXTtEsDLTzoBQmHL2 zYKBmw;s9+BOOr$05K{D&YpIy)3$VDT8A3*ti~=m~zoEi`-P4_N$!T?R_5o86Aydo( zWS7|tR}dC&MgcBYq_u0SPJx-K-Q#WBiA0<|s^NAj&_-7B?z*KlJ))VfsyvCq=b8>V zRk-Vx0(!(V?PiIAUf3hQL#3?iccVAGwKl^*J))_eq1UPh-P$kM&)6FtkclcEkrGYV zzoQz2E@6EK2dW;TTHnEUP%WLWQ1N$}2o}dHRDPUneUQrjYs3?j=jCZt`nM%g$xff9 z(jmWr?+fEY2h6k}7MmDwrx&tR4(J zpYN!uR4k1y77xQSrLXwe$6cP<)5V7)kov*HkE&JkO*W{2SI!9MM zlk7#E94tV!i8+KU6+Q4R94P?{t4gKCp=K^Ro848KoM(Wpp2-wxv@Wpk7lBQ#-Ch65SM SV^YhmK=Kc$76oo8(EI?YeO&JV literal 0 HcmV?d00001