Table of Contents

Class SkinWotlk

Namespace
WoWLib.Formats.M2.Skin
Assembly
WoWLib.dll

One external LOD view (.skin file, WotLK+): the 'SKIN' magic plus the profile tables (local lookups, submeshes, render batches). See https://wowdev.wiki/M2/.skin.

public class SkinWotlk : Skin, IDisposable
Inheritance
SkinWotlk
Implements
Inherited Members

Constructors

SkinWotlk()

public SkinWotlk()

SkinWotlk(SkinWotlk)

Copy-construct: a deep copy of other (the C++ copy constructor).

public SkinWotlk(SkinWotlk other)

Parameters

other SkinWotlk

Properties

Profile

The LOD view's tables (local lookups, submeshes, batches).

public M2SkinProfileTbcToWotlk Profile { get; set; }

Property Value

M2SkinProfileTbcToWotlk

Methods

Dispose()

Release the native object now. Optional: the finalizer releases it on collection anyway - dispose (or using) when you want native memory back promptly.

public override void Dispose()

EnsureValid()

Validate and raise on the first error instead of returning a report — the assert-style face of validate().

public void EnsureValid()

Read(byte[])

Deserialize file bytes into this entity, replacing its contents. Offsets resolve against the given buffer; sequence-gated data is read inline.

public void Read(byte[] data)

Parameters

data byte[]

the file (or containing-chunk payload) bytes

Validate()

Check the logical integrity contracts this file must satisfy to LOAD in the client — companion-array counts, lookup ranges — which write() deliberately never enforces. Call it before writing when you want to know the result will load. A file read from a client and left unmodified reports no errors; warnings mark states real client files ship.

public ValidationReport Validate()

Returns

ValidationReport

every violated contract, in member order

Write()

Serialize this entity in wowlib's canonical layout (an offset format has no byte-perfect round-trip guarantee; a written entity re-reads equal instead).

public byte[] Write()

Returns

byte[]

the file bytes

Operators

operator ==(SkinWotlk?, SkinWotlk?)

public static bool operator ==(SkinWotlk? l, SkinWotlk? r)

Parameters

l SkinWotlk
r SkinWotlk

Returns

bool

operator !=(SkinWotlk?, SkinWotlk?)

public static bool operator !=(SkinWotlk? l, SkinWotlk? r)

Parameters

l SkinWotlk
r SkinWotlk

Returns

bool