TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Movement::MoveSplineFlag Class Reference

#include <MoveSplineFlag.h>

Public Types

enum  eFlags {
  None = 0x00000000, Unknown0 = 0x00000008, FallingSlow = 0x00000010, Done = 0x00000020,
  Falling = 0x00000040, No_Spline = 0x00000080, Unknown1 = 0x00000100, Flying = 0x00000200,
  OrientationFixed = 0x00000400, Catmullrom = 0x00000800, Cyclic = 0x00001000, Enter_Cycle = 0x00002000,
  Frozen = 0x00004000, TransportEnter = 0x00008000, TransportExit = 0x00010000, Unknown2 = 0x00020000,
  Unknown3 = 0x00040000, OrientationInversed = 0x00080000, SmoothGroundPath = 0x00100000, Walkmode = 0x00200000,
  UncompressedPath = 0x00400000, Unknown4 = 0x00800000, Unknown5 = 0x01000000, Animation = 0x02000000,
  Parabolic = 0x04000000, Final_Point = 0x08000000, Final_Target = 0x10000000, Final_Angle = 0x20000000,
  Unknown6 = 0x40000000, Unknown7 = 0x80000000, Mask_Final_Facing = Final_Point | Final_Target | Final_Angle, Mask_Animations = 0x7,
  Mask_No_Monster_Move = Mask_Final_Facing | Mask_Animations | Done, Mask_Unused = No_Spline|Enter_Cycle|Frozen|Unknown0|Unknown1|Unknown2|Unknown3|Unknown4|Unknown5|Unknown6|Unknown7
}
 

Public Member Functions

uint32raw ()
 
const uint32raw () const
 
 MoveSplineFlag ()
 
 MoveSplineFlag (uint32 f)
 
 MoveSplineFlag (const MoveSplineFlag &f)
 
bool isSmooth () const
 
bool isLinear () const
 
bool isFacing () const
 
uint8 getAnimationId () const
 
bool hasAllFlags (uint32 f) const
 
bool hasFlag (uint32 f) const
 
uint32 operator& (uint32 f) const
 
uint32 operator| (uint32 f) const
 
std::string ToString () const
 
void operator&= (uint32 f)
 
void operator|= (uint32 f)
 
void EnableAnimation (uint8 anim)
 
void EnableParabolic ()
 
void EnableFlying ()
 
void EnableFalling ()
 
void EnableCatmullRom ()
 
void EnableFacingPoint ()
 
void EnableFacingAngle ()
 
void EnableFacingTarget ()
 
void EnableTransportEnter ()
 
void EnableTransportExit ()
 

Public Attributes

uint8 animId: 3
 
bool unknown0: 1
 
bool fallingSlow: 1
 
bool done: 1
 
bool falling: 1
 
bool no_spline: 1
 
bool unknown1: 1
 
bool flying: 1
 
bool orientationFixed: 1
 
bool catmullrom: 1
 
bool cyclic: 1
 
bool enter_cycle: 1
 
bool frozen: 1
 
bool transportEnter: 1
 
bool transportExit: 1
 
bool unknown2: 1
 
bool unknown3: 1
 
bool orientationInversed: 1
 
bool smoothGroundPath: 1
 
bool walkmode: 1
 
bool uncompressedPath: 1
 
bool unknown4: 1
 
bool unknown5: 1
 
bool animation: 1
 
bool parabolic: 1
 
bool final_point: 1
 
bool final_target: 1
 
bool final_angle: 1
 
bool unknown6: 1
 
bool unknown7: 1
 

Member Enumeration Documentation

