pub struct Git {Show 14 fields
pub current_weather: u8,
pub weather_started: bool,
pub creatures: GitCreatures,
pub items: GitItems,
pub doors: GitDoors,
pub placeables: GitPlaceables,
pub waypoints: Vec<GitWaypoint>,
pub sounds: GitSounds,
pub triggers: GitTriggers,
pub stores: GitStores,
pub encounters: Vec<GitEncounter>,
pub area_effects: Vec<GitAreaEffect>,
pub area_properties: Option<GitAreaProperties>,
pub cameras: Vec<GitCamera>,
}Expand description
Typed GIT model built from/to [Gff] data.
GIT is the area instance container. It places object instances by referencing templates and providing position/orientation data. All engine-read fields are typed; roundtrip is fully lossless for typed fields.
Fields§
§current_weather: u8Current weather (CurrentWeather). If area is an interior, engine forcibly overrides to 0xFF.
weather_started: boolWeather started flag (WeatherStarted). If area is an interior, engine forcibly overrides to 0 (false).
creatures: GitCreaturesCreature instances (Creature List), in whichever form the file uses.
The UseTemplates discriminator lives here rather than as a separate
flag, so the two cannot disagree about what the list contains.
items: GitItemsItem instances (List), in whichever form the file uses.
doors: GitDoorsDoor instances (Door List), in whichever form the file uses.
placeables: GitPlaceablesPlaceable instances (Placeable List), in whichever form the file uses.
waypoints: Vec<GitWaypoint>Waypoint instances (WaypointList).
sounds: GitSoundsSound instances (SoundList), in whichever form the file uses.
triggers: GitTriggersTrigger instances (TriggerList), in whichever form the file uses.
stores: GitStoresStore instances (StoreList), in whichever form the file uses.
encounters: Vec<GitEncounter>Encounter instances (Encounter List).
Read as static placements whatever UseTemplates says, which is
wrong for a savegame GIT: a saved encounter comes back with an
empty TemplateResRef rather than its spawned state. Encounters are
the one object list still in that position. They are held back
because there is nothing to model them against: every save in
fixtures/saves/ has an empty Encounter List, and unlike area
effects the engine’s saved encounter field set is not written down in
docs/src/formats/gff/git.md either. Modelling it from LoadEncounters
alone would ship a field set with no way to check it.
area_effects: Vec<GitAreaEffect>Area-of-effect instances (AreaEffectList).
area_properties: Option<GitAreaProperties>Area-level properties (AreaProperties).
cameras: Vec<GitCamera>Static cameras (CameraList). Engine load failure occurs if array contains 51 or more entries.