diff options
Diffstat (limited to 'src/driver.s')
| -rw-r--r-- | src/driver.s | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/driver.s b/src/driver.s index 67cba5c..1bcef27 100644 --- a/src/driver.s +++ b/src/driver.s @@ -870,14 +870,22 @@ ;; Flip the 'D' bit. If doing so results on a zero bit, then we know we ;; are back at the ground and hence we should stop the - ;; animation. Otherwise we should store the result so we move downwards - ;; next time. + ;; animation. lda Driver::zp_flags eor #$02 tax and #$02 + beq @over + + ;; If in the next level the shuttle kind will change, then we call off + ;; the animation, as it happened in the original game. Otherwise we + ;; should store the result so we move downwards next time. + lda Globals::zp_level + and #$03 + cmp #$03 bne @set + @over: ;; The animation is over. Reset the flags to the expected 'S' one. Not ;; that we care too much about it, but at least we will be consistent ;; with player's death and other scenarios like that. |