Enumerator
None 
Unknown0 
FallingSlow 
Done 
Falling 
No_Spline 
Unknown1 
Flying 
OrientationFixed 
Catmullrom 
Cyclic 
Enter_Cycle 
Frozen 
TransportEnter 
TransportExit 
Unknown2 
Unknown3 
OrientationInversed 
SmoothGroundPath 
Walkmode 
UncompressedPath 
Unknown4 
Unknown5 
Animation 
Parabolic 
Final_Point 
Final_Target 
Final_Angle 
Unknown6 
Unknown7 
Mask_Final_Facing 
Mask_Animations 
Mask_No_Monster_Move 
Mask_Unused 
32  {
33  None = 0x00000000,
34  // x00-x07 used as animation Ids storage in pair with Animation flag
35  Unknown0 = 0x00000008, // NOT VERIFIED - does someting related to falling/fixed orientation
36  FallingSlow = 0x00000010,
37  Done = 0x00000020,
38  Falling = 0x00000040, // Affects elevation computation, can't be combined with Parabolic flag
39  No_Spline = 0x00000080,
40  Unknown1 = 0x00000100, // NOT VERIFIED
41  Flying = 0x00000200, // Smooth movement(Catmullrom interpolation mode), flying animation
42  OrientationFixed = 0x00000400, // Model orientation fixed
43  Catmullrom = 0x00000800, // Used Catmullrom interpolation mode
44  Cyclic = 0x00001000, // Movement by cycled spline
45  Enter_Cycle = 0x00002000, // Everytimes appears with cyclic flag in monster move packet, erases first spline vertex after first cycle done
46  Frozen = 0x00004000, // Will never arrive
47  TransportEnter = 0x00008000,
48  TransportExit = 0x00010000,
49  Unknown2 = 0x00020000, // NOT VERIFIED
50  Unknown3 = 0x00040000, // NOT VERIFIED
51  OrientationInversed = 0x00080000,
52  SmoothGroundPath = 0x00100000,
53  Walkmode = 0x00200000,
54  UncompressedPath = 0x00400000,
55  Unknown4 = 0x00800000, // NOT VERIFIED
56  Unknown5 = 0x01000000, // NOT VERIFIED
57  Animation = 0x02000000, // Plays animation after some time passed
58  Parabolic = 0x04000000, // Affects elevation computation, can't be combined with Falling flag
59  Final_Point = 0x08000000,
60  Final_Target = 0x10000000,
61  Final_Angle = 0x20000000,
62  Unknown6 = 0x40000000, // NOT VERIFIED
63  Unknown7 = 0x80000000, // NOT VERIFIED
64 
65  // Masks
67  // animation ids stored here, see AnimType enum, used with Animation flag
68  Mask_Animations = 0x7,
69  // flags that shouldn't be appended into SMSG_MONSTER_MOVE\SMSG_MONSTER_MOVE_TRANSPORT packet, should be more probably
70  Mask_No_Monster_Move = Mask_Final_Facing | Mask_Animations | Done,
71  // Unused, not suported flags
73  };
Definition: MoveSplineFlag.h:42
Definition: MoveSplineFlag.h:47
Definition: MoveSplineFlag.h:61
Definition: MoveSplineFlag.h:68
Definition: MoveSplineFlag.h:66
Definition: MoveSplineFlag.h:59
Definition: MoveSplineFlag.h:38
Definition: MoveSplineFlag.h:35
Definition: MoveSplineFlag.h:56
Definition: MoveSplineFlag.h:43
Definition: MoveSplineFlag.h:37
Definition: MoveSplineFlag.h:63
Definition: MoveSplineFlag.h:49
Definition: MoveSplineFlag.h:54
Definition: MoveSplineFlag.h:44
Definition: MoveSplineFlag.h:40
Definition: MoveSplineFlag.h:48
Definition: MoveSplineFlag.h:70
Definition: MoveSplineFlag.h:55
Definition: MoveSplineFlag.h:58
Definition: MoveSplineFlag.h:45
Definition: MoveSplineFlag.h:39
Definition: MoveSplineFlag.h:60
Definition: MoveSplineFlag.h:62
Definition: MoveSplineFlag.h:51
Definition: MoveSplineFlag.h:36
Definition: boss_illidan.cpp:346
Definition: MoveSplineFlag.h:52
Definition: MoveSplineFlag.h:41
Definition: MoveSplineFlag.h:46
Definition: MoveSplineFlag.h:50
Definition: MoveSplineFlag.h:53
Definition: MoveSplineFlag.h:72
Definition: MoveSplineFlag.h:33

