Compare commits

..

No commits in common. "4813eb4af564034855e7133a834151bae7666630" and "703edd47dda6ee83085c2d7bde87de848f2142a1" have entirely different histories.

3 changed files with 8 additions and 88 deletions

51
fan.s
View File

@ -164,57 +164,6 @@ renderFanDone:
rts rts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; unrenderFan
;
; Y = Offset to projectile structure
;
unrenderFan:
SAVE_AXY
; Unrender the stand under the fan
lda projectileData+JD_SCRATCH,y
sta PARAML0
clc
lda #gameObjectPool
adc PARAML0
sta PARAML0
jsr unrenderGameObject
RESTORE_AXY
rts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; protectFan
;
; Y = Offset to projectile structure
;
protectFan:
SAVE_AXY
; Protect the stand under the fan
lda projectileData+JD_SCRATCH,y
sta PARAML0
clc
lda #gameObjectPool
adc PARAML0
sta PARAML0
jsr vramPtr
cpx #$ffff
beq protectFanDone
lda PARAML0
clc
adc #GO_BACKGROUND
sta PARAML0
jsr protectGameObject
protectFanDone:
RESTORE_AXY
rts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; deleteFan ; deleteFan
; ;

View File

@ -192,9 +192,7 @@ gameplayLoopProjectiles:
jsr unrenderProjectiles jsr unrenderProjectiles
jsr updateProjectilesPhysics jsr updateProjectilesPhysics
jsr unrenderPlayers ; This extra unrender...
jsr protectProjectiles jsr protectProjectiles
jsr renderPlayers ; ... rerender cycle makes fan stands overlapping cats render properly. Messy, but the engine doesn't handle overlapping sprites well
jsr renderProjectiles jsr renderProjectiles
gameplayLoopProjectilesSkip: gameplayLoopProjectilesSkip:

View File

@ -102,13 +102,11 @@ projectileTypes:
.addr 0 ; Deploy .addr 0 ; Deploy
.addr 0 ; Update .addr 0 ; Update
.addr 0 ; Render .addr 0 ; Render
.addr 0 ; Unrender
.addr 0 ; Protect
.addr 0 ; Cleanup .addr 0 ; Cleanup
.word 1 ; Directional .word 1 ; Directional
.word 1 ; Mining .word 1 ; Mining
.repeat 6 .repeat 10
.byte 0 ; Padding to 32-byte boundary .byte 0 ; Padding to 32-byte boundary
.endrepeat .endrepeat
@ -121,13 +119,11 @@ projectileTypes:
.addr 0 ; Deploy .addr 0 ; Deploy
.addr 0 ; Update .addr 0 ; Update
.addr 0 ; Render .addr 0 ; Render
.addr 0 ; Unrender
.addr 0 ; Protect
.addr 0 ; Cleanup .addr 0 ; Cleanup
.word 0 ; Directional .word 0 ; Directional
.word 0 ; Mining .word 0 ; Mining
.repeat 6 .repeat 10
.byte 0 ; Padding to 32-byte boundary .byte 0 ; Padding to 32-byte boundary
.endrepeat .endrepeat
@ -140,13 +136,11 @@ projectileTypes:
.addr deployFan ; Deploy .addr deployFan ; Deploy
.addr updateFan ; Update .addr updateFan ; Update
.addr renderFan ; Render .addr renderFan ; Render
.addr unrenderFan ; Unrender
.addr protectFan ; Protect
.addr deleteFan ; Cleanup .addr deleteFan ; Cleanup
.word 1 ; Directional .word 1 ; Directional
.word 0 ; Mining .word 0 ; Mining
.repeat 6 .repeat 10
.byte 0 ; Padding to 32-byte boundary .byte 0 ; Padding to 32-byte boundary
.endrepeat .endrepeat
@ -160,11 +154,9 @@ PT_FRAME2 = 8
PT_DEPLOY = 10 PT_DEPLOY = 10
PT_UPDATE = 12 PT_UPDATE = 12
PT_RENDER = 14 PT_RENDER = 14
PT_UNRENDER = 16 PT_CLEANUP = 16
PT_PROTECT = 18 PT_DIRECTIONAL = 18
PT_CLEANUP = 20 PT_MINING = 20
PT_DIRECTIONAL = 22
PT_MINING = 24
.macro PROJECTILEPTR_Y .macro PROJECTILEPTR_Y
tya ; Pointer to projectile structure from index tya ; Pointer to projectile structure from index
@ -716,16 +708,6 @@ protectProjectilesGotOne:
adc PARAML0 adc PARAML0
sta PARAML0 sta PARAML0
jsr protectGameObject jsr protectGameObject
; Check for special deployment code
lda projectileData+JD_TYPE,y
tax
PROJECTILETYPEPTR_X
lda projectileTypes+PT_PROTECT,x
beq protectProjectilesNotSpecial
JSRA
protectProjectilesNotSpecial:
plx plx
bra protectProjectilesContinue bra protectProjectilesContinue
@ -864,8 +846,7 @@ unrenderProjectilesSkip:
; Y = Offset to projectile structure ; Y = Offset to projectile structure
; ;
unrenderProjectile: unrenderProjectile:
SAVE_AX pha
lda projectileData+GO_POSX,y lda projectileData+GO_POSX,y
bpl unrenderProjectileActive bpl unrenderProjectileActive
jmp unrenderProjectileDone jmp unrenderProjectileDone
@ -886,16 +867,8 @@ unrenderProjectileDoIt:
sta PARAML0 sta PARAML0
jsr unrenderGameObject jsr unrenderGameObject
; Check for special deployment code
lda projectileData+JD_TYPE,y
tax
PROJECTILETYPEPTR_X
lda projectileTypes+PT_UNRENDER,x
beq unrenderProjectileDone
JSRA
unrenderProjectileDone: unrenderProjectileDone:
RESTORE_AX pla
rts rts