the cutting room mirror

Debugging Material

This is a sub-page of Crash Bandicoot N. Sane Trilogy.

Launch Commands#

For the Windows version, these debug commands can be specified on a command line or the game's shortcut definition file.

Short Switch

Long Switch

Description

Function

-st

--smoketest

Execute smoketest.

-stm

--smoketestmap

Map(s) being smoke tested

-sth

--smoketestheroes

Hero(s) being smoke tested

-fst

--finalsmoketest

Final build smoke test (cruder version of full smoketest)

-gt

--gametest

Execute Game Engine Tests

-cc

--codecoverage

Run code coverage.

-sttr

--smoketestthreadedrender

Allow threaded render during smoketest (breaks golden images)

-sp

--saveprogress

If we want to save our SmokeTest progress

-dx

--debugxml

Load the debug.xml file during smoketest.

-frh

--forcereporthandler

Force the report handler callback.

-mm

--memorymonitor

Enable Memory Monitor

-sr

--setregistry

Set a registry key

-wfdh

--waitForDurangoHost

Spam CTRL-Z at the end of smoketest so that DurangoHost.py can quit gracefully.

-om %map%

--overridemap %map%

Map to use in place of debug map from configuration file.

Loads the given map immediately during the bootup.

-b

--build

Attempt to start and connect to a build server instance just for this process.

-bs

--build-server

Address and port of a build server (default: localhost:1000)

-ba

--build-arguments

Command-line arguments to pass to the build server

-bfd

--build-final-data

Request final data from the build server.

-ps4dm

--ps4developmentmode

PS4 Development Mode

-mmtid

--matchmaking-title-id

The title id to use for online matchmaking

-pc %d%

--primarycontroller %d%

The primary controller to use [1,2,3,4] when launching into a map.

-wd %wd%

--windowdatafile %wd%

The window settings datafile to use. Defaults to WindowData.igx.

-h

--host

Name of host computer.

-dn

--dotnet

Port to use for DotNet debugging (default: 7265)

-wfdd

--waitForDotNetDebugger

Wait for the DotNet debugger to fully connect before starting a level.

-wfvd

--waitForVscDebugger

Wait for the Visual Script debugger to fully connect before starting a level.

-gc

--gamecomm

Port to use for Game Communication (30001)

-hm

--headlessMode

Run in headless mode. (ShowWindow with SW_HIDE arg)

Starts the game with the window hidden.

-gm

--gameMode

Set the game mode.

-warp

--dx11warp

Use the DX11 Warp software renderer on Windows platforms.

-cdf

--cutscene-dump-frames

Dump frames when playing cutscenes.

-ca

--cutscene-animation

Play a specific animation in a cutscene after level load.

-cn

--cutscene

Play cutscene immediately after level load.

-hdp

--havok-debugger-port

Which port to use for the Havok (API) debugger.

-join

--join

Gamertag to auto-join.

-4kf

--4k-fullscreen

Forces 4K resolution and fullscreen in the window.

Runs the game in 4K fullscreen.

-4kb

--4k-borderless

Forces 4K resolution and borderless in the window.

Runs the game in a 4K borderless window.

-perf

--perf

Enable perf reporter for levels at a 1080p resolution.

Outputs .perf files for the given map, this sets your resolution to 1080p in fullscreen.

-perf4k

--perf4k

Enable perf reporter for levels at a 4k resolution.

Outputs .perf files for the given map, this sets your resolution to 4k in fullscreen.

-gpuWrite

--gpuWrite

Enable writing GPU info to file on PC.

Writes information about your graphics card to a file called *.txt in the directory gpu where "*" is your GPU's name. The file is outputted like:

%s 
Total video memory: %d MB 
Core Clock speed: %d MHz 
Overall Performance Value: %d 

Entering unknown arguments will make the game output a usage message which you cannot see.

Debug Menus#

To do:

  • Are they carried from other games from Vicarious Visions/the engine itself?
  • Sort these out later.

The game has a lot of togglable settings and checkboxes via multiple debug menus throughout the code.

Game#

Crash
Unlock Paths
Unlock Time Trials
Override Gems Collected
Crash DDA Rating
Powers
Super Charged Body Slam
Double Jump
Death Tornado Spin
Fruit Bazooka
Speed Shoes Crash 2
Playable Coco Unlocked

DotNet#

To do:
Is this stripped?

Net#

Draw#

Lobby Status
Session Status
Player Relative Platform Positions
Funnels
Analytics
Base Game Stats
Crash1 Level Stats
Crash2 Level Stats
Crash3 Level Stats

Simulation#

Mode
None
Best
Mean
Worst
Intermittent
Custom
Cable Connected
Cell Network
Custom Settings
Bandwidth (KBits/sec)
Mean one-way Latency (ms)
One-way Jitter (ms)
Packet Loss %%

Network Replay#

Mode
Idle
Capture
Replay
Load
Dummy Peer
Connect
Disconnect
Activate

Render#

Post Process
Motion Blur
Override Defocus Planes
DoF Start
DoF End
HDR NIT
HDR HUD NIT
HDR HUD POW
hdr curve
Max Fur Shells
Override Clip Planes
Near Clip
Far Clip
Show VFX
Show Button Prompts
Draw 
Lights
Draw Tiles
Global Visualization
Is World
Gbuffer
Albedo
Albedo Clipping
Backscatter
Default Renderer
Fur Render

Mode#

