From 6c1329644614d0b682908cef705f4604120097d8 Mon Sep 17 00:00:00 2001 From: Xphalnos <162914546+Ryce-Fast@users.noreply.github.com> Date: Mon, 20 May 2024 19:15:38 +0200 Subject: [PATCH] Hyrule Warriors Graphic Pack Clean up --- Mods/HyruleWarriors_60FPS/patch_staticFPS.asm | 34 ++++------ Mods/HyruleWarriors_60FPS/rules.txt | 8 +-- .../patch_drawDistance.asm | 68 ++++++++++--------- .../rules.txt | 11 +-- .../HyruleWarriors_Resolution/patches.txt | 8 +-- 5 files changed, 63 insertions(+), 66 deletions(-) diff --git a/Mods/HyruleWarriors_60FPS/patch_staticFPS.asm b/Mods/HyruleWarriors_60FPS/patch_staticFPS.asm index 1659d4ef..7e82eca1 100644 --- a/Mods/HyruleWarriors_60FPS/patch_staticFPS.asm +++ b/Mods/HyruleWarriors_60FPS/patch_staticFPS.asm @@ -1,7 +1,7 @@ [HW60FPSFixv208] moduleMatches = 0xE159AE91 -# change SetBaseFramePerSec(2) calls to SetBaseFramePerSec(1), fixes UI being too fast and allows ingame to go beyond 30FPS +# Change SetBaseFramePerSec(2) calls to SetBaseFramePerSec(1), fixes UI being too fast and allows ingame to go beyond 30FPS # (SetBaseFramePerSec divides the number 60 by the parameter to get the target framerate, so 2 = 30FPS, 1 = 60FPS) 0x0219D7B0 = li r3, 1 # Main::init 0x02438340 = li r3, 1 # CDemoEventManager::TermRead() @@ -9,41 +9,37 @@ moduleMatches = 0xE159AE91 # Set swap interval to 1 (needed since cemu 1.15.7) 0x02831FB4 = li r4, 1 -0x02833B00 = nop #nopesync +0x02833B00 = nop # nopesync #0x100995A8 = .float 200.0 [ZeldaMusou_JPNv16] moduleMatches = 0xf290aea8 -#.origin = codecave #_fps: #.float 120.0 - + #_fps60: #lis r12, _fps@h #stfs f0, _fps@l(r12) #blr - #0x0221AB14 = bla _fps60 -#0x0221AB1C = nop #setFramePerSec +#0x0221AB1C = nop # setFramePerSec #0x0221AB7C = nop #0x0221AB80 = bla _fps60 0x02788D24 = li r4, 1 -##0x02788570 = li r3, 1 # +##0x02788570 = li r3, 1 0x0278A8F4 = nop # Uncomment to kill vsync -# -# -0x02186A2C = li r3, 1 # Main::init -## -#0x021BA474 = li r3, 1 #Mr, CViewModuleDefeat::lave Unstable -0x021C4148 = li r3, 1 #Mr, CViewModuleMgr::Term -0x021C6D88 = li r3, 1 #Mr, CViewModuleMotionLave -#0x0221AB18 = li r3, 1 #mr, CViewModuleDefeat infunction -# -#0x023FA0D4 = li r3, 1 # lvzCDemoEventManager switch to gameplay not neede with cor main? -#0x023F9BEC = li r3, 1 # CDemoEventManager::TermRead() -#0x023FA07C = li r3, 1 # CDemoEventManager::ChangeFPS() +0x02186A2C = li r3, 1 # Main::init + +#0x021BA474 = li r3, 1 # Mr, CViewModuleDefeat::lave Unstable +0x021C4148 = li r3, 1 # Mr, CViewModuleMgr::Term +0x021C6D88 = li r3, 1 # Mr, CViewModuleMotionLave +#0x0221AB18 = li r3, 1 # Mr, CViewModuleDefeat infunction + +#0x023FA0D4 = li r3, 1 # lvzCDemoEventManager switch to gameplay not need with for main? +#0x023F9BEC = li r3, 1 # CDemoEventManager::TermRead() +#0x023FA07C = li r3, 1 # CDemoEventManager::ChangeFPS() \ No newline at end of file diff --git a/Mods/HyruleWarriors_60FPS/rules.txt b/Mods/HyruleWarriors_60FPS/rules.txt index 10cd6197..efa869fc 100644 --- a/Mods/HyruleWarriors_60FPS/rules.txt +++ b/Mods/HyruleWarriors_60FPS/rules.txt @@ -1,6 +1,6 @@ -[Definition] +[Definition] titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = 60 FPS # +name = 60 FPS path = "Hyrule Warriors/Mods/60FPS" -description = Getting under 60fps will slow down the game's speed. -version = 4 +description = Getting under 60 FPS will slow down the game's speed. +version = 4 \ No newline at end of file diff --git a/Mods/HyruleWarriors_IncreaseDrawDistance/patch_drawDistance.asm b/Mods/HyruleWarriors_IncreaseDrawDistance/patch_drawDistance.asm index 7440bf8f..b68f932d 100644 --- a/Mods/HyruleWarriors_IncreaseDrawDistance/patch_drawDistance.asm +++ b/Mods/HyruleWarriors_IncreaseDrawDistance/patch_drawDistance.asm @@ -1,47 +1,53 @@ -[DrawDistance_v208] +[DrawDistance_v208] moduleMatches = 0xE159AE91 -.origin = codecave -##object clip -0x100DD06C = .float 2.5 #3.0 -#0x025F0554 = nop #same as setting 0x100DD06C to 0. Fix this when instruction supported. -#0x025F02F4 = nop # -#stage clip -0x100DFEC4 = .float 6.0 -#0x100DFEC8 = .float 6.0 -##stage clip update +.origin = codecave + +# Object clip +0x100DD06C = .float 2.5 +#0x025F0554 = nop # Same as setting 0x100DD06C to 0. Fix this when instruction supported. +#0x025F02F4 = nop + +# Stage clip +0x100DFEC4 = .float 6.0 +#0x100DFEC8 = .float 6.0 + +# Stage clip update 0x100DFECC = .float 6.0 0x100DFED8 = .float 6.0 0x100DFEDC = .float 6.0 0x100DFEE0 = .float 6.0 -0x100FF060 = .float 0.99 # force high mip / texture lod -0x100DD8C4 = .float 9900.0 # some smoke / particles +0x100FF060 = .float 0.99 # Force high mip, texture LOD +0x100DD8C4 = .float 9900.0 # Some smoke, particles -# shadow draw distance (more like boundary) -0x10000B20 = .float 8500.0 -0x10000B24 = .float 40000.0 -0x100DFF78 = .float 40000.0 #Dyamic object shadows ie rocks, chests etc +# Shadow draw distance (more like boundary) +0x10000B20 = .float 8500.0 +0x10000B24 = .float 40000.0 +0x100DFF78 = .float 40000.0 # Dynamic object shadows like rocks, chests etc. -#Grass, debris. Mitigates object pop as groups switces between lods. -0x100DFF50 = .float 20000.0 -0x100DFF54 = .float 40000.0 +# Grass and debris. Mitigates object pop as groups switches between lods. +0x100DFF50 = .float 20000.0 +0x100DFF54 = .float 40000.0 0x100DFF58 = .float 150000.0 0x100DFF5C = .float 200000.0 0x100DFF60 = .float 300000.0 0x100DFF64 = .float 500000.0 0x100DFF68 = .float 800000.0 -0x100DFF6C = .float 80000.0 +0x100DFF6C = .float 80000.0 -#Replace army mid LOD with high LOD -#0x022BD744 = li r12, 0 -#fov -#0x10006FD0 = .float 0.015 #fov .float 0.017453292 # DATA XREF: CActFunc::GetViewParameter((PLAYER_ID,S_VIEW_PARAM &,uint))+194o -# scatter light (fog) -#0x1001CA64 = .float 2.5 # 2.0 default, 4.0 dark -#NPC text lod -#0x1009E134 = .float -8.0 #flt_1009E134: .float -1.0 # DATA XREF: CActModuleModelCommon::fGetMipLodBias(const(void))+4Co -#0x1009E138 = .float 0.0 #flt_1009E138: .float 0.0 # DATA XREF: CActModuleModelCommon::fGetMipLodBias(const(void)):loc_22BF3FCo -##dist from link -#0x100962BC = .float 0.25 #flt_100962BC: .float 0.0 +# Replace army mid LOD with high LOD +#0x022BD744 = li r12, 0 +# FOV +#0x10006FD0 = .float 0.015 + +# Scatter light (fog) +#0x1001CA64 = .float 2.5 # 2.0 default, 4.0 dark + +# NPC text LOD +#0x1009E134 = .float -8.0 # flt_1009E134: .float -1.0 # DATA XREF: CActModuleModelCommon::fGetMipLodBias(const(void))+4Co +#0x1009E138 = .float 0.0 # flt_1009E138: .float 0.0 # DATA XREF: CActModuleModelCommon::fGetMipLodBias(const(void)):loc_22BF3FCo + +# Distance from Link +#0x100962BC = .float 0.25 # flt_100962BC: .float 0.0 \ No newline at end of file diff --git a/Mods/HyruleWarriors_IncreaseDrawDistance/rules.txt b/Mods/HyruleWarriors_IncreaseDrawDistance/rules.txt index b5901893..e4d254ac 100644 --- a/Mods/HyruleWarriors_IncreaseDrawDistance/rules.txt +++ b/Mods/HyruleWarriors_IncreaseDrawDistance/rules.txt @@ -1,11 +1,6 @@ -[Definition] +[Definition] titleIds = 000500001017D800,000500001017D900,000500001017CD00 name = Increase draw distance path = "Hyrule Warriors/Mods/Increase draw distance" -description = More stuff further away | Experimental, may trigger distant object timers too early. -version = 4 - -## reminders: -#NPC rendering can be increased, but some other total nr on screen limiter kicks in -#When moving between zones, culling re-sets - +description = Significantly increases the viewing distance of objects. +version = 4 \ No newline at end of file diff --git a/Resolutions/HyruleWarriors_Resolution/patches.txt b/Resolutions/HyruleWarriors_Resolution/patches.txt index c3ac1912..e01c8e3f 100644 --- a/Resolutions/HyruleWarriors_Resolution/patches.txt +++ b/Resolutions/HyruleWarriors_Resolution/patches.txt @@ -1,9 +1,9 @@ -[HyruleWarriors_219v208] #same checksum as JPNv272 +[HyruleWarriors_219v208] # Same checksum as JPNv272 moduleMatches = 0xE159AE91 -#rodata constant changes +# rodata constants -0x1009609C = .float ($aspectRatio) -0x10096124 = .float ($aspectRatio) +0x1009609C = .float ($aspectRatio) +0x10096124 = .float ($aspectRatio) 0x10096948 = .float ($aspectRatio) 0x10096974 = .float ($aspectRatio) \ No newline at end of file