From 6ca506f4175fa986928b4e328b9786940993bdac Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Mon, 22 May 2023 10:12:48 -0700 Subject: [PATCH] Started drawing board --- gui/dads/dads.tal | 134 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 122 insertions(+), 12 deletions(-) diff --git a/gui/dads/dads.tal b/gui/dads/dads.tal index 80df314..6bf57d5 100644 --- a/gui/dads/dads.tal +++ b/gui/dads/dads.tal @@ -20,26 +20,138 @@ #7d0f .System/g DEO2 #8c0f .System/b DEO2 ( resize ) - #00c0 - DUP2 .Screen/width DEO2 - .Screen/height DEO2 + #0070 .Screen/width DEO2 + #0088 .Screen/height DEO2 ( vectors ) - ;on-mouse .Mouse/vector DEO2 + draw-border + #0008 .Screen/y DEO2 + #0008 .Screen/x DEO2 + draw-a + #0008 .Screen/x DEO2 + #0038 .Screen/y DEO2 + draw-w + #0008 .Screen/x DEO2 + #0050 .Screen/y DEO2 + draw-d BRK +( +@|vectors ) + @on-mouse ( -> ) +[ LIT2 00 -Mouse/state ] DEI NEQ #42 ADD ;cursor-icn update-cursor + BRK -@frame-chr [ -0000 0000 0101 0000 0000 001f 1f1f 1f1e 0000 0000 8383 0000 0000 00ff ffff ff00 -0000 0000 0000 0030 0000 00f8 f8f8 f878 0c0c 0000 0000 000c 1e1e 1e1e 1e1e 1e1e -0000 0000 0000 0000 0000 0000 0000 0000 3000 0000 0000 3030 7878 7878 7878 7878 -0c00 0000 0000 0000 1e1f 1f1f 1f00 0000 0000 c1c1 0000 0000 00ff ffff ff00 0000 -0000 8080 0000 0000 78f8 f8f8 f800 0000 ] +( +@|drawing ) + +@draw-a ( -- ) + + #56 .Screen/auto DEO + ;blocks-chr/a .Screen/addr DEO2 + #06 draw-times + +JMP2r + +@draw-d ( -- ) + + #26 .Screen/auto DEO + ;blocks-chr/d .Screen/addr DEO2 + #06 draw-times + +JMP2r + +@draw-w ( -- ) + + #26 .Screen/auto DEO + ;blocks-chr/w .Screen/addr DEO2 + #03 draw-times + +JMP2r + +@draw-times ( times -- ) + + #00 SWP SUB + &l + #81 .Screen/sprite DEO + INC DUP ?&l + POP + +JMP2r + +@draw-border ( -- ) + + ( top corners ) + #00 .Screen/auto DEO + #0000 .Screen/y DEO2 + #0000 .Screen/x DEO2 + ;frame-chr/tl .Screen/addr DEO2 + #81 .Screen/sprite DEO + #0068 .Screen/x DEO2 + ;frame-chr/tr .Screen/addr DEO2 + #81 .Screen/sprite DEO + ( bottom corners ) + #0080 .Screen/y DEO2 + #0000 .Screen/x DEO2 + ;frame-chr/bl .Screen/addr DEO2 + #81 .Screen/sprite DEO + #0068 .Screen/x DEO2 + ;frame-chr/br .Screen/addr DEO2 + #81 .Screen/sprite DEO + ( hor lengths ) + #b2 .Screen/auto DEO + #0008 .Screen/x DEO2 + #0000 .Screen/y DEO2 + ;frame-chr/tc .Screen/addr DEO2 + #81 .Screen/sprite DEO + #0080 .Screen/y DEO2 + ;frame-chr/bc .Screen/addr DEO2 + #81 .Screen/sprite DEO + ( ver lengths ) + #e1 .Screen/auto DEO + #0000 .Screen/x DEO2 + #0008 .Screen/y DEO2 + ;frame-chr/ml .Screen/addr DEO2 + #81 .Screen/sprite DEO + #0068 .Screen/x DEO2 + ;frame-chr/mr .Screen/addr DEO2 + #81 .Screen/sprite DEO + +JMP2r + +@update-cursor ( color addr* -- ) + [ LIT2 00 -Screen/auto ] DEO + #40 draw-cursor + .Mouse/x DEI2 ,draw-cursor/x STR2 + .Mouse/y DEI2 ,draw-cursor/y STR2 + .Screen/addr DEO2 +@draw-cursor ( color -- ) + [ LIT2 &x $2 ] .Screen/x DEO2 + [ LIT2 &y $2 ] .Screen/y DEO2 + .Screen/sprite DEO +JMP2r + + +( +@|assets ) + +@cursor-icn + [ 80c0 e0f0 f8e0 1000 ] + +@frame-chr +&tl [ 0000 0000 0101 0000 0000 001f 1f1f 1f1e ] +&tc [ 0000 0000 8383 0000 0000 00ff ffff ff00 ] +&tr [ 0000 0000 0000 0030 0000 00f8 f8f8 f878 ] +&ml [ 0c0c 0000 0000 000c 1e1e 1e1e 1e1e 1e1e ] +&mr [ 3000 0000 0000 3030 7878 7878 7878 7878 ] +&bl [ 0c00 0000 0000 0000 1e1f 1f1f 1f00 0000 ] +&bc [ 0000 c1c1 0000 0000 00ff ffff ff00 0000 ] +&br [ 0000 8080 0000 0000 78f8 f8f8 f800 0000 ] @blocks-chr &a [ @@ -134,5 +246,3 @@ efdf ba76 eede ba76 ffff ffff ffff ffff fe3e dad6 fefc faf6 ffff ffff fffe ffff eedd bb77 eedd ff00 ffff ffff ffff ffff eedd bb77 eedd ff00 ffff ffff ffff ffff eede bb77 eedd ff00 ffff ffff ffff ffff dede 3af6 eede fc00 ffff ffff ffff fefc ] - -