mirror of
https://github.com/jeremysrand/BuGS.git
synced 2025-01-22 19:32:03 +00:00
Add the code to animate a flea down the screen on demand.
This commit is contained in:
parent
0336c692c4
commit
36104869b8
@ -7,7 +7,7 @@
|
||||
<key>Binary.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
<key>BuGS.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
@ -17,12 +17,12 @@
|
||||
<key>DiskImage.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>2</integer>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
<key>doNotBuild.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>3</integer>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
25
BuGS/game.s
25
BuGS/game.s
@ -637,7 +637,7 @@ checkKeyboard entry
|
||||
checkKey_loop2 anop
|
||||
short i,m
|
||||
lda $e0c000
|
||||
bpl quit
|
||||
bpl checkKey_done
|
||||
sta $e0c010
|
||||
long i,m
|
||||
and #$007f
|
||||
@ -676,28 +676,13 @@ checkKey_done anop
|
||||
|
||||
|
||||
waitForKey entry
|
||||
loop2 short i,m
|
||||
loop1 anop
|
||||
short i,m
|
||||
waitForKey_loop anop
|
||||
lda $e0c000
|
||||
bpl loop1
|
||||
bpl waitForKey_loop
|
||||
sta $e0c010
|
||||
long i,m
|
||||
and #$007f
|
||||
cmp #'q'
|
||||
beq quit
|
||||
cmp #'Q'
|
||||
beq quit
|
||||
cmp #$001b
|
||||
beq quit
|
||||
lda colourPalette
|
||||
inc a
|
||||
cmp #$000e
|
||||
blt skip
|
||||
lda #$0000
|
||||
skip sta colourPalette
|
||||
jsl setColour
|
||||
bra loop2
|
||||
quit rtl
|
||||
rtl
|
||||
|
||||
|
||||
waitForVbl entry
|
||||
|
114
BuGS/gameFlea.s
114
BuGS/gameFlea.s
@ -23,7 +23,56 @@ drawFlea entry
|
||||
ldy fleaScreenOffset
|
||||
jsl flea1
|
||||
|
||||
ldy numDirtyGameTiles
|
||||
|
||||
ldx fleaTileOffsets
|
||||
lda tiles,x
|
||||
bne drawFlea_skipTile1
|
||||
lda #$1
|
||||
sta tiles,x
|
||||
txa
|
||||
sta dirtyGameTiles,y
|
||||
iny
|
||||
iny
|
||||
|
||||
drawFlea_skipTile1 anop
|
||||
|
||||
ldx fleaTileOffsets+2
|
||||
lda tiles,x
|
||||
bne drawFlea_skipTile2
|
||||
lda #$1
|
||||
sta tiles,x
|
||||
txa
|
||||
sta dirtyGameTiles,y
|
||||
iny
|
||||
iny
|
||||
|
||||
drawFlea_skipTile2 anop
|
||||
|
||||
ldx fleaTileOffsets+4
|
||||
lda tiles,x
|
||||
bne drawFlea_skipTile3
|
||||
lda #$1
|
||||
sta tiles,x
|
||||
txa
|
||||
sta dirtyGameTiles,y
|
||||
iny
|
||||
iny
|
||||
|
||||
drawFlea_skipTile3 anop
|
||||
|
||||
ldx fleaTileOffsets+6
|
||||
lda tiles,x
|
||||
bne drawFlea_skipTile4
|
||||
lda #$1
|
||||
sta tiles,x
|
||||
txa
|
||||
sta dirtyGameTiles,y
|
||||
iny
|
||||
iny
|
||||
|
||||
drawFlea_skipTile4 anop
|
||||
sty numDirtyGameTiles
|
||||
|
||||
drawFlea_done anop
|
||||
rtl
|
||||
@ -33,11 +82,75 @@ updateFlea entry
|
||||
lda fleaState
|
||||
beq updateFlea_done
|
||||
|
||||
lda fleaHeightInTile
|
||||
beq updateFlea_nextTile
|
||||
dec a
|
||||
sta fleaHeightInTile
|
||||
beq updateFlea_bottomOfTile
|
||||
bra updateFlea_nextAction
|
||||
|
||||
updateFlea_bottomOfTile anop
|
||||
lda fleaTileOffsets
|
||||
sta fleaTileOffsets+4
|
||||
lda fleaTileOffsets+2
|
||||
sta fleaTileOffsets+6
|
||||
bra updateFlea_nextAction
|
||||
|
||||
updateFlea_nextTile anop
|
||||
lda #$7
|
||||
sta fleaHeightInTile
|
||||
|
||||
ldx fleaTileOffsets
|
||||
lda tiles+8,x
|
||||
cmp #$ffff
|
||||
beq updateFlea_bottom
|
||||
sta fleaTileOffsets
|
||||
|
||||
ldx fleaTileOffsets+2
|
||||
lda tiles+8,x
|
||||
sta fleaTileOffsets+2
|
||||
|
||||
bra updateFlea_nextAction
|
||||
|
||||
updateFlea_bottom anop
|
||||
stz fleaState
|
||||
rtl
|
||||
|
||||
updateFlea_nextAction anop
|
||||
lda fleaScreenOffset
|
||||
clc
|
||||
adc #$a0
|
||||
sta fleaScreenOffset
|
||||
|
||||
updateFlea_done anop
|
||||
rtl
|
||||
|
||||
|
||||
addFlea entry
|
||||
lda fleaState
|
||||
bne addFlea_done
|
||||
|
||||
lda #fleaState_falling
|
||||
sta fleaState
|
||||
|
||||
lda #$7
|
||||
sta fleaHeightInTile
|
||||
|
||||
lda #$40
|
||||
sta fleaTileOffsets
|
||||
sta fleaTileOffsets+4
|
||||
|
||||
tax
|
||||
lda tiles+10,x
|
||||
sta fleaTileOffsets+2
|
||||
sta fleaTileOffsets+6
|
||||
|
||||
lda tiles+2,x
|
||||
sec
|
||||
sbc #$463
|
||||
sta fleaScreenOffset
|
||||
|
||||
addFlea_done anop
|
||||
rtl
|
||||
|
||||
|
||||
@ -47,5 +160,6 @@ fleaTileOffsets dc i2'0'
|
||||
dc i2'0'
|
||||
dc i2'0'
|
||||
dc i2'0'
|
||||
fleaHeightInTile dc i2'0'
|
||||
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user