Table of Contents

Class M2SkinProfile

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

One skin profile (a whole LOD's sections and batches). Abstract over the client version; construct a concrete version with M2SkinProfile.ForVersion / for_version.

public class M2SkinProfile : IDisposable
Inheritance
M2SkinProfile
Implements
Derived
Inherited Members

Constructors

M2SkinProfile()

public M2SkinProfile()

M2SkinProfile(M2SkinProfile)

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

public M2SkinProfile(M2SkinProfile other)

Parameters

other M2SkinProfile

Properties

Batches

The render batches (texture units).

public Vector<M2Batch> Batches { get; set; }

Property Value

Vector<M2Batch>

BoneCountMax

Max bones per draw call (21/53/64/256).

public uint BoneCountMax { get; set; }

Property Value

uint

Bones

Per-vertex 4-bone indices.

public Vector<FixedArray<byte>> Bones { get; set; }

Property Value

Vector<FixedArray<byte>>

Indices

Triangle list into the local vertices.

public Vector<ushort> Indices { get; set; }

Property Value

Vector<ushort>

ShadowBatches

Shadow batches (Cata+).

public Vector<M2ShadowBatch> ShadowBatches { get; set; }

Property Value

Vector<M2ShadowBatch>

Submeshes

The submeshes (skin sections).

public FamilyVector<M2SkinSection> Submeshes { get; }

Property Value

FamilyVector<M2SkinSection>

Vertices

Local -> global vertex lookup.

public Vector<ushort> Vertices { get; set; }

Property Value

Vector<ushort>

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 virtual void Dispose()

Equals(object?)

Determines whether the specified object is equal to the current object.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

ForVersion(ClientVersion)

A fresh M2SkinProfile for an exact client version — the only axis that can name a Classic client, whose files follow the engine its build was cut on rather than its 1.15 / 4.4 version number.

public static M2SkinProfile ForVersion(ClientVersion version)

Parameters

version ClientVersion

Returns

M2SkinProfile

ForVersion(Expansion)

A fresh M2SkinProfile for the given era, as the family base — the dynamic twin of the typed Era factories.

public static M2SkinProfile ForVersion(Expansion era)

Parameters

era Expansion

Returns

M2SkinProfile

GetHashCode()

Reference-identity hash (the C++ type has no hash to mirror).

public override int GetHashCode()

Returns

int

Operators

operator ==(M2SkinProfile?, M2SkinProfile?)

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

Parameters

l M2SkinProfile
r M2SkinProfile

Returns

bool

operator !=(M2SkinProfile?, M2SkinProfile?)

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

Parameters

l M2SkinProfile
r M2SkinProfile

Returns

bool