using System; namespace Oni.Particles { [Flags] internal enum ParticleFlags1 { None = 0, Decorative = 0x00000001, UseSeparateYScale = 0x00000008, SpriteMode0 = 0x00000020, SpriteMode1 = 0x00000040, SpriteMode2 = 0x00000080, Geometry = 0x00000100, CollideWithWalls = 0x00000200, CollideWithChars = 0x00000400, ScaleToVelocity = 0x00000800, HasVelocity = 0x00001000, // 0x0c, vector3 HasOrientation = 0x00002000, // 0x24, matrix3x3 HasPositionOffset = 0x00004000, // 0x0c, vector3 HasAttachmentMatrix = 0x00008000, // 0x04, pointer to object transform matrix HasUnknown = 0x00010000, // 0x10, HasDecalState = 0x00020000, // 0x14 HasTextureStartTick = 0x00040000, // 0x04 HasTextureTick = 0x00080000, // 0x04 HasDamageOwner = 0x00100000, // 0x04, HasContrailData = 0x00200000, // 0x20, HasLensFlareState = 0x00400000, // 0x04, HasAttractor = 0x00800000, // 0x08, HasCollisionCache = 0x01000000, // 0x14, /// /// SpriteModeMask /// SpriteModeMask = 0x000000e0, } [Flags] internal enum ParticleFlags2 : uint { None = 0, UseSpecialTint = 0x00000001, DontAttractThroughWalls = 0x00000002, ExpireOnCutscene = 0x00000008, DieOnCutscene = 0x00000010, DisableLevel0 = 0x00000020, DisableLevel1 = 0x00000040, DrawAsSky = 0x00100000, DecalFullBrightness = 0x00200000, Decal = 0x00800000, InitiallyHidden = 0x01000000, Invisible = 0x02000000, FadeOutOnEdge = 0x04000000, Vector = 0x08000000, LockPositionToLink = 0x10000000, IsContrailEmitter = 0x20000000, LensFlare = 0x40000000, OneSidedEdgeFade = 0x80000000, /// /// DisableLevelMask /// DisableLevelMask = 0x00000060 } }