mirror of
https://github.com/jeremysrand/BuGS.git
synced 2024-07-04 20:29:54 +00:00
Add the ability to display head segments of the centipede. Body segments is not working yet.
This commit is contained in:
parent
3a63b2ef1b
commit
df56cdecf1
24
BuGS/game.s
24
BuGS/game.s
@ -693,6 +693,9 @@ checkKey_loop2 anop
|
|||||||
cmp #'-'
|
cmp #'-'
|
||||||
beq checkKey_slow
|
beq checkKey_slow
|
||||||
|
|
||||||
|
cmp #'c'
|
||||||
|
beq checkKey_centipede
|
||||||
|
|
||||||
lda colourPalette
|
lda colourPalette
|
||||||
inc a
|
inc a
|
||||||
cmp #NUM_COLOUR_PALETTES
|
cmp #NUM_COLOUR_PALETTES
|
||||||
@ -723,6 +726,10 @@ checkKey_addSpider anop
|
|||||||
checkKey_shootSpider anop
|
checkKey_shootSpider anop
|
||||||
jmp shootSpider
|
jmp shootSpider
|
||||||
|
|
||||||
|
checkKey_quit anop
|
||||||
|
stz shouldQuit
|
||||||
|
rtl
|
||||||
|
|
||||||
checkKey_fast anop
|
checkKey_fast anop
|
||||||
lda #SPRITE_SPEED_FAST
|
lda #SPRITE_SPEED_FAST
|
||||||
jsl setFleaSpeed
|
jsl setFleaSpeed
|
||||||
@ -739,9 +746,20 @@ checkKey_slow anop
|
|||||||
lda #SPRITE_SPEED_SLOW
|
lda #SPRITE_SPEED_SLOW
|
||||||
jmp setScorpionSpeed
|
jmp setScorpionSpeed
|
||||||
|
|
||||||
checkKey_quit anop
|
checkKey_centipede anop
|
||||||
stz shouldQuit
|
jsl addHeadSegment
|
||||||
rtl
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jsl addHeadSegment
|
||||||
|
jmp addHeadSegment
|
||||||
|
; jmp addBodySegment
|
||||||
|
|
||||||
|
|
||||||
waitForKey entry
|
waitForKey entry
|
||||||
|
@ -125,6 +125,11 @@ segmentBodyJump_jumpInst anop
|
|||||||
|
|
||||||
|
|
||||||
updateSegments entry
|
updateSegments entry
|
||||||
|
lda segmentSpriteShift
|
||||||
|
eor #1
|
||||||
|
sta segmentSpriteShift
|
||||||
|
beq updateSegments_skipSpriteOffset
|
||||||
|
|
||||||
lda segmentSpriteOffset
|
lda segmentSpriteOffset
|
||||||
beq updateSegments_resetSpriteOffset
|
beq updateSegments_resetSpriteOffset
|
||||||
sec
|
sec
|
||||||
@ -136,17 +141,95 @@ updateSegments_resetSpriteOffset anop
|
|||||||
updateSegments_spriteOffsetCont anop
|
updateSegments_spriteOffsetCont anop
|
||||||
sta segmentSpriteOffset
|
sta segmentSpriteOffset
|
||||||
|
|
||||||
|
updateSegments_skipSpriteOffset anop
|
||||||
|
|
||||||
; Write this code...
|
; Write this code...
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
addBodySegment entry
|
addBodySegment entry
|
||||||
; Write this code...
|
lda numSegments
|
||||||
|
asl a
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda #SEGMENT_STATE_BODY
|
||||||
|
sta segmentStates,x
|
||||||
|
|
||||||
|
lda #SEGMENT_DIR_LEFT
|
||||||
|
sta segmentDirections,x
|
||||||
|
|
||||||
|
lda #SEGMENT_FACING_LEFT
|
||||||
|
sta segmentFacing,x
|
||||||
|
|
||||||
|
txa
|
||||||
|
asl a
|
||||||
|
asl a
|
||||||
|
asl a
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda tiles+TILE_SCREEN_OFFSET_OFFSET,y
|
||||||
|
sec
|
||||||
|
sbc #3
|
||||||
|
sta segmentScreenOffsets,x
|
||||||
|
|
||||||
|
stz segmentScreenShifts,x
|
||||||
|
|
||||||
|
txa
|
||||||
|
asl a
|
||||||
|
asl a
|
||||||
|
tax
|
||||||
|
|
||||||
|
tya
|
||||||
|
sta segmentTileOffsets,x
|
||||||
|
sta segmentTileOffsets+2,x
|
||||||
|
sta segmentTileOffsets+4,x
|
||||||
|
sta segmentTileOffsets+6,x
|
||||||
|
|
||||||
|
inc numSegments
|
||||||
|
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
addHeadSegment entry
|
addHeadSegment entry
|
||||||
; Write this code...
|
lda numSegments
|
||||||
|
asl a
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda #SEGMENT_STATE_HEAD
|
||||||
|
sta segmentStates,x
|
||||||
|
|
||||||
|
lda #SEGMENT_DIR_LEFT
|
||||||
|
sta segmentDirections,x
|
||||||
|
|
||||||
|
lda #SEGMENT_FACING_LEFT
|
||||||
|
sta segmentFacing,x
|
||||||
|
|
||||||
|
txa
|
||||||
|
asl a
|
||||||
|
asl a
|
||||||
|
asl a
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda tiles+TILE_SCREEN_OFFSET_OFFSET,y
|
||||||
|
sec
|
||||||
|
sbc #3
|
||||||
|
sta segmentScreenOffsets,x
|
||||||
|
|
||||||
|
stz segmentScreenShifts,x
|
||||||
|
|
||||||
|
txa
|
||||||
|
asl a
|
||||||
|
asl a
|
||||||
|
tax
|
||||||
|
|
||||||
|
tya
|
||||||
|
sta segmentTileOffsets,x
|
||||||
|
sta segmentTileOffsets+2,x
|
||||||
|
sta segmentTileOffsets+4,x
|
||||||
|
sta segmentTileOffsets+6,x
|
||||||
|
|
||||||
|
inc numSegments
|
||||||
|
|
||||||
rtl
|
rtl
|
||||||
|
|
||||||
|
|
||||||
@ -166,6 +249,7 @@ segmentTileOffsets dc 48i2'0'
|
|||||||
|
|
||||||
SEGMENT_SPRITE_LAST_OFFSET gequ 7*4
|
SEGMENT_SPRITE_LAST_OFFSET gequ 7*4
|
||||||
segmentSpriteOffset dc i2'SEGMENT_SPRITE_LAST_OFFSET'
|
segmentSpriteOffset dc i2'SEGMENT_SPRITE_LAST_OFFSET'
|
||||||
|
segmentSpriteShift dc i2'0'
|
||||||
|
|
||||||
|
|
||||||
headJumpTable anop
|
headJumpTable anop
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
sta dirtyGameTiles,x
|
sta dirtyGameTiles,x
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
sta numDirtyGameTiles
|
stx numDirtyGameTiles
|
||||||
|
|
||||||
_dirtyGameTile_skip&SYSCNT anop
|
_dirtyGameTile_skip&SYSCNT anop
|
||||||
mend
|
mend
|
||||||
|
@ -8,7 +8,7 @@ s6d2 =
|
|||||||
|
|
||||||
s7d1 = /Users/jrand/Library/Developer/Xcode/DerivedData/BuGS-bffpexoblaghkzcbtjtzxeulnuto/Build/Products/Debug/BuGS.2mg
|
s7d1 = /Users/jrand/Library/Developer/Xcode/DerivedData/BuGS-bffpexoblaghkzcbtjtzxeulnuto/Build/Products/Debug/BuGS.2mg
|
||||||
|
|
||||||
g_limit_speed = 0
|
g_limit_speed = 3
|
||||||
|
|
||||||
|
|
||||||
bram1[00] = 00 00 00 01 00 00 0d 06 02 01 01 00 01 00 00 00
|
bram1[00] = 00 00 00 01 00 00 0d 06 02 01 01 00 01 00 00 00
|
||||||
|
Loading…
Reference in New Issue
Block a user