From 62ea08aa24e540963768808845ce9fa7b3a706ca Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Sat, 24 Jul 2021 21:39:59 -0400 Subject: [PATCH] Arrow key support in Neut Tower --- NeutTower.dsk | Bin 143360 -> 143360 bytes neuttower/player.fnl | 13 ++++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/NeutTower.dsk b/NeutTower.dsk index 80b536d50cac787c36e313c01e0cfe4da4702919..5a7afd508237b35afc31b176c62913f498b8da6e 100644 GIT binary patch delta 3383 zcmZ8jeNa@_6~AwHk=^p{3W}7`6c&w%nZ{_+XA3h;be9dd-QBkzEMH0LWD@@fElx|u z5-gd#r3h(+bTxN319b?XB@mp!h^83WmAipM2+g6EwL`FdwQa5yJqmacCIyJ3Rt99zEeq)%7vL}bvEBiww z^t^~B%!PWy5_-3FT)dC=h=|AN??c^UFIDO3(3a4lkV?l<4yoZW&Ow^OoGONwnI42Z{~IyE%!}$6zUUb#)E6 z2*A_-5Bwc?Gr=&MCAwk-NZP~gRXi5fX)7+R?devO`p+`?%Kc#QG84{9OW?!yA0ryebEO0gRJT7VY1h7^e z(=^-yEUaTDLhGS&B>Fu9j|G``$LKda+#^VfcH)MUHT>i|{6x@Cym0che0~(*M?`>2 zY|E%$(MB*@rrWByy=;p!hi~JaNzb%Kw(&~H;H_Vce7n9ax5CE*7EqphqN*3e40f+` zqumCA-mucKh6*f9=GOXE=Ty4odB91xo zyRcM{uM_yVKIV$s4Mic=8{ePvZFt(N*_uS@TCBN|N*pNFqU^KP)IVwuJ%BA0XL4f0 zN-X!RBzQVlIPqvf7hE>+MwqDL#mL@IY!c!uo#-gQNF1!z!lP2t&Nw@CY=bc(&olLy zi(MEld*yhc{odNwLILjDYda)gqls_Huf&wMQgY_yXV` zV^`oE*vD#**Kd0Vq~NeEw~qKNR2#dCwG`yGbGZ?aiywZub%+ge>@9Zbc;UK->QMe; zN|HXSyyw)qld+-6i(~MuD8=LVIg)8vr@b zk)trwaMobO_p_Jg-V!F+BWD8@$a7e+SN>d4=|G1{hdVOwllFk)2LpI$T^M?(VKr;51rv)LN{Nk@`4MH?o zc=HeS67L94pfC`8%NHMh`}ym~DUv-|mV^NNyI(DI-BFxR#8 zz+!O93LtqUH`kk-LqP1j`7@SpFtM4N=kBu9y&AZp#lTp=1~KXaAyzhMfdTgR!oxyy a^2>$C4WOd_i>4f5pfhzxP2CZ;KlndNJP_3Y delta 3351 zcmZ8jeNbFi6~Av;$TE3%`N)S1$&lTo$>21piN26UOOpi(th>B@yX=+*?IdFuC)fmS zNh@(^cM(J~%V@}DGn8n6#;Apmgl>k{8SMyTtOTuKzG`jMe6=!8s5TX7HS&7Sy}Jwb zkKKFD@11+kIlptxeJ^~|6256U-)NEivBQ>C0a$+c)lubPhi6dEDs7VoWra#)sYZ;1 z)(y`L;$YwD+)OLH-C*mmM(Jy%^|4szs7We_9qMu}moBi8-ip*wze3+;DSgl7)OqIR zDE&bhsZ;2RGFS0fu};sH86I}DZ_E06wOqF4%RL@E=^teg@IZ*4%WWW=Nre5a&%T#f z=Rupw?3Ua8e1k%5TNQenw1XRz?kA;jHSn!~PDkLsgOF2ur zC6hTJy^)lRMdJ{d45gz9O7>+!+N;nkO9G4n7(cqttk5#f21@_o@uAcO?&2m|u0ro{ z6O?9?QaYy-v7Z2TtbbkTR@Gr3YqP(WZn1jlVcO_H3XfOLb7J%TH)O1WCR1Hpm|Thm|@lfo)<_|BF8#+B(`Fo(oTz=9+Wrq$zgt z)Xvb;iLh-c3VpB~Q%0!?7>VbTP{ji@Nj!iulp_O#=ya2B$`hq4eZV)@#z0#Sns|nD zf?>P@Xn~J8b?Wd%oOgZYA?)ZTKpTAj;{OUw;g)+~5^CY+@YJgsm(w9(!k_72&11k3 zu<;S-@U_Xanoe)~5Ub%>A7F>v3CzT?3xI`t5xeG&$Wa=)=|jG|63JsEc@*~!%3ca7+corTa4%~#EZkm>qO^U=M<5EmnIcGeI*41Awa#dmg^0Jvn=jV`U8wuxam!I^ z2f{_<4_AgTJHtrKa18{-9pC_PmU+)>m2L86DA_Sc4^6RCY5_Y5Qz@_%jx_?dA&Hqe z)&bZbIfkxUNTYM9gAk;TrwxOZ+oRJDmU#FLV8J9NJiHCqo+Ktb%m7x;u{OEJ!%xRL zMCn?npiT>*w-oB;ZgM>sgakzsXk{jcw{nU?KBrQqUO>|5XVw!E{q!OTEGtdS()pM(==PfI?lAFuBuY#Cbnv5 zT`soX=@PtG%4OAStEzt78F&OIE5g*F4H?+=iIdj&aDaJ zx%I&S|8{$iV=r=yaZI!WxNs75m-Pg?t0BkZ@9?7WUwckkk}w`t4c?mY2pqBW*)Iat@*k zF+w>9@x8oo0KYFc9>DKQ&LFUiT*58GZe7}F8vP!#OdLdS-=6rqG|UDj+;HIBM5>fi z@~CBmvC&CLykS zIZN6@I{k68PWzjSym7L{+XK6iq~sQJP(Wxu%*L;t$m;QQ%O6zqc>FM1QTkT6haI|h zAUk=LJD{^ip|fk){cHVFd#vmF0MftnPro!F?|-(#WaPb5xK6zL2*HaxafxG++&5{A zJ^xO#1o3`!(FaMlPWS$gc0=<% z+V_;qBvT`sn0;&QbnrRfv|uA8i}fP^63%IFI^1xt&lO4T*nj7~VghH?AJ?TyO)X;! K`q+ZBbK56?Q~-zo diff --git a/neuttower/player.fnl b/neuttower/player.fnl index 7f7d5ab..ecacc79 100644 --- a/neuttower/player.fnl +++ b/neuttower/player.fnl @@ -3,12 +3,15 @@ (local {: walkable : neutable : debris : sittable} (tile.flag-to-bit)) +(vm:word :either= ; target val1 val2 -- f + :>rot :over := :>rot := :|) + (vm:word :movement-dir ; key -- dyx - (vm:case [(string.byte "I") 0xff00] - [(string.byte "J") 0x00ff] - [(string.byte "K") 0x0001] - [(string.byte "M") 0x0100] - [:else 0x0000])) + (vm:ifchain [:dup (string.byte "I") 0x0b :either=] [:drop 0xff00] + [:dup (string.byte "J") 0x08 :either=] [:drop 0x00ff] + [:dup (string.byte "K") 0x15 :either=] [:drop 0x0001] + [:dup (string.byte "M") 0x0a :either=] [:drop 0x0100] + [:drop 0x0000])) (vm:def :yx+ ; yx yx -- yx [:lda vm.TOP :x]