start of about window
This commit is contained in:
parent
f90a867631
commit
e6f26332e0
BIN
buttons.chr
BIN
buttons.chr
Binary file not shown.
BIN
kodiak.chr
BIN
kodiak.chr
Binary file not shown.
103
kodiak.tal
103
kodiak.tal
|
@ -9,7 +9,7 @@
|
||||||
( * sometimes movement feels stutter-y )
|
( * sometimes movement feels stutter-y )
|
||||||
( * automatically keeping @auto up-to-date is arguably better than recalculating )
|
( * automatically keeping @auto up-to-date is arguably better than recalculating )
|
||||||
|
|
||||||
|00 @System [ &vect $2 &expansion $2 &title $2 &metadata $2 &r $2 &g $2 &b $2 ]
|
|00 @System [ &vect $2 &expansion $2 &wst $1 &rst $1 &metadata $2 &r $2 &g $2 &b $2 ]
|
||||||
|10 @Console [ &vect $2 &r $1 &exec $2 &mode $1 &dead $1 &exit $1 &w $1 ]
|
|10 @Console [ &vect $2 &r $1 &exec $2 &mode $1 &dead $1 &exit $1 &w $1 ]
|
||||||
|20 @Screen [ &vect $2 &w $2 &h $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &px $1 &sprite $1 ]
|
|20 @Screen [ &vect $2 &w $2 &h $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &px $1 &sprite $1 ]
|
||||||
|30 @Audio1 [ &vect $2 &pos $2 &out $1 &dur $2 &pad $1 &adsr $2 &len $2 &addr $2 &vol $1 &pitch $1 ]
|
|30 @Audio1 [ &vect $2 &pos $2 &out $1 &dur $2 &pad $1 &adsr $2 &len $2 &addr $2 &vol $1 &pitch $1 ]
|
||||||
|
@ -62,8 +62,11 @@
|
||||||
&y1 $2 ] ( ending y coord )
|
&y1 $2 ] ( ending y coord )
|
||||||
@audio [ $1 ( is audio enabled? )
|
@audio [ $1 ( is audio enabled? )
|
||||||
&pos $2 ] ( position in music )
|
&pos $2 ] ( position in music )
|
||||||
|
@about $1 ( is about screen visible? 01 start, ff resume )
|
||||||
|
|
||||||
|0100
|
|0100
|
||||||
|
( metadata )
|
||||||
|
;metadata .System/metadata DEO2
|
||||||
|
|
||||||
( colors: gold, white, red, black )
|
( colors: gold, white, red, black )
|
||||||
#bd82 .System/r DEO2
|
#bd82 .System/r DEO2
|
||||||
|
@ -92,6 +95,21 @@
|
||||||
start-audio
|
start-audio
|
||||||
reset BRK
|
reset BRK
|
||||||
|
|
||||||
|
@metadata 00
|
||||||
|
( title ) "kodiak 0a
|
||||||
|
( details ) "klondike 20 "solitaire 20 "game 0a
|
||||||
|
( author ) "by 20 "d_m 0a
|
||||||
|
( version ) "version 20 "0 0a
|
||||||
|
( date ) "5 20 "aug 20 2024 00
|
||||||
|
00
|
||||||
|
|
||||||
|
@icon-24x24
|
||||||
|
00 00 03 02 00 01 01 01 03 07 07 07 03 03 06 06
|
||||||
|
00 00 00 00 00 c3 c3 c3 00 81 81 ff ff ff bd bd
|
||||||
|
00 00 c0 40 00 80 80 8e c0 e0 e0 e0 c0 c0 60 6e
|
||||||
|
00 00 00 00 00 00 00 00 07 07 07 03 03 01 00 00
|
||||||
|
( tbc... )
|
||||||
|
|
||||||
@setup-audio ( adsr* sample* slen* dur* vol^ dev^ -> )
|
@setup-audio ( adsr* sample* slen* dur* vol^ dev^ -> )
|
||||||
STHk #0e ORA DEO ( [dev^] ; <-vol )
|
STHk #0e ORA DEO ( [dev^] ; <-vol )
|
||||||
STHkr #0a ORA DEO2 ( [dev^] ; <-slen )
|
STHkr #0a ORA DEO2 ( [dev^] ; <-slen )
|
||||||
|
@ -115,9 +133,16 @@
|
||||||
|
|
||||||
shuffle-stock
|
shuffle-stock
|
||||||
deal-tableau
|
deal-tableau
|
||||||
( TODO: clear foreground )
|
clear-fg
|
||||||
draw
|
#01 .about STZ
|
||||||
auto-move
|
draw-about
|
||||||
|
( draw auto-move )
|
||||||
|
JMP2r
|
||||||
|
|
||||||
|
@clear-fg ( -> )
|
||||||
|
#0000 .Screen/x DEO2
|
||||||
|
#0000 .Screen/y DEO2
|
||||||
|
#c0 .Screen/px DEO
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@quit ( -> brk )
|
@quit ( -> brk )
|
||||||
|
@ -228,6 +253,33 @@
|
||||||
#00 OVR STZ ( s^ ; s<-0 )
|
#00 OVR STZ ( s^ ; s<-0 )
|
||||||
#01 SUB JMP2r ( s-1^ )
|
#01 SUB JMP2r ( s-1^ )
|
||||||
|
|
||||||
|
@open-about ( -> )
|
||||||
|
#ff .about STZ draw-about !draw-mouse
|
||||||
|
|
||||||
|
@close-about ( -> )
|
||||||
|
#00 .about STZ draw !auto-move
|
||||||
|
|
||||||
|
@resume-button-addr ( -> addr* )
|
||||||
|
.about LDZ #00 LTH ?&resume
|
||||||
|
;start-button JMP2r
|
||||||
|
&resume ;resume-button JMP2r
|
||||||
|
|
||||||
|
@draw-about ( -> )
|
||||||
|
#0000 .Screen/x DEO2
|
||||||
|
#0000 .Screen/y DEO2
|
||||||
|
#83 .Screen/px DEO
|
||||||
|
|
||||||
|
#0010 .Screen/x DEO2
|
||||||
|
#0010 .Screen/y DEO2
|
||||||
|
;logo .Screen/addr DEO2
|
||||||
|
#a6 .Screen/auto DEO
|
||||||
|
#80 .Screen/sprite DEOk DEO
|
||||||
|
|
||||||
|
#0008 #00b4 resume-button-addr draw-button
|
||||||
|
#0030 #00b4 ;quit-button draw-button
|
||||||
|
|
||||||
|
JMP2r
|
||||||
|
|
||||||
@draw-bear-head ( x* y* head* -> )
|
@draw-bear-head ( x* y* head* -> )
|
||||||
.Screen/addr DEO2 ( x* y* ; s/addr<-head )
|
.Screen/addr DEO2 ( x* y* ; s/addr<-head )
|
||||||
.Screen/y DEO2 ( y* x* ; s/y<- )
|
.Screen/y DEO2 ( y* x* ; s/y<- )
|
||||||
|
@ -479,6 +531,7 @@
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
@on-refresh-bear ( -> )
|
@on-refresh-bear ( -> )
|
||||||
|
.about LDZ #00 EQU ?{ JMP2r }
|
||||||
.frame LDZ
|
.frame LDZ
|
||||||
DUP #e8 NEQ ?{ POP ;sprites #0040 ADD2 !&update }
|
DUP #e8 NEQ ?{ POP ;sprites #0040 ADD2 !&update }
|
||||||
DUP #f0 NEQ ?{ POP ;sprites #0080 ADD2 !&update }
|
DUP #f0 NEQ ?{ POP ;sprites #0080 ADD2 !&update }
|
||||||
|
@ -555,12 +608,14 @@
|
||||||
.Mouse/y DEI2 DUP2 .prev/mouse-y STZ2 .Screen/y DEO2
|
.Mouse/y DEI2 DUP2 .prev/mouse-y STZ2 .Screen/y DEO2
|
||||||
.dragging LDZ ?&skip
|
.dragging LDZ ?&skip
|
||||||
;cursor .Screen/addr DEO2
|
;cursor .Screen/addr DEO2
|
||||||
#43 .Screen/sprite DEO &skip JMP2r
|
.about LDZ ?{ #43 .Screen/sprite DEO !&skip } #41 .Screen/sprite DEO
|
||||||
|
&skip JMP2r
|
||||||
|
|
||||||
@on-click-down ( -> )
|
@on-click-down ( -> )
|
||||||
.Mouse/state DEI ( state^ )
|
.Mouse/state DEI ( state^ )
|
||||||
.prev/mouse-state LDZ #ff EOR AND ( down^ )
|
.prev/mouse-state LDZ #ff EOR AND ( down^ )
|
||||||
#01 AND ?&ok JMP2r &ok
|
#01 AND ?&ok JMP2r &ok
|
||||||
|
.about LDZ #00 EQU ?{ !close-about } ( TODO: check for buttons )
|
||||||
maybe-select-button ?&skip
|
maybe-select-button ?&skip
|
||||||
maybe-select-stock ?&skip
|
maybe-select-stock ?&skip
|
||||||
maybe-select-waste ?&found
|
maybe-select-waste ?&found
|
||||||
|
@ -793,7 +848,7 @@
|
||||||
&restart POP2 reset #01 JMP2r
|
&restart POP2 reset #01 JMP2r
|
||||||
&quit POP2 quit #01 JMP2r
|
&quit POP2 quit #01 JMP2r
|
||||||
&audio POP2 toggle-audio #01 JMP2r
|
&audio POP2 toggle-audio #01 JMP2r
|
||||||
&about POP2 #010e DEO #01 JMP2r
|
&about POP2 open-about #01 JMP2r
|
||||||
|
|
||||||
@game-won ( -> bool^ )
|
@game-won ( -> bool^ )
|
||||||
.foundation #04 OVR ADD SWP ( lim^ start^ )
|
.foundation #04 OVR ADD SWP ( lim^ start^ )
|
||||||
|
@ -927,6 +982,42 @@
|
||||||
ff ff ff ff ff ff ff ff ff 37 ea a2 aa 2a ff ff
|
ff ff ff ff ff ff ff ff ff 37 ea a2 aa 2a ff ff
|
||||||
fe ff ff ff ff ff ff fe fe 59 ab a9 ab a9 ff fe
|
fe ff ff ff ff ff ff fe fe 59 ab a9 ab a9 ff fe
|
||||||
|
|
||||||
|
@start-button
|
||||||
|
7f ff ff ff ff ff ff 7f 7f fe fd fe ff fc ff 7f
|
||||||
|
ff ff ff ff ff ff ff ff ff 23 f6 76 b6 76 ff ff
|
||||||
|
ff ff ff ff ff ff ff ff ff 66 ab 27 ab ab ff ff
|
||||||
|
fe ff ff ff ff ff ff fe fe 3f 7f 7f 7f 7f ff fe
|
||||||
|
|
||||||
|
@resume-button
|
||||||
|
7f ff ff ff ff ff ff 7f 7f e7 ea e6 ea eb ff 7f
|
||||||
|
ff ff ff ff ff ff ff ff ff 31 ef 33 fd 23 ff ff
|
||||||
|
ff ff ff ff ff ff ff ff ff 5a 55 55 55 15 ff ff
|
||||||
|
fe ff ff ff ff ff ff fe fe e7 5f 47 5f 67 ff fe
|
||||||
|
|
||||||
|
@logo
|
||||||
|
6c fe 38 38 38 39 3b 7f 48 a4 20 20 20 21 22 40
|
||||||
|
6c fe 38 70 e0 c0 80 00 48 a4 20 40 80 00 00 00
|
||||||
|
00 07 1c 38 38 38 38 7c 00 04 10 20 20 20 20 40
|
||||||
|
00 c0 70 38 38 38 38 7c 00 00 40 20 20 20 20 40
|
||||||
|
60 ff 3c 38 38 38 38 7c 40 a8 20 20 20 20 20 40
|
||||||
|
00 c0 e0 70 38 38 38 7c 00 00 80 40 20 20 20 40
|
||||||
|
6c fe 38 38 38 38 38 7c 48 a4 20 20 20 20 20 40
|
||||||
|
0e 1b 07 0e 1c 1c f8 7f 08 12 04 08 10 10 a0 40
|
||||||
|
e0 b0 c0 e0 70 70 3e fc 80 20 00 80 40 40 24 00
|
||||||
|
6c fe 38 38 38 39 3b 7f 48 a4 20 20 20 21 22 40
|
||||||
|
6c fe 38 70 e0 c0 80 00 48 a4 20 40 80 00 00 00
|
||||||
|
3f 3b 39 38 38 38 fe 6c 20 22 21 20 20 20 a4 48
|
||||||
|
00 80 c0 e0 70 38 fe 6c 00 00 00 80 40 20 a4 48
|
||||||
|
38 38 38 38 38 1c 07 00 20 20 20 20 20 10 04 00
|
||||||
|
38 38 38 38 38 70 c0 00 20 20 20 20 20 40 00 00
|
||||||
|
38 38 38 38 38 3c ff 60 20 20 20 20 20 20 a8 40
|
||||||
|
38 38 38 38 70 e0 c0 00 20 20 20 20 40 80 00 00
|
||||||
|
38 38 38 38 38 38 fe 6c 20 20 20 20 20 20 a4 48
|
||||||
|
f8 38 38 38 38 38 fe 6c a0 20 20 20 20 20 a4 48
|
||||||
|
3e 38 38 38 38 38 fe 6c 24 20 20 20 20 20 a4 48
|
||||||
|
3f 3b 39 38 38 38 fe 6c 20 22 21 20 20 20 a4 48
|
||||||
|
00 80 c0 e0 70 38 fe 6c 00 00 00 80 40 20 a4 48
|
||||||
|
|
||||||
@saw ff ee dd cc bb aa 99 88 77 66 55 44 33 22 11 00
|
@saw ff ee dd cc bb aa 99 88 77 66 55 44 33 22 11 00
|
||||||
|
|
||||||
@triangle 80 ff 80 00
|
@triangle 80 ff 80 00
|
||||||
|
|
Loading…
Reference in New Issue