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 name | Values | Description |
|---|---|---|
debug_mode | true | 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_counter | true | false (default) | Enable FPS and TPS counters in the top right corner. |
more_rust | true | 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 Default value: |
Window height in pixels. |
--window-width |
integer (u16) |
From Default value: |
Window width in pixels. |
--window-fullscreen |
boolean |
- | Startup the game in fullscreen mode. |
Logging
| Name | Value type | Values | Description |
|---|---|---|---|
--log-level |
string |
Default value: |
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. |