Constructor & Destructor Documentation

Movement::MoveSplineFlag::MoveSplineFlag ( )
inline
78 { raw() = 0; }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

Movement::MoveSplineFlag::MoveSplineFlag ( uint32  f)
inline
79 { raw() = f; }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

Movement::MoveSplineFlag::MoveSplineFlag ( const MoveSplineFlag f)
inline
80 { raw() = f.raw(); }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

Member Function Documentation

void Movement::MoveSplineFlag::EnableAnimation ( uint8  anim)
inline
100 { raw() = (raw() & ~(Mask_Animations | Falling | Parabolic | FallingSlow)) | Animation | (anim & Mask_Animations); }
Definition: MoveSplineFlag.h:68
Definition: MoveSplineFlag.h:38
uint32 & raw()
Definition: MoveSplineFlag.h:75
Definition: MoveSplineFlag.h:58
Definition: MoveSplineFlag.h:36
Definition: boss_illidan.cpp:346

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableCatmullRom ( )
inline
104 { raw() = (raw() & ~SmoothGroundPath) | Catmullrom; }
Definition: MoveSplineFlag.h:43
uint32 & raw()
Definition: MoveSplineFlag.h:75
Definition: MoveSplineFlag.h:52

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableFacingAngle ( )
inline
106 { raw() = (raw() & ~Mask_Final_Facing) | Final_Angle; }
Definition: MoveSplineFlag.h:61
Definition: MoveSplineFlag.h:66
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableFacingPoint ( )
inline
105 { raw() = (raw() & ~Mask_Final_Facing) | Final_Point; }
Definition: MoveSplineFlag.h:66
Definition: MoveSplineFlag.h:59
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableFacingTarget ( )
inline
107 { raw() = (raw() & ~Mask_Final_Facing) | Final_Target; }
Definition: MoveSplineFlag.h:66
uint32 & raw()
Definition: MoveSplineFlag.h:75
Definition: MoveSplineFlag.h:60

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableFalling ( )
inline
103 { raw() = (raw() & ~(Mask_Animations | Parabolic | Animation | Flying)) | Falling; }
Definition: MoveSplineFlag.h:68
Definition: MoveSplineFlag.h:38
uint32 & raw()
Definition: MoveSplineFlag.h:75
Definition: MoveSplineFlag.h:58
Definition: boss_illidan.cpp:346
Definition: MoveSplineFlag.h:41

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableFlying ( )
inline
102 { raw() = (raw() & ~(Falling)) | Flying; }
Definition: MoveSplineFlag.h:38
uint32 & raw()
Definition: MoveSplineFlag.h:75
Definition: MoveSplineFlag.h:41

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableParabolic ( )
inline
101 { raw() = (raw() & ~(Mask_Animations | Falling | Animation | FallingSlow)) | Parabolic; }
Definition: MoveSplineFlag.h:68
Definition: MoveSplineFlag.h:38
uint32 & raw()
Definition: MoveSplineFlag.h:75
Definition: MoveSplineFlag.h:58
Definition: MoveSplineFlag.h:36
Definition: boss_illidan.cpp:346

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableTransportEnter ( )
inline
108 { raw() = (raw() & ~TransportExit) | TransportEnter; }
Definition: MoveSplineFlag.h:47
uint32 & raw()
Definition: MoveSplineFlag.h:75
Definition: MoveSplineFlag.h:48

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Movement::MoveSplineFlag::EnableTransportExit ( )
inline
109 { raw() = (raw() & ~TransportEnter) | TransportExit; }
Definition: MoveSplineFlag.h:47
uint32 & raw()
Definition: MoveSplineFlag.h:75
Definition: MoveSplineFlag.h:48

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint8 Movement::MoveSplineFlag::getAnimationId ( ) const
inline
88 { return animId; }
uint8 animId
Definition: MoveSplineFlag.h:111

