Added power level controls
This commit is contained in:
parent
c7efb24fe7
commit
015f4c2da1
|
@ -66,9 +66,15 @@ gameplayLoopKbd:
|
||||||
gameplayLoopAngle:
|
gameplayLoopAngle:
|
||||||
; Update aim angle if needed
|
; Update aim angle if needed
|
||||||
lda angleDeltaRequested
|
lda angleDeltaRequested
|
||||||
beq gameplayLoopFire
|
beq gameplayLoopPower
|
||||||
jsr changeAngle
|
jsr changeAngle
|
||||||
|
|
||||||
|
gameplayLoopPower:
|
||||||
|
; Update power if needed
|
||||||
|
lda powerDeltaRequested
|
||||||
|
beq gameplayLoopFire
|
||||||
|
jsr changePower
|
||||||
|
|
||||||
gameplayLoopFire:
|
gameplayLoopFire:
|
||||||
lda fireRequested
|
lda fireRequested
|
||||||
beq gameplayLoopProjectiles
|
beq gameplayLoopProjectiles
|
||||||
|
@ -171,6 +177,23 @@ changeAngle:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; changePower
|
||||||
|
;
|
||||||
|
; Handles changing a player's power
|
||||||
|
;
|
||||||
|
changePower:
|
||||||
|
ldy currentPlayer
|
||||||
|
tax
|
||||||
|
jsr playerDeltaPower
|
||||||
|
|
||||||
|
ldy currentPlayer
|
||||||
|
jsr renderPlayerHeader
|
||||||
|
|
||||||
|
stz powerDeltaRequested
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; fire
|
; fire
|
||||||
;
|
;
|
||||||
|
@ -191,6 +214,8 @@ mapScrollRequested:
|
||||||
.word $FFFF
|
.word $FFFF
|
||||||
angleDeltaRequested:
|
angleDeltaRequested:
|
||||||
.word $0000
|
.word $0000
|
||||||
|
powerDeltaRequested:
|
||||||
|
.word $0000
|
||||||
fireRequested:
|
fireRequested:
|
||||||
.word $0000
|
.word $0000
|
||||||
turnRequested:
|
turnRequested:
|
||||||
|
|
BIN
gscats.2mg
BIN
gscats.2mg
Binary file not shown.
16
input.s
16
input.s
|
@ -28,6 +28,10 @@ kbdScan:
|
||||||
beq kbdScanA
|
beq kbdScanA
|
||||||
cmp #('z' + $80)
|
cmp #('z' + $80)
|
||||||
beq kbdScanZ
|
beq kbdScanZ
|
||||||
|
cmp #('s' + $80)
|
||||||
|
beq kbdScanS
|
||||||
|
cmp #('x' + $80)
|
||||||
|
beq kbdScanX
|
||||||
cmp #(' ' + $80)
|
cmp #(' ' + $80)
|
||||||
beq kbdScanSpace
|
beq kbdScanSpace
|
||||||
cmp #(27 + $80)
|
cmp #(27 + $80)
|
||||||
|
@ -76,6 +80,18 @@ kbdScanZ:
|
||||||
sta angleDeltaRequested
|
sta angleDeltaRequested
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
kbdScanS:
|
||||||
|
BITS16
|
||||||
|
lda #1
|
||||||
|
sta powerDeltaRequested
|
||||||
|
rts
|
||||||
|
|
||||||
|
kbdScanX:
|
||||||
|
BITS16
|
||||||
|
lda #-1
|
||||||
|
sta powerDeltaRequested
|
||||||
|
rts
|
||||||
|
|
||||||
kbdScanSpace:
|
kbdScanSpace:
|
||||||
BITS16
|
BITS16
|
||||||
lda #1
|
lda #1
|
||||||
|
|
31
player.s
31
player.s
|
@ -100,6 +100,37 @@ playerDeltaAngleClampHigh:
|
||||||
bra playerDeltaAngleStore
|
bra playerDeltaAngleStore
|
||||||
|
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; playerDeltaPower
|
||||||
|
;
|
||||||
|
; Y = Player index
|
||||||
|
; X = Delta
|
||||||
|
;
|
||||||
|
playerDeltaPower:
|
||||||
|
SAVE_AXY
|
||||||
|
PLAYERPTR_Y
|
||||||
|
|
||||||
|
txa
|
||||||
|
clc
|
||||||
|
adc playerData+PD_POWER,y
|
||||||
|
beq playerDeltaPowerClampLow
|
||||||
|
cmp #15
|
||||||
|
bpl playerDeltaPowerClampHigh
|
||||||
|
|
||||||
|
playerDeltaPowerStore:
|
||||||
|
sta playerData+PD_POWER,y
|
||||||
|
RESTORE_AXY
|
||||||
|
rts
|
||||||
|
|
||||||
|
playerDeltaPowerClampLow:
|
||||||
|
lda #1
|
||||||
|
bra playerDeltaPowerStore
|
||||||
|
|
||||||
|
playerDeltaPowerClampHigh:
|
||||||
|
lda #15
|
||||||
|
bra playerDeltaPowerStore
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; playerFire
|
; playerFire
|
||||||
;
|
;
|
||||||
|
|
Loading…
Reference in New Issue