AzerothCore 3.3.5a
OpenSource WoW Emulator
|
Classes | |
struct | CommonInitializer |
class | counter |
union | FacingInfo |
struct | FallInitializer |
class | HoverMovementTransform |
struct | Location |
class | MoveSpline |
class | MoveSplineFlag |
class | MoveSplineInit |
struct | MoveSplineInitArgs |
class | PacketBuilder |
class | Spline |
class | SplineBase |
class | TransportPathTransform |
Typedefs | |
typedef counter< uint32, 0xFFFFFFFF > | UInt32Counter |
typedef std::vector< Vector3 > | PointsArray |
Enumerations | |
enum | MonsterMoveType { MonsterMoveNormal = 0 , MonsterMoveStop = 1 , MonsterMoveFacingSpot = 2 , MonsterMoveFacingTarget = 3 , MonsterMoveFacingAngle = 4 } |
enum | { minimal_duration = 1 } |
enum | AnimType { ToGround = 0 , FlyToFly = 1 , ToFly = 2 , FlyToGround = 3 } |
Functions | |
void | operator<< (ByteBuffer &b, const Vector3 &v) |
void | operator>> (ByteBuffer &b, Vector3 &v) |
void | WriteLinearPath (const Spline< int32 > &spline, ByteBuffer &data) |
void | WriteCatmullRomPath (const Spline< int32 > &spline, ByteBuffer &data) |
void | WriteCatmullRomCyclicPath (const Spline< int32 > &spline, ByteBuffer &data, bool flying) |
uint32 | SecToMS (float sec) |
float | MSToSec (uint32 ms) |
float | computeFallTime (float path_length, bool isSafeFall) |
float | computeFallElevation (float t_passed, bool isSafeFall, float start_velocity=0.0f) |
template<class Flags , int N> | |
void | print_flags (Flags t, char const *(&names)[N], std::string &str) |
uint32 | computeDuration (float length, float velocity) |
UnitMoveType | SelectSpeedType (uint32 moveFlags) |
static const Matrix4 | s_catmullRomCoeffs (-0.5f, 1.5f, -1.5f, 0.5f, 1.f, -2.5f, 2.f, -0.5f, -0.5f, 0.f, 0.5f, 0.f, 0.f, 1.f, 0.f, 0.f) |
static const Matrix4 | s_Bezier3Coeffs (-1.f, 3.f, -3.f, 1.f, 3.f, -6.f, 3.f, 0.f, -3.f, 3.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f) |
void | C_Evaluate (const Vector3 *vertice, float t, const Matrix4 &matr, Vector3 &result) |
void | C_Evaluate_Derivative (const Vector3 *vertice, float t, const Matrix4 &matr, Vector3 &result) |
Variables | |
double | gravity = 19.29110527038574 |
UInt32Counter | splineIdGen |
float | terminalVelocity = 60.148003f |
Velocity bounds that makes fall speed limited. More... | |
float | terminalSafefallVelocity = 7.0f |
const float | terminal_length = float(terminalVelocity* terminalVelocity) / (2.0f * gravity) |
const float | terminal_safeFall_length = (terminalSafefallVelocity* terminalSafefallVelocity) / (2.0f * gravity) |
const float | terminal_fallTime = float(terminalVelocity / gravity) |
const float | terminal_safeFall_fallTime = float(terminalSafefallVelocity / gravity) |
char const * | g_MovementFlag_names [] |
char const * | g_SplineFlag_names [32] |
typedef std::vector<Vector3> Movement::PointsArray |
typedef counter<uint32, 0xFFFFFFFF> Movement::UInt32Counter |
anonymous enum |
Enumerator | |
---|---|
minimal_duration |
enum Movement::AnimType |
Enumerator | |
---|---|
MonsterMoveNormal | |
MonsterMoveStop | |
MonsterMoveFacingSpot | |
MonsterMoveFacingTarget | |
MonsterMoveFacingAngle |
|
inline |
Referenced by Movement::SplineBase::EvaluateBezier3(), Movement::SplineBase::EvaluateCatmullRom(), Movement::SplineBase::SegLengthBezier3(), and Movement::SplineBase::SegLengthCatmullRom().
|
inline |
Referenced by Movement::SplineBase::EvaluateDerivativeBezier3(), and Movement::SplineBase::EvaluateDerivativeCatmullRom().
|
inline |
References SecToMS().
float Movement::computeFallElevation | ( | float | t_passed, |
bool | isSafeFall, | ||
float | start_velocity = 0.0f |
||
) |
References gravity, terminal_fallTime, terminal_safeFall_fallTime, terminalSafefallVelocity, and terminalVelocity.
Referenced by Movement::MoveSpline::computeFallElevation(), MotionMaster::MoveJump(), and MotionMaster::MoveKnockbackFrom().
float Movement::computeFallTime | ( | float | path_length, |
bool | isSafeFall | ||
) |
References gravity, terminal_fallTime, terminal_length, terminal_safeFall_fallTime, terminal_safeFall_length, terminalSafefallVelocity, and terminalVelocity.
Referenced by Movement::FallInitializer::operator()().
|
inline |
Referenced by Movement::MoveSpline::computeFallElevation(), Movement::MoveSpline::computeParabolicElevation(), and Movement::MoveSpline::Initialize().
|
inline |
|
inline |
void Movement::print_flags | ( | Flags | t, |
char const *(&) | names[N], | ||
std::string & | str | ||
) |
Referenced by Movement::MoveSplineFlag::ToString().
|
static |
|
static |
|
inline |
Referenced by computeDuration().
UnitMoveType Movement::SelectSpeedType | ( | uint32 | moveFlags | ) |
References MOVE_FLIGHT, MOVE_FLIGHT_BACK, MOVE_RUN, MOVE_RUN_BACK, MOVE_SWIM, MOVE_SWIM_BACK, MOVE_WALK, MOVEMENTFLAG_BACKWARD, MOVEMENTFLAG_FLYING, MOVEMENTFLAG_SWIMMING, and MOVEMENTFLAG_WALKING.
Referenced by GetVelocity(), Movement::MoveSplineInit::Launch(), CreatureGroup::LeaderMoveTo(), and PredictPosition().
void Movement::WriteCatmullRomCyclicPath | ( | const Spline< int32 > & | spline, |
ByteBuffer & | data, | ||
bool | flying | ||
) |
References ByteBuffer::append(), Movement::SplineBase::getPoint(), and Movement::SplineBase::getPointCount().
Referenced by Movement::PacketBuilder::WriteMonsterMove().
void Movement::WriteCatmullRomPath | ( | const Spline< int32 > & | spline, |
ByteBuffer & | data | ||
) |
References ByteBuffer::append(), Movement::SplineBase::getPoint(), and Movement::SplineBase::getPointCount().
Referenced by Movement::PacketBuilder::WriteMonsterMove().
void Movement::WriteLinearPath | ( | const Spline< int32 > & | spline, |
ByteBuffer & | data | ||
) |
References ByteBuffer::appendPackXYZ(), Movement::SplineBase::getPoint(), and Movement::SplineBase::getPointCount().
Referenced by Movement::PacketBuilder::WriteMonsterMove().
char const* Movement::g_MovementFlag_names[] |
char const* Movement::g_SplineFlag_names[32] |
Referenced by Movement::MoveSplineFlag::ToString().
double Movement::gravity = 19.29110527038574 |
Referenced by Spell::CalculateJumpSpeeds(), computeFallElevation(), computeFallTime(), Spell::EffectPullTowards(), spell_entropius_black_hole_effect::HandlePull(), spell_boss_magus_telestra_gravity_well::HandlePull(), MotionMaster::MoveJump(), MotionMaster::MoveJumpTo(), and MotionMaster::MoveKnockbackFrom().
UInt32Counter Movement::splineIdGen |
Referenced by Movement::MoveSplineInit::MoveSplineInit().
const float Movement::terminal_fallTime = float(terminalVelocity / gravity) |
Referenced by computeFallElevation(), and computeFallTime().
const float Movement::terminal_length = float(terminalVelocity* terminalVelocity) / (2.0f * gravity) |
Referenced by computeFallTime().
const float Movement::terminal_safeFall_fallTime = float(terminalSafefallVelocity / gravity) |
Referenced by computeFallElevation(), and computeFallTime().
const float Movement::terminal_safeFall_length = (terminalSafefallVelocity* terminalSafefallVelocity) / (2.0f * gravity) |
Referenced by computeFallTime().
float Movement::terminalSafefallVelocity = 7.0f |
Referenced by computeFallElevation(), and computeFallTime().
float Movement::terminalVelocity = 60.148003f |
Velocity bounds that makes fall speed limited.
Referenced by computeFallElevation(), and computeFallTime().