Registry — Dennispedia

Registry

The registry (not to be confused with the Windows registry) consists of what the official modding documentation refers to as "nodes", which are key and value pairs where both are strings.

Registry nodes are not to be confused with commands, which follow the same naming conventions but are handled entirely separately.

All registry values are strings, but there are helper functions to convert to/from other types. If there is a single intended type for a value, I'll label it as one of the following: string, boolean, integer, float, or empty string value.

Underlined text in description terms are placeholders and should be replaced as described in the description details.

Nodes

"Non-engine" means it is only ever get or set by Lua scripts, and never by the engine.

game.break
Added in 0.9.6 (8498817).
game.break.size
Added in 0.9.6 (8498817).
game.break.x
Added in 0.9.6 (8498817).
game.break.y
Added in 0.9.6 (8498817).
game.break.z
Added in 0.9.6 (8498817).
game.brokenvoxels
Number of destroyed voxels. Integer. Small bodies despawning do not count toward this. Breaking off a chunk of something will not consider that chunk destroyed; only actually removing the voxels well cause them to be count.
Added in 0.5.0 (5943727).
game.canquickload
game.cctv.hits
How close you are to being detected by a light with the cctv tag. Integer. Range 0 to 10.
Removed in 0.5.0 (5943727).
game.cpu.threads
Number of CPU threads. Integer.
Removed in 0.4.5 (5748542).
game.deploy
Always set to 1. Boolean. If falsy, the main menu and hub computer scripts will try to display additional developer only controls, but the script that contains them (data/ui/debug.lua) has its contents stripped in all known builds—except 0.3.0 (perftest), which doesn't use a separate file.
game.destroyed
Number of destroyed voxels. Integer. Obsoleted by game.brokenvoxels.
Removed in 0.4.5 (5748542).
game.disableinput
Added in 0.4.5 (5748542).
game.disableinteract
Added in 0.9.3 (8199301).
game.disablemap
Added in 0.6.1 (6279809).
game.disablepause
Added in 0.6.1 (6279809).
game.explosion.strength
Added in 0.7.0 (6551167).
game.explosion.x
Added in 0.7.0 (6551167).
game.explosion.y
Added in 0.7.0 (6551167).
game.explosion.z
Added in 0.7.0 (6551167).
game.fire.maxcount
Added in 0.8.0 (7458793).
game.fire.spread
Added in 0.8.0 (7458793).
game.graphics.bindless
Whether or not the GPU supports bindless textures. String. Can be either Enabled or Disabled.
Removed in 0.4.5 (5748542).
game.graphics.card
Name of OpenGL renderer, i.e. glGetString(GL_RENDERER). String.
Removed in 0.4.5 (5748542).
game.graphics.fps
Current frames per second. Integer. Only exists if in level.
Removed in 0.4.5 (5748542).
game.graphics.fpsavg
Average frames per second since level was entered. Integer.
Removed in 0.4.5 (5748542).
game.graphics.height
Height of viewport in pixels. Integer.
Removed in 0.4.5 (5748542).
game.graphics.vendor
Name of OpenGL implementation vendor, i.e. glGetString(GL_VENDOR). String.
Removed in 0.4.5 (5748542).
game.graphics.width
Width of viewport in pixels. Integer.
Removed in 0.4.5 (5748542).
game.input.crouch
Added in 0.7.1 (6627985).
game.input.curdevice
String. Can be either mouse or gamepad.
Added in 0.9.4 (8273165).
game.input.down
Added in 0.4.6 (5777578).
game.input.flashlight
Added in 0.7.1 (6627985).
game.input.grab
Added in 0.7.1 (6627985).
game.input.handbrake
Added in 0.7.1 (6627985).
game.input.interact
Added in 0.7.1 (6627985).
game.input.jump
Added in 0.7.1 (6627985).
game.input.left
Added in 0.4.6 (5777578).
game.input.lmb
Added in 0.9.4 (8273165).
game.input.locktool
Added in 0.7.0 (6551167).
game.input.map
Added in 0.7.1 (6627985).
game.input.mmb
Added in 0.9.4 (8273165).
game.input.mousex
Added in 0.9.4 (8273165).
game.input.mousey
Added in 0.9.4 (8273165).
game.input.pause
Added in 0.7.1 (6627985).
game.input.right
Added in 0.4.6 (5777578).
game.input.rmb
Added in 0.9.4 (8273165).
game.input.scroll_down
Added in 0.9.4 (8273165).
game.input.scroll_up
Added in 0.9.4 (8273165).
game.input.up
Added in 0.4.6 (5777578).
game.input.usetool
Added in 0.7.1 (6627985).
game.input.vehicle_action
Added in 0.9.4 (8273165).
game.input.vehicle_lower
Added in 0.9.4 (8273165).
game.input.vehicle_raise
Added in 0.9.4 (8273165).
game.ksiva
Some kind of unique identifier for your game session relating to Saber Interactive's analytics (hydra5-x64.dll). String. Unused.
Added in 1.3.0 (10148769).
game.largeui
Added in 1.1.0 (8942147).
game.levelid
game.levelpath
game.loading.alpha
game.loading.text
game.map.enabled
game.map.fade
game.map.focus
game.mod
Added in 0.5.0 (5943727).
game.mod.description
Added in 0.5.0 (5943727).
game.mod.title
Added in 0.5.0 (5943727).
game.music.volume
Added in 0.9.0 (7801522).
game.music.lowpass
Added in 1.3.0 (10148769).
game.path
game.path.alpha
game.path.current.x
game.path.current.y
game.path.current.z
game.path.length
game.path.loaded
game.path.pos
game.path.recording
game.paused
game.player.cangrab
game.player.caninteract
game.player.caninteract.x
Removed in 0.5.0 (5943727).
game.player.caninteract.y
Removed in 0.5.0 (5943727).
game.player.caninteract.z
Removed in 0.5.0 (5943727).
game.player.caninteractvehicle
Removed in 0.5.0 (5943727).
game.player.canusetool
game.player.disableinput
Added in 0.9.0 (7801522).
game.player.grabbing
game.player.health
game.player.hit
Added in 1.1.0 (8942147).
game.player.idling
game.player.interactive
Added in 0.5.0 (5943727).
game.player.pickdesc
Removed in 0.5.0 (5943727).
game.player.picking
game.player.picktarget
Removed in 0.5.0 (5943727).
game.player.pickvehicle
Removed in 0.5.0 (5943727).
game.player.steroid
Added in 0.9.0 (7801522).
game.player.throwing
game.player.tool
game.player.tool.scope
Added in 0.9.0 (7801522).
game.player.toolselect
Added in 0.8.0 (7458793).
game.player.usescreen
game.player.usevehicle
game.restarted
Added in 0.4.5 (5748542), removed in 0.5.0 (5943727).
game.saveerror
Added in 0.4.6 (5777578).
game.savegamepath
Added in 0.7.3 (6911672).
game.screenshot
Added in 0.7.0 (6551167).
game.screenshot.bloom
Added in 0.7.0 (6551167).
game.screenshot.dof.max
Added in 0.7.0 (6551167).
game.screenshot.dof.min
Added in 0.7.0 (6551167).
game.screenshot.dof.scale
Added in 0.7.0 (6551167).
game.screenshot.exposure
Added in 0.7.0 (6551167).
game.screenshot.tool
Added in 0.7.0 (6551167).
game.simtime
Removed in 0.4.5 (5748542).
game.steam.active
Added in 1.2.0 (9734688).
game.steam.hascontroller
Added in 0.7.1 (6627985).
game.steamdeck
Added in 0.9.4 (8273165).
game.tool
game.tool.count
Removed in 0.6.1 (6279809).
game.vehicle.health
game.vehicle.interactive
Added in 0.5.0 (5943727).
game.version
game.version.patch
Added in 0.5.5 (6205729).
game.workshop
Added in 0.6.1 (6279809).
game.workshop.publish
Added in 0.7.0 (6551167).
hud.aimdot
Whether to display the crosshair. Boolean. Non-engine. Added in 0.7.0 (6551167).
hud.disable
Added in 0.6.1 (6279809).
hud.hasnotification
Added in 0.4.5 (5748542). Non-engine.
hud.notification
Added in 0.4.5 (5748542). Non-engine until 0.7.0 (6551167).
level.campaign
Added in 0.7.3 (6911672).
level.interactinfo
Removed in 0.5.0 (5943727).
level.sandbox
Added in 0.7.1 (6627985). Non-engine.
level.spawn
Added in 0.9.3 (8199301). Non-engine.
level.unlimitedammo
Added in 0.7.1 (6627985). Non-engine.
map.description
If this exists, it will be used in place of the mission description on the map. String. Non-engine.
Added in 1.3.0 (10148769).
map.description2
If this exists, it will be used in place of the mission subdescription on the map. String. Non-engine.
Added in 1.3.0 (10148769).
map.security.description
If this exists, it will be used in place of the security description on the map. String. Non-engine.
Added in 1.3.0 (10148769).
map.security.title
If this exists, it will be used in place of the security name on the map. String. Non-engine.
Added in 1.3.0 (10148769).
map.title
If this exists, it will be used in place of the mission name on the map. String. Non-engine.
Added in 1.3.0 (10148769).
mods.available
Empty string value; exists only to be a parent to a node for every mod. The key is the mod ID, and the value is an empty string as they also only exist to be parents to other nodes. A mod ID starting with builtin- is a "built-in" mod in mods/ in the game folder. A mod ID starting with local- is a "local" mod in Teardown/mods/ in your Documents. A mod ID starting with steam- is a Steam Workshop mod. The numbers after steam- are the ID of the mod; you can append it to the end of this URL to be brought to its Steam Workshop page.
Added in 0.5.0 (5943727).
mods.available.id.active
Whether or not the mod is enabled. Boolean. (TODO: When was this added?)
mods.available.id.author
The author of the mod as specified in info.txt. String. Empty string if not specified. (TODO: When was this added?)
mods.available.id.description
The description of the mod as specified in info.txt. String. Empty string if not specified. (TODO: What if it's too long or malformed? When was this added?)
mods.available.id.listname
The human readable name of the mod. String. The name of the mod folder if it's a local mod, or the name of the mod specified in info.txt if it's a built-in mod or Workshop mod (or an empty string if none is specified). (TODO: When was this added?)
mods.available.id.local
Whether or not the mod is a local mod. Boolean. (TODO: When was this added?)
mods.available.id.name
The name of the mod as specified in info.txt. String. Empty string if not specified. (TODO: When was this added?)
mods.available.id.options
Whether or not the mod has options or not, i.e. whether it has an options.lua file. Boolean. (TODO: When was this added?)
mods.available.id.override
Whether or not the mod is a global mod and will have an enable/disable button in the mod manager. Boolean. Should be truthy if the mod has a main.lua file and is not playable. (TODO: When was this added?)
mods.available.id.path
The absolute path to the mod folder. String. Only used for local mods. (TODO: What about non-local mods? When was this added?)
mods.available.id.playable
Whether or not this mod should have a "Play" button. Boolean. Should be truthy if the mod has a main.xml file. (TODO: When was this added?)
mods.available.id.showbold
Whether or not this mod has been interacted with since the last time it was updated. Boolean. Causes the mod name to appear in bold in the mod manager if truthy. Only applicable for Steam Workshop mods. (TODO: When was this added?)
mods.available.id.steamtime
When the mod was last updated. Integer. 0 if the mod is not a Workshop mod. (TODO: When was this added?)
mods.available.id.subscribetime
When the mod was last subscribed to by the player. Integer. Garbage vaguely near the current time if not a Workshop mod. (TODO: When was this added?)
mods.available.id.tags
The tags of the mod as specified in info.txt in human readable form. String. Tags are concatenated together with ", " between in the order: "Global" or "Content" (mutually exclusive), "Map", "Gameplay", "Asset", "Vehicle", "Tool". Custom tags are ignored. (TODO: When was this added?)
mods.available.id.timestamp
When the mod was last updated as a human readable time. String. Format is "YYYY-MM-DD hh:mm:ss". Empty string if not a Workshop mod. (TODO: When was this added?)
mods.pending.id
"id" is not the mod ID like for mods.available.id, but rather the Steam Workshop ID. Empty string value; exists only to be a parent to other nodes. Used by data/ui/promo.lua to allow subscribing to
Added in 1.2.0 (9734688).
mods.pending.id.downloading
Whether or not the mod is being downloaded by Steam. Boolean. There is a brief gap between subscribing to a mod and it starting to download, even if subscribing was done in-game.
Added in 1.2.0 (9734688).
mods.pending.id.installed
Whether or not the mod has been fully downloaded by Steam. Boolean. There is a brief gap between mods.pending.id.downloading becoming falsy and this becoming truthy after the mod is done downloading.
Added in 1.2.0 (9734688).
mods.publish.id
The Workshop ID of the mod about to be published. String? 0 if the mod has not already been published to the Steam Workshop.
Added in 0.6.1 (6279809).
mods.publish.message
Error message if publishing failed. String.
Added in 0.6.1 (6279809).
mods.publish.progress
Progress of publishing mod. Float. From range 0 to 1. Used by data/ui/menu.lua which clamps to range 0.1 to 0.9.
Added in 0.6.1 (6279809).
mods.publish.state
String. Valid values are:
done
The mod was successfully published to the Steam Workshop. The mods.publishend command is intended to be run after this. (TODO: What happens if you try to publish another mod without ending the previous one?)
failed
Similar to ready in that one can try to publish.
ready
The mod can be published to the Steam Workshop. The mods.publishupload command can be used to start uploading the mod.
uploading
The mod is currently being uploaded to the Steam Workshop by the engine. Can be cancelled with the mods.publishcancel command. Progress can be read from mods.publish.progress.
Added in 0.6.1 (6279809).
mods.publish.visibility
Integer. 0 is public, 1 is friends only, 2 is private, and 3 is unlisted. A -1 value is referenced in the code but its purpose is unclear.
Added in 0.6.1 (6279809).
mods.subscribestate.id
Has never existed. Obsoleted by mods.pending.id. Empty string value. Would have been used by data/ui/promo.lua as evidenced by commented out code.
mods.subscribestate.id.downloading
Has never existed. Obsoleted by mods.pending.id.downloading. Boolean. Would have been used by data/ui/promo.lua as evidenced by commented out code.
mods.subscribestate.id.installed
Has never existed. Obsoleted by mods.pending.id.installed. Boolean. Would have been used by data/ui/promo.lua as evidenced by commented out code.
options.audio.ambiencevolume
Integer. Defaults to 100. Intended range is 0 to 100. Only appears in options menu if game.deploy is falsy. (since 0.4.5 (5748542)).
options.audio.menumusic
Whether to play music on the main menu. Integer. 1 is enabled, 0 is disabled.
Added in 0.9.0 (7801522).
options.audio.musicvolume
Volume of music as percentage. Integer. Defaults to 100. Intended range is 0 to 100.
options.audio.soundvolume
Volume of audio (excluding music) as percentage. Integer. Defaults to 100. Intended range is 0 to 100.
options.display.mode
Whether to be in windowed mode or fullscreen. Integer. 0 is exclusive fullscreen, 1 is windowed, 2 is borderless windowed.
options.display.resolution
Which resolution preset to use. Integer. Varies depending on screen resolution and display mode. Must be 0 in borderless windowed. Will never be negative. Use GetDisplayResolution to get resolution for given display mode and preset index. Use GetDisplayResolutionCount to get number of presets for given display mode (including 0).
options.game.campaign.ammo
Amount of ammo to add to all tools as a percentage multiplier. Integer. Non-engine. Intended values are 50, 100, -1 (special value that means tool will have no ammo at all), or 0.
Added in 0.7.3 (6911672). Non-engine.
options.game.campaign.health
Amount of health to add to max health as a percentage. Integer. Non-engine. Intended values are 50, 100, -50, or 0.
Added in 0.7.3 (6911672). Non-engine.
options.game.campaign.time
Amount of time in seconds to add to timer after alarm goes off in missions. Integer. Non-engine. Intended values are 15, 30, 60, -10, -20, or 0.
Added in 0.7.3 (6911672). Non-engine.
options.game.missionskipping
Whether the option to skip missions on the terminal and mission fail screens should appear. Integer. 1 is enabled, 0 is disabled.
Added in 0.7.3 (6911672). Non-engine.
options.game.sandbox.unlocklevels
Whether all sandbox levels should be available, or only unlocked sandbox levels should be available. Integer. 1 is enabled, 0 is disabled.
Added in 0.7.3 (6911672). Non-engine.
options.game.sandbox.unlocktools
Whether all tools should always be available in sandbox, or whether only unlocked tools should be available. Integer. 1 is enabled, 0 is disabled.
Added in 0.7.3 (6911672). Non-engine.
options.game.spawn
Whether the spawn menu should always be accessible, or only be accessible in sandbox mode. Integer. 1 is enabled, 0 is disabled.
Added in 0.7.3 (6911672). Non-engine.
options.gfx.barrel
Whether barrel distortion should be used. Integer. 1 is enabled, 0 is disabled.
options.gfx.dof
Whether depth of field should be used. Integer. 1 is enabled, 0 is disabled.
options.gfx.fov
Field of view in degrees. Integer. Defaults to 90. Intended range is 60 to 120.
options.gfx.gamma
Gamma correction. Integer. Lower makes the scene darker, higher makes the scene brighter. Defaults to 100. Intended range is 50 to 150.
options.gfx.motionblur
Whether motion blur should be used. Integer. 1 is enabled, 0 is disabled.
options.gfx.quality
Render quality. Integer. High is 1, low is 2, medium is 3.
options.gfx.renderscale
Render scale as a percentage. Integer. Intended values are 100, 75, or 50, but higher values work. Lower values not tested.
options.gfx.vsync
Whether vertical synchronization should be used. Integer. 0 is disabled, 1 is "every frame", 2 is "every other frame". -1 is adaptive (since 0.7.1 (6627985)).
options.input.headbob
Percentage for how much the camera should tilt in response to player movement, and screen shaking on swing/gunshot. Does not affect shake on explosion. Integer. Defaults to 0. Intended range is 0 to 100.
options.input.invert
Whether to invert vertical look movement. Integer. 1 is enabled, 0 is disabled.
options.input.keymap.backward
Added in 0.7.1 (6627985).
options.input.keymap.crouch
Added in 0.7.1 (6627985).
options.input.keymap.flashlight
Added in 0.7.1 (6627985).
options.input.keymap.forward
Added in 0.7.1 (6627985).
options.input.keymap.interact
Added in 0.7.1 (6627985).
options.input.keymap.jump
Added in 0.7.1 (6627985).
options.input.keymap.left
Added in 0.7.1 (6627985).
options.input.keymap.right
Added in 0.7.1 (6627985).
options.input.sensitivity
Mouse sensitivity percentage multiplier. Integer. Defaults to 100. Intended range is 25 (50 before 0.5.4 (6109598)) to 200.
options.input.smoothing
Mouse smoothing percentage. Integer. Defaults to 0. Intended range is 0 to 100.
options.input.toolsway
Whether tool models should sway and move in response to player movement. Integer. 1 is enabled, 0 is disabled.
Added in 0.9.3 (8199301).
promo.available
Added in 1.1.0 (8942147).
promo.groups
Added in 1.1.0 (8942147).
savegame.cash
Added in 0.4.5 (5748542). Non-engine.
savegame.challenge
Added in 0.4.5 (5748542). Non-engine.
savegame.hint.targetlocation
Added in 0.5.2 (6001321). Non-engine.
savegame.hub
Added in 0.5.2 (6001321). Non-engine.
savegame.lastcompleted
Added in 0.5.2 (6001321). Non-engine.
savegame.legalnoticeshown
Added in 1.2.0 (9734688). Non-engine.
savegame.message
Added in 0.5.2 (6001321). Non-engine.
savegame.mission
Added in 0.5.2 (6001321). Non-engine.
savegame.promoclosed
Added in 1.2.0 (9734688). Non-engine.
savegame.promoupdated
Added in 1.2.0 (9734688).
savegame.reward
Added in 0.5.2 (6001321). Non-engine.
savegame.spawn.shortcut
Added in 0.9.3 (8199301). Non-engine.
savegame.startcount
Added in 1.2.0 (9734688). Non-engine.
savegame.stats.brokentreadmills
Added in 1.1.0 (8942378). Non-engine.
savegame.stats.brokenvoxels
Added in 1.1.0 (8942378). Non-engine.
savegame.stats.skeetfullscore
Added in 1.1.0 (8942378). Non-engine.
savegame.tool
Added in 0.4.5 (5748542). Non-engine.
savegame.valuable
Added in 0.4.5 (5748542). Non-engine.