OatmealDome.NinLib.Byaml
1.1.0
dotnet add package OatmealDome.NinLib.Byaml --version 1.1.0
NuGet\Install-Package OatmealDome.NinLib.Byaml -Version 1.1.0
<PackageReference Include="OatmealDome.NinLib.Byaml" Version="1.1.0" />
paket add OatmealDome.NinLib.Byaml --version 1.1.0
#r "nuget: OatmealDome.NinLib.Byaml, 1.1.0"
// Install OatmealDome.NinLib.Byaml as a Cake Addin #addin nuget:?package=OatmealDome.NinLib.Byaml&version=1.1.0 // Install OatmealDome.NinLib.Byaml as a Cake Tool #tool nuget:?package=OatmealDome.NinLib.Byaml&version=1.1.0
OatmealDome's NintenTools.Byaml Fork
This is a fork of Syroot.NintenTools.Byaml on version 2.0.2.
While I have another fork of this project, it was not properly tracked by source control, and it implements deserialization of BYAML version 3 nodes incorrectly. Therefore, I decided to re-fork this project, move it under my own namespace (which also brings along the benefits I talk about in my BinaryData fork), clean it up, and re-implement support for newer BYAML versions.
Please note that while reading has been well tested, writing has not. There may be bugs.
Here's what's different:
- BYAML versions 1, 2, 3, and 4 are all fully supported. It is possible to deserialize BYAML versions 5, but it is not possible to serialize it. Experimental deserialization is available for BYAML versions 6 and 7. (New node types may not be available.)
ByamlFile.Load()
now automatically detects BYAML version, whether binary data is present with BYAML version 1, and what endianness the BYAML is stored in.ByamlFile.Save()
now usesByamlSerializerSettings
to hold serialization settings.- "Paths" has been changed to generic binary data (
byte[]
). Automatic deserialization of Mario Kart 8 path points (ByamlPathPoint
) is no longer supported. - There is no longer a dependency on Syroot.Maths.
- The classes that were part of the Serialization namespace were removed. The only serialization and deserialization type supported is Dynamic.
Original Readme
This is a .NET library to handle the BYAML Nintendo data file format, allowing you to read and store the files as either dynamic objects or strongly-typed with serialized classes similar to what the .NET XmlReader
and XmlWriter
provide.
The library is available as a NuGet package.
Status
It currently only supports version 1 without reference nodes, and at this time there are no plans to add support for these, and no ETA for the originally scheduled unification of the parsing logic.
Support
You can ask questions and suggest features on Discord aswell. Feel free to join the NintenTools channel on the Syroot server!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5.2
- Microsoft.CSharp (>= 4.4.1)
- OatmealDome.BinaryData (>= 1.0.0)
- System.Dynamic.Runtime (>= 4.3.0)
-
.NETStandard 2.0
- Microsoft.CSharp (>= 4.4.1)
- OatmealDome.BinaryData (>= 1.0.0)
- System.Dynamic.Runtime (>= 4.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.0 | 180 | 4/24/2024 |
Update NuGet package and framework targets.