Add support for versions 1.0.1E and (propably) 1.0.0E.

I don't have access to 1.0.0E right now but since every other patch for 1.0.1E also works with 1.0.0E I'll just assume this one is gonna work as well.
This commit is contained in:
XyFreak 2019-05-19 13:40:30 +02:00
parent d650bbedf8
commit d247cb4a30

View File

@ -132,3 +132,138 @@ _eventHookDefault = 0x0000011C
0x00000124 = blr 0x00000124 = blr
0x02893404 = bla _eventHookStart ; Install Hook 0x02893404 = bla _eventHookStart ; Install Hook
[XCXRebalanceAudioV100E_V101E]
moduleMatches = 0x218F6E07, 0xF882D5CF
codeCaveSize = 0x200
##
# You may change these floats
##
0x000001A0 = .float 0.7 ; BGM
0x000001A4 = .float 1.0 ; VOICE
0x000001A8 = .float 0.7 ; BATTLE
0x000001AC = .float 0.7 ; FIELD
0x000001B0 = .float 0.7 ; GIMMICK
0x000001B4 = .float 0.7 ; SYSTEM
0x000001B8 = .float 1.0 ; ENVIRONMENT
0x000001BC = .float 1.0 ; WEATHER
0x000001C0 = .float 1.0 ; EVENT_CS
0x000001C4 = .float 1.0 ; EVENT_VOICE
0x000001C8 = .float 1.0 ; EVENT_SE
##
# Do not touch anything below if you don't know what you are doing!
##
# Labels for individual volume floats
_audioVolumeDefault = 0x1006CF88 ; Also used by the fallback branch of setupCategory
_audioVolumeBgm = 0x000001A0
_audioVolumeVoice = 0x000001A4
_audioVolumeBattle = 0x000001A8
_audioVolumeField = 0x000001AC
_audioVolumeGimmick = 0x000001B0
_audioVolumeSystem = 0x000001B4
_audioVolumeEnvironment = 0x000001B8
_audioVolumeWeather = 0x000001BC
_audioVolumeEventCs = 0x000001C0
_audioVolumeEventVoice = 0x000001C4
_audioVolumeEventSe = 0x000001C8
_audioVolumeUnknown = 0x000001F0
##
# Hook routines start here
##
# Override BGM volume
_hookSetBgmVolume = 0x00000000
0x00000000 = lis r11, _audioVolumeBgm@ha
0x00000004 = lfs f1, _audioVolumeBgm@l(r11)
0x00000008 = blr
0x028933D4 = bla _hookSetBgmVolume ; Install Hook
# Override Voice volume
_hookSetVoiceVolume = 0x00000010
0x00000010 = lis r11, _audioVolumeVoice@ha
0x00000014 = lfs f1, _audioVolumeVoice@l(r11)
0x00000018 = blr
0x028933E8 = bla _hookSetVoiceVolume ; Install Hook
# Override Battle volume
_hookSetBattleVolume = 0x00000020
0x00000020 = lis r11, _audioVolumeBattle@ha
0x00000024 = lfs f1, _audioVolumeBattle@l(r11)
0x00000028 = blr
0x028933FC = bla _hookSetBattleVolume ; Install Hook
# Override Field volume
_hookSetFieldVolume = 0x00000030
0x00000030 = lis r11, _audioVolumeField@ha
0x00000034 = lfs f1, _audioVolumeField@l(r11)
0x00000038 = blr
0x02893410 = bla _hookSetFieldVolume ; Install Hook
# Override Gimmick volume
_hookSetGimmickVolume = 0x00000040
0x00000040 = lis r11, _audioVolumeGimmick@ha
0x00000044 = lfs f1, _audioVolumeGimmick@l(r11)
0x00000048 = blr
0x02893424 = bla _hookSetGimmickVolume ; Install Hook
# Override System volume
_hookSetSystemVolume = 0x00000050
0x00000050 = lis r11, _audioVolumeSystem@ha
0x00000054 = lfs f1, _audioVolumeSystem@l(r11)
0x00000058 = blr
0x02893438 = bla _hookSetSystemVolume ; Install Hook
# Override Environment volume
_hookSetEnvironmentVolume = 0x00000060
0x00000060 = lis r11, _audioVolumeEnvironment@ha
0x00000064 = lfs f1, _audioVolumeEnvironment@l(r11)
0x00000068 = blr
0x0289344C = bla _hookSetEnvironmentVolume ; Install Hook
# Override Weather volume
_hookSetWeatherVolume = 0x00000070
0x00000070 = lis r11, _audioVolumeWeather@ha
0x00000074 = lfs f1, _audioVolumeWeather@l(r11)
0x00000078 = blr
0x02893460 = bla _hookSetWeatherVolume ; Install Hook
# EVENT_* is initialized in a loop so we have to identify the current loop
# iteration and return the desired value
_eventHookStart = 0x00000080
_eventHookVoice = 0x00000094
_eventHookSe = 0x00000108
_eventHookDefault = 0x0000011C
# EVENT_CS
0x00000080 = cmpwi r28, 3
0x00000084 = bne _eventHookVoice
0x00000088 = lis r11, _audioVolumeEventCs@ha
0x0000008C = lfs f1, _audioVolumeEventCs@l(r11)
0x00000090 = blr
# EVENT_VOICE
0x00000094 = cmpwi r28, 2
0x00000098 = bne _eventHookSe
0x0000009C = lis r11, _audioVolumeEventVoice@ha
0x00000100 = lfs f1, _audioVolumeEventVoice@l(r11)
0x00000104 = blr
# EVENT_SE
0x00000108 = cmpwi r28, 1
0x0000010C = bne _eventHookDefault
0x00000110 = lis r11, _audioVolumeEventSe@ha
0x00000114 = lfs f1, _audioVolumeEventSe@l(r11)
0x00000118 = blr
# Anything else
0x0000011C = lis r11, _audioVolumeDefault@ha
0x00000120 = lfs f1, _audioVolumeDefault@l(r11)
0x00000124 = blr
0x02893480 = bla _eventHookStart ; Install Hook