The game console

From Turing Complete
Revision as of 01:03, 20 January 2025 by Gelthor (talk | contribs) (→‎Available commands: Added MegaIng's summary from Discord used with permission https://discord.com/channels/828292123936948244/1319657832789966982/1320094469478940785)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
wip
wip

This page descibes the early access verion 0.1346 Beta. It may not be completely correct for the the current stable version, nor the latest unstable version. Help us update it, and you get a cookie.

The game console allows you to modify the game experience in various ways. It is primarily useful for (and intended for) development and debugging purposes.

Accessing the console

To access the console, open the main menu by clicking the "hamburger" icon () in the upper left corner of the game window or by pressing Escape, and then press q.

Some commands operate on a selected component. In these cases you will have to click the "hamburger" icon () as Escape will deselect the selected component and prevent the command from functioning correctly.

Available commands

dev_mode

dev_mode has two states: dev_mode on or dev_mode off. When enabled, several changes to the game's interface occur:

  • The component selection menu is available on the main map.
    • Of particular interest is the "Level component" component under the DEV menu. This allows you to link custom levels to the main map.
  • All components are available on all levels:
    • Indelible (red) components, such as 4-bit input.
    • Sandbox-only components, such as File loader.
    • Normal components that are unlocked further into the campaign, for example placing a word adder in the Half Adder' level.
  • Indelible (red) components can also be deleted from levels.

set_component_string

set_component_string <text>: Sets the "component string" of the first select component to the value provided. What exactly this means depends on the component.

  • Level component: Set to the folder name of the level.
  • Registers and Delay lines: Sets the comment/name string.

complete_level

complete_level: Completes the current level

complete_all_levels

complete_all_levels: Marks all levels as complete with score 10k/10k/10k

save_update

save_update: Does some work to update all files in the save folder. I am not sure how up-to-date this command is, I wouldn't use it unless Stuffe tells you to.

language

language <name>: Use the file translations/<name>.txt as the source of translations - allows you to use debug and WIP languages. No name resets to normal.

set_permanent_id

set_permanent_id <id> sets the "permanent_id" of a component. Note that having duplicate permant ids can have very messy side effects.

load

load <level_name> load a level by name (the folder name).

clear

clear: Slears the console.

toggle_cache_maps

toggle_cache_maps: Enables cache map display - useful to figure out the exact hitbox of components and sometimes to debug rare crashes.

set_score

set_score <component> <gate> <delay>: Sets the baseline score for the component by their internal ID to the corresponding gate/delay values.

save_level

save_level: Saves the schematic as part of the campaign.

load_level

load_level: Duplicate of load