Skip to main content

Git

Struct Git 

Source
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: u8

Current weather (CurrentWeather). If area is an interior, engine forcibly overrides to 0xFF.

§weather_started: bool

Weather started flag (WeatherStarted). If area is an interior, engine forcibly overrides to 0 (false).

§creatures: GitCreatures

Creature 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: GitItems

Item instances (List), in whichever form the file uses.

§doors: GitDoors

Door instances (Door List), in whichever form the file uses.

§placeables: GitPlaceables

Placeable instances (Placeable List), in whichever form the file uses.

§waypoints: Vec<GitWaypoint>

Waypoint instances (WaypointList).

§sounds: GitSounds

Sound instances (SoundList), in whichever form the file uses.

§triggers: GitTriggers

Trigger instances (TriggerList), in whichever form the file uses.

§stores: GitStores

Store 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.

Implementations§

Source§

impl Git

Source

pub fn new() -> Self

Creates an empty GIT value.

Source

pub fn from_gff(gff: &Gff) -> Result<Self, GitError>

Builds typed GIT data from a parsed GFF container.

Source

pub fn to_gff(&self) -> Gff

Converts this typed GIT value into a GFF container.

Trait Implementations§

Source§

impl Clone for Git

Source§

fn clone(&self) -> Git

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Git

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Git

Source§

fn default() -> Git

Returns the “default value” for a type. Read more
Source§

impl GffSchema for Git

Source§

fn schema() -> &'static [FieldSchema]

Returns the root field schema for this GFF resource type.
Source§

impl PartialEq for Git

Source§

fn eq(&self, other: &Git) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Git

Auto Trait Implementations§

§

impl Freeze for Git

§

impl RefUnwindSafe for Git

§

impl Send for Git

§

impl Sync for Git

§

impl Unpin for Git

§

impl UnsafeUnpin for Git

§

impl UnwindSafe for Git

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> StrictAs for T

Source§

fn strict_as<Dst>(self) -> Dst
where T: StrictCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> StrictCastFrom<Src> for Dst
where Src: StrictCast<Dst>,

Source§

fn strict_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.