diff options
| author | Shauren <shauren.trinity@gmail.com> | 2012-08-10 14:10:57 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2012-08-10 14:10:57 +0200 |
| commit | 9538fb6d5a508adbebc9dd94ce25cbca6bd48789 (patch) | |
| tree | e604080395845db3826549230689c299b83824c0 /src/server/game/Movement | |
| parent | 5e1e9bb4dd10979c3bdf8debafc4e669355d4586 (diff) | |
Core/Movement: Ensured object orientation is always within 0-2pi range, this fixes movement.
Diffstat (limited to 'src/server/game/Movement')
| -rw-r--r-- | src/server/game/Movement/Spline/MoveSplineInit.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/Movement/Spline/MovementPacketBuilder.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/Movement/Spline/MovementPacketBuilder.h | 4 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/server/game/Movement/Spline/MoveSplineInit.cpp b/src/server/game/Movement/Spline/MoveSplineInit.cpp index 780b341f6f2..5b87d9c01b9 100644 --- a/src/server/game/Movement/Spline/MoveSplineInit.cpp +++ b/src/server/game/Movement/Spline/MoveSplineInit.cpp @@ -81,7 +81,7 @@ namespace Movement if (args.path.empty()) return; - // corrent first vertex + // correct first vertex args.path[0] = real_position; args.initialOrientation = real_position.orientation; @@ -114,7 +114,7 @@ namespace Movement } PacketBuilder::WriteMonsterMove(move_spline, data); - unit.SendMessageToSet(&data,true); + unit.SendMessageToSet(&data, true); } MoveSplineInit::MoveSplineInit(Unit& m) : unit(m) @@ -124,6 +124,7 @@ namespace Movement // mix existing state into new args.flags.walkmode = unit.m_movementInfo.HasMovementFlag(MOVEMENTFLAG_WALKING); args.flags.flying = unit.m_movementInfo.HasMovementFlag(MovementFlags(MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_DISABLE_GRAVITY)); + args.flags.smoothGroundPath = true; // enabled by default, CatmullRom mode or client config "pathSmoothing" will disable this } void MoveSplineInit::SetFacing(const Unit * target) diff --git a/src/server/game/Movement/Spline/MovementPacketBuilder.cpp b/src/server/game/Movement/Spline/MovementPacketBuilder.cpp index 19a250f7885..aab96a630fa 100644 --- a/src/server/game/Movement/Spline/MovementPacketBuilder.cpp +++ b/src/server/game/Movement/Spline/MovementPacketBuilder.cpp @@ -140,10 +140,9 @@ namespace Movement WriteLinearPath(spline, data); } - void PacketBuilder::WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data, bool& fullData) + void PacketBuilder::WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data) { - fullData = data.WriteBit(!moveSpline.Finalized()); - if (!fullData) + if (!data.WriteBit(!moveSpline.Finalized())) return; data.WriteBits(uint8(moveSpline.spline.mode()), 2); @@ -180,9 +179,9 @@ namespace Movement data.WriteBits(moveSpline.splineflags.raw(), 25); } - void PacketBuilder::WriteCreateData(MoveSpline const& moveSpline, ByteBuffer& data, bool fullData) + void PacketBuilder::WriteCreateData(MoveSpline const& moveSpline, ByteBuffer& data) { - if (fullData) + if (!moveSpline.Finalized()) { MoveSplineFlag splineFlags = moveSpline.splineflags; diff --git a/src/server/game/Movement/Spline/MovementPacketBuilder.h b/src/server/game/Movement/Spline/MovementPacketBuilder.h index 1b8506c5161..a6e4e4d5d04 100644 --- a/src/server/game/Movement/Spline/MovementPacketBuilder.h +++ b/src/server/game/Movement/Spline/MovementPacketBuilder.h @@ -31,8 +31,8 @@ namespace Movement public: static void WriteMonsterMove(const MoveSpline& mov, WorldPacket& data); - static void WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data, bool& fullData); - static void WriteCreateData(MoveSpline const& moveSpline, ByteBuffer& data, bool fullData); + static void WriteCreateBits(MoveSpline const& moveSpline, ByteBuffer& data); + static void WriteCreateData(MoveSpline const& moveSpline, ByteBuffer& data); }; } #endif // TRINITYSERVER_PACKET_BUILDER_H |
