Difference between revisions of "UpdateTransformMessage"

From SWGANH Wiki
Jump to: navigation, search
(Variable Descriptions)
(Sample Packet)
Line 100: Line 100:
 
CB 2B // z
 
CB 2B // z
 
03 03 00 00 // counter
 
03 03 00 00 // counter
00 // posture
+
00 // Speed
 
2F // direction
 
2F // direction
 +
 +
08 00 //opcount
 +
08 F8 24 1B // UpdateTransformMessage
 +
D5 4F 90 19 17 00 00 00 // ID
 +
FA CF // x -3073.5
 +
7C 00 // y 31
 +
11 2C // z 2820.25
 +
6E 02 00 00 // update counter
 +
00 // speed
 +
E7 // direction
 
</pre>
 
</pre>

Revision as of 15:48, 5 January 2025

Server Packet - UpdateTransformMessage (1B24F808)

SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.

Struct


SHORT Op Count
INT Opcode
LONG ObjectID
SHORT PositionX
SHORT PositionY
SHORT PositionZ
INT UpdateCounter
BYTE Speed
BYTE Direction

Variable Descriptions


Opperand_Count = 8

Opcode = 1B24F808


  • ObjectID:
ObjectID that you are listing attributes for.
  • Position X / Y / Z:
New Position of Object. The value is transformed the following way.
n = X / 4;
if n > 8192 n = n - 16384; 
effective map range is -8192..8192

to convert the a float to position
n = uint16(x * 4.0f + 0.5f);
  • UpdateCounter:
Number of movement updates the object has done.
Used to distinguish new updates from potential repeats.
Incremented by 1 each packet.
  • Speed:


Haven't seen it out side the range of 0..5 yet

  • Direction:
This is the direction for the object to face after moving.
It is calculated by (Angle / 0.0625) where angle is in radians.
    • Additional Notes:
This packet needs to be sent frequently to prevent start/stop in a movement stream.
Also, shorter distances at slower frequency will create slower speed.

:OLD--DATA--Found this to be the posture byte

This byte seems to be related to the 2 variances of ObjController Transform Packets
used (23 vs 21). See them for further detail. The 23 seems to be sent
in a Data channel signifying it being important. This byte is related to a
count of 21's the occur between a group of 23. The 23 is assumed to be start/end
of a chain of movement while the 21 is an update.

-

Tags


S→C This packet originates on the server.

100% This packet has been completely reversed.


Sample Packet

08 00 // op count
08 F8 24 1B // UpdateTransformMessage
EB 4F 90 19 17 00 00 00 // object ID
AD CF // x
7C 00 // y
CB 2B // z
03 03 00 00 // counter
00 // Speed
2F // direction

08 00 //opcount
08 F8 24 1B // UpdateTransformMessage
D5 4F 90 19 17 00 00 00 // ID
FA CF // x -3073.5
7C 00 // y 31
11 2C // z 2820.25
6E 02 00 00 // update counter
00 // speed
E7 // direction