MovementBlock
Client Version 1.12
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/gameobject/smsg_update_object.wowm:83
.
struct MovementBlock {
UpdateFlag update_flag;
if (update_flag & LIVING) {
MovementFlags flags;
u32 timestamp;
Vector3d living_position;
f32 living_orientation;
if (flags & ON_TRANSPORT) {
PackedGuid transport_guid;
Vector3d transport_position;
f32 transport_orientation;
}
if (flags & SWIMMING) {
f32 pitch;
}
f32 fall_time;
if (flags & JUMPING) {
f32 z_speed;
f32 cos_angle;
f32 sin_angle;
f32 xy_speed;
}
if (flags & SPLINE_ELEVATION) {
f32 spline_elevation;
}
f32 walking_speed;
f32 running_speed;
f32 backwards_running_speed;
f32 swimming_speed;
f32 backwards_swimming_speed;
f32 turn_rate;
if (flags & SPLINE_ENABLED) {
SplineFlag spline_flags;
if (spline_flags & FINAL_ANGLE) {
f32 angle;
}
else if (spline_flags & FINAL_TARGET) {
u64 target;
}
else if (spline_flags & FINAL_POINT) {
Vector3d spline_final_point;
}
u32 time_passed;
u32 duration;
u32 id;
u32 amount_of_nodes;
Vector3d[amount_of_nodes] nodes;
Vector3d final_node;
}
}
else if (update_flag & HAS_POSITION) {
Vector3d position;
f32 orientation;
}
if (update_flag & HIGH_GUID) {
u32 unknown0;
}
if (update_flag & ALL) {
u32 unknown1;
}
if (update_flag & MELEE_ATTACKING) {
PackedGuid guid;
}
if (update_flag & TRANSPORT) {
u32 transport_progress_in_ms;
}
}
Used in:
Client Version 2.4.3
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/gameobject/smsg_update_object_2_4_3.wowm:14
.
struct MovementBlock {
UpdateFlag update_flag;
if (update_flag & LIVING) {
MovementFlags flags;
u8 extra_flags;
u32 timestamp;
Vector3d living_position;
f32 living_orientation;
if (flags & ON_TRANSPORT) {
TransportInfo transport;
}
if (flags & SWIMMING) {
f32 pitch1;
}
else if (flags & ONTRANSPORT) {
f32 pitch2;
}
f32 fall_time;
if (flags & JUMPING) {
f32 z_speed;
f32 cos_angle;
f32 sin_angle;
f32 xy_speed;
}
if (flags & SPLINE_ELEVATION) {
f32 spline_elevation;
}
f32 walking_speed;
f32 running_speed;
f32 backwards_running_speed;
f32 swimming_speed;
f32 flying_speed;
f32 backwards_flying_speed;
f32 backwards_swimming_speed;
f32 turn_rate;
if (flags & SPLINE_ENABLED) {
SplineFlag spline_flags;
if (spline_flags & FINAL_ANGLE) {
f32 angle;
}
else if (spline_flags & FINAL_TARGET) {
Guid target;
}
else if (spline_flags & FINAL_POINT) {
Vector3d spline_final_point;
}
u32 time_passed;
u32 duration;
u32 id;
u32 amount_of_nodes;
Vector3d[amount_of_nodes] nodes;
Vector3d final_node;
}
}
else if (update_flag & HAS_POSITION) {
Vector3d position;
f32 orientation;
}
if (update_flag & HIGH_GUID) {
u32 unknown0;
u32 unknown1;
}
if (update_flag & ALL) {
u32 unknown2;
}
if (update_flag & MELEE_ATTACKING) {
PackedGuid guid;
}
if (update_flag & TRANSPORT) {
u32 transport_progress_in_ms;
}
}
Used in:
Client Version 3.3.5
Wowm Representation
Autogenerated from wowm
file at wow_message_parser/wowm/world/gameobject/smsg_update_object_3_3_5.wowm:72
.
struct MovementBlock {
UpdateFlag update_flag;
if (update_flag & LIVING) {
MovementFlags flags;
u32 timestamp;
Vector3d position;
f32 orientation;
if (flags & ON_TRANSPORT_AND_INTERPOLATED_MOVEMENT) {
TransportInfo transport_info;
u32 transport_time;
}
else if (flags & ON_TRANSPORT) {
TransportInfo transport;
}
if (flags & SWIMMING) {
f32 pitch1;
}
else if (flags & FLYING) {
f32 pitch2;
}
else if (flags & ALWAYS_ALLOW_PITCHING) {
f32 pitch3;
}
f32 fall_time;
if (flags & FALLING) {
f32 z_speed;
f32 cos_angle;
f32 sin_angle;
f32 xy_speed;
}
if (flags & SPLINE_ELEVATION) {
f32 spline_elevation;
}
f32 walking_speed;
f32 running_speed;
f32 backwards_running_speed;
f32 swimming_speed;
f32 backwards_swimming_speed;
f32 flight_speed;
f32 backwards_flight_speed;
f32 turn_rate;
f32 pitch_rate;
if (flags & SPLINE_ENABLED) {
SplineFlag spline_flags;
if (spline_flags & FINAL_ANGLE) {
f32 angle;
}
else if (spline_flags & FINAL_TARGET) {
u64 target;
}
else if (spline_flags & FINAL_POINT) {
Vector3d spline_final_point;
}
u32 time_passed;
u32 duration;
u32 id;
f32 duration_mod;
f32 duration_mod_next;
f32 vertical_acceleration;
f32 effect_start_time;
u32 amount_of_nodes;
Vector3d[amount_of_nodes] nodes;
u8 mode;
Vector3d final_node;
}
}
else if (update_flag & POSITION) {
PackedGuid transport_guid;
Vector3d position1;
Vector3d transport_offset;
f32 orientation1;
f32 corpse_orientation;
}
else if (update_flag & HAS_POSITION) {
Vector3d position2;
f32 orientation2;
}
if (update_flag & HIGH_GUID) {
u32 unknown0;
}
if (update_flag & LOW_GUID) {
u32 unknown1;
}
if (update_flag & HAS_ATTACKING_TARGET) {
PackedGuid guid;
}
if (update_flag & TRANSPORT) {
u32 transport_progress_in_ms;
}
if (update_flag & VEHICLE) {
u32 vehicle_id;
f32 vehicle_orientation;
}
if (update_flag & ROTATION) {
u64 packed_local_rotation;
}
}
Used in: