mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-29 05:11:55 +01:00
Core/Movement: Updated spline flags
This commit is contained in:
@@ -32,12 +32,12 @@ namespace Movement
|
||||
{
|
||||
None = 0x00000000,
|
||||
// x00-x07 used as animation Ids storage in pair with Animation flag
|
||||
Unknown0 = 0x00000008, // NOT VERIFIED
|
||||
Unknown0 = 0x00000008, // NOT VERIFIED - does someting related to falling/fixed orientation
|
||||
FallingSlow = 0x00000010,
|
||||
Done = 0x00000020,
|
||||
Falling = 0x00000040, // Affects elevation computation, can't be combined with Parabolic flag
|
||||
No_Spline = 0x00000080,
|
||||
Unknown2 = 0x00000100, // NOT VERIFIED
|
||||
Unknown1 = 0x00000100, // NOT VERIFIED
|
||||
Flying = 0x00000200, // Smooth movement(Catmullrom interpolation mode), flying animation
|
||||
OrientationFixed = 0x00000400, // Model orientation fixed
|
||||
Catmullrom = 0x00000800, // Used Catmullrom interpolation mode
|
||||
@@ -46,21 +46,21 @@ namespace Movement
|
||||
Frozen = 0x00004000, // Will never arrive
|
||||
TransportEnter = 0x00008000,
|
||||
TransportExit = 0x00010000,
|
||||
Unknown3 = 0x00020000, // NOT VERIFIED
|
||||
Unknown4 = 0x00040000, // NOT VERIFIED
|
||||
Unknown2 = 0x00020000, // NOT VERIFIED
|
||||
Unknown3 = 0x00040000, // NOT VERIFIED
|
||||
OrientationInversed = 0x00080000,
|
||||
SmoothGroundPath = 0x00100000,
|
||||
Walkmode = 0x00200000,
|
||||
UncompressedPath = 0x00400000,
|
||||
Unknown6 = 0x00800000, // NOT VERIFIED
|
||||
Animation = 0x01000000, // Plays animation after some time passed
|
||||
Parabolic = 0x02000000, // Affects elevation computation, can't be combined with Falling flag
|
||||
Final_Point = 0x04000000,
|
||||
Final_Target = 0x08000000,
|
||||
Final_Angle = 0x10000000,
|
||||
Unknown7 = 0x20000000, // NOT VERIFIED
|
||||
Unknown8 = 0x40000000, // NOT VERIFIED
|
||||
Unknown9 = 0x80000000, // NOT VERIFIED
|
||||
Unknown4 = 0x00800000, // NOT VERIFIED
|
||||
Unknown5 = 0x01000000, // NOT VERIFIED
|
||||
Animation = 0x02000000, // Plays animation after some time passed
|
||||
Parabolic = 0x04000000, // Affects elevation computation, can't be combined with Falling flag
|
||||
Final_Point = 0x08000000,
|
||||
Final_Target = 0x10000000,
|
||||
Final_Angle = 0x20000000,
|
||||
Unknown6 = 0x40000000, // NOT VERIFIED
|
||||
Unknown7 = 0x80000000, // NOT VERIFIED
|
||||
|
||||
// Masks
|
||||
Mask_Final_Facing = Final_Point | Final_Target | Final_Angle,
|
||||
@@ -69,7 +69,7 @@ namespace Movement
|
||||
// flags that shouldn't be appended into SMSG_MONSTER_MOVE\SMSG_MONSTER_MOVE_TRANSPORT packet, should be more probably
|
||||
Mask_No_Monster_Move = Mask_Final_Facing | Mask_Animations | Done,
|
||||
// Unused, not suported flags
|
||||
Mask_Unused = No_Spline|Enter_Cycle|Frozen|Unknown0|Unknown2|Unknown3|Unknown4|Unknown6|Unknown7|Unknown8|Unknown9
|
||||
Mask_Unused = No_Spline|Enter_Cycle|Frozen|Unknown0|Unknown1|Unknown2|Unknown3|Unknown4|Unknown5|Unknown6|Unknown7
|
||||
};
|
||||
|
||||
inline uint32& raw() { return (uint32&)*this; }
|
||||
@@ -114,7 +114,7 @@ namespace Movement
|
||||
bool done : 1;
|
||||
bool falling : 1;
|
||||
bool no_spline : 1;
|
||||
bool unknown2 : 1;
|
||||
bool unknown1 : 1;
|
||||
bool flying : 1;
|
||||
bool orientationFixed : 1;
|
||||
bool catmullrom : 1;
|
||||
@@ -123,21 +123,21 @@ namespace Movement
|
||||
bool frozen : 1;
|
||||
bool transportEnter : 1;
|
||||
bool transportExit : 1;
|
||||
bool unknown2 : 1;
|
||||
bool unknown3 : 1;
|
||||
bool unknown4 : 1;
|
||||
bool orientationInversed : 1;
|
||||
bool smoothGroundPath : 1;
|
||||
bool walkmode : 1;
|
||||
bool uncompressedPath : 1;
|
||||
bool unknown6 : 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;
|
||||
bool unknown8 : 1;
|
||||
bool unknown9 : 1;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
}
|
||||
|
||||
@@ -198,9 +198,9 @@ ByteBuffer& WorldPackets::operator<<(ByteBuffer& data, Movement::MonsterSplineFi
|
||||
data << monsterSplineFilter.BaseSpeed;
|
||||
data << monsterSplineFilter.StartOffset;
|
||||
data << monsterSplineFilter.DistToPrevFilterKey;
|
||||
data << monsterSplineFilter.AddedToStart;
|
||||
for (WorldPackets::Movement::MonsterSplineFilterKey const& filterKey : monsterSplineFilter.FilterKeys)
|
||||
data << filterKey;
|
||||
data << monsterSplineFilter.AddedToStart;
|
||||
data.WriteBits(monsterSplineFilter.FilterFlags, 2);
|
||||
data.FlushBits();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user