Windowed
VSync Off
60Hz
30Hz
Use native resolution
Use current resolution: %dx%d
VSync
%s: %dx%d %.2fHz
Window: (%d,%d) %dx%d

Save Load#

Save Now
Load Now
Delete
Save
Show Title Screen

Screenspace Target#

Screenspace Target Boxes

Sound Bank Debug#

(Not connected to build server)
Bank Size

Time Trial Leaderboard#

To do:
This isn't fully stripped, does it work?

Combat#

Show Combat Lines

Option#

Friendly Fire
Allow Free Camera

Vehicle Upgrade#

Upgrade Path Option#

Unlock All

Vehicle Upgrade Option#

Unlock All
Reset Progress

VFX#

Draw#

VFX Budget Reporting Fraction

Waypoint#

Waypoints

Callback#

Draw

World Debug#

Draw#

World Gameplay Mode

Zone Info#

After %s
CompleteMap
Level Objectives
Complete All
Reset All

Map#

Initial Relics Collected
Initial Crystals Collected
Complete All Maps

Engine#

AI#

Display AI Character Names

Audio#

Show Doppler Sounds

Base Vehicle#

Vehicle Debug Display

Camera#

DebugCam Rotation Speed
DebugCam Movement Speed
DebugCam FOV Speed
DebugCam Zoom Speed

Client#

Option
Allow No Clip Mode
Allow Skipping Cutscenes

Oddly, Allow Skipping Cutscenes is also present in QATool.

Cutscene#

Show Time Elapsed
Loop Shot
Kill VFX At Loop End
Draw Actor Names
Draw Actor Bolt Names
Play
Stop
Reset in-out range
Set in-out range to 36s-39s
Play configured range
In point (sec)
Out point (sec)
Out point (sec)
Seeking accuracy

Client#

Draw
Splines

Clock#

Draw
Game Speed
Option
Animation Speed
Debug Lock Frame Rate

Command#

AI
Heal all enemy AI to max health
Audio
Print Loaded Banks
Play All Character Localized VO
Play All Vehicle Localized VO
Stop Localized VO Playback Test
Camera
Reset Camera
Memory
Dump Selected Pools
Fragmentation Report
Dump All Pools
Dump Vram Report
Dump String Pool Stats
Report Vfx Pool Sizes
Report Vfx Usage
Report Havok Usage
Report Object Handle Manager Usage
Print Memory Report
Option
Pause or Resume world instance timers

Collectible Tracker#

To do:
This isn't fully stripped as the game calls a "Collectibles" option, does it work?

Collectibles

Combat#

Show Vulnerable Regions
Show Player Damage Per Second
Ignore crits for DPS Display
Reset Player Damage Per Second

Combat Target#

Show Combat Targets

Difficulty#

Difficulty Level
Combat
Show Difficulty Calculations
Reset Dynamic Difficulty For Zone

Dynamic Sound#

Enable Dynamic Sound Debugging

Update Node#

To do:
This isn't fully stripped as the game calls a said option, does it work?

Options/Debug Update Channels

Entity Debug#

Show Actor Stats
God Mode [HEROES]
Hero Undying
Touch of Death
Enemies Undying
Show Custom Parts
Show Entity Parts
Show Most Expensive Entities
Dump Entity Cost Stats
Enable Entity Debug Update
Show Static Count
Show Collectible Counts
Show Entity Scale
Show Entity Names
Show Entity Teams
Show Entity Axis
Show Entity Positions
Show Entity Rotations
Show Entity Model Names
Show Entity Extents
Show Rigid Body Extents
Show Entity Bolts
Show Destructible Stages
Show Actor Count
Show Actor Muting
AI
Display enemy type tags
Combat
Display Movement Speed
Infinite Lives
Kill Hero
Draw
Physics Properties
Health Display
Ground Material

Entity#

Draw Visibility Cylinder

Entity Messenger#

Send Gravy Message

Game Sound#

Audio Options
Show Actor Mute Info
Show Actor Muting
Show Actor Count
Show Actor Stats

Ground Alignment#

Ground Alignment
Draw

GUI#

Draw HUD
HUD Disable Fading

Havok#

Entity
Draw Actor Collision
Option
Debug Havok
Debug Havok AutoCapture

Havok Query#

Havok Queries
Option
Dump Havok Queries

Linear Vehicle Spline Mover#

Vehicle Spline Lanes
Draw
Display NavMesh
Display NavPower Memory

Options#

Toggle Subtitles

Projectile Component#

Show Projectile Damage Regions
Show Projectile Collision Radii
Combat

QA Tool#

XP Multiplier
KidTest Mode

UI Handler#

Audio
EnableAudio
Camera
Invert Pitch Controls
EnableDebugDraw
EnableTargetingDebugDraw
EnableCameraShake
CameraSystemEnabled
ResetCameraWhenExitingNoClip
IgnoreNoClipResetForShortDistances
DebugDrawCameraBoxesInNoClip
DisplayActiveCameras
DisplayActiveCameraTargets
DisplayCameraZoomInfo
DisplayCameraInfo
ToggleFreecam
LockFreeCamToCurrentVisibility
ToggleNoClip
DisplayTetherInfo
EnableTethering
CameraTethering
Draw
Triggers
Traversal Paths
Vehicle Collisions
OnContact Points
Ground Detection
Ceiling Detection
Screen Flash
Hero Position
Option
Reset On Debug Load
Experimental Air Control