dumpVar: only available in dev mode
Table of Contents
To be fleshed out, for now this is just me dumping steps as I do them
Currently stuck at the fact that breakpoints don't seem to work
Basic setup
- 
Open the darktide_launcher.logand find the arguments to run the executable with.At the time of writing: -eac-untrusted --bundle-dir ../bundle --ini settings --backend-auth-service-url https://bsp-auth-prod.atoma.cloud --backend-title-service-url https://bsp-td-prod.atoma.cloud -game -launcher_verification_passed_crashify_property false
- 
Find the necessary env variables and commands to run Proton from CLI. At the time of writing: 
STEAM_COMPAT_CLIENT_INSTALL_PATH=/usr/bin/steam
# `1361210` is the Steam AppID for Darktide. It's in the same library as the game, so through "Browse files" in the UI works as starting point
STEAM_COMPAT_DATA_PATH=/path/to/SteamLibrary/steamapps/compatdata/1361210
# Any Proton version could be used, if it works with the game.
# And it's fine if this is installed in a different `SteamLibrary` than the game
/path/to/SteamLibrary/steamapps/common/Proton\ 8.0/proton run <cmd>
- 
Add PROTON_DUMP_DEBUG_COMMANDS=1, then look in/tmp/proton_$(whoami)
- 
Copy gdb_run, and alter thewinedbgcommand withs/--dbg/--dbg --no-start --port 2159/(or a port of your choosing). Worthwhile to have it as separate filegdb_start, so thatgdb_runstays available.--no-startwill make gdb wait for the frontend to send the firstcontinuecommand, which gives time to attach Ghidra and have it set up its breakpoints
- 
Run the script in a terminal, it will echo target remote <host>:<port>
- 
In Ghidra, for the debugger configuration, choose "remote gdb", enter the port and run. Breakpoints should become available 
- 
Run continue(or justc) in the gdb terminal to start the game, or any other gdb command.
Observations
- Ghidra doesn't seem to set breakpoints automatically. Instead, the "Debug Console" window will talk about "there are breakpoints to place" and a button to do that
- multi-process mode, e.g. when Ghidra attaches as extended-remote, or the gdbserver is started with--multi, should allow restarting the
Wiki
Building the source code
Obtaining the Oodle library
DTMM
Installing mods
Register DTMM as handler for Nexus downloads
DTMT
CLI Reference
Building your first mod
Migrating from loose files
dtmt.cfg Reference
Murmur hashes and dictionaries
Reverse Engineering
Getting Started
Sound
Textures
File Types
Status
Bundle
Bundle Database
Texture
Material
Strings
Package
Wwise Event
Wwise Stream
Wwise Bank