Table of Contents

Class M2Ribbon

Namespace
WoWLib.Formats.M2.Root.Record
Assembly
WoWLib.dll

One ribbon emitter. Abstract over the client version; construct a concrete version with M2Ribbon.ForVersion / for_version.

public class M2Ribbon : IDisposable
Inheritance
M2Ribbon
Implements
Derived
Inherited Members

Constructors

M2Ribbon()

public M2Ribbon()

M2Ribbon(M2Ribbon)

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

public M2Ribbon(M2Ribbon other)

Parameters

other M2Ribbon

Properties

Alpha

0 transparent .. 0x7FFF opaque.

public M2TrackFixed16 Alpha { get; set; }

Property Value

M2TrackFixed16

BoneIndex

The bone the ribbon trails from.

public uint BoneIndex { get; set; }

Property Value

uint

Color

RGB multiplier for the material.

public M2TrackC3Vector Color { get; set; }

Property Value

M2TrackC3Vector

EdgeLifetime

Seconds a quad stays around.

public float EdgeLifetime { get; set; }

Property Value

float

EdgesPerSecond

Quad emission rate.

public float EdgesPerSecond { get; set; }

Property Value

float

Gravity

Sinks/rises the ribbon over time.

public float Gravity { get; set; }

Property Value

float

HeightAbove

Ribbon width above the bone origin.

public M2TrackFloat HeightAbove { get; set; }

Property Value

M2TrackFloat

HeightBelow

Ribbon width below the bone origin; do not set equal to height_above.

public M2TrackFloat HeightBelow { get; set; }

Property Value

M2TrackFloat

MaterialIndices

Into the model's materials.

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

Property Value

Vector<ushort>

Position

Relative to that bone.

public C3Vector Position { get; set; }

Property Value

C3Vector

PriorityPlane

Render priority plane (WotLK+).

public short PriorityPlane { get; set; }

Property Value

short

RibbonColorIndex

ParticleColor.dbc replacement-color index (WotLK+).

public sbyte RibbonColorIndex { get; set; }

Property Value

sbyte

RibbonId

Always -1 in known files.

public uint RibbonId { get; set; }

Property Value

uint

TexSlot

Animated flipbook cell index.

public M2TrackUInt16 TexSlot { get; set; }

Property Value

M2TrackUInt16

TextureCols

Flipbook tiling.

public ushort TextureCols { get; set; }

Property Value

ushort

TextureIndices

Into the model's textures.

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

Property Value

Vector<ushort>

TextureRows

Flipbook tiling.

public ushort TextureRows { get; set; }

Property Value

ushort

TextureTransformLookupIndex

Index into the texture-transform combos, applied only under global flag 0x20000 (WotLK+).

public sbyte TextureTransformLookupIndex { get; set; }

Property Value

sbyte

Visibility

Bool track: ribbon visible.

public M2TrackUInt8 Visibility { get; set; }

Property Value

M2TrackUInt8

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 M2Ribbon 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 M2Ribbon ForVersion(ClientVersion version)

Parameters

version ClientVersion

Returns

M2Ribbon

ForVersion(Expansion)

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

public static M2Ribbon ForVersion(Expansion era)

Parameters

era Expansion

Returns

M2Ribbon

GetHashCode()

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

public override int GetHashCode()

Returns

int

Operators

operator ==(M2Ribbon?, M2Ribbon?)

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

Parameters

l M2Ribbon
r M2Ribbon

Returns

bool

operator !=(M2Ribbon?, M2Ribbon?)

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

Parameters

l M2Ribbon
r M2Ribbon

Returns

bool