|
|
Line 58: |
Line 58: |
| * '''Posture''': | | * '''Posture''': |
| The byte before direction corresponds to: | | The byte before direction corresponds to: |
− | {| align="center"
| |
| | | |
| + | {| align="center" |
| + | |- |
| + | || |
| {| class="wikitable" | | {| class="wikitable" |
| |- | | |- |
Line 110: |
Line 112: |
| ||Blocking||21 | | ||Blocking||21 |
| |- | | |- |
| + | |} |
| |} | | |} |
| | | |
Line 139: |
Line 142: |
| ||{{100%}} | | ||{{100%}} |
| |- | | |- |
− | |}
| |
| |} | | |} |
| |} | | |} |
Revision as of 13:38, 31 December 2007
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
|
Operand_Count
|
INT
|
Opcode
|
LONG
|
ObjectID
|
SHORT
|
PositionX
|
SHORT
|
PositionY
|
SHORT
|
PositionZ
|
INT
|
UpdateCounter
|
BYTE
|
Posture
|
BYTE
|
Direction
|
|
Variable Descriptions
Opperand_Count = 8
Opcode = 1B24F808
- ObjectID that you are listing attributes for.
- 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);
- Number of movement updates the object has done.
- Used to distinguish new updates from potential repeats.
- Incremented by 1 each packet.
The byte before direction corresponds to:
Name |
ID
|
Invalid |
-1
|
Standing |
0
|
Sneaking |
1
|
Walking |
2
|
Running |
3
|
Kneeling |
4
|
CrouchSneaking |
5
|
CrouchWalking |
6
|
Prone |
7
|
Crawling |
8
|
ClimbingStationary |
9
|
Climbing |
10
|
Hovering |
11
|
Flying |
12
|
LyingDown |
13
|
Sitting |
14
|
SkillAnimating |
15
|
DrivingVehicle |
16
|
RidingCreature |
17
|
KnockedDown |
18
|
Incapacitated |
19
|
Dead |
20
|
Blocking |
21
|
|
Haven't seen it out side the range of 0..5 yet
- This is the direction for the object to face after moving.
- It is calculated by (Angle / 0.0625) where angle is in radians.
- 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 // posture
2F // direction