From d50d2ec259fcce00a10b6c6e87808c82f9bd3447 Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Sat, 10 Jun 2023 10:48:56 -0700 Subject: [PATCH] Basic lander design --- gui/lander/lander.tal | 60 ++++++++++++++++++++++++++++++++++------- gui/lander/ss10x10.chr | Bin 0 -> 4096 bytes 2 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 gui/lander/ss10x10.chr diff --git a/gui/lander/lander.tal b/gui/lander/lander.tal index a43a67f..e6b1cd9 100644 --- a/gui/lander/lander.tal +++ b/gui/lander/lander.tal @@ -10,8 +10,8 @@ |0100 ( -> ) ( theme ) - #0f00 .System/r DEO2 - #0fff .System/g DEO2 + #0ff0 .System/r DEO2 + #0f0f .System/g DEO2 #0f0f .System/b DEO2 ( resize ) #0190 .Screen/width DEO2 @@ -29,14 +29,17 @@ BRK .Controller/button DEI DUP #10 NEQ ?&no-u + ;get-pt/offset LDA #01 SUB ;get-pt/offset STA + ;draw-lander/plume LDA INC ;draw-lander/plume STA redraw &no-u DUP #20 NEQ ?&no-d + ;get-pt/offset LDA INC ;get-pt/offset STA + ;draw-lander/plume LDA INC ;draw-lander/plume STA redraw &no-d POP - BRK ( @@ -54,12 +57,28 @@ JMP2r @draw-lander ( orientation -- ) - POP - #0010 #0000 - &l - DUP2 draw-circle - INC2 GTH2k ?&l - POP2 POP2 + ( base ) + #0c06 get-pt #1406 get-pt #01 draw-line + #0d08 get-pt #1308 get-pt #01 draw-line + #0c06 get-pt #0d08 get-pt #01 draw-line + #1406 get-pt #1308 get-pt #01 draw-line + ( legs ) + #0d08 get-pt #0d0c get-pt #01 draw-line + #1308 get-pt #130c get-pt #01 draw-line + #0d0c get-pt #0e0f get-pt #01 draw-line + #130c get-pt #120f get-pt #01 draw-line + ( plume ) + [ LIT &plume $1 ] #03 AND #0c ADD STH + #0e08 get-pt #1208 get-pt #02 draw-line + #0e08 get-pt #10 STHkr get-pt #02 draw-line + #1208 get-pt #10 STHr get-pt #02 draw-line + ( face ) + #26 .Screen/auto DEO + ;face-icn .Screen/addr DEO2 + #0014 .Screen/x DEO2 + #0014 .Screen/y DEO2 + #05 .Screen/sprite DEOk DEOk DEO + #00 .Screen/auto DEO JMP2r @@ -77,15 +96,27 @@ JMP2r JMP2r +@get-pt ( id rad -- x* y* ) + + #00 SWP STH2 + + [ LIT &offset $1 ] ADD + +!get-point/force + @get-point ( id -- x* y* ) [ LIT2r &radius $2 ] + &force #1f AND DUP ADD #00 SWP ;circle-tbl ADD2 LDA2 #00 SWP STH2kr MUL2 #04 SFT2 + ( center ) #0080 STH2kr #30 SFT2 SUB2 ADD2 #02 SFT2 ROT - #00 SWP STH2r MUL2 #04 SFT2 + #00 SWP STH2kr MUL2 #04 SFT2 + ( center ) #0080 STH2kr #30 SFT2 SUB2 ADD2 #02 SFT2 SWP2 + POP2r JMP2r @@ -133,6 +164,15 @@ JMP2r &c #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO JMP2r +@face-icn [ +0000 0000 0102 0408 0000 007e 8100 3cc3 +0000 0000 8040 2010 0911 1212 1212 1109 +0000 0042 0042 3c00 9088 4848 4848 8890 +0804 0201 0000 0000 c33c 0081 7e00 0000 +1020 4080 0000 0000 + + ] + @circle-tbl [ 8000 9802 b009 c715 da25 ea38 f64f fd67 ff80 fd98 f6b0 eac7 dada c7ea b0f6 98fd diff --git a/gui/lander/ss10x10.chr b/gui/lander/ss10x10.chr new file mode 100644 index 0000000000000000000000000000000000000000..d9d19c9e26deefb2829c4823df637d42706ed051 GIT binary patch literal 4096 zcmeIwu@L|f5Cza>1Z1c{Ap#@1stlP>PZ~SnzY@;;AMGdFH!D)5W??`;X=9