From f2ffbe8582f3d978a95105adf0e9a5f57289be5c Mon Sep 17 00:00:00 2001 From: 4am Date: Thu, 7 May 2020 11:55:50 -0400 Subject: [PATCH] target word animation --- src/ui.common.a | 24 ++++++++++++++++++++++-- src/ui.play.a | 13 ++++++++++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/src/ui.common.a b/src/ui.common.a index 270ad84..6431bf0 100644 --- a/src/ui.common.a +++ b/src/ui.common.a @@ -3,6 +3,19 @@ ; ; common graphics functions ; +; Public functions: +; - Home +; - WaitForKeyWithTimeout +; - ScrollDown +; - ScrollDownBy +; - ScrollUp +; - ScrollUpBy +; - LogicalColumnToPhysicalColumn +; - ToASCIIString +; +; Public variables: +; - GlobalLeftMargin +; GlobalLeftMargin !byte $0A @@ -69,11 +82,14 @@ WaitForKeyWithTimeout @exit rts ScrollDown + lda #$16 +ScrollDownBy ; in: Y = logical column to scroll +; A = number of HGR rows to scroll ; out: X/Y preserved stx @x+1 sty @y+1 - ldx #$16 + tax jsr LogicalColumnToPhysicalColumn jsr InitScrollStorage jsr WaitForVBL @@ -84,11 +100,14 @@ ScrollDown rts ScrollUp + lda #$16 +ScrollUpBy ; in: Y = logical column to scroll +; A = number of HGR rows to scroll ; out: X/Y preserved stx @x+1 sty @y+1 - ldx #$16 + tax jsr LogicalColumnToPhysicalColumn jsr InitScrollStorage jsr WaitForVBL @@ -99,6 +118,7 @@ ScrollUp rts InitScrollStorage +; out: preserves X/Y lda #$00 sta $FC sta $FD diff --git a/src/ui.play.a b/src/ui.play.a index ffdc513..af8f08f 100644 --- a/src/ui.play.a +++ b/src/ui.play.a @@ -199,7 +199,6 @@ PlayEventLetter rts ; puzzle is complete, return to caller with A = kCompletedPuzzle MarkTargetWord - ; TODO animation here? ldx #4 ldy #0 - lda puzzle_data4, y @@ -207,6 +206,18 @@ MarkTargetWord iny cpy puzzle_logical_width bne - + ldy #0 +- lda #1 + jsr ScrollUpBy + iny + cpy puzzle_logical_width + bne - + ldy #0 +- lda #1 + jsr ScrollDownBy + iny + cpy puzzle_logical_width + bne - ; TODO sound here? rts