If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:Guitar Hero Encore: Rocks the 80's/Debug Executables

From The Cutting Room Floor
Jump to navigation Jump to search

This is a sub-page of Proto:Guitar Hero Encore: Rocks the 80's.

The raw disc transfer comes with two ELFs in the root directory, SLUS_215.86, which is the one loaded by the game and matches the 80's final US disc ID, and SLUS_214.47, which matches Guitar Hero II's US disc ID. (To use the II executable, both the executable and the drivers MTAPMAN.IRX, SYNTH_R.IRX, USBD.IRX, and USBKB.IRX from this disc's IOP folder have to be copied onto a II ISO, replacing that game's normal executable.) Both of these executables are fully debug-enabled, enabling the use of keyboard and controller cheats, warning on benign errors, and terminating with a full stack trace on crashing.

Crash Screens

Rather than freezing the game silently, an error message, a Data Array (the game's internal scripting language) stack trace, and a code stack trace will be displayed on a game crash. The Data Stack Trace shows, in descending order, the scripts last invoked before the crash, with the numbers appended to each script name pertaining to the node number of the DTB in question. (A modding tool such as Nachyoz's DTB Editor can then be used to find the offending node number and determine the cause of the crash.) As both executables feature full debugging symbols, these also display in the code stack trace.

A crash resulting from trying to write a screendump.

Similar screens will appear on benign errors or warnings the game can work around, such as having more or less than five songs in each tier. These can be skipped using any button on the controller.

A warning screen resulting from having extra songs in the game's first tier.

It's interesting to note that in some cases, the debug executables are actually pickier than the retail executables and will crash encountering situations the final executables seem to ignore. While these don't affect either game unmodified, it's very possible to run into them while playing custom charts or making modifications to the game files. A good example of this is if a custom chart containing any x/8 time signatures is added to the game files. The normal executables will play these charts, treating the time signatures as if they were x/4 time signatures, while the debug executables crash with a File: ObjectPlacer.cpp Line: 112 Error: sig.mDenom == 4 error.

Keyboard Cheats

A USB keyboard can be connected to the PS2 (or, in the latest builds of PCSX2, keyboard passthrough functionality can be enabled in Config > "USB Settings...") and be used to cycle through diagnostic information, toggle debug functionality like the metronome and controlling the song speed, quickly pass songs, quickly fail out of songs, hide parts of the HUD, or toggle access to all songs, among much else. A keyboard also enables access to the developer console, where Data Array expressions can be typed in and performed in real time as the game's running.

Key Function
Function keys
F5 During song, drain star power
F6 During song, toggle gem visibility
F7 During song, toggle surface (fretboard) visibility
F8 During song, toggle nowbar (strikeline) visibility
Esc Toggles developer console
Single keys
0 During song, toggle beatmatcher pause
A During song, toggle world visibility
B During song, audible metronome (beatmapping debug)
C During song, cycle camshot
E During song, subtract 0.1 from current crowd meter
F During song, toggle highway
G During song, show character waypoints
H During song, cycle hiding parts of HUD (fretboard, meters)
I Toggle light preset debug overlay
J During song, make guitarist start walking (if venue allows it)
K During song, make guitarist teleport to next walking waypoint (if venue has multiple)
L During song, fail immediately
M During song, toggle crowd meter
P Cycle through autoplay (player 1, player 2, both, off)
R During song, reloads song
S During song, toggle score debug overlay, basically a "note log"
T Toggle song time debug overlay
V Show game version (outputs contents of config/band_version.dta)
X During song, toggles shuttle (crashes frequently)
Key combinations
Shift+3 During song, win with 3 points (3*)
Shift+4 During song, win with 4* cutoff, or in the store, add $200
Shift+5 During song, win with 5* cutoff
Shift+A If not on setlist screen, toggle All Access
Shift+B During song, fretboard bounces on beats (beatmapping debug)
Shift+C Toggle camera debug overlay
Shift+E During song, add 0.1 to current crowd meter
Shift+F During song, cycle freecam (word, fretboard, off)
Shift+G Toggle guitar debug overlay
Shift+H During song, toggle HUD
Shift+I Toggle world lighting events
Shift+M Mute all
Shift+P Cycle through music speeds (100%, 50%, 25%, 10%)
Shift+Q Prints current UI screen to the debug overlays
Shift+R During song, reloads track (quick-restart)
Shift+S During song, fill entire star power meter
Shift+T Toggle CPU meters and framerate, per game module and overall

Controller Cheats

Controller cheats are more limited, but still enable autoplay to be quickly switched on and off, the free camera mode to be utilized, and diagnostic information about frame budgets, lighting, and camera angles to be displayed, among others. These are referred to internally as either "left" or "right" cheats; when the corresponding shoulder buttons are held down (L1+L2 or R1+R2), the face buttons and D-pad will perform different actions. Left cheats pertain more to low-level rendering and debugging information, while right cheats more to game functions and world diagnostics.

Button Combination Function
Left (L1+L2) cheats
L1+L2+Up Toggle framerate and texture loading counters
L1+L2+Down Cycle heap information (main heap, rendering heap, off)
L1+L2+○ Toggle graphic stats debug overlay
L1+L2+△ Toggle progressive scan immediately without prompt
L1+L2+✕ Toggle CPU meters, per game module and overall
L1+L2+Start Toggle synth HUD (VU meters with peak)
L1+L2+Select Writes screen to screendump_1.bmp (crashes immediately)
Right (R1+R2) cheats
R1+R2+Left During song, cycle freecam (world, fretboard, off)
R1+R2+Right Toggle light preset debug overlay
R1+R2+○ During song, toggles shuttle (crashes frequently)
R1+R2+△ Toggle camera debug overlay
R1+R2+◻ Cycle through autoplay (player 1, player 2, both, off)