Consolidate documentation into architecture and merged guides
This commit is contained in:
1 parent
aec1fb7b69
commit
dee939c2ee
39 files changed
+795
-1203
No files matched your search
+12
-18
@@ -74,31 +74,25 @@ XDG_DATA_HOME=/tmp/gigline-campaign godot --path . --fixed-fps 60 --script res:/
|
||||
|
||||
The unit test runner is the project's own lightweight harness (no editor plugin required) so CI can run it without the editor.
|
||||
|
||||
## Save Data and Migration
|
||||
## Save Data
|
||||
|
||||
The game keeps four small JSON files in Godot's `user://` directory, which is
|
||||
`~/.local/share/godot/app_userdata/Gig Line/` on Linux,
|
||||
`%APPDATA%\Godot\app_userdata\Gig Line\` on Windows and
|
||||
`~/Library/Application Support/Godot/app_userdata/Gig Line/` on macOS:
|
||||
The game writes four JSON files in Godot's `user://` directory:
|
||||
|
||||
| File | Contents |
|
||||
| Platform | Location |
|
||||
| --- | --- |
|
||||
| `settings.json` | Camera, HUD, binding, difficulty, audio, accessibility and tutorial flags. Missing keys are filled from the current defaults; there is no schema version because the field set grew compatibly. |
|
||||
| `campaign.json` | Campaign index, completed venues, difficulty, shift number and last grade. Older files with missing fields open at the safe defaults. |
|
||||
| `shift_results.json` | Completed-shift review history, appended as an array. |
|
||||
| `shift_state.json` | Resumable mid-shift checkpoint, version `1`. It stores the venue, guard/door/flashlight/body-camera state, coordinator snapshot and NPC rows. |
|
||||
| Linux | `~/.local/share/godot/app_userdata/Gig Line/` |
|
||||
| Windows | `%APPDATA%\Godot\app_userdata\Gig Line\` |
|
||||
| macOS | `~/Library/Application Support/Godot/app_userdata/Gig Line/` |
|
||||
|
||||
Writes go to a sibling `.tmp` file and are renamed only after the complete JSON
|
||||
is written. A corrupt or partial file is ignored on load, so the player gets
|
||||
defaults rather than a crash and a valid old file is not overwritten by a failed
|
||||
replace. The migration fixtures used by the tests live in
|
||||
`src/test/fixtures/saves/`.
|
||||
Files: `settings.json`, `campaign.json`, `shift_results.json` and the versioned
|
||||
`shift_state.json` checkpoint. The schema, migration/default-filling rules,
|
||||
atomic-write behavior and checkpoint contents are in
|
||||
[`architecture.md#persistence-and-save-contract`](architecture.md#persistence-and-save-contract).
|
||||
|
||||
For a clean first launch, delete the four files (or the whole `Gig Line` user
|
||||
directory). Settings' **Reset campaign** clears campaign progress separately.
|
||||
To back up or move a profile, copy those files while the game is closed; to roll
|
||||
back, restore the previous copies. Shift history is diagnostic and is not
|
||||
required to resume a checkpoint.
|
||||
To back up or move a profile, copy the files while the game is closed; restore
|
||||
them to roll back. Shift history is diagnostic and not required to resume.
|
||||
|
||||
## Controls
|
||||
|
||||
|
||||
Reference in new issue
Block a user