Hi all,
Since the recent DuskLight got released on PC, I have gotten back into playing Twilight Princess (TP). Growing up, I played it on the Wii mainly, and then I transitioned to Twilight Princess HD (TPHD) when it was released on the Wii U. I loosely dabbled with learning some of the speed-run routes in the past. But I was surprised that there was nothing like TPGZ for TPHD. That is why I made my cheat table for TPHD, to help assist me in that process, while also learning more about reverse engineering and programming at the same time. Cheat Engine (CE) is pretty versatile, but when it comes to emulation, I would have to write custom tools for that which is quite the process. And then there is the other problem. CE only works on the PC, which means it was locked to PC only. There are also many other drawbacks to this approach. A big one being the quirks of how emulators work, namely the JIT-compiler. If you know, you know haha.
Looking at all the cool things that you can do with DuskLight I got me again wondering about a tool for TPHD. That is how this was born. And since we had the full source code of the GC/Wii versions available to us, it actually makes RE for TPHD a lot easier as a lot of the game code is the same or similar. I still don't have a finalized name for it, but I am open to suggestions. And for that purpose, I will just call this TPHD Tools for now.
How This Is Accomplished
TPHD Tools has a built-in Dear imGUI menu that runs inside the game loop itself. In simple terms, this is accomplished by hooking the Wii U's GX2 command buffer during the game start-up, and then jump to a custom dynamic module which handles imGUI rendering, and anything else that I want to do (and spoiler alert, there is a lot planned).
TPHD Tools Experimental Build
The tool itself has full touch support and gamepad navigation. It also has software keyboard support for textboxes and such.
Currently, I don't know where my Wii U has gone, so I have not been able to test on physical hardware. That being said, I do have builds that are ready to test with it, but I do want to say a word of caution. I don't know how it will run, and I am not responsible if anything happens. If you still want to test it after hearing this, then DM me and I can send you a testing copy and instructions on how to install it.
On the Cemu side it works well. I am in need of people to test this out and report any findings, crashes, inconsistencies, improvements and features they would like to see.
Both Gamepad and Pro controllers can control the menu.
Some of the most notable features so far:
Credits
Thank you to the following, as without, this project would not be possible:
TPGZ Team
TP Decomp Team
GaryOderNichts (imGUI fork)
devKitPro team (compiler)
Aroma Team (WUPS plugin)
Since the recent DuskLight got released on PC, I have gotten back into playing Twilight Princess (TP). Growing up, I played it on the Wii mainly, and then I transitioned to Twilight Princess HD (TPHD) when it was released on the Wii U. I loosely dabbled with learning some of the speed-run routes in the past. But I was surprised that there was nothing like TPGZ for TPHD. That is why I made my cheat table for TPHD, to help assist me in that process, while also learning more about reverse engineering and programming at the same time. Cheat Engine (CE) is pretty versatile, but when it comes to emulation, I would have to write custom tools for that which is quite the process. And then there is the other problem. CE only works on the PC, which means it was locked to PC only. There are also many other drawbacks to this approach. A big one being the quirks of how emulators work, namely the JIT-compiler. If you know, you know haha.
Looking at all the cool things that you can do with DuskLight I got me again wondering about a tool for TPHD. That is how this was born. And since we had the full source code of the GC/Wii versions available to us, it actually makes RE for TPHD a lot easier as a lot of the game code is the same or similar. I still don't have a finalized name for it, but I am open to suggestions. And for that purpose, I will just call this TPHD Tools for now.
How This Is Accomplished
TPHD Tools has a built-in Dear imGUI menu that runs inside the game loop itself. In simple terms, this is accomplished by hooking the Wii U's GX2 command buffer during the game start-up, and then jump to a custom dynamic module which handles imGUI rendering, and anything else that I want to do (and spoiler alert, there is a lot planned).
TPHD Tools Experimental Build
The tool itself has full touch support and gamepad navigation. It also has software keyboard support for textboxes and such.
Currently, I don't know where my Wii U has gone, so I have not been able to test on physical hardware. That being said, I do have builds that are ready to test with it, but I do want to say a word of caution. I don't know how it will run, and I am not responsible if anything happens. If you still want to test it after hearing this, then DM me and I can send you a testing copy and instructions on how to install it.
On the Cemu side it works well. I am in need of people to test this out and report any findings, crashes, inconsistencies, improvements and features they would like to see.
Both Gamepad and Pro controllers can control the menu.
Some of the most notable features so far:
Settings
Tools
Cheats
Debug
- Block Game Input (when menu is open)
Freeze Game (when menu is open) - Game Reset Hotkey (go to title screen)
Controller Selection (will change the game input to that controller and when loading a save) - Rebind Menu open hotkey
- Stick dead-zones (in-case you have stick drift but only for menu operations)
- Overlay opacities for sticky windows
Tools
- Fly Camera
- Stage/Room Warper
- Save State Loader (Allows you to save your current game state and load it on the fly. Also has the ability to add commands the save state on load. For example, set event bits, or spawn and delete certain actors, and add frame delays)
Input Viewer - Link Position Editor
Cheats
- Moon Jump
- Infinite Hearts
- Infinite Rupees
- Infinite Air
- Infinite Ammo
- Invincibility
- Quick Transform
- Inventory, Area/Event Flags, Dungeon Items, and Warps editors
Debug
- Game Info
- Debug Save Loader (a menu to read and load the debug saves contained in the game files. Also has a personal tab that you can upload your own game saves to to load from)
- Download TPHD-Tools.zip and open
- Place TwilightPrincessHD folder in Cemu's downloadedGraphicsPacksFolder
- Place tphd-tools.rpl in Twilight Princess HD code folder, right beside the Zelda.rpx file.
- Enable TPHD Tools Graphics pack in Cemu's Graphics Pack menu for TPHD
- Boot the game
Credits
Thank you to the following, as without, this project would not be possible:
TPGZ Team
TP Decomp Team
GaryOderNichts (imGUI fork)
devKitPro team (compiler)
Aroma Team (WUPS plugin)






