Fixed the switch track logic

This commit is contained in:
Jared_Brian_
2025-02-03 23:14:46 -07:00
parent e112bed264
commit 717d9fb108
3 changed files with 362 additions and 339 deletions

View File

@@ -52,7 +52,7 @@ Sprite_LeverSwitch_Prep:
PHB : PHK : PLB
LDA.b #$00 : STA.w SprDefl, X
LDA.w SprSubtype, X : STA.w SprAction, X
LDA.w SwitchRam : STA.w SprAction, X : STA.w SprFrame, X
LDA.b #$00 : STA.w SprTileDie, X
STZ.w SprBulletproof, X
@@ -81,7 +81,8 @@ Sprite_LeverSwitch_Main:
JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage
LDA #$25 : STA $012F
STZ.w $37
; Turn the switch on.
LDA #$01 : STA.b SwitchRam
LDA #$10 : STA.w SprTimerA, X
%GotoAction(1)
.NoDamage
@@ -94,7 +95,9 @@ Sprite_LeverSwitch_Main:
LDA.w SprTimerA, X : BNE .NoDamage
JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage
LDA #$25 : STA $012F
LDA #$01 : STA $37
; Turn the switch off.
STZ.w SwitchRam
LDA #$10 : STA.w SprTimerA, X
%GotoAction(0)
.NoDamage
@@ -129,9 +132,9 @@ Sprite_LeverSwitch_Main:
Sprite_LeverSwitch_Draw:
{
JSL Sprite_PrepOamCoord
JSL Sprite_OAM_AllocateDeferToPlayer
LDA.b #$04 : JSL Sprite_OAM_AllocateDeferToPlayer
LDA $0DC0, X : CLC : ADC $0D90, X : TAY;Animation Frame
LDA $0DC0, X : CLC : ADC $0D90, X : TAY ;Animation Frame
LDA .start_index, Y : STA $06
@@ -194,8 +197,8 @@ Sprite_LeverSwitch_Draw:
dw 0
dw 0
.chr
db $64
db $66
db $64
.properties
db $37
db $37