KevInc.UbiArt.Texture
0.2.2
dotnet add package KevInc.UbiArt.Texture --version 0.2.2
NuGet\Install-Package KevInc.UbiArt.Texture -Version 0.2.2
<PackageReference Include="KevInc.UbiArt.Texture" Version="0.2.2" />
<PackageVersion Include="KevInc.UbiArt.Texture" Version="0.2.2" />
<PackageReference Include="KevInc.UbiArt.Texture" />
paket add KevInc.UbiArt.Texture --version 0.2.2
#r "nuget: KevInc.UbiArt.Texture, 0.2.2"
#:package KevInc.UbiArt.Texture@0.2.2
#addin nuget:?package=KevInc.UbiArt.Texture&version=0.2.2
#tool nuget:?package=KevInc.UbiArt.Texture&version=0.2.2
KevInc.UbiArt
KevInc.UbiArt provides .NET libraries for UbiArt engine containers and wrappers. The packages intentionally compose the generic KevInc.Audio and KevInc.Texture codecs instead of placing UbiArt-specific wrapper logic in those repositories.
Packages
| Package | Purpose | Key dependencies |
|---|---|---|
KevInc.UbiArt.Ipk |
IPK archive reading, extraction, packing, CRC, and compression helpers. | None |
KevInc.UbiArt.FileSystem |
Layered UbiArt filesystem lookup across cooked folders, uncooked folders, and IPK archives. | KevInc.UbiArt.Ipk |
KevInc.UbiArt.Raki |
RAKI audio wrapper parsing, decoding, and NAudio-backed encoding for UbiArt platform audio. | NAudio, KevInc.Audio packages |
KevInc.UbiArt.Texture |
TEX texture wrapper detection, ImageSharp decoding, and platform wrapper encoders for UbiArt texture payloads. | ImageSharp, KevInc.Texture packages |
Install
dotnet add package KevInc.UbiArt.Ipk
dotnet add package KevInc.UbiArt.FileSystem
dotnet add package KevInc.UbiArt.Raki
dotnet add package KevInc.UbiArt.Texture
Examples
Extract an IPK archive:
using KevInc.UbiArt.Ipk;
UbiArtIpkParser parser = new("bundle.ipk", "bundle");
parser.Parse();
Resolve a cooked file from a folder or IPK-backed bundle:
using KevInc.UbiArt.FileSystem;
UbiArtLayeredFileSystem fileSystem = new(new UbiArtLayeredFileSystemOptions
{
InputPath = "bundle_nx",
Platform = UbiArtPlatform.NX
});
fileSystem.Initialize();
CookedFile songDesc = fileSystem.GetFilePath("world/maps/song/songdesc.tpl");
using Stream stream = fileSystem.GetFileStream(songDesc);
Decode a RAKI audio stream:
using KevInc.UbiArt.Raki;
await using FileStream input = File.OpenRead("audio.wav.ckd");
RakiAudioHeader header = RakiAudioReader.ReadHeader(input);
Register UbiArt TEX texture decoding with ImageSharp:
using KevInc.UbiArt.Texture;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
UbiArtTextureImageSharpConfiguration.RegisterTextureFormat();
using Image<Bgra32> image = Image.Load<Bgra32>("texture.tga.ckd");
Build And Test
./run.ps1
Create local NuGet packages:
./run.ps1 -Configuration Release -Pack
Packages are written to artifacts/packages.
Test Coverage
The test suite covers IPK archive round-tripping, layered filesystem lookup, RAKI wrapper parsing and codec dispatch, and UbiArt TEX wrapper detection across supported platform payloads.
Versioning
The repository uses Nerdbank.GitVersioning. Package versions come from version.json and Git metadata.
License
This repository is licensed under GPL-3.0-only unless a package explicitly states otherwise.
| 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. |
-
net10.0
- KevInc.Texture.ImageSharp (>= 0.2.2)
- KevInc.Texture.Nintendo.ImageSharp (>= 0.2.2)
- KevInc.Texture.PlayStation (>= 0.2.2)
- KevInc.Texture.PlayStation.ImageSharp (>= 0.2.2)
- KevInc.Texture.Xbox (>= 0.2.2)
- KevInc.Texture.Xbox.ImageSharp (>= 0.2.2)
- SixLabors.ImageSharp (>= 3.1.12)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.