Crate uesave

Source
Expand description

A library for reading and writing Unreal Engine save files (commonly referred to as GVAS).

It has been tested on an extensive set of object structures and can fully read and write Deep Rock Galactic save files (and likely a lot more).

There is a small binary utility to quickly convert saves to and from a plain text JSON format which can be used for manual save editing.

§Example

use std::fs::File;

use uesave::{Property, PropertyInner, Save};

let save = Save::read(&mut File::open("drg-save-test.sav")?)?;
match save.root.properties["NumberOfGamesPlayed"] {
    Property { inner: PropertyInner::Int(value), .. } => {
        assert_eq!(2173, value);
    }
    _ => {}
}

Structs§

Box
Color
CustomFormatData
Delegate
FFormatArgumentData
FNumberFormattingOptions
FieldPath
GameplayTag
GameplayTagContainer
Header
IntPoint
IntVector
LinearColor
MapEntry
MulticastDelegate
MulticastInlineDelegate
MulticastSparseDelegate
PackageVersion
ParseError
Properties
Property
Properties consist of an ID and a value and are present in Root and StructValue::Struct
PropertyKey
PropertyTagPartial
Quat
Root
Root struct inside a save file which holds both the Unreal Engine class name and list of properties
Rotator
Save
Text
Types
Used to disambiguate types within a [Property::Set] or [Property::Map] during parsing.
UniqueNetIdRepl
UniqueNetIdReplInner
Vector
Vector2D

Enums§

Byte
Just a plain byte, or an enum in which case the variant will be a String
ByteArray
Vectorized Byte
Error
FFormatArgumentDataValue
FFormatArgumentValue
PropertyInner
Properties consist of an ID and a value and are present in Root and StructValue::Struct
PropertyTagDataPartial
PropertyType
PropertyValue
SoftObjectPath
StructType
StructValue
TextVariant
ValueArray
Encapsulates ValueVec with a special handling of structs. See also: ValueSet
ValueSet
Encapsulates ValueVec with a special handling of structs. See also: ValueArray
ValueVec
Vectorized properties to avoid storing the variant with each value