Be more proactive about which sprites to move
This commit is contained in:
@@ -124,15 +124,7 @@ boss_move:
|
|||||||
|
|
||||||
.loop_middle ; move sprites
|
.loop_middle ; move sprites
|
||||||
LDA $0E20, X
|
LDA $0E20, X
|
||||||
CMP #$E3 : BNE + ;is it a fairy?? if not check next
|
JSR ShouldMoveSprite : BCC .no_change
|
||||||
BRA .no_change
|
|
||||||
+
|
|
||||||
CMP #$D1 : BNE + ;is it a bunny changer
|
|
||||||
BRA .no_change
|
|
||||||
+
|
|
||||||
CMP #$C5 : BNE + ;is it a medusa head
|
|
||||||
BRA .no_change
|
|
||||||
+
|
|
||||||
LDA $0D10, X : !ADD #$68 : STA $0D10, X
|
LDA $0D10, X : !ADD #$68 : STA $0D10, X
|
||||||
LDA $0D00, X : !ADD #$68 : STA $0D00, X
|
LDA $0D00, X : !ADD #$68 : STA $0D00, X
|
||||||
|
|
||||||
@@ -158,15 +150,7 @@ boss_move:
|
|||||||
|
|
||||||
.loop_top_right ; move sprites
|
.loop_top_right ; move sprites
|
||||||
LDA $0E20, X
|
LDA $0E20, X
|
||||||
CMP #$E3 : BNE + ;is it a fairy?? if not check next
|
JSR ShouldMoveSprite : BCC .no_change2
|
||||||
BRA .no_change2
|
|
||||||
+
|
|
||||||
CMP #$D1 : BNE + ;is it a bunny changer
|
|
||||||
BRA .no_change2
|
|
||||||
+
|
|
||||||
CMP #$C5 : BNE + ;is it a medusa head
|
|
||||||
BRA .no_change2
|
|
||||||
+
|
|
||||||
LDA $0D20, X : !ADD #$00 : STA $0D20, X
|
LDA $0D20, X : !ADD #$00 : STA $0D20, X
|
||||||
LDA $0D30, X : !ADD #$01 : STA $0D30, X
|
LDA $0D30, X : !ADD #$01 : STA $0D30, X
|
||||||
|
|
||||||
@@ -192,15 +176,7 @@ boss_move:
|
|||||||
|
|
||||||
.loop_bottom_right ; move sprites
|
.loop_bottom_right ; move sprites
|
||||||
LDA $0E20, X
|
LDA $0E20, X
|
||||||
CMP #$E3 : BNE + ;is it a fairy?? if not check next
|
JSR ShouldMoveSprite : BCC .no_change3
|
||||||
BRA .no_change3
|
|
||||||
+
|
|
||||||
CMP #$D1 : BNE + ;is it a bunny changer
|
|
||||||
BRA .no_change3
|
|
||||||
+
|
|
||||||
CMP #$C5 : BNE + ;is it a medusa head
|
|
||||||
BRA .no_change3
|
|
||||||
+
|
|
||||||
LDA $0D20, X : !ADD #$01 : STA $0D20, X
|
LDA $0D20, X : !ADD #$01 : STA $0D20, X
|
||||||
LDA $0D30, X : !ADD #$01 : STA $0D30, X
|
LDA $0D30, X : !ADD #$01 : STA $0D30, X
|
||||||
|
|
||||||
@@ -226,15 +202,7 @@ boss_move:
|
|||||||
|
|
||||||
.loop_bottom_left ; move sprites
|
.loop_bottom_left ; move sprites
|
||||||
LDA $0E20, X
|
LDA $0E20, X
|
||||||
CMP #$E3 : BNE + ;is it a fairy?? if not check next
|
JSR ShouldMoveSprite : BCC .no_change4
|
||||||
BRA .no_change4
|
|
||||||
+
|
|
||||||
CMP #$D1 : BNE + ;is it a bunny changer
|
|
||||||
BRA .no_change4
|
|
||||||
+
|
|
||||||
CMP #$C5 : BNE + ;is it a medusa head
|
|
||||||
BRA .no_change4
|
|
||||||
+
|
|
||||||
LDA $0D20, X : !ADD #$01 : STA $0D20, X
|
LDA $0D20, X : !ADD #$01 : STA $0D20, X
|
||||||
LDA $0D30, X : !ADD #$00 : STA $0D30, X
|
LDA $0D30, X : !ADD #$00 : STA $0D30, X
|
||||||
|
|
||||||
@@ -259,6 +227,23 @@ boss_move:
|
|||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; A - sprite id from E20, X
|
||||||
|
; X - sprite index - should be preserved
|
||||||
|
; sets or clears carry flag, set if sprite should be moved
|
||||||
|
ShouldMoveSprite:
|
||||||
|
PHX
|
||||||
|
LDX #$FF
|
||||||
|
- INX : CPX.b #$0F : BCS .done
|
||||||
|
CMP.l BossIds, X : BNE -
|
||||||
|
; match found, move it
|
||||||
|
PLX : SEC : RTS
|
||||||
|
.done ; don't move it
|
||||||
|
PLX : CLC : RTS
|
||||||
|
|
||||||
|
BossIds:
|
||||||
|
db $53, $54, $09, $92, $8c, $8d, $88, $ce
|
||||||
|
db $a2, $a3, $a4, $bd, $cb, $cc, $cd, $ff
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Fix the gibdo key drop in skull woods before the boss room - USELESS CODE
|
; Fix the gibdo key drop in skull woods before the boss room - USELESS CODE
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user