SarcLibrary 3.2.0

dotnet add package SarcLibrary --version 3.2.0                
NuGet\Install-Package SarcLibrary -Version 3.2.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="SarcLibrary" Version="3.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SarcLibrary --version 3.2.0                
#r "nuget: SarcLibrary, 3.2.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 SarcLibrary as a Cake Addin
#addin nuget:?package=SarcLibrary&version=3.2.0

// Install SarcLibrary as a Cake Tool
#tool nuget:?package=SarcLibrary&version=3.2.0                

Sarc Library

Modern SEAD/SEPD archive reader written in managed C#

Usage

Reading a Sarc File

byte[] data = File.ReadAllBytes("content/Pack/Bootup.pack");
Sarc sarc = Sarc.FromBinary(data);

Writing a Sarc File

/* ... */

using MemoryStream ms = new();
sarc.Write(ms);

Benchmarks

Function Elapsed Allocated
Read TitleBG (143MB, LE) 12.12 us 64.62 KB
Read TitleBG (75MB, BE) 12.04 us 64.73 KB
Write TitleBG (143MB, LE) 12.39 ms 12 B
Write TitleBG (75MB, BE) 6.59 ms 1 B
Read TitleBG (Immutable) (143MB, LE) 16.61 ns -
Read TitleBG (Immutable) (75MB, BE) 16.27 ns -

Install

NuGet NuGet

NuGet
Install-Package SarcLibrary
Build From Source
git clone https://github.com/EPD-Libraries/SarcLibrary.git
dotnet build SarcLibrary

Special thanks to Léo Lam for his extensive research on EPD file formats.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SarcLibrary:

Package Downloads
TotkCommon

Simple primitives library for common TotK operations

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.2.0 84 10/25/2024
3.1.3 880 5/1/2024
3.1.2 260 4/6/2024
3.1.1 134 4/5/2024
3.1.0 136 3/15/2024
3.0.4 287 1/26/2024
3.0.3 113 1/19/2024
3.0.2 126 1/16/2024
3.0.1 114 1/16/2024
3.0.0 182 12/13/2023
2.0.2 610 12/31/2022
2.0.1 286 12/30/2022
2.0.0 293 12/22/2022
1.0.6 487 8/18/2022
1.0.5 478 6/20/2022
1.0.4 423 6/16/2022
1.0.3 419 6/8/2022
1.0.1 408 6/5/2022
1.0.0 409 6/5/2022