FF7R2.DataObject.API
0.1.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package FF7R2.DataObject.API --version 0.1.0
NuGet\Install-Package FF7R2.DataObject.API -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FF7R2.DataObject.API" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FF7R2.DataObject.API --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FF7R2.DataObject.API, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FF7R2.DataObject.API as a Cake Addin #addin nuget:?package=FF7R2.DataObject.API&version=0.1.0 // Install FF7R2.DataObject.API as a Cake Tool #tool nuget:?package=FF7R2.DataObject.API&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
A C# parser for FF7 Rebirth's DataObject files.
To say this works would be a massive overstatement.<br> There's layers and layers of compression and re-use here, and whilst this can read the files, writing is experimental at best.
There's two save modes. I'm just gonna copy the doc because I'm lazy:
/// <see cref="Mode.OG_MODIFIED_BYTES"/> works in conjunction with the `DataAsByteProxy` property and just reads/writes to/from the bytes at specific offsets.
/// This works, at the cost of immutable array sizes.
/// <see cref="Mode.WRITE_PARSED_DATA"/>
/// This tries to write out the parsed file, and results are buggy in-game at best.
/// Tests pass for few files, and the ones that do (like equipment) just result in the items being gone in-game.
Example usage (for the edit-via-bytes method, though switching is fairly simple:
var asset = IoStoreAsset.Load(@"path\to\in\Equipment.uasset");
foreach (var (key, value) in asset.innerAsset.frozenObject.DataTable) {
value.propertyValues[EquipmentProperties.MateriaSlotDouble]!.As<ByteProperty>()!.DataAsByteProxy = 4;
value.propertyValues[EquipmentProperties.MateriaSlotSingle]!.As<ByteProperty>()!.DataAsByteProxy = 0;
}
asset.Save(@"path\to\out\Equipment.uasset", IoStoreAsset.Mode.OG_MODIFIED_BYTES);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- CUE4Parse (>= 1.2.1)
- System.Data.HashFunction.CityHash (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.