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:
54
flute.asm
54
flute.asm
@@ -2,38 +2,38 @@
|
||||
; Randomize Flute Dig Item
|
||||
;--------------------------------------------------------------------------------
|
||||
SpawnHauntedGroveItem:
|
||||
LDA $8A : CMP.b #$2A : BEQ + : RTL : + ; Skip if not the haunted grove
|
||||
LDA $1B : BEQ + : RTL : + ; Skip if indoors
|
||||
LDA.b $8A : CMP.b #$2A : BEQ + : RTL : + ; Skip if not the haunted grove
|
||||
LDA.b $1B : BEQ + : RTL : + ; Skip if indoors
|
||||
|
||||
%GetPossiblyEncryptedItem(HauntedGroveItem, HeartPieceOutdoorValues)
|
||||
JSL.l PrepDynamicTile
|
||||
|
||||
LDA.b #$EB
|
||||
STA $7FFE00
|
||||
STA.l $7FFE00
|
||||
JSL Sprite_SpawnDynamically
|
||||
|
||||
LDX.b #$00
|
||||
LDA $2F : CMP.b #$04 : BEQ + : INX : +
|
||||
LDA.b $2F : CMP.b #$04 : BEQ + : INX : +
|
||||
|
||||
LDA.l .x_speeds, X : STA $0D50, Y
|
||||
LDA.l .x_speeds, X : STA.w $0D50, Y
|
||||
|
||||
LDA.b #$00 : STA $0D40, Y
|
||||
LDA.b #$18 : STA $0F80, Y
|
||||
LDA.b #$FF : STA $0B58, Y
|
||||
LDA.b #$30 : STA $0F10, Y
|
||||
LDA.b #$00 : STA.w $0D40, Y
|
||||
LDA.b #$18 : STA.w $0F80, Y
|
||||
LDA.b #$FF : STA.w $0B58, Y
|
||||
LDA.b #$30 : STA.w $0F10, Y
|
||||
|
||||
LDA $22 : !ADD.l .x_offsets, X
|
||||
AND.b #$F0 : STA $0D10, Y
|
||||
LDA $23 : ADC.b #$00 : STA $0D30, Y
|
||||
LDA.b $22 : !ADD.l .x_offsets, X
|
||||
AND.b #$F0 : STA.w $0D10, Y
|
||||
LDA.b $23 : ADC.b #$00 : STA.w $0D30, Y
|
||||
|
||||
LDA $20 : !ADD.b #$16 : AND.b #$F0 : STA $0D00, Y
|
||||
LDA $21 : ADC.b #$00 : STA $0D20, Y
|
||||
LDA.b $20 : !ADD.b #$16 : AND.b #$F0 : STA.w $0D00, Y
|
||||
LDA.b $21 : ADC.b #$00 : STA.w $0D20, Y
|
||||
|
||||
LDA.b #$00 : STA $0F20, Y
|
||||
LDA.b #$00 : STA.w $0F20, Y
|
||||
TYX
|
||||
|
||||
LDX $8A ; haunted grove (208D0A)
|
||||
LDA OverworldEventDataWRAM, X : AND.b #$40 : BNE +
|
||||
LDX.b $8A ; haunted grove (208D0A)
|
||||
LDA.l OverworldEventDataWRAM, X : AND.b #$40 : BNE +
|
||||
LDA.b #$1B : JSL Sound_SetSfx3PanLong
|
||||
+
|
||||
RTL
|
||||
@@ -52,30 +52,30 @@ RTL
|
||||
}
|
||||
;--------------------------------------------------------------------------------
|
||||
FluteBoy:
|
||||
LDA $10 : CMP.b #$1A : BEQ +
|
||||
LDA.b #$01 : STA $0FDD
|
||||
LDA.b $10 : CMP.b #$1A : BEQ +
|
||||
LDA.b #$01 : STA.w $0FDD
|
||||
JML.l FluteBoy_Abort
|
||||
+
|
||||
LDA $0D80, X : CMP.b #$03 ; thing we wrote over
|
||||
LDA.w $0D80, X : CMP.b #$03 ; thing we wrote over
|
||||
JML.l FluteBoy_Continue
|
||||
;--------------------------------------------------------------------------------
|
||||
FreeDuckCheck:
|
||||
LDA.l InvertedMode : BEQ .done
|
||||
LDA FluteEquipment : CMP.b #$03 : BEQ .done ; flute is already active
|
||||
LDA.l FluteEquipment : CMP.b #$03 : BEQ .done ; flute is already active
|
||||
|
||||
; check the area, is it #$18 = 30?
|
||||
LDA $8A : CMP.b #$18 : BNE .done
|
||||
LDA.b $8A : CMP.b #$18 : BNE .done
|
||||
|
||||
REP #$20
|
||||
|
||||
; Y coordinate boundaries for setting it off.
|
||||
LDA $20
|
||||
LDA.b $20
|
||||
|
||||
CMP.w #$0760 : BCC .done
|
||||
CMP.w #$07E0 : BCS .done
|
||||
|
||||
; do if( (Ycoord >= 0x0760) && (Ycoord < 0x07e0
|
||||
LDA $22
|
||||
LDA.b $22
|
||||
|
||||
CMP.w #$01CF : BCC .done
|
||||
CMP.w #$0230 : BCS .done
|
||||
@@ -84,7 +84,7 @@ FreeDuckCheck:
|
||||
SEP #$20
|
||||
|
||||
; Apparently a special Overworld mode for doing this?
|
||||
LDA.b #$2D : STA $11
|
||||
LDA.b #$2D : STA.b $11
|
||||
|
||||
; Trigger the sequence to start the weathervane explosion.
|
||||
LDY.b #$00
|
||||
@@ -94,12 +94,12 @@ FreeDuckCheck:
|
||||
BRA .skipSong
|
||||
.done
|
||||
SEP #$20
|
||||
LDA.b #$80 : STA $03F0 ; thing we wrote over, load flute timer
|
||||
LDA.b #$80 : STA.w $03F0 ; thing we wrote over, load flute timer
|
||||
LDA.b #$13
|
||||
RTL
|
||||
.skipSong
|
||||
SEP #$20
|
||||
LDA.b #$80 : STA $03F0 ; thing we wrote over, load flute timer
|
||||
LDA.b #$80 : STA.w $03F0 ; thing we wrote over, load flute timer
|
||||
LDA.b #$00
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user