From 412b024b137be223e5d3ef1438afc24d069ebeb7 Mon Sep 17 00:00:00 2001 From: d_m Date: Wed, 7 Aug 2024 22:03:27 -0400 Subject: [PATCH] more bear animations --- kodiak.tal | 49 +++++++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/kodiak.tal b/kodiak.tal index 5b593ba..ab52f6d 100644 --- a/kodiak.tal +++ b/kodiak.tal @@ -1,8 +1,6 @@ ( kodiak.tal ) ( TODO ) -( * display message on win ) -( * make bear react to moving cards ) ( * buttons, stock flash when clicked ) ( * save game file? stats? ) ( * card sounds? ) @@ -330,12 +328,19 @@ #80 .Screen/sprite DEOk DEO JMP2r -@draw-face ( x* y* addr* -> ) +( @draw-face ( x* y* addr* -> ) .Screen/addr DEO2 .Screen/y DEO2 .Screen/x DEO2 #16 .Screen/auto DEO - #80 .Screen/sprite DEOk DEO JMP2r + #80 .Screen/sprite DEOk DEO JMP2r ) + +@draw-mouth ( x* y* addr* -> ) + #0020 ADD2 .Screen/addr DEO2 + #0008 ADD2 .Screen/y DEO2 + .Screen/x DEO2 + #16 .Screen/auto DEO + #80 .Screen/sprite DEO JMP2r @draw-about-content ( -> ) @@ -347,10 +352,10 @@ #0078 #0048 #3b draw-xyc #0060 #0038 #80 draw-bear - #0060 #0038 ;sprites #00c0 ADD2 draw-face + #0060 #0038 ;sprites #00c0 ADD2 draw-mouth #00a8 #0038 #90 draw-bear - #0090 #0038 ;sprites #0100 ADD2 draw-face + #0090 #0038 ;sprites #0100 ADD2 draw-mouth #0038 #0070 ;line1 print-str #0040 #0078 ;line2 print-str @@ -414,13 +419,23 @@ #0008 #00b4 restart-button-addr draw-button #0030 #00b4 ;quit-button draw-button #0058 #00b4 audio-button-addr draw-button - #0080 #00b4 ;about-button draw-button - is-game-won ?draw-you-win JMP2r + #0080 #00b4 ;about-button !draw-button + +@draw-bear-normal ( -> ) + #00e8 #0098 ;sprites !draw-mouth + +@draw-bear-smile ( -> ) + #00e8 #0098 ;sprites #00c0 ADD2 !draw-mouth + +@draw-bear-oh ( -> ) + #00e8 #0098 ;sprites #0100 ADD2 !draw-mouth + +@draw-you-win ( -> ) + + draw-bear-smile -@draw-you-win #0048 .Screen/x DEO2 #c6 .Screen/auto DEO - #8f #0008 draw-you-win/draw #80 #0020 draw-you-win/draw #85 #0038 draw-you-win/draw @@ -434,7 +449,8 @@ .Screen/sprite DEOk DEO JMP2r @draw-decorations ( -> ) - #00e8 #0098 #80 !draw-bear + #00e8 #0098 #80 draw-bear + is-game-won ?draw-you-win JMP2r @draw-stock ( -> ) .stock LDZk #00 EQU ?&empty ( stock^ ) @@ -674,13 +690,10 @@ @on-refresh-bear ( -> ) .about LDZ ?on-refresh-about-bears - load-bear-frame ORAk ?&update POP2 JMP2r - &update .Screen/addr DEO2 ( ; s/addr<-addr ) - #0098 .Screen/y DEO2 ( ; s/x<-0x98 ) - #00e8 .Screen/x DEO2 ( ; s/y<-0xe8 ) - #16 .Screen/auto DEO ( ; draw 2 tiles, inc addr and y ) - #80 .Screen/sprite DEO ( ; draw it! ) - JMP2r +( .frame LDZ #00 EQU ?draw-bear-normal ) + .dragging LDZ #00 EQU ?{ draw-bear-oh } + load-bear-frame ORAk ?{ POP2 JMP2r } + #00e8 #0098 !draw-bear-eyes @on-mouse ( -> brk ) on-move