Expand description
The game-state stream of a save: the game loop’s serializer over every manager and every object. See docs/SAVE-GAME-STATE.md.
Objects (Object::Internal) are written where they are first referenced
(InternalBasePtr::Serialize): a present byte, the object’s factory index, its tag and its type
id; the first time an index appears its serializer follows inline
(InternalFactory::PersistObject).
Each type’s serializer is described by a schema (crate::savegame_schema) of fields, blocks,
lists and version conditions, read (and written) by one interpreter. Every block must be
consumed exactly.
Original: FUN_14009af60, Runtime 0x1800c29f0, Runtime 0x1800c2780.
Structs§
- Fields
- Named values in serialization order.
- GameMap
- The gameplay map (version 4).
- Game
MapCell - One cell of the gameplay map, as the game state stores it (48 bytes in memory).
- Game
State - The whole game state.
- Object
- A decoded object.
Enums§
- Value
- A decoded value.
Functions§
- empty_
animations Graphics::AnimationManager::Serializewith no animated instances: a count of 0.- empty_
audio_ scene - The sound scene’s block with nothing playing, as a new save writes it: 4,096 empty sound slots (a position, a value, the effect, a time, a value, the volume 1.0 and no points), then the five bytes that every sample save has.
- managers
- The blocks after the gameplay map (
jobs,tools,calendar,event_log,environment,minimap) at serializer versionversion.
Type Aliases§
- ObjId
- An object’s factory index (
Internal).