Files
documentation/advanced-configuration.md

5.7 KiB

Advanced configuration

You can configure various parameters of doukutsu-rs in three ways:

  • through settings
  • through environment variables
  • through command line arguments

Settings

Most parameters can be configured in the Options menu on the title screen. But some of them can only be configured by directly editing them in the settings.json file (located in the user data dir) or in the debug menu.

Option nameValuesDescription
debug_modetrue | false (default)

Enables debug hotkeys and menus.

This parameter is ignored if the engine was compiled in debug mode.

For more details, see debugging-and-testing.md.

fps_countertrue | false (default)Enable FPS and TPS counters in the top right corner.
more_rusttrue | false (default)

Replaces the Sue sprite with Crabby Sue (our mascot) and adds a light blue filter to Sue's face in the text box.

This setting is always active on 7 July.

Environment variables

You cannot use environment variables to configure gameplay or visual aspects, but you can configure lower-level aspects of the engine. All environment variables have the prefix CAVESTORY_.

CAVESTORY_DATA_DIR

Type: string

This variable specifies the full path to the game data directory. By default, if this variable is missing, the engine searches for game data in the same folder where the engine executable file is located.

{% hint style="info" icon="box-open" %} The Flatpak package uses FORCE_CAVESTORY_DATA_DIR instead. {% endhint %}

CAVESTORY_NO_OPENGL

Type: boolean

Possible values: 1 (true) | 0 (false)

Forces the engine to not use default OpenGL render. This is only supported if the engine is built with the SDL backend (feature backend-sdl), for which SDL2 renderer is used, if this option is enabled.

FORCE_CAVESTORY_DATA_DIR

Alias of CAVESTORY_DATA_DIR for the Flatpak package.

Command line arguments

All command line parameters are optional, but the application will crash if any of their values are invalid.

Boolean parameters don't accept values and are off by default. String parameters are case-insensetive.

Window

Name Value type Values Description
--window-height integer (u16)

From 0 to 16535.

Default value: 480.

Window height in pixels.
--window-width integer (u16)

From 0 to 16535.

Default value: 640.

Window width in pixels.
--window-fullscreen boolean - Startup the game in fullscreen mode.

Logging

Name Value type Values Description
--log-level string

error, warn, info, debug, trace.

Default value: info or debug (if the engine is built in the debug mode).

The minimum level of records that will be written to the log file.

This parameter doesn't affect the level of records that will be written to the console.

Misc

Name Value type Values Description
--server-mode boolean -

Do not create a window and skip audio initialization.

It was probably intended for use in online multiplayer, but currenly there's no practical application for this parameter.

--help boolean - Prints a description of all available CLI parameters and exits the program.