NdsForge.NET 1.0.1
Read, validate, edit, compare, and build Nintendo DS and DSi images from .NET
Loading...
Searching...
No Matches
NdsForge.NdsBanner Class Referencesealed

Represents a versioned menu icon, localized titles, and optional DSi animation. More...

Public Member Functions

byte[] RenderIconRgba32 ()
 Renders the static 32-by-32 icon as row-major RGBA32 pixels.
byte[] RenderAnimatedIconRgba32 (int tileFrame, int paletteFrame)
 Renders one DSi animated-icon tile and palette frame as RGBA32.
byte[] RenderAnimationStepRgba32 (NdsBannerAnimationStep step)
 Renders the exact pose described by a typed sequence entry, including hardware horizontal and vertical mirroring. Duration remains metadata for the caller's playback clock and does not alter pixel output.
ushort[] GetAnimationSequence ()
 Returns the 64 packed DSi sequence words without interpreting duration, frame, palette, or flip bitfields.
IReadOnlyList< NdsBannerAnimationStepGetAnimationSteps ()
 Decodes meaningful DSi animation poses up to the first zero terminator. This excludes unused fixed-capacity entries while GetAnimationSequence remains available for byte-level inspection.
NdsBanner WithRepairedCrcs ()
 Returns a byte-preserving banner copy with only the version-defined CRC fields recalculated. Reserved bytes, titles, pixels, palettes, sequence capacity, and unused checksum slots remain unchanged.

Static Public Member Functions

static NdsBanner Parse (ReadOnlyMemory< byte > data)
 Parses a complete raw banner from memory.

Properties

ushort Version [get]
 Selects title count and CRC layout: 1-3 are static, while 0x0103 adds DSi animation.
ReadOnlyMemory< byte > RawData [get]
 Preserves reserved fields and animation bits not projected into typed properties, enabling lossless export.
IReadOnlyList< ushort > StoredCrcs [get]
 Gets stored version CRCs in slot order.
IReadOnlyDictionary< NdsBannerLanguage, string > Titles [get]
 Gets localized titles supported by this banner version.
bool IsAnimated [get]
 Gets whether this banner contains DSi animated-icon data.
int LanguageCount [get]
 Maps historical revisions to six, seven, or eight fixed 0x100-byte UTF-16LE slots.

Detailed Description

Represents a versioned menu icon, localized titles, and optional DSi animation.

Definition at line 8 of file NdsBanner.cs.

Member Function Documentation

◆ GetAnimationSequence()

ushort[] NdsForge.NdsBanner.GetAnimationSequence ( )
inline

Returns the 64 packed DSi sequence words without interpreting duration, frame, palette, or flip bitfields.

Returns
An empty array for non-animated banners.

Definition at line 149 of file NdsBanner.cs.

◆ GetAnimationSteps()

IReadOnlyList< NdsBannerAnimationStep > NdsForge.NdsBanner.GetAnimationSteps ( )
inline

Decodes meaningful DSi animation poses up to the first zero terminator. This excludes unused fixed-capacity entries while GetAnimationSequence remains available for byte-level inspection.

Returns
Typed poses in playback order, or an empty list for a static or unanimated banner.

Definition at line 170 of file NdsBanner.cs.

◆ Parse()

NdsBanner NdsForge.NdsBanner.Parse ( ReadOnlyMemory< byte > data)
inlinestatic

Parses a complete raw banner from memory.

Parameters
dataExactly one supported banner structure.
Returns
The immutable parsed banner.

Definition at line 49 of file NdsBanner.cs.

◆ RenderAnimatedIconRgba32()

byte[] NdsForge.NdsBanner.RenderAnimatedIconRgba32 ( int tileFrame,
int paletteFrame )
inline

Renders one DSi animated-icon tile and palette frame as RGBA32.

Parameters
tileFrameThe tile frame from zero through seven.
paletteFrameThe palette frame from zero through seven.
Returns
A 4096-byte RGBA32 pixel buffer.

Definition at line 101 of file NdsBanner.cs.

◆ RenderAnimationStepRgba32()

byte[] NdsForge.NdsBanner.RenderAnimationStepRgba32 ( NdsBannerAnimationStep step)
inline

Renders the exact pose described by a typed sequence entry, including hardware horizontal and vertical mirroring. Duration remains metadata for the caller's playback clock and does not alter pixel output.

Parameters
stepValidated frame selectors and flip flags, typically obtained from GetAnimationSteps.
Returns
A 4096-byte row-major RGBA32 pose ready for display or image encoding.

Definition at line 123 of file NdsBanner.cs.

◆ RenderIconRgba32()

byte[] NdsForge.NdsBanner.RenderIconRgba32 ( )
inline

Renders the static 32-by-32 icon as row-major RGBA32 pixels.

Returns
A 4096-byte RGBA32 pixel buffer.

Definition at line 93 of file NdsBanner.cs.

◆ WithRepairedCrcs()

NdsBanner NdsForge.NdsBanner.WithRepairedCrcs ( )
inline

Returns a byte-preserving banner copy with only the version-defined CRC fields recalculated. Reserved bytes, titles, pixels, palettes, sequence capacity, and unused checksum slots remain unchanged.

Returns
An immutable repaired banner suitable for an explicit preservation edit.

Definition at line 196 of file NdsBanner.cs.

Property Documentation

◆ IsAnimated

bool NdsForge.NdsBanner.IsAnimated
get

Gets whether this banner contains DSi animated-icon data.

Definition at line 80 of file NdsBanner.cs.

◆ LanguageCount

int NdsForge.NdsBanner.LanguageCount
get

Maps historical revisions to six, seven, or eight fixed 0x100-byte UTF-16LE slots.

Definition at line 83 of file NdsBanner.cs.

◆ RawData

ReadOnlyMemory<byte> NdsForge.NdsBanner.RawData
get

Preserves reserved fields and animation bits not projected into typed properties, enabling lossless export.

Definition at line 71 of file NdsBanner.cs.

◆ StoredCrcs

IReadOnlyList<ushort> NdsForge.NdsBanner.StoredCrcs
get

Gets stored version CRCs in slot order.

Definition at line 74 of file NdsBanner.cs.

◆ Titles

IReadOnlyDictionary<NdsBannerLanguage, string> NdsForge.NdsBanner.Titles
get

Gets localized titles supported by this banner version.

Definition at line 77 of file NdsBanner.cs.

◆ Version

ushort NdsForge.NdsBanner.Version
get

Selects title count and CRC layout: 1-3 are static, while 0x0103 adds DSi animation.

Definition at line 68 of file NdsBanner.cs.


The documentation for this class was generated from the following file: