KevInc.Texture.Xbox
0.2.4
dotnet add package KevInc.Texture.Xbox --version 0.2.4
NuGet\Install-Package KevInc.Texture.Xbox -Version 0.2.4
<PackageReference Include="KevInc.Texture.Xbox" Version="0.2.4" />
<PackageVersion Include="KevInc.Texture.Xbox" Version="0.2.4" />
<PackageReference Include="KevInc.Texture.Xbox" />
paket add KevInc.Texture.Xbox --version 0.2.4
#r "nuget: KevInc.Texture.Xbox, 0.2.4"
#:package KevInc.Texture.Xbox@0.2.4
#addin nuget:?package=KevInc.Texture.Xbox&version=0.2.4
#tool nuget:?package=KevInc.Texture.Xbox&version=0.2.4
KevInc.Texture
KevInc.Texture provides .NET libraries for reading, writing, swizzling, and adapting game texture data. The package family is dependency-conscious: low-level platform packages stay free of ImageSharp, while ImageSharp integration lives in opt-in packages.
Packages
| Package | Purpose | Heavy dependencies |
|---|---|---|
KevInc.Texture |
Shared raw texture model and format identifiers. | None |
KevInc.Texture.Nintendo |
Nintendo Switch block-linear swizzle and deswizzle helpers. | None |
KevInc.Texture.Nintendo.ImageSharp |
ImageSharp codecs, ImageSharp format registration, and stream helpers for Wii SSD, Wii U GTX, and Switch XTX textures. | ImageSharp, BCnEncoder |
KevInc.Texture.PlayStation |
PlayStation texture headers and payload sizing helpers. | None |
KevInc.Texture.PlayStation.ImageSharp |
ImageSharp encode/decode helpers and ImageSharp format registration for PlayStation texture streams. | ImageSharp, BCnEncoder |
KevInc.Texture.Xbox |
Xbox 360 texture headers, payload sizing, endian handling, and tiling. | None |
KevInc.Texture.Xbox.ImageSharp |
ImageSharp encode/decode helpers and ImageSharp format registration for Xbox 360 texture streams. | ImageSharp, BCnEncoder |
KevInc.Texture.ImageSharp |
Shared ImageSharp adapters for raw, DXT, crunched, and DDS texture payloads. | ImageSharp, BCnEncoder |
KevInc.CrnLib |
Image-framework-neutral CRN encoding, decoding, metadata, and segmented payload support. | None |
KevInc.CrnLib.ImageSharp |
Thin ImageSharp pixel adapters for managed Unity-style CRN textures. | ImageSharp |
Install
dotnet add package KevInc.Texture
dotnet add package KevInc.Texture.Nintendo
dotnet add package KevInc.Texture.PlayStation
dotnet add package KevInc.Texture.Xbox
Use ImageSharp packages only when you want to work directly with Image<TPixel>:
dotnet add package KevInc.Texture.ImageSharp
dotnet add package KevInc.Texture.Nintendo.ImageSharp
dotnet add package KevInc.Texture.PlayStation.ImageSharp
dotnet add package KevInc.Texture.Xbox.ImageSharp
dotnet add package KevInc.CrnLib.ImageSharp
Examples
Decode a raw BGRA texture into ImageSharp:
using KevInc.Texture;
using KevInc.Texture.ImageSharp;
RawTexture texture = new(width, height, TextureFormat.BGRA32, data);
using Image<Rgba32> image = TextureImageSharpCodec.Decode(texture);
Decode an Xbox 360 texture stream:
using KevInc.Texture.Xbox.ImageSharp;
await using FileStream input = File.OpenRead("texture.x360");
using Image<Rgba32> image = Xbox360ImageSharpTextureCodec.Decode(input);
Decode a PlayStation 3 texture stream:
using KevInc.Texture.PlayStation.ImageSharp;
await using FileStream input = File.OpenRead("texture.ps3tex");
using Image<Rgba32> image = PlayStation3ImageSharpTextureCodec.Decode(input);
Decode a Nintendo Switch swizzled payload:
using KevInc.Texture;
using KevInc.Texture.Nintendo.ImageSharp;
using Image<Rgba32> image = NintendoSwitchImageSharpTextureCodec.DecodeSwizzled(
swizzledData,
width,
height,
TextureFormat.RGBA32,
blockHeightLog2);
Register the ImageSharp decoders for DDS, Wii SSD, Wii U GTX, Switch XTX, and Xbox 360 texture streams:
using KevInc.Texture.ImageSharp;
using KevInc.Texture.Nintendo.ImageSharp;
using KevInc.Texture.PlayStation.ImageSharp;
using KevInc.Texture.Xbox.ImageSharp;
TextureImageSharpConfiguration.RegisterDdsFormat();
NintendoImageSharpConfiguration.RegisterTextureFormats();
PlayStation3ImageSharpConfiguration.RegisterTextureFormat();
Xbox360ImageSharpConfiguration.RegisterTextureFormat();
Build And Test
./run.ps1
Create local NuGet packages:
./run.ps1 -Configuration Release -Pack
Packages are written to artifacts/packages. Packaging validates every generated dependency list, checks the internal graph for cycles and matching sibling versions, and restores each package into a clean temporary consumer before accepting the output.
Test Coverage
The test suite covers Nintendo swizzling, PlayStation and Xbox texture headers, ImageSharp adapters, dependency boundaries, CRN support, and game texture container round-trips.
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
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on KevInc.Texture.Xbox:
| Package | Downloads |
|---|---|
|
KevInc.Texture.Xbox.ImageSharp
ImageSharp adapters for Xbox 360 texture streams. |
|
|
KevInc.UbiArt.Texture
UbiArt TEX texture wrapper detection, ImageSharp decoding, and platform wrapper encoders. |
GitHub repositories
This package is not used by any popular GitHub repositories.