@@ -127,6 +127,7 @@ incsrc hardmode.asm
|
|||||||
incsrc goalitem.asm
|
incsrc goalitem.asm
|
||||||
incsrc compasses.asm
|
incsrc compasses.asm
|
||||||
incsrc doorframefixes.asm
|
incsrc doorframefixes.asm
|
||||||
|
incsrc music.asm
|
||||||
;incsrc shopkeeper.asm
|
;incsrc shopkeeper.asm
|
||||||
incsrc cuccostorm.asm
|
incsrc cuccostorm.asm
|
||||||
incsrc roomloading.asm
|
incsrc roomloading.asm
|
||||||
|
|||||||
13
hooks.asm
13
hooks.asm
@@ -1943,6 +1943,19 @@ JSL.l WalkDownIntoTavern
|
|||||||
NOP #1
|
NOP #1
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Music fixes
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $0282F4 ; <- Bank02.asm:654 (LDY.b #$58 ...)
|
||||||
|
JML.l PreOverworld_LoadProperties_ChooseMusic
|
||||||
|
org $028389 ; <- Bank02.asm:763
|
||||||
|
PreOverworld_LoadProperties_SetSong:
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $05CC58 ; <- Bank05.asm:1307 (LDA $040A : CMP.b #$18)
|
||||||
|
JSL PsychoSolder_MusicCheck
|
||||||
|
NOP #1
|
||||||
|
;================================================================================
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Hooks for roomloading.asm
|
; Hooks for roomloading.asm
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
89
music.asm
Normal file
89
music.asm
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
PreOverworld_LoadProperties_ChooseMusic:
|
||||||
|
; A: scratch space (value never used)
|
||||||
|
; Y: set to overworld animated tileset
|
||||||
|
; X: set to music track/command id
|
||||||
|
|
||||||
|
LDY.b #$58 ; death mountain animated tileset.
|
||||||
|
|
||||||
|
LDX.b #$02 ; Default light world theme
|
||||||
|
|
||||||
|
LDA $8A : ORA #$40 ; check both light and dark world DM at the same time
|
||||||
|
CMP.b #$43 : BEQ .endOfLightWorldChecks
|
||||||
|
CMP.b #$45 : BEQ .endOfLightWorldChecks
|
||||||
|
CMP.b #$47 : BEQ .endOfLightWorldChecks
|
||||||
|
|
||||||
|
LDY.b #$5A ; Main overworld animated tileset
|
||||||
|
|
||||||
|
; Skip village and lost woods checks if entering dark world or a special area
|
||||||
|
LDA $8A : CMP.b #$40 : !BGE .notVillageOrWoods
|
||||||
|
|
||||||
|
LDX.b #$07 ; Default village theme
|
||||||
|
|
||||||
|
; Check what phase we're in
|
||||||
|
LDA $7EF3C5 : CMP.b #$03 : !BLT +
|
||||||
|
LDX.b #$02 ; Default light world theme (phase >=3)
|
||||||
|
+
|
||||||
|
|
||||||
|
; Check if we're entering the village
|
||||||
|
LDA $8A : CMP.b #$18 : BEQ .endOfLightWorldChecks
|
||||||
|
; For NA release would we also branch on indexes #$22 #$28 #$29
|
||||||
|
|
||||||
|
LDX.b #$05 ; Lost woods theme
|
||||||
|
|
||||||
|
; check if we've pulled from the master sword pedestal
|
||||||
|
LDA $7EF300 : AND.b #$40 : BEQ +
|
||||||
|
LDX.b #$02 ; Default light world theme
|
||||||
|
+
|
||||||
|
|
||||||
|
; check if we are entering lost woods
|
||||||
|
LDA $8A : BEQ .endOfLightWorldChecks
|
||||||
|
|
||||||
|
.notVillageOrWoods
|
||||||
|
; Use the normal overworld (light world) music
|
||||||
|
LDX.b #$02
|
||||||
|
|
||||||
|
; Check phase ; In phase >= 2
|
||||||
|
LDA $7EF3C5 : CMP.b #$02 : !BGE +
|
||||||
|
; If phase < 2, play the legend music
|
||||||
|
LDX.b #$03
|
||||||
|
+
|
||||||
|
|
||||||
|
.endOfLightWorldChecks
|
||||||
|
; if we are in the light world go ahead and set chosen selection
|
||||||
|
LDA $7EF3CA : BEQ .lastCheck
|
||||||
|
|
||||||
|
LDX.b #$0D ; dark woods theme
|
||||||
|
|
||||||
|
; This music is used in dark woods, and dark death mountain
|
||||||
|
LDA $8A
|
||||||
|
CMP.b #$40 : BEQ + : CMP.b #$43 : BEQ + : CMP.b #$45 : BEQ + : CMP.b #$47 : BEQ +
|
||||||
|
LDX.b #$09 ; dark overworld theme
|
||||||
|
+
|
||||||
|
|
||||||
|
; Does Link have a moon pearl?
|
||||||
|
LDA $7EF357 : BNE +
|
||||||
|
LDX.b #$04 ; bunny theme
|
||||||
|
+
|
||||||
|
|
||||||
|
.lastCheck
|
||||||
|
LDA $0132 : CMP.b #$F2 : BNE +
|
||||||
|
CPX $0130 : BNE +
|
||||||
|
; If the last played command ($0132) was half volume (#$F2)
|
||||||
|
; and the actual song playing ($0130) is same as the one for this area (X)
|
||||||
|
; then play the full volume command (#F3) instead of restarting the song
|
||||||
|
LDX.b #$F3
|
||||||
|
+
|
||||||
|
|
||||||
|
JML.l PreOverworld_LoadProperties_SetSong
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
;0 = Is Kakariko Overworld
|
||||||
|
;1 = Not Kakariko Overworld
|
||||||
|
PsychoSolder_MusicCheck:
|
||||||
|
LDA $040A : CMP.b #$18 : BNE .done ; thing we overwrote - check if overworld location is Kakariko
|
||||||
|
LDA $1B ; Also check that we are outdoors
|
||||||
|
.done
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
Reference in New Issue
Block a user