+ Here is the caller graph for this function:

bool Movement::MoveSplineFlag::hasAllFlags ( uint32  f) const
inline
89 { return (raw() & f) == f; }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

bool Movement::MoveSplineFlag::hasFlag ( uint32  f) const
inline
90 { return (raw() & f) != 0; }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool Movement::MoveSplineFlag::isFacing ( ) const
inline
86 { return (raw() & Mask_Final_Facing) != 0; }
Definition: MoveSplineFlag.h:66
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool Movement::MoveSplineFlag::isLinear ( ) const
inline
85 { return !isSmooth(); }
bool isSmooth() const
Definition: MoveSplineFlag.h:84

+ Here is the call graph for this function:

bool Movement::MoveSplineFlag::isSmooth ( ) const
inline
84 { return (raw() & Catmullrom) != 0; }
Definition: MoveSplineFlag.h:43
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32 Movement::MoveSplineFlag::operator& ( uint32  f) const
inline
91 { return (raw() & f); }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

void Movement::MoveSplineFlag::operator&= ( uint32  f)
inline
97 { raw() &= f; }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

uint32 Movement::MoveSplineFlag::operator| ( uint32  f) const
inline
92 { return (raw() | f); }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

void Movement::MoveSplineFlag::operator|= ( uint32  f)
inline
98 { raw() |= f; }
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

uint32& Movement::MoveSplineFlag::raw ( )
inline
75 { return (uint32&)*this; }
uint32_t uint32
Definition: Define.h:150

+ Here is the caller graph for this function:

const uint32& Movement::MoveSplineFlag::raw ( ) const
inline
76 { return (const uint32&)*this; }
uint32_t uint32
Definition: Define.h:150
std::string Movement::MoveSplineFlag::ToString ( ) const
189  {
190  std::string str;
191  PrintFlags(raw(), SplineFlagNames, str);
192  return str;
193  }
void PrintFlags(Flags t, char const *(&names)[N], std::string &str)
Definition: MovementUtil.cpp:179
char const * SplineFlagNames[32]
Definition: MovementUtil.cpp:142
uint32 & raw()
Definition: MoveSplineFlag.h:75

+ Here is the call graph for this function:

Member Data Documentation

bool Movement::MoveSplineFlag::animation
uint8 Movement::MoveSplineFlag::animId
bool Movement::MoveSplineFlag::catmullrom
bool Movement::MoveSplineFlag::cyclic
bool Movement::MoveSplineFlag::done
bool Movement::MoveSplineFlag::enter_cycle
bool Movement::MoveSplineFlag::falling
bool Movement::MoveSplineFlag::fallingSlow
bool Movement::MoveSplineFlag::final_angle
bool Movement::MoveSplineFlag::final_point
bool Movement::MoveSplineFlag::final_target
bool Movement::MoveSplineFlag::flying
bool Movement::MoveSplineFlag::frozen
bool Movement::MoveSplineFlag::no_spline
bool Movement::MoveSplineFlag::orientationFixed
bool Movement::MoveSplineFlag::orientationInversed
bool Movement::MoveSplineFlag::parabolic
bool Movement::MoveSplineFlag::smoothGroundPath
bool Movement::MoveSplineFlag::transportEnter
bool Movement::MoveSplineFlag::transportExit
bool Movement::MoveSplineFlag::uncompressedPath
bool Movement::MoveSplineFlag::unknown0
bool Movement::MoveSplineFlag::unknown1
bool Movement::MoveSplineFlag::unknown2
bool Movement::MoveSplineFlag::unknown3
bool Movement::MoveSplineFlag::unknown4
bool Movement::MoveSplineFlag::unknown5
bool Movement::MoveSplineFlag::unknown6
bool Movement::MoveSplineFlag::unknown7
bool Movement::MoveSplineFlag::walkmode

The documentation for this class was generated from the following files: