Tkmm.AalSharp.Bars
1.0.3
dotnet add package Tkmm.AalSharp.Bars --version 1.0.3
NuGet\Install-Package Tkmm.AalSharp.Bars -Version 1.0.3
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="Tkmm.AalSharp.Bars" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tkmm.AalSharp.Bars" Version="1.0.3" />
<PackageReference Include="Tkmm.AalSharp.Bars" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tkmm.AalSharp.Bars --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Tkmm.AalSharp.Bars, 1.0.3"
#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.
#:package Tkmm.AalSharp.Bars@1.0.3
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tkmm.AalSharp.Bars&version=1.0.3
#tool nuget:?package=Tkmm.AalSharp.Bars&version=1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
<div align="center"> <img src="https://raw.githubusercontent.com/TKMM-Team/Tkmm.AalSharp/refs/heads/master/resources/Icon.png" width="100vh"> <h1>- AAL# -</h1> </div>
C# IO library for BARS and other AAL file formats.
Supports BARS v101 and AMTA v4.
Usage
Reading a BARS File
using Tkmm.AalSharp.Bars;
byte[] data = File.ReadAllBytes("path/to/file.bars");
var bars = BarsFile.FromBinary(data, out var endianness);
Writing a BARS File
using Tkmm.AalSharp.Bars;
// Write to a stream
using FileStream fs = File.Create("path/to/output.bars");
bars.Write(fs, Endianness.Little);
// Write to a byte[]
byte[] data = bars.ToBinary(Endianness.Little, endianness: Entish.Endianness.Little);
Writing to a pointer or Span<byte> can be done via the Tkmm.AalSharp.Bars.IO.BarsSerializer class
Benchmarks
Benchmarks for BotW/Sound/Resource/M_SceneStatic.bars (BotW 1.6.0 | 18.5 MB)
| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
|---|---|---|---|---|---|---|---|
| Read | 4.245 ms | 0.1167 ms | 0.3329 ms | 1003.9063 | 941.4063 | 78.1250 | 18.34 MB |
| Write | 8.929 ms | 0.1780 ms | 0.4161 ms | 234.3750 | 156.2500 | 156.2500 | 19.38 MB |
| ToBinary | 6.638 ms | 0.1308 ms | 0.2358 ms | 359.3750 | 273.4375 | 273.4375 | 19.38 MB |
| SerializeNoAlloc | 8.648 ms | 0.1714 ms | 0.3001 ms | 78.1250 | - | - | 1.35 MB |
Install
Tkmm.AalSharp
Tkmm.AalSharp.Bars
NuGet
Install-Package Tkmm.AalSharp
Install-Package Tkmm.AalSharp.Bars
Build From Source
git clone https://github.com/TKMM-Team/Tkmm.AalSharp.git
dotnet build Tkmm.AalSharp
dotnet build Tkmm.AalSharp.Bars
Special thanks to Yannik Marchand (kinnay) for the research on the AAL file formats.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- CommunityToolkit.HighPerformance (>= 8.4.2)
- System.IO.Hashing (>= 10.0.10)
- Tkmm.AalSharp (>= 1.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.