mirror of
https://github.com/jeremysrand/BuGS.git
synced 2024-07-01 00:29:30 +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
26
BuGS/game.s
26
BuGS/game.s
|
@ -693,6 +693,9 @@ checkKey_loop2 anop
|
|||
cmp #'-'
|
||||
beq checkKey_slow
|
||||
|
||||
cmp #'c'
|
||||
beq checkKey_centipede
|
||||
|
||||
lda colourPalette
|
||||
inc a
|
||||
cmp #NUM_COLOUR_PALETTES
|
||||
|
@ -722,6 +725,10 @@ checkKey_addSpider anop
|
|||
|
||||
checkKey_shootSpider anop
|
||||
jmp shootSpider
|
||||
|
||||
checkKey_quit anop
|
||||
stz shouldQuit
|
||||
rtl
|
||||
|
||||
checkKey_fast anop
|
||||
lda #SPRITE_SPEED_FAST
|
||||
|
@ -738,10 +745,21 @@ checkKey_slow anop
|
|||
jsl setSpiderSpeed
|
||||
lda #SPRITE_SPEED_SLOW
|
||||
jmp setScorpionSpeed
|
||||
|
||||
checkKey_quit anop
|
||||
stz shouldQuit
|
||||
rtl
|
||||
|
||||
checkKey_centipede anop
|
||||
jsl addHeadSegment
|
||||
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
|
||||
|
|
|
@ -125,6 +125,11 @@ segmentBodyJump_jumpInst anop
|
|||
|
||||
|
||||
updateSegments entry
|
||||
lda segmentSpriteShift
|
||||
eor #1
|
||||
sta segmentSpriteShift
|
||||
beq updateSegments_skipSpriteOffset
|
||||
|
||||
lda segmentSpriteOffset
|
||||
beq updateSegments_resetSpriteOffset
|
||||
sec
|
||||
|
@ -136,17 +141,95 @@ updateSegments_resetSpriteOffset anop
|
|||
updateSegments_spriteOffsetCont anop
|
||||
sta segmentSpriteOffset
|
||||
|
||||
updateSegments_skipSpriteOffset anop
|
||||
|
||||
; Write this code...
|
||||
rtl
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
@ -166,6 +249,7 @@ segmentTileOffsets dc 48i2'0'
|
|||
|
||||
SEGMENT_SPRITE_LAST_OFFSET gequ 7*4
|
||||
segmentSpriteOffset dc i2'SEGMENT_SPRITE_LAST_OFFSET'
|
||||
segmentSpriteShift dc i2'0'
|
||||
|
||||
|
||||
headJumpTable anop
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
sta dirtyGameTiles,x
|
||||
inx
|
||||
inx
|
||||
sta numDirtyGameTiles
|
||||
stx numDirtyGameTiles
|
||||
|
||||
_dirtyGameTile_skip&SYSCNT anop
|
||||
mend
|
||||
|
|
|
@ -8,7 +8,7 @@ s6d2 =
|
|||
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue
Block a user