Save system: ceremonial PR (#42)

prototype for writing a save

Merge branch 'main' into savesystem

violently read player from file

oops, missed revisions in StateManager

create StateManager from file

autoformat the world

oops, forgot to save the split-up of save.ts

Save on end-of-day, or after endgame.

Putting it here avoids a circular reference problem

Merge branch 'main' into savesystem

Integrate save system

Deal with save corruption correctly

Co-authored-by: Kistaro Windrider <kistaro@gmail.com>
Reviewed-on: #42
Co-authored-by: Nyeogmi <economicsbat@gmail.com>
Co-committed-by: Nyeogmi <economicsbat@gmail.com>
This commit is contained in:
2025-02-25 04:14:02 +00:00
committed by Pyrex
parent 897133f8de
commit 19b097a0bd
8 changed files with 578 additions and 27 deletions

View File

@ -1,4 +1,5 @@
import { Sound } from "./sound.ts";
import { SaveFileV1 } from "./saveformat.ts";
export type VNSceneMessage = {
type: "message";
@ -11,9 +12,18 @@ export type VNSceneCallback = {
callback: () => void;
};
export type VNSceneSaveGameScreen = {
type: "saveGameScreen";
file: SaveFileV1 | null;
error: string | null;
};
export type VNSceneBasisPart = string | VNSceneMessage | VNSceneCallback;
export type VNSceneBasis = VNSceneBasisPart[];
export type VNScenePart = VNSceneMessage | VNSceneCallback;
export type VNScenePart =
| VNSceneMessage
| VNSceneCallback
| VNSceneSaveGameScreen;
export type VNScene = VNScenePart[];
export function compile(basis: VNSceneBasis): VNScene {