Class M2ParticleTbc
A particle emitter, TBC layout: byte-packed blending/emitter beside the ParticleColor.dbc index; ramps still static.
public class M2ParticleTbc : M2Particle, IDisposable
- Inheritance
-
M2ParticleTbc
- Implements
- Inherited Members
Constructors
M2ParticleTbc()
public M2ParticleTbc()
M2ParticleTbc(M2ParticleTbc)
Copy-construct: a deep copy of other (the C++ copy constructor).
public M2ParticleTbc(M2ParticleTbc other)
Parameters
otherM2ParticleTbc
Properties
BlendingType
Blend mode; see wowdev's blending-type table.
public byte BlendingType { get; set; }
Property Value
BoneId
The bone the emitter attaches to.
public ushort BoneId { get; set; }
Property Value
ColorValues
Start/middle/end BGRA multiply.
public FixedArray<CImVector> ColorValues { get; set; }
Property Value
Columns
Flipbook tiling.
public ushort Columns { get; set; }
Property Value
DecayUvAnim
Head flipbook cells, second half of life (start/middle/end).
public FixedArray<ushort> DecayUvAnim { get; set; }
Property Value
Drag
Speed is multiplied by exp(-drag * t).
public float Drag { get; set; }
Property Value
EmissionAreaLength
Plane: emission area length; sphere: min radius.
public M2TrackFloatVanillaToTbc EmissionAreaLength { get; set; }
Property Value
EmissionAreaWidth
Plane: emission area width; sphere: max radius.
public M2TrackFloatVanillaToTbc EmissionAreaWidth { get; set; }
Property Value
EmissionRate
Particles emitted per second.
public M2TrackFloatVanillaToTbc EmissionRate { get; set; }
Property Value
EmissionSpeed
Base emission velocity.
public M2TrackFloatVanillaToTbc EmissionSpeed { get; set; }
Property Value
EmitterType
1 plane, 2 sphere, 3 spline, 4 bone.
public byte EmitterType { get; set; }
Property Value
EnabledIn
Bool track: emitter active.
public M2TrackUInt8VanillaToTbc EnabledIn { get; set; }
Property Value
Flags
See wowdev's particle flag table.
public uint Flags { get; set; }
Property Value
FollowScale1
Fraction of emitter motion applied at follow_speed1.
public float FollowScale1 { get; set; }
Property Value
FollowScale2
Fraction of emitter motion applied at follow_speed2.
public float FollowScale2 { get; set; }
Property Value
FollowSpeed1
Emitter-follow ramp: at this emitter speed particles follow by follow_scale1.
public float FollowSpeed1 { get; set; }
Property Value
FollowSpeed2
Second point of the emitter-follow ramp.
public float FollowSpeed2 { get; set; }
Property Value
GeometryModelFilename
Spawns model particles when set.
public string GeometryModelFilename { get; set; }
Property Value
Gravity
Gravity; a compressed direction vector under the CompressedGravity flag.
public M2TrackFloatVanillaToTbc Gravity { get; set; }
Property Value
HeadOrTail
0 head, 1 tail, 2 both.
public byte HeadOrTail { get; set; }
Property Value
HorizontalRange
Max azimuth angle (0..2*pi): of the initial velocity for plane, of the position for sphere emitters.
public M2TrackFloatVanillaToTbc HorizontalRange { get; set; }
Property Value
InheritVelocityScale
Scales velocity inherited from the parent particle.
public float InheritVelocityScale { get; set; }
Property Value
Lifespan
Seconds each particle stays alive.
public M2TrackFloatVanillaToTbc Lifespan { get; set; }
Property Value
LifespanUvAnim
Head flipbook cells, first half of life (start/middle/end).
public FixedArray<ushort> LifespanUvAnim { get; set; }
Property Value
MidPoint
Parametric middle of the lifespan.
public float MidPoint { get; set; }
Property Value
ParticleColorIndex
ParticleColor.dbc row selector (0/11/12/13).
public ushort ParticleColorIndex { get; set; }
Property Value
ParticleId
Always -1 in known files.
public uint ParticleId { get; set; }
Property Value
ParticleType
Render type; in practice implied by flags and model.
public byte ParticleType { get; set; }
Property Value
Position
Relative to the bone.
public C3Vector Position { get; set; }
Property Value
PriorityPlane
Render priority plane.
public short PriorityPlane { get; set; }
Property Value
RecursionModelFilename
Child emitters come from this model.
public string RecursionModelFilename { get; set; }
Property Value
Rows
Flipbook tiling.
public ushort Rows { get; set; }
Property Value
ScaleValues
Start/middle/end scale.
public FixedArray<float> ScaleValues { get; set; }
Property Value
SpeedVariation
Random emission-speed variation (0..1).
public M2TrackFloatVanillaToTbc SpeedVariation { get; set; }
Property Value
Spin
1.0 = one full turn over the lifetime.
public float Spin { get; set; }
Property Value
SplinePoints
Spline emitter path.
public Vector<C3Vector> SplinePoints { get; set; }
Property Value
TailDecayUvAnim
Tail flipbook cells, second half of life (start/end).
public FixedArray<short> TailDecayUvAnim { get; set; }
Property Value
TailLength
Multiplier to the computed tail length.
public float TailLength { get; set; }
Property Value
TailUvAnim
Tail flipbook cells, first half of life (start/end).
public FixedArray<short> TailUvAnim { get; set; }
Property Value
TextureId
Into the model's textures.
public ushort TextureId { get; set; }
Property Value
Tumble
Angular velocity bounds (model particles).
public M2Box Tumble { get; set; }
Property Value
TwinklePercent
Fraction of the time visible (1.0 = always).
public float TwinklePercent { get; set; }
Property Value
TwinkleScale
Min/max random scale variation.
public CRange TwinkleScale { get; set; }
Property Value
TwinkleSpeed
Blinking speed.
public float TwinkleSpeed { get; set; }
Property Value
VerticalRange
Max polar angle (0..pi): of the initial velocity for plane, of the position for sphere emitters.
public M2TrackFloatVanillaToTbc VerticalRange { get; set; }
Property Value
WindTime
Undocumented; paired with the static wind vector.
public float WindTime { get; set; }
Property Value
WindVector
Static wind, unless DynamicWind flag.
public C3Vector WindVector { get; set; }
Property Value
ZSource
If > 0, initial velocity points from (0, 0, z_source) to the spawn point.
public M2TrackFloatVanillaToTbc ZSource { get; set; }
Property Value
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()
Operators
operator ==(M2ParticleTbc?, M2ParticleTbc?)
public static bool operator ==(M2ParticleTbc? l, M2ParticleTbc? r)
Parameters
Returns
operator !=(M2ParticleTbc?, M2ParticleTbc?)
public static bool operator !=(M2ParticleTbc? l, M2ParticleTbc? r)