From d650bbedf8d20fa88a062b46a82d963aba57b56f Mon Sep 17 00:00:00 2001 From: XyFreak Date: Sun, 19 May 2019 13:32:08 +0200 Subject: [PATCH] Hook GetCategoryVolume in loop as well --- .../XenobladeX_mod_RebalanceAudio/patches.txt | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/Mods/XenobladeX_mod_RebalanceAudio/patches.txt b/Mods/XenobladeX_mod_RebalanceAudio/patches.txt index 789d8b2a..81e4956d 100644 --- a/Mods/XenobladeX_mod_RebalanceAudio/patches.txt +++ b/Mods/XenobladeX_mod_RebalanceAudio/patches.txt @@ -14,6 +14,9 @@ codeCaveSize = 0x200 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! @@ -29,6 +32,10 @@ _audioVolumeGimmick = 0x000001B0 _audioVolumeSystem = 0x000001B4 _audioVolumeEnvironment = 0x000001B8 _audioVolumeWeather = 0x000001BC +_audioVolumeEventCs = 0x000001C0 +_audioVolumeEventVoice = 0x000001C4 +_audioVolumeEventSe = 0x000001C8 +_audioVolumeUnknown = 0x000001F0 ## # Hook routines start here @@ -89,3 +96,39 @@ _hookSetWeatherVolume = 0x00000070 0x00000074 = lfs f1, _audioVolumeWeather@l(r11) 0x00000078 = blr 0x028933E4 = 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 + +0x02893404 = bla _eventHookStart ; Install Hook