From 3b265520fd83028d2d5e5bde6547ec6b423d5f8e Mon Sep 17 00:00:00 2001 From: Crementif <26669564+Crementif@users.noreply.github.com> Date: Mon, 27 Jul 2020 00:45:52 +0200 Subject: [PATCH] [BotW] More proper faster arrow fix Since 1.0 floats are very common, this float was likely used in other game code as well. Changing it to 3.0 could be bad, so it's better to just change the instruction that loads it and does the arrow loading. The fix here is to just have a symbol available to load the lower half from, instead of hardcoding it which Cemu's backwards compatible patcher doesn't like and softlocks. --- .../patches.txt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Mods/BreathOfTheWild_Cheats_FasterArrowDraw/patches.txt b/Mods/BreathOfTheWild_Cheats_FasterArrowDraw/patches.txt index dbaeed6e..95c6a8b6 100644 --- a/Mods/BreathOfTheWild_Cheats_FasterArrowDraw/patches.txt +++ b/Mods/BreathOfTheWild_Cheats_FasterArrowDraw/patches.txt @@ -1,11 +1,17 @@ -[BotwV208] +[BotW_FasterArrowDraw_V208] moduleMatches = 0x6267BFD0 -0x100C4F94 = .float 3.0 +_arrowDrawAddress = 0x100c50A0 ; Just used to load the lower half of the 0x100c50A0 offset from + +# Change offset from r10 register slightly to load a 3.0 float instead of 1.0 +0x024A0164 = lfs f0, _arrowDrawAddress@l(r10) ; Bow Draw Speed +0x024A019C = lfs f0, _arrowDrawAddress@l(r10) ; Bow Draw Cooldown -[BotwV176V192] +[BotW_FasterArrowDraw_V176V192] moduleMatches = 0xFD091F9F,0xD472D8A5 -0x0249FDC0 = lfs f0, 0x100c5040@l(r10) ; faster arrow draw -0x0249FDF8 = lfs f0, 0x100c5040@l(r10) ; faster arrow draw +_arrowDrawAddress = 0x100c5040 + +0x0249FDC0 = lfs f0, _arrowDrawAddress@l(r10) +0x0249FDF8 = lfs f0, _arrowDrawAddress@l(r10)