Continue labeling and documentation in ram.asm, main rando block
Deleted several unused modules and some commented code Reorganized some routines to clean up modules Moved some memory into mirrored WRAM Refactored NMI hook aux routine Removed old fake flipper fix
This commit is contained in:
@@ -2,20 +2,20 @@
|
||||
; Fairy Changes & Fixes
|
||||
;--------------------------------------------------------------------------------
|
||||
RefillHealthPlusMagic:
|
||||
LDA BigFairyHealth : STA HeartsFiller
|
||||
LDA.l BigFairyHealth : STA.l HeartsFiller
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
RefillHealthPlusMagic8bit:
|
||||
LDA BigFairyHealth : STA HeartsFiller
|
||||
LDA BigFairyMagic : STA MagicFiller
|
||||
LDA.l BigFairyHealth : STA.l HeartsFiller
|
||||
LDA.l BigFairyMagic : STA.l MagicFiller
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
CheckFullHealth:
|
||||
LDA BigFairyHealth : BEQ +
|
||||
LDA CurrentHealth : CMP MaximumHealth : BNE .player_hp_not_full_yet
|
||||
LDA.l BigFairyHealth : BEQ +
|
||||
LDA.l CurrentHealth : CMP.l MaximumHealth : BNE .player_hp_not_full_yet
|
||||
+
|
||||
LDA BigFairyMagic : BEQ +
|
||||
LDA CurrentMagic : CMP.b #$80 : BNE .player_mp_not_full_yet
|
||||
LDA.l BigFairyMagic : BEQ +
|
||||
LDA.l CurrentMagic : CMP.b #$80 : BNE .player_mp_not_full_yet
|
||||
+
|
||||
LDA.b #$00
|
||||
RTL
|
||||
@@ -30,57 +30,56 @@ FairyPond_Init:
|
||||
JML.l Sprite_ShowMessageFromPlayerContact
|
||||
+
|
||||
PHY : JSL.l Sprite_CheckDamageToPlayerSameLayerLong : BCC +
|
||||
LDA BottleContentsOne : CMP.b #$02 : BNE ++ : LDA.b #$1C : PHA : BRA .emptyBottle : ++
|
||||
LDA BottleContentsTwo : CMP.b #$02 : BNE ++ : LDA.b #$1D : PHA : BRA .emptyBottle : ++
|
||||
LDA BottleContentsThree : CMP.b #$02 : BNE ++ : LDA.b #$1E : PHA : BRA .emptyBottle : ++
|
||||
LDA BottleContentsFour : CMP.b #$02 : BNE ++ : LDA.b #$1F : PHA : BRA .emptyBottle : ++
|
||||
LDA.l BottleContentsOne : CMP.b #$02 : BNE ++ : LDA.b #$1C : PHA : BRA .emptyBottle : ++
|
||||
LDA.l BottleContentsTwo : CMP.b #$02 : BNE ++ : LDA.b #$1D : PHA : BRA .emptyBottle : ++
|
||||
LDA.l BottleContentsThree : CMP.b #$02 : BNE ++ : LDA.b #$1E : PHA : BRA .emptyBottle : ++
|
||||
LDA.l BottleContentsFour : CMP.b #$02 : BNE ++ : LDA.b #$1F : PHA : BRA .emptyBottle : ++
|
||||
.noInventory
|
||||
LDA.b #$0A : STA $0D80, X
|
||||
LDA.b #$0A : STA.w $0D80, X
|
||||
LDA.b #$51
|
||||
LDY.b #$01
|
||||
JSL.l Sprite_ShowMessageFromPlayerContact
|
||||
JMP .cleanup
|
||||
|
||||
.emptyBottle
|
||||
LDA.b #$02 : STA $0D80, X
|
||||
;JSL Player_ResetState ; If we continue to have issues, add this in too. (After determining the address for it)
|
||||
LDA.b #$02 : STA.w $0D80, X
|
||||
STZ $2F
|
||||
LDA.b #$01 : STA $02E4
|
||||
PLA : STA $1CE8
|
||||
LDA.b #$01 : STA.w $02E4
|
||||
PLA : STA.w $1CE8
|
||||
.cleanup
|
||||
STZ $0EB0, X ; Clear the sprite's item-given variable
|
||||
STZ.w $0EB0, X ; Clear the sprite's item-given variable
|
||||
CLC ; skip rest of original function
|
||||
+ : PLY
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
HappinessPond_Check:
|
||||
LDA $A0 : CMP.b #$15 ;what we wrote over
|
||||
LDA.b RoomIndex : CMP.b #$15 ;what we wrote over
|
||||
BNE .done
|
||||
PHP
|
||||
|
||||
LDA.b #$72
|
||||
JSL Sprite_SpawnDynamically
|
||||
|
||||
LDA $0FD8 : STA $0D10, Y
|
||||
LDA $0FD9 : STA $0D30, Y
|
||||
LDA.w $0FD8 : STA.w $0D10, Y
|
||||
LDA.w $0FD9 : STA.w $0D30, Y
|
||||
|
||||
LDA $0FDA : !SUB.b #$40 : STA $0D00, Y
|
||||
LDA $0FDB : SBC.b #$00 : STA $0D20, Y
|
||||
LDA.w $0FDA : !SUB.b #$40 : STA.w $0D00, Y
|
||||
LDA.w $0FDB : SBC.b #$00 : STA.w $0D20, Y
|
||||
|
||||
LDA.b #$01 : STA $0DA0, Y
|
||||
LDA.b #$01 : STA.w $0DA0, Y
|
||||
|
||||
LDA.b #$BB
|
||||
JSL Sprite_SpawnDynamically
|
||||
|
||||
LDA.b #$08 : STA $0DD0, Y ; ensure we run prep for the shopkeeper
|
||||
LDA.b #$08 : STA.w $0DD0, Y ; ensure we run prep for the shopkeeper
|
||||
|
||||
LDA $0FD8 : STA $0D10, Y
|
||||
LDA $0FD9 : STA $0D30, Y
|
||||
LDA.w $0FD8 : STA.w $0D10, Y
|
||||
LDA.w $0FD9 : STA.w $0D30, Y
|
||||
|
||||
LDA $0FDA : !SUB.b #$20 : STA $0D00, Y
|
||||
LDA $0FDB : SBC.b #$00 : STA $0D20, Y
|
||||
LDA.w $0FDA : !SUB.b #$20 : STA.w $0D00, Y
|
||||
LDA.w $0FDB : SBC.b #$00 : STA.w $0D20, Y
|
||||
|
||||
STZ $0DD0, X ; self terminate
|
||||
STZ.w $0DD0, X ; self terminate
|
||||
|
||||
PLP
|
||||
.done
|
||||
|
||||
Reference in New Issue
Block a user