The Legend of Zelda: Twilight Princess/Debug Version
This is a sub-page of The Legend of Zelda: Twilight Princess.
Fully document all debug features; e.g. the external-debugger functionality that JasperRLZ found (and created a tool for).
Within the files for the Nvidia Shield port of Twilight Princess, there exists a debug executable with the name of RframeworkD.alf. This executable, once converted into a dol executable and properly configured, is able to run on Dolphin and on consoles.
Debug versions of every rel file exist within this version as well.
By default, a simplified debug mode is enabled. This mode will write minimal output to OSReport, as well as display any assertions that are triggered. All of the debug menus will still work, although nothing will render onto the HUD indicating their status, which may make it difficult to navigate through them.
By pressing R+A+B simultaneously, as well as having Controller 3 connected, free movement will be enabled. X and Y can be used to move the player up and down, while the Control Stick may be used to move the player across the ground plane. The C-Stick is able to rotate the camera around the player.
Develop mode adds onto the normal debug mode by increasing the verbosity of OSReport and making several debug menus available to the user. This mode can be enabled by passing the argument --develop to the executable or by using the following gecko code:
When launching the first save file, the game will look for Menu/menu1.dat within the res folder of the game. If this file does not exist or is invalid, the game will crash on an assertion. While the Nvidia Shield version does not have this file, the kiosk demo does.
By default, the user starts in the Message Debug screen. There are three modes to choose from.
Modes can be selected with Controller 3, using D-Pad-Up and D-Pad-Down and their parameters can be changed with D-Pad-Left and D-Pad-Right.
When a message box is displayed, two extra fields show up underneath the three selectable fields. Set displays the ID of the next message to be displayed while Now displays the ID of the currently displayed message.
This is the default mode. No messages are overridden and the default IDs are displayed.
Specific messages can be viewed in this mode. The message selected will display instead of the first message normally shown when dialogue is initiated, however the rest of the message flow will remain the same.
Specific message flows can be viewed with this setting. These message flows are unique to the currently loaded room. If an ID that corresponds to an empty message flow is selected, then no message box will appear.
The Debug Pad can be toggled on or off by pressing Start on Controller 3.
It allows the selection of the following 4 modes, which are all controlled from Controller 3. These modes can be switched between by pressing Z.
CAMERA mode allows for independent movement of the camera. It also has a wide variety of features for creating and executing camera cutscenes.
The camera can be moved in a truck or pedestal manner (vertically and horizontally) with the C-Stick. The D-Pad can be used to navigate the settings for this mode.
- FVY: Controls the current field of view.
- BNK: Controls the camera's roll.
- KEY: Controls the current keyframe being edited.
- CMD: Allows the execution of different commands. PLAY seems to play the keyframes if properly configured, otherwise it will crash. The others seem to do nothing.
- ACT: This setting presumably controls the smoothing between keyframes. The available options are: NOACTION, FIXEDFRM, UNITRANS, BSPLINE.
- TIM: This option allows one to configure the length of each keyframe.
It is unclear what this mode does, a yellow line is displayed on-screen but no input seems to affect the scene.
This mode allows the user to control the current wind direction and strength. A blue line is shown on-screen to indicate these settings.
The wind strength can be adjusted with C-Up and the direction can be controlled with the Control Stick. Pressing B will disable the blue line but continue affecting the wind. Holding A seems to disable all lighting.
This mode can be kept on outside of this mode by holding A and then pressing Z to exit this mode.
This mode appears to do nothing. Its name seems to indicate that it is supposed to test reading and writing from the SD Card.