Debug Mode: Difference between revisions

From Celeste Wiki
Jump to navigation Jump to search
Content added Content deleted
Line 23: Line 23:


== Debug Console ==
== Debug Console ==
{{Construction|massive rework :)}}
Pressing "~" will activate an in-game console that allows the player to enter a large variety of commands. Apart from that, it also enables hitbox view for tiles and entities.
Pressing "~" will activate an in-game console that allows the player to enter a large variety of commands. Apart from that, it also enables hitbox view for tiles and entities.


The list of commands can be seen below:
The list of commands can be seen below:


* <code>assist</code> toggles [[Assist Mode]] for the current save file
give_golden (gives you a golden)
* <code>audio</code> returns information about the music and ambience that are currently playing, and also has information about music layers

* <code>berries</code> returns information about [[strawberries]] — typing it by itself will tell you how many berries are in ''every'' chapter of a campaign, whereas adding a chapter number afterwards will return details specific to each checkpoint.
q (closes the Debug Console)
* <code>berries_order</code> — <sup>''[<nowiki/>[[Special:EditPage/Debug Mode#Debug Console|function unknown, please expand if you have information on this]]]''</sup>
* <code>blackhole_strength</code> seems like it is supposed to change the background in [[Farewell]].
* <code>bounce</code> makes the player jump without making the usual jumping sound.
* <code>capture</code> saves the player's movement to a <code>.bin</code> file that the player can name, to be used with the playback ghost entities from Farewell.
* <code>characters</code> is supposed to write all the characters from each text file to the console.
* <code>cheat</code> toggles [[Cheat Mode]].
* <code>check_all_languages</code> returns information about whether or not dialogue files in other languages match the English version's content and font.
* <code>check_language</code> has the same functionality, but with only one language.
* <code>clear</code> clears the debug console's text.
* <code>colorgrading</code> can be used with "true" or "false" to toggle color grading (for example, if this is turned off, the [[Seeker]] introduction section in the [[Mirror Temple]] will not have a sepia filter
* <code>complete</code> instantly completes the current level.
* <code>core</code> takes an integer parameter, and sets the [[Core]] Mode of the level — setting it to 0 means no core mode , 1 means hot mode, and 2 means cold mode.
* <code>count</code> returns the amount of entities in a room.
* <code>detailed_levels</code> <sup>''[<nowiki/>[[Special:EditPage/Debug Mode#Debug Console|function unknown, please expand if you have information on this]]]''</sup>
* <code>dflag</code> sets a flag that is saved across chapters.
* <code>dialog</code> opens up a menu that shows all dialogue keys in all available languages
* <code>e</code> opens the Debug Map.
* <code>exit</code> closes ''Celeste''.
* <code>export_dialog</code> <sup>''[<nowiki/>[[Special:EditPage/Debug Mode#Debug Console|function unknown, please expand if you have information on this]]]''</sup>
* <code>export_obj</code> <sup>''[<nowiki/>[[Special:EditPage/Debug Mode#Debug Console|function unknown, please expand if you have information on this]]]''</sup>
* <code>flag</code> sets a session flag that only works per chapter. (Examples of session flag usage: the Core is hardcoded to set the flag "cold" to be enabled or disabled depending on whether it's hot or cold, and this flag can be used to control the level's decoration.)
* <code>fonts</code> returns information about which fonts are available and which ones are being used.
* <code>fullscreen</code> enables fullscreen mode.
* <code>give_golden</code> gives [[Madeline]] a [[Golden Strawberry]].
* <code>givekey</code> gives Madeline a key.
* <code>global_stats</code> shows the global Steam statistics, including deaths, dashes, collected strawberries and golden berries, and statistics specific to the [[PICO-8]] version of ''Celeste''.
* <code>hard</code> loads the [[B-Side]] for a given chapter from its chapter number.
* <code>heartgem</code> changes whether or not a [[Crystal Heart]] is collected for a given chapter; it takes three parameters: the chapter number, which [[Alternate sides|side]] it is (0 for A-Side, 1 for B-Side, 2 for C-Side), and "true" or "false" for whether or not the heart should be collected.
* <code>heart</code> sets the amount of Crystal Hearts collected on a save file.
* <code>input_gui</code> <sup>''[<nowiki/>[[Special:EditPage/Debug Mode#Debug Console|function unknown, please expand if you have information on this]]]''</sup>
* <code>leaf</code> opens the feather breathing minigame first shown in [[Golden Ridge]].
* <code>level_count</code> seems to print the total amount of screens in a campaign.
* <code>level_flag</code> sets a session flag <sup>''[how does this contrast with the flag command though?]''</sup>
* <code>lighting</code> returns information from the game's lighting system.
* <code>lines</code> returns information about how many lines and words of dialog are in a given language.
* <code>load</code> loads a given chapter from its chapter number.
* <code>logdetours</code> <sup>''[<nowiki/>[[Special:EditPage/Debug Mode#Debug Console|function unknown, please expand if you have information on this]]]''</sup>
* <code>logsession</code> <sup>''[<nowiki/>[[Special:EditPage/Debug Mode#Debug Console|function unknown, please expand if you have information on this]]]''</sup>
* <code>ltng</code> is supposed to toggle the lightning from Farewell, though it doesn't seem to work.
* <code>mainmenu</code> exits to the main menu.
* <code>mapedit</code> opens the Debug Map; it is unclear whether this has different functionality than <code>e</code>.
* <code>meet</code> edits how Madeline has interacted with Theo (this changes depending on whether or not he has been talked to, and how long the conversation lasted).
* <code>modoptions</code> toggles Everest's "Show Mod Options in Game" setting. ''(This is only present when using the Everest mod loader.)''
* <code>music</code> changes the currently-playing music using either an FMOD event name or one of the shorter names that can be found in Lönn's music dropdown.
* <code>music_progress</code> changes the "progress" parameter of the currently-playing music.
* <code>music_vol</code> changes the music's volume. This is supposed to be between 0 and 10, though using this command can allow for higher numbers. (However, this is not recommended.)
* <code>openlog</code> opens the <code>log.txt</code> file.
* <code>overworld</code> exits to the splash screen.
* <code>ow_complete</code> tests the chapter completion screen on the menu.
* <code>q</code> exits the console.
(more to come soon)


== Everest changes and features ==
== Everest changes and features ==

Revision as of 20:44, 2 June 2024

Debug Mode is a hidden feature in the game that unlocks a lot of features used for testing purposes, as well as various quality-of-life improvements to make playtesting and editing levels easier. Debug Mode can only be accessed in the PC versions of Celeste.

Enabling Debug Mode

Debug Mode can be enabled in two ways: by editing the settings file and through the Everest mod loader.

  • The first method can be done through editing the settings.celeste file in the Saves folder in the game's directory. At the very end of this file is a row named "LaunchInDebugMode" that is set to "false" by default. Changing it to "true" will enable Debug Mode.
  • An alternate way to do it is by downloading the Everest mod loader and selecting Mod Options in the menu. It will have a toggle Debug Mode option. Turning it on will require restarting the game.

Menu features

Pressing the spacebar in the menu allows players to move the camera freely around the overworld. The WASD keys are used to move around, Q and Z are used to scroll the camera upwards and downwards, and the mouse can be used to rotate it.

Two lines of text will display at the top-left corner, with the first showing the coordinates the camera is facing, and the second displaying the camera's position.

Debug savefile

On the main menu will be an extra option named "~DEBUG~". Upon selecting, it will enable an extra savefile with every chapter unlocked. It behaves very similarly to a Cheat Mode file except that most statistics upon completing a level are reset, such as strawberry counts.

It's very useful for playtesting purposes as well as an extra file for practicing, if all other savefiles have been used already.

Debug Map

The Debug Map can be accessed by pressing Tab (F6 with Everest) on the keyboard, opening a grid that displays the chapter's room layouts, often separated with colors that resemble certain checkpoints or sections of the game. The debug map allows the player to freely teleport to specific rooms, including spawnpoints that cannot be accessed normally due to the lack of a respawn trigger.

Debug Console

Pressing "~" will activate an in-game console that allows the player to enter a large variety of commands. Apart from that, it also enables hitbox view for tiles and entities.

The list of commands can be seen below:

  • assist toggles Assist Mode for the current save file
  • audio returns information about the music and ambience that are currently playing, and also has information about music layers
  • berries returns information about strawberries — typing it by itself will tell you how many berries are in every chapter of a campaign, whereas adding a chapter number afterwards will return details specific to each checkpoint.
  • berries_order[function unknown, please expand if you have information on this]
  • blackhole_strength seems like it is supposed to change the background in Farewell.
  • bounce makes the player jump without making the usual jumping sound.
  • capture saves the player's movement to a .bin file that the player can name, to be used with the playback ghost entities from Farewell.
  • characters is supposed to write all the characters from each text file to the console.
  • cheat toggles Cheat Mode.
  • check_all_languages returns information about whether or not dialogue files in other languages match the English version's content and font.
  • check_language has the same functionality, but with only one language.
  • clear clears the debug console's text.
  • colorgrading can be used with "true" or "false" to toggle color grading (for example, if this is turned off, the Seeker introduction section in the Mirror Temple will not have a sepia filter
  • complete instantly completes the current level.
  • core takes an integer parameter, and sets the Core Mode of the level — setting it to 0 means no core mode , 1 means hot mode, and 2 means cold mode.
  • count returns the amount of entities in a room.
  • detailed_levels [function unknown, please expand if you have information on this]
  • dflag sets a flag that is saved across chapters.
  • dialog opens up a menu that shows all dialogue keys in all available languages
  • e opens the Debug Map.
  • exit closes Celeste.
  • export_dialog [function unknown, please expand if you have information on this]
  • export_obj [function unknown, please expand if you have information on this]
  • flag sets a session flag that only works per chapter. (Examples of session flag usage: the Core is hardcoded to set the flag "cold" to be enabled or disabled depending on whether it's hot or cold, and this flag can be used to control the level's decoration.)
  • fonts returns information about which fonts are available and which ones are being used.
  • fullscreen enables fullscreen mode.
  • give_golden gives Madeline a Golden Strawberries.
  • givekey gives Madeline a key.
  • global_stats shows the global Steam statistics, including deaths, dashes, collected strawberries and golden berries, and statistics specific to the Celeste Classic version of Celeste.
  • hard loads the B-Side for a given chapter from its chapter number.
  • heartgem changes whether or not a Crystal Heart is collected for a given chapter; it takes three parameters: the chapter number, which side it is (0 for A-Side, 1 for B-Side, 2 for C-Side), and "true" or "false" for whether or not the heart should be collected.
  • heart sets the amount of Crystal Hearts collected on a save file.
  • input_gui [function unknown, please expand if you have information on this]
  • leaf opens the feather breathing minigame first shown in Golden Ridge.
  • level_count seems to print the total amount of screens in a campaign.
  • level_flag sets a session flag [how does this contrast with the flag command though?]
  • lighting returns information from the game's lighting system.
  • lines returns information about how many lines and words of dialog are in a given language.
  • load loads a given chapter from its chapter number.
  • logdetours [function unknown, please expand if you have information on this]
  • logsession [function unknown, please expand if you have information on this]
  • ltng is supposed to toggle the lightning from Farewell, though it doesn't seem to work.
  • mainmenu exits to the main menu.
  • mapedit opens the Debug Map; it is unclear whether this has different functionality than e.
  • meet edits how Madeline has interacted with Theo (this changes depending on whether or not he has been talked to, and how long the conversation lasted).
  • modoptions toggles Everest's "Show Mod Options in Game" setting. (This is only present when using the Everest mod loader.)
  • music changes the currently-playing music using either an FMOD event name or one of the shorter names that can be found in Lönn's music dropdown.
  • music_progress changes the "progress" parameter of the currently-playing music.
  • music_vol changes the music's volume. This is supposed to be between 0 and 10, though using this command can allow for higher numbers. (However, this is not recommended.)
  • openlog opens the log.txt file.
  • overworld exits to the splash screen.
  • ow_complete tests the chapter completion screen on the menu.
  • q exits the console.

(more to come soon)

Everest changes and features

Everest modifies certain features in Debug Mode to fix errors and add small quality-of-life improvements. Some of them include:

  • Changing the Debug Map button to F6, making alt-tabbing out of the game safer.
  • The ability to spawn the player at the cursor's position, done by shift + mouse click.
  • Resetting the map after debug respawn, via ctrl + mouse click. Useful for testing collectibles.
  • Adds "." as an alternate key to open the Debug Console.
  • Makes it possible to leave the Debug Map by pressing the Esc button (in the vanilla game, the only way to leave the map is to use a debug teleport).

Trivia

  • Several features in the Debug Map were used to alter the rooms, however, it's not possible to save the changes since the game's release. Some options include:
    • Holding the left mouse button to drag rooms around.
    • F + Left Mouse to create a filler, and F + Right to remove one. It's possible to change their size with the mouse.
    • Ctrl + A to select everything.
    • Ctrl + Z to undo, and Ctrl + X to redo (however due to an error, this feature crashes the game).
    • 1-7 keys change the room colors in the Debug Map.
    • F1 and Ctrl + S are meant to save the changes, but the option doesn't work for unknown reasons.
    • Holding Q displays the order of strawberries.