Practice Rom
TPGZ is a romhack for the video game The Legend of Zelda: Twilight Princess started by MidKight in the end of 2018 and is maintained by the speedrunning community of the game. Its main goal is to provide tools for speedrunners to practice, and for glitch hunters to discover new bugs. It is available for both the Game Cube and the Wii version of the game.
Contrarily to the randomizer of the same game which uses a modified save file to load into an unaltered version of the game, TPGZ is made by directly modifying the game's code. To accomplish this, it uses a custom tool to patch the game. That tool was made into a web patcher at the beginning of 2021, to make the process of compiling the romhack easier.
History
It first started when on August 8th, 2018, MidKnight started a repository on GitHub demonstrating a very simple example of a romhack of Twilight Princess written in Rust that would only display "Hello from Rust!" on the top left corner of the game. It wasn't doing much, but it was something that could be improved over.
How to get TPGZ
GameCube
- Dump your own retail copy of the game.
- Go to the web patcher.
- Select the version of the practice tool you want to get.
- Select your dumped game file.
- Hit patch (may take a few minutes).
- Save the patched file on your computer.
You should now be able to load this file on the Dolphin emulator or on a console through Nintendon't.
Wii
*Note: Only NTSCU 1.0 and PAL versions are supported for now
- Dump your own retail copy of the game.
- Download the romhack patcher from this link and extract it.
- Select the correct patch file for the version of your game from the latest release of TPGZ on github.
- Put the dump of your game, the romhack patcher, and the patch file in the same folder.
- Open a command line in that folder, and execute
./romhack.exe apply 0.2-wii-ntscu-10.patch "rzde10.iso" "tpgzw.iso"
(assuming you named your dump "rzde10.iso" and that you have the NTSCU 1.0 version of the game). - Once the patcher has successfully stopped, you should have a file
tpgzw.iso
in your folder.
You should now be able to load this file on the Dolphin emulator or on a console through WiiFlow on a USB stick. Alternatively, you can convert the ISO file into a WBFS (using WiiMMS) file to reduce its size and store it on an SD card.
Usage Guide
To open the main menu of TPGZ, you need to press File:ButtonIcon-GCN-L.svg +
+ File:ButtonIcon-GCN-D-Pad-D.svg(Z+C+Minus on Wii). You can open the menu at any moment as long as the game is not in a loading state.
Apart for some special menus, the controls are as follows:
Controls | Action |
---|---|
File:ButtonIcon-GCN-D-Pad-D.svg | Moves the cursor to the next entry in the list |
File:ButtonIcon-GCN-D-Pad-U.svg | Moves the cursor to the previous entry in the list |
File:ButtonIcon-GCN-D-Pad-R.svg | Moves the cursor 10 entry down the list |
File:ButtonIcon-GCN-D-Pad-L.svg | Moves the cursor 10 entry up the list |
Selects the item on the cursor | |
Leaves the current menu |
Menus
Cheats
This menu contains a variety of cheats that you can enable/disable by using on the item.
Flags
This menu regroups various flag related sub menus.
- General flags: All flags that concerns the game in general, like having Midna on File:ButtonIcon-GCN-Z.svg (DPad Up on Wii) or having the Early Boss Flag set.
- Dungeon flags: Have map; Have compass; Have boss key; Mini-boss dead; Boss dead.
- Portal flags: Activates/deactivate every warp portal in the game.
- Flag records: Every remaining flags. Temporary area flags, event flags, mini-games and special dungeon flags.
Inventory
This menu regroups various inventory related sub menus.
- Item wheel: You can edit which item is on which slot of the item wheel.
- Pause menu: Editing everything that in the pause menu (aka start menu).
- Amounts: Changing ammo/collectible amounts.
Memory
This menu regroups various memory tools.
- Watches: Manage memory watches.
- Memory editor: Edit any address on the RAM.
Practice
This menu regroups various saves at key points for different categories. Currently supports the following categories: any%, 100%.
Scene
Option | Description |
---|---|
Disable bg music | Disables background and enemy music |
Disable sfx | Disables sound effects (item, weather, etc.) |
Freeze actors | Freezes actors |
Freeze camera | Locks the camera inplace |
Hide actors | Hides actors |
Hid hud | Hides the heads-up display |
Freeze time | Freeze in-game hour |
Time (hrs) | Modifies the current in-game hour |
Time (mins) | Modifies the current in-game minutes |
Settings
- Area reload behavior: load area = Reload last area; load file = Reload last file
- Cursor color: Options are green, blue, red, orange, yellow, and purple.
- Font: Options are Consola, Calamity bold, Liberation sans, Liberation sans bold, Liberation serif, Liberation serif bold, press-start-2p.
- Drop shadows: Adds shadows to all written characters.
- Save card: Saves your current setup for Cheats, Watches, Settings, Tools, ... into the memory card.
- Load card: Loads your saved setup for Cheats, Watches, Settings, Tools, ... from the memory card.
- Menu positions: Changes the positions of different graphical elements of TPGZ ( to toggle selection, File:ButtonIcon-GCN-D-Pad.svg to move).
Tools
Tool | Description | Controls |
---|---|---|
Area reload | Reloads current area/file
(depends on settings) |
GC: File:ButtonIcon-GCN-L.svg+ Error creating thumbnail: 'convert' is not recognized as an internal or external command,
operable program or batch file.
++File:ButtonIcon-GCN-Start-Pause.svg
Wii: Z+C+B+2 |
Fast bonk recovery | Reduces bonk animation significantly | |
Fast movement | Link's movement is much faster after
a roll |
|
Gorge checker | Gives an indication if you are early or
late for Gorge Void, and by how much |
Warp to Kakariko Gorge:
GC: File:ButtonIcon-GCN-L.svg+File:ButtonIcon-GCN-Z.svg Wii: Z+C+A+1 |
BiT checker (Wii only) | Gives an indication if you are early or
late for Ordon Bridge BiT, and by how much |
Warp to Ordon Bridge:
Wii: Z+C+A+2 |
Input viewer | Shows current input | |
Link debug info | Shows Link's position, angle, and speed | |
No sinking in sand | Link won't sink in sand | |
Roll checker | Frame counter for chaining rolls | |
Teleport | Saves and load Link's position | GC: store = Error creating thumbnail: 'convert' is not recognized as an internal or external command,
operable program or batch file.
+File:ButtonIcon-GCN-D-Pad-U.svg; load = Error creating thumbnail: 'convert' is not recognized as an internal or external command,
operable program or batch file.
+File:ButtonIcon-GCN-D-Pad-D.svg
Wii: store = Z+C+1 ; load = Z+C+2 |
Turbo mode | Simulates turbo controller inputs | |
Timer | Frame timer | GC: start/stop = File:ButtonIcon-GCN-Z.svg+; reset = File:ButtonIcon-GCN-Z.svg+
Wii: start/stop = Z+C+A+B ; reset = Z+C+B+1 |
Load timer | Loading zone timer | GC: reset = File:ButtonIcon-GCN-Z.svg+
Wii: reset = Z+C+B+1 |
Igt timer | In-game time timer | GC: start/stop = File:ButtonIcon-GCN-Z.svg+; reset = File:ButtonIcon-GCN-Z.svg+
Wii: start/stop = Z+C+A+B ; reset = Z+C+B+1 |
Free cam | Gives full control of the camera | GC: toggle = File:ButtonIcon-GCN-Z.svg++; move=/File:ButtonIcon-GCN-L.svg/ Error creating thumbnail: 'convert' is not recognized as an internal or external command,
operable program or batch file.
Wii: toggle = Z+C+B+Minus ; move = Stick+D-Pad view = C+Stick |
Move link | Gives full control of link's position | GC: toggle = File:ButtonIcon-GCN-L.svg+ Error creating thumbnail: 'convert' is not recognized as an internal or external command,
operable program or batch file.
+File:ButtonIcon-GCN-Y.svg; move=/
Wii: toggle = Z+C+B+Plus ; move = Stick view = C+Stick |
Link tunic color | Options: green, blue, red, orange,
yellow, white, and rainbow |
Warping
This menus allows the user to choose exactly where to warp, and also how to warp to any known map in the game.
Planned features
- Actor spawner
- Frame advance
- Collision viewer
- Lag counter
FAQ
// WiP
Links
- Github
- Web patcher
- Wiimms Tools to convert ISO to WBFS