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:
cassidoxa
2022-11-16 21:38:28 -05:00
parent 43f753b517
commit 788cceaab9
67 changed files with 962 additions and 2127 deletions

View File

@@ -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