diff --git a/p2ce/index.d.ts b/p2ce/index.d.ts index 3b9c889..b389ce5 100644 --- a/p2ce/index.d.ts +++ b/p2ce/index.d.ts @@ -5,6 +5,7 @@ /// /// +/// declare namespace GameStateAPI { /** Returns true if this is a playtest build of P2CE */ diff --git a/p2ce/saverestore.d.ts b/p2ce/saverestore.d.ts new file mode 100644 index 0000000..965df3d --- /dev/null +++ b/p2ce/saverestore.d.ts @@ -0,0 +1,38 @@ + +/** + * Defines the save type, used with 'GameSaved' event in the 'type' parameter + */ +declare enum SaveType { + Manual = 0, /** User saved with custom filename */ + Autosave, /** Game saved progress automatically */ + Quicksave, /** User saved using the quicksave key */ +} + +interface Save { + name: string; + thumb: string; + time: number; +} + +declare namespace SaveRestoreAPI { + /** Returns an array of save games */ + function GetSaves(): Array; + + /** + * Saves the game + * @param name Name of the save or null to generate one based on the current time + */ + function SaveGame(name: string|null): void; + + /** + * Deletes a save + * @param name Name of the save to delete + */ + function DeleteSave(name: string): void; + + /** + * Loads a save game + * @param name Name of the save. Allowed characters: A-z 0-9 _ - + */ + function LoadGame(name: string): void; +} diff --git a/shared/events.d.ts b/shared/events.d.ts index 2364a0d..bfc5642 100644 --- a/shared/events.d.ts +++ b/shared/events.d.ts @@ -88,4 +88,5 @@ interface GlobalEventNameMap { 'UnloadLoadingScreenAndReinit': () => void, 'AchievementInfoLoaded': () => void, 'AchievementEarned': (player_index: number, achievement_index: number) => void, + 'GameSaved': (save_name: string, save_type: number) => void, }