Merge branch 'issues/3-xcx-voice-audio' into 'master'
Resolve "[XCX] Voice audio is too quiet compared to rest of the game" Closes #3 See merge request gamedev/cemu-game-mods!4
This commit is contained in:
commit
10303bfab4
269
Mods/XenobladeX_mod_RebalanceAudio/patches.txt
Normal file
269
Mods/XenobladeX_mod_RebalanceAudio/patches.txt
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
[XCXRebalanceAudioV101U]
|
||||||
|
moduleMatches = 0xAB97DE6B
|
||||||
|
codeCaveSize = 0x200
|
||||||
|
|
||||||
|
##
|
||||||
|
# Floats for individual volume levels. Use presets to change.
|
||||||
|
##
|
||||||
|
|
||||||
|
0x000001A0 = .float $volBgm ; BGM
|
||||||
|
0x000001A4 = .float $volVoice ; VOICE
|
||||||
|
0x000001A8 = .float $volBattle ; BATTLE
|
||||||
|
0x000001AC = .float $volField ; FIELD
|
||||||
|
0x000001B0 = .float $volGimmick ; GIMMICK
|
||||||
|
0x000001B4 = .float $volSystem ; SYSTEM
|
||||||
|
0x000001B8 = .float $volEnvironment ; ENVIRONMENT
|
||||||
|
0x000001BC = .float $volWeather ; WEATHER
|
||||||
|
0x000001C0 = .float $volEventCs ; EVENT_CS
|
||||||
|
0x000001C4 = .float $volEventVoice ; EVENT_VOICE
|
||||||
|
0x000001C8 = .float $volEventSe ; EVENT_SE
|
||||||
|
|
||||||
|
##
|
||||||
|
# Do not touch anything below if you don't know what you are doing!
|
||||||
|
##
|
||||||
|
|
||||||
|
# Labels for individual volume floats
|
||||||
|
_audioVolumeDefault = 0x1006CF30 ; 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
|
||||||
|
0x02893358 = bla _hookSetBgmVolume ; Install Hook
|
||||||
|
|
||||||
|
# Override Voice volume
|
||||||
|
_hookSetVoiceVolume = 0x00000010
|
||||||
|
0x00000010 = lis r11, _audioVolumeVoice@ha
|
||||||
|
0x00000014 = lfs f1, _audioVolumeVoice@l(r11)
|
||||||
|
0x00000018 = blr
|
||||||
|
0x0289336C = bla _hookSetVoiceVolume ; Install Hook
|
||||||
|
|
||||||
|
# Override Battle volume
|
||||||
|
_hookSetBattleVolume = 0x00000020
|
||||||
|
0x00000020 = lis r11, _audioVolumeBattle@ha
|
||||||
|
0x00000024 = lfs f1, _audioVolumeBattle@l(r11)
|
||||||
|
0x00000028 = blr
|
||||||
|
0x02893380 = bla _hookSetBattleVolume ; Install Hook
|
||||||
|
|
||||||
|
# Override Field volume
|
||||||
|
_hookSetFieldVolume = 0x00000030
|
||||||
|
0x00000030 = lis r11, _audioVolumeField@ha
|
||||||
|
0x00000034 = lfs f1, _audioVolumeField@l(r11)
|
||||||
|
0x00000038 = blr
|
||||||
|
0x02893394 = bla _hookSetFieldVolume ; Install Hook
|
||||||
|
|
||||||
|
# Override Gimmick volume
|
||||||
|
_hookSetGimmickVolume = 0x00000040
|
||||||
|
0x00000040 = lis r11, _audioVolumeGimmick@ha
|
||||||
|
0x00000044 = lfs f1, _audioVolumeGimmick@l(r11)
|
||||||
|
0x00000048 = blr
|
||||||
|
0x028933A8 = bla _hookSetGimmickVolume ; Install Hook
|
||||||
|
|
||||||
|
# Override System volume
|
||||||
|
_hookSetSystemVolume = 0x00000050
|
||||||
|
0x00000050 = lis r11, _audioVolumeSystem@ha
|
||||||
|
0x00000054 = lfs f1, _audioVolumeSystem@l(r11)
|
||||||
|
0x00000058 = blr
|
||||||
|
0x028933BC = bla _hookSetSystemVolume ; Install Hook
|
||||||
|
|
||||||
|
# Override Environment volume
|
||||||
|
_hookSetEnvironmentVolume = 0x00000060
|
||||||
|
0x00000060 = lis r11, _audioVolumeEnvironment@ha
|
||||||
|
0x00000064 = lfs f1, _audioVolumeEnvironment@l(r11)
|
||||||
|
0x00000068 = blr
|
||||||
|
0x028933D0 = bla _hookSetEnvironmentVolume ; Install Hook
|
||||||
|
|
||||||
|
# Override Weather volume
|
||||||
|
_hookSetWeatherVolume = 0x00000070
|
||||||
|
0x00000070 = lis r11, _audioVolumeWeather@ha
|
||||||
|
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
|
||||||
|
|
||||||
|
[XCXRebalanceAudioV100E_V101E]
|
||||||
|
moduleMatches = 0x218F6E07, 0xF882D5CF
|
||||||
|
codeCaveSize = 0x200
|
||||||
|
|
||||||
|
##
|
||||||
|
# Floats for individual volume levels. Use presets to change.
|
||||||
|
##
|
||||||
|
|
||||||
|
0x000001A0 = .float $volBgm ; BGM
|
||||||
|
0x000001A4 = .float $volVoice ; VOICE
|
||||||
|
0x000001A8 = .float $volBattle ; BATTLE
|
||||||
|
0x000001AC = .float $volField ; FIELD
|
||||||
|
0x000001B0 = .float $volGimmick ; GIMMICK
|
||||||
|
0x000001B4 = .float $volSystem ; SYSTEM
|
||||||
|
0x000001B8 = .float $volEnvironment ; ENVIRONMENT
|
||||||
|
0x000001BC = .float $volWeather ; WEATHER
|
||||||
|
0x000001C0 = .float $volEventCs ; EVENT_CS
|
||||||
|
0x000001C4 = .float $volEventVoice ; EVENT_VOICE
|
||||||
|
0x000001C8 = .float $volEventSe ; 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
|
76
Mods/XenobladeX_mod_RebalanceAudio/rules.txt
Normal file
76
Mods/XenobladeX_mod_RebalanceAudio/rules.txt
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
[Definition]
|
||||||
|
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
|
||||||
|
name = Rebalance Audio
|
||||||
|
path = "Xenoblade Chronicles X/Mods/RebalanceAudio"
|
||||||
|
description = Edit presets for preference. Settings become active once past the title screen.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[Preset]
|
||||||
|
name = "Default"
|
||||||
|
$volBgm = 1.0
|
||||||
|
$volVoice = 1.0
|
||||||
|
$volBattle = 1.0
|
||||||
|
$volField = 1.0
|
||||||
|
$volGimmick = 1.0
|
||||||
|
$volSystem = 1.0
|
||||||
|
$volEnvironment = 1.0
|
||||||
|
$volWeather = 1.0
|
||||||
|
$volEventCs = 1.0
|
||||||
|
$volEventVoice = 1.0
|
||||||
|
$volEventSe = 1.0
|
||||||
|
|
||||||
|
[Preset]
|
||||||
|
name = "Voice +10%"
|
||||||
|
$volBgm = 0.91
|
||||||
|
$volVoice = 1.0
|
||||||
|
$volBattle = 0.91
|
||||||
|
$volField = 0.91
|
||||||
|
$volGimmick = 0.91
|
||||||
|
$volSystem = 0.91
|
||||||
|
$volEnvironment = 0.91
|
||||||
|
$volWeather = 0.91
|
||||||
|
$volEventCs = 1.0
|
||||||
|
$volEventVoice = 1.0
|
||||||
|
$volEventSe = 1.0
|
||||||
|
|
||||||
|
[Preset]
|
||||||
|
name = "Voice +20%"
|
||||||
|
$volBgm = 0.83
|
||||||
|
$volVoice = 1.0
|
||||||
|
$volBattle = 0.83
|
||||||
|
$volField = 0.83
|
||||||
|
$volGimmick = 0.83
|
||||||
|
$volSystem = 0.83
|
||||||
|
$volEnvironment = 0.83
|
||||||
|
$volWeather = 0.83
|
||||||
|
$volEventCs = 1.0
|
||||||
|
$volEventVoice = 1.0
|
||||||
|
$volEventSe = 1.0
|
||||||
|
|
||||||
|
[Preset]
|
||||||
|
name = "XyFreak's recommendation"
|
||||||
|
$volBgm = 0.75
|
||||||
|
$volVoice = 1.0
|
||||||
|
$volBattle = 0.91
|
||||||
|
$volField = 0.91
|
||||||
|
$volGimmick = 0.91
|
||||||
|
$volSystem = 0.8
|
||||||
|
$volEnvironment = 1.0
|
||||||
|
$volWeather = 1.0
|
||||||
|
$volEventCs = 1.0
|
||||||
|
$volEventVoice = 1.0
|
||||||
|
$volEventSe = 1.0
|
||||||
|
|
||||||
|
[Preset]
|
||||||
|
name = "Silence (for testing)"
|
||||||
|
$volBgm = 0.0
|
||||||
|
$volVoice = 0.0
|
||||||
|
$volBattle = 0.0
|
||||||
|
$volField = 0.0
|
||||||
|
$volGimmick = 0.0
|
||||||
|
$volSystem = 0.0
|
||||||
|
$volEnvironment = 0.0
|
||||||
|
$volWeather = 0.0
|
||||||
|
$volEventCs = 0.0
|
||||||
|
$volEventVoice = 0.0
|
||||||
|
$volEventSe = 0.0
|
Loading…
Reference in New Issue
Block a user