Practice Rom

From Twilight Princess Randomizer Wiki
Jump to navigation Jump to search

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

  1. Dump your own retail copy of the game.
  2. Go to the web patcher.
  3. Select the version of the practice tool you want to get.
  4. Select your dumped game file.
  5. Hit patch (may take a few minutes).
  6. 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

TPGZ successful compilation
This shows how the command line should look if the romhack was successfully compiled

*Note: Only NTSCU 1.0 and PAL versions are supported for now

  1. Dump your own retail copy of the game.
  2. Download the romhack patcher from this link and extract it.
  3. Select the correct patch file for the version of your game from the latest release of TPGZ on github.
  4. Put the dump of your game, the romhack patcher, and the patch file in the same folder.
  5. 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).
  6. 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

File:TPGZ main menu.png
TPGZ main menu when opened on the title screen

To open the main menu of TPGZ, you need to press 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-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
A Button Selects the item on the cursor
B Button Leaves the current menu

Menus

Cheats

This menu contains a variety of cheats that you can enable/disable by using Button A on the item.

Cheat Description
Infinite air Gives link infinite air underwater
Infinite arrows Gives Link 99 arrows
Infinite bombs Gives Link 99 bombs in all bags
Infinite hearts Link will always have full hearts
Infinite oil Gives Link infinite lantern oil
Infinite rupees Link will always have 1000 rupees
Infinite slingshot Gives Link 99 slingshot pellets
Invincible Makes Link invincible
Invincible enemies Makes some enemies invincible
Moon jump Hold
Error creating thumbnail: 'convert' is not recognized as an internal or external command, operable program or batch file.
+Button A to moon jump

(Z+C+A on Wii)

Door storage Disables most collision
Super clawshot Clawshot can grab almost anywhere

and is super fast.

Unrestricted items Disables item restrictions
Transform anywhere Transform at any location
Gale LJA (wii only) Automatically pulls out the sword

when throwing boomerang without

leaving targeting mode.

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 (Button A 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.
+Button A+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+Button A; reset = File:ButtonIcon-GCN-Z.svg+Button B

Wii: start/stop = Z+C+A+B ; reset = Z+C+B+1

Load timer Loading zone timer GC: reset = File:ButtonIcon-GCN-Z.svg+Button B

Wii: reset = Z+C+B+1

Igt timer In-game time timer GC: start/stop = File:ButtonIcon-GCN-Z.svg+Button A; reset = File:ButtonIcon-GCN-Z.svg+Button B

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+Button A+Button B; move=Button Stick/File:ButtonIcon-GCN-L.svg/
Error creating thumbnail: 'convert' is not recognized as an internal or external command, operable program or batch file.

view = Button C-Stick

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=Button Stick/Button C-Stick

view = Button C-Stick

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

Main Contributors