aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-08-10 14:10:57 +0200
committerShauren <shauren.trinity@gmail.com>2012-08-10 14:10:57 +0200
commit9538fb6d5a508adbebc9dd94ce25cbca6bd48789 (patch)
treee604080395845db3826549230689c299b83824c0 /src/server/game/Movement
parent5e1e9bb4dd10979c3bdf8debafc4e669355d4586 (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.cpp5
-rw-r--r--src/server/game/Movement/Spline/MovementPacketBuilder.cpp9
-rw-r--r--src/server/game/Movement/Spline/MovementPacketBuilder.h4
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