From 871d76ba00746025772e7095e41d732646fee288 Mon Sep 17 00:00:00 2001 From: XyFreak Date: Sun, 19 May 2019 11:37:18 +0200 Subject: [PATCH] Reduce volume of BGM and possibly other "noisy" audio since voice audio can't be increased. Overwrites parts of the setup code in fw::CSoundManager::setupCategory() to not call GetCategoryVolume but instead use values we control. Parts of the original code (calls to GetCategoryIndex) have to still happen! We're quite limited with the amount of space we have available to us. There has to be a better way... --- .../XenobladeX_mod_RebalanceAudio/patches.txt | 50 +++++++++++++++++++ Mods/XenobladeX_mod_RebalanceAudio/rules.txt | 7 +++ 2 files changed, 57 insertions(+) create mode 100644 Mods/XenobladeX_mod_RebalanceAudio/patches.txt create mode 100644 Mods/XenobladeX_mod_RebalanceAudio/rules.txt diff --git a/Mods/XenobladeX_mod_RebalanceAudio/patches.txt b/Mods/XenobladeX_mod_RebalanceAudio/patches.txt new file mode 100644 index 00000000..06accb8c --- /dev/null +++ b/Mods/XenobladeX_mod_RebalanceAudio/patches.txt @@ -0,0 +1,50 @@ +[XCXRebalanceAudioV101U] +moduleMatches = 0xAB97DE6B + +_normalAudio = 0x028933EC +_louderAudio = 0x028933F0 +_GetCategoryIndex = 0x030F201C +_AfterEverythingIsDone = 0x28933F8 + +0x02893350 = bl _GetCategoryIndex +0x02893354 = stw r3, 0x1240(r29) +0x02893358 = lwz r3, 0x101A0004@l(r27) +0x0289335C = bl _GetCategoryIndex +0x02893360 = stw r3, 0x1248(r29) +0x02893364 = lwz r3, 0x101A0008@l(r27) +0x02893368 = bl _GetCategoryIndex +0x0289336C = stw r3, 0x1250(r29) +0x02893370 = lwz r3, 0x101A000C@l(r27) +0x02893374 = bl _GetCategoryIndex +0x02893378 = stw r3, 0x1258(r29) +0x0289337C = lwz r3, 0x101A0010@l(r27) +0x02893380 = bl _GetCategoryIndex +0x02893384 = stw r3, 0x1260(r29) +0x02893388 = lwz r3, 0x101A0014@l(r27) +0x0289338C = bl _GetCategoryIndex +0x02893390 = stw r3, 0x1268(r29) +0x02893394 = lwz r3, 0x101A0018@l(r27) +0x02893398 = bl _GetCategoryIndex +0x0289339C = stw r3, 0x1270(r29) +0x028933A0 = lwz r3, 0x101A001C@l(r27) +0x028933A4 = bl _GetCategoryIndex +0x028933A8 = stw r3, 0x1278(r29) +0x028933AC = lis r11, _normalAudio@ha +0x028933B0 = lfs f1, _normalAudio@l(r11) +0x028933B4 = stfs f1, 0x1244(r29) #BGM +0x028933B8 = stfs f1, 0x1254(r29) #BATTLE +0x028933BC = stfs f1, 0x125C(r29) #FIELD +0x028933C0 = stfs f1, 0x1264(r29) #GIMMICK +0x028933C4 = stfs f1, 0x126C(r29) #SYSTEM +0x028933C8 = lis r11, _louderAudio@ha +0x028933CC = lfs f1, _louderAudio@l(r11) +0x028933D0 = stfs f1, 0x1274(r29) #ENVIRONMENT +0x028933D4 = stfs f1, 0x127C(r29) #WEATHER +0x028933D8 = stfs f1, 0x124C(r29) #VOICE +0x028933DC = li r28, 3 +0x028933E0 = li r30, 0x20 +0x028933E4 = addi r31, r31, -8 +0x028933E8 = b _AfterEverythingIsDone +0x028933EC = .float 0.7 +0x028933F0 = .float 1.0 +0x028933F4 = nop \ No newline at end of file diff --git a/Mods/XenobladeX_mod_RebalanceAudio/rules.txt b/Mods/XenobladeX_mod_RebalanceAudio/rules.txt new file mode 100644 index 00000000..a3875d35 --- /dev/null +++ b/Mods/XenobladeX_mod_RebalanceAudio/rules.txt @@ -0,0 +1,7 @@ +[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 +