implement 1p/2p menu
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmIPRVgACgkQO3+8IhRO Y5izDg/8DrhKPByZvHOkH/KAJrbJiC+5ej6GGcTg5snDBhesu6OGKFl6vRXhdOx4 QfCHx00RNTWG4mENo9ti2/MlWEFmK5ntKM3+8vByxhf6+yHLhcMV9ZD07KQSW6/r zMQRhunNu8GvauYILERTY0qEJo83rL5v1cxn9bAIi/E9t2MyZF9oMeeTae3qykJt xuWIZzGkNR3NzGv7zswpR1riZn6kMvCcQ+wvsgCTsWtIUKSdj48/UFFzI4saHhLY D9IrDUu+t0ZsCnyPw4EkiNgtFHlL4Jo4SZBuVPFCgsDnV9yP8L6ZxRncp/W49dp5 iNHCdTmtYrFI7mbxe7IJQqk6uzBjS5R3xgrhqtEXYzM5TeUiUfVahRqBuluUoKUY VrMmniFsHoNxozoPJnsdvHZavgrwLxjywUbcD/Ls2hw2h3rvQWt84WavXHPuPN+t VGY+uiKKbkgX/dKDw7nzumEZTHXelgm2wWd9OzsymqlL2LHqsao0COVXyKKNHyXv dgAqETuqWcyCzcnA+8ziNVO+NhaTQbx6bnPT1jwHabeONG9OO2h8bEmdDNQxfB+n M9Iay6qJVkCBWTJlfKrxY68OI0wEcZKEgonBCbjeepqtY93RnVVhphe4OIGzAmGD GPjmEu+QPrVO00Mf01p04IDbWYZonc0UcZb4i9F3+UTtqqLBYk8= =AJMY -----END PGP SIGNATURE-----
1 files changed,
48 insertions(+),
4 deletions(-)
jump to
M
soulgrind.tal
→
soulgrind.tal
@@ -108,14 +108,15 @@ #bc00 .File/length DEO2
;titlescreen .File/read DEO2 - ;fp-xrxs-version .File/name DEO2 - #00f0 .File/length DEO2 + ;file-xrxs-version .File/name DEO2 + #0010 .File/length DEO2 ;buffer .File/read DEO2 .File/success DEI2 #0000 NEQ2 .xrxs STZ + ;main-loop .Screen/vector DEO2 - + ;key-listen-press-start .Controller/vector DEO2 BRK @clear-screen ( -> )@@ -139,6 +140,26 @@ &y $2
@key-listen-mode-select ( -> ) + .Controller/button DEI + DUP #c0 AND #00 EQU ,&no-left-right JCN + + .state LDZ #01 NEQ ,&no-1p JCN + #02 .state STZ + ,&no-left-right JMP + &no-1p + #01 .state STZ + + &no-left-right + + DUP #09 AND #00 EQU ,&no-confirm JCN + + .state LDZ #01 NEQ ,&no-1p-go JCN + #40 .state STZ + ,&no-confirm JMP + &no-1p-go + #10 .state STZ + &no-confirm + POP BRK @key-listen-1p-game ( -> )@@ -149,11 +170,13 @@ @key-listen-press-start ( -> )
.Controller/button DEI #08 NEQ ,&no-press-start JCN + ( if xrxs, go to game mode selection ) .xrxs LDZ #00 EQU ,&no-xrxs JCN #01 .state STZ ;key-listen-mode-select .Controller/vector DEO2 BRK + ( if no xrxs, just proceed to single player game ) &no-xrxs #40 .state STZ@@ -217,8 +240,29 @@ &no-inc-y
#0010 ADD2 ,&while JMP &end POP2 POP2 ( display Single Player/Multiplayer ) + + [ ;txt-1p + .center/x LDZ2 OVR2 ;strlen JSR2 #30 SFT2 #0010 ADD2 SUB2 + .Screen/height DEI2 #0010 SUB2 + #01 ] ;draw-string JSR2 + + [ ;txt-2p + .center/x LDZ2 #0010 ADD2 + .Screen/height DEI2 #0010 SUB2 + #01 ] ;draw-string JSR2 ( display selection arrow ) + + ;arrow .Screen/addr DEO2 + .Screen/height DEI2 #0010 SUB2 .Screen/y DEO2 + .state LDZ #01 NEQ ,&no-1p-arrow JCN + .center/x LDZ2 ;txt-1p ;strlen JSR2 #30 SFT2 #0018 ADD2 SUB2 .Screen/x DEO2 + ,&draw-arrow JMP + &no-1p-arrow + .center/x LDZ2 #0008 ADD2 .Screen/x DEO2 + &draw-arrow + + #01 .Screen/sprite DEO RTN@@ -292,7 +336,7 @@ DUP #09 GTH ,&above JCN #30 ADD RTN &above #09 SUB #60 ADD RTN
RTN -@blank $10 +@blank [ 0000 0000 0000 0000 ] @buffer $10