AalSharp.Bars
1.0.1
dotnet add package AalSharp.Bars --version 1.0.1
NuGet\Install-Package AalSharp.Bars -Version 1.0.1
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="AalSharp.Bars" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AalSharp.Bars" Version="1.0.1" />
<PackageReference Include="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 AalSharp.Bars --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AalSharp.Bars, 1.0.1"
#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 AalSharp.Bars@1.0.1
#: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=AalSharp.Bars&version=1.0.1
#tool nuget:?package=AalSharp.Bars&version=1.0.1
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/EPD-Libraries/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 AalSharp.Bars;
byte[] data = File.ReadAllBytes("path/to/file.bars");
var bars = BarsFile.FromBinary(data, out var endianness);
Writing a BARS File
using 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 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
AalSharp
AalSharp.Bars
NuGet
Install-Package AalSharp
Install-Package AalSharp.Bars
Build From Source
git clone https://github.com/EPD-Libraries/AalSharp.git
dotnet build AalSharp
dotnet build 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
- AalSharp (>= 1.0.1)
- AalSharp.Amta (>= 1.0.1)
- CommunityToolkit.HighPerformance (>= 8.4.2)
- System.IO.Hashing (>= 10.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.