2.8 KiB
Persistent configuration (questshock.config.json)
QuestShock can load a persistent, human-editable configuration file at
startup, in addition to (and independent of) the engine's own prefs.txt.
-
Location:
/sdcard/questshock/questshock.config.json- the same folder you already copyres/data/res/soundinto (see README.md section 5.1). -
Format: plain JSON, grouped by concern. Each top-level key is a group; each key inside a group is one option.
-
Loading: read automatically at app startup, before the splash screen, if the file exists. If it doesn't exist, nothing changes - the engine behaves exactly as it did before this file existed (driven by
prefs.txtas usual). -
Saving: never automatic. In-headset, open the menu (controller menu button) and press Save Configuration to write the file from your current live settings, overwriting it if present. Press Load Configuration to re-read the file and apply it without restarting the app.
-
Live vs. restart-required: every option below is tagged as either live-appliable (applying it while already playing takes effect immediately) or restart-required. Pressing Load Configuration applies every live-appliable change straight away; if the file also changes something restart-required, a dialog lists exactly which option(s) need it and offers:
- Dismiss - keep playing with the live-appliable changes already applied; the restart-required option(s) stay as they were.
- Restart Now - relaunches the app, which re-runs this same startup load and so applies every group in the file, including the restart-required ones.
(Both options currently documented below are live-appliable, so this dialog won't actually appear yet - it's built in for options added in a future version that do need a restart.)
-
Unrecognized groups/keys are ignored (harmless if you're editing the file in advance for a future version). An invalid value for a specific option (see each option's possible values below) is logged and that one option is skipped - every other valid option in the file still applies. A file that isn't valid JSON at all is ignored entirely, with nothing applied.
-
questshock.config.jsonandprefs.txtare fully independent - loading or saving one never reads or writes the other.
Example
{
"video_options": {
"renderer": "opengl",
"resolution": "1024x768"
}
}
Video Options (video_options)
renderer
Which renderer the game uses to draw the 3D view.
- Type: enum
- Possible values:
"software","opengl" - Restart required?: No (live-appliable)
resolution
The game's internal rendering resolution.
- Type: enum
- Possible values:
"320x200","320x400","640x400","640x480","1024x768" - Restart required?: No (live-appliable)