Forums WoW Modding Support Archives WoWModding Support Archives [DiscordArchive] Hi all, was wondering how to read this bit order from the client as it seems it got optimized by the

[DiscordArchive] Hi all, was wondering how to read this bit order from the client as it seems it got optimized by the

[DiscordArchive] Hi all, was wondering how to read this bit order from the client as it seems it got optimized by the

rektbyfaith
Administrator
0
10-17-2024, 11:59 PM
#1
Archived author: john • Posted: 2024-10-17T23:59:13.116000+00:00
Original source

Hi all, was wondering how to read this bit order from the client as it seems it got optimized by the compiler:

```cpp
CDataStore:TongueutInt32(this->MoveIndex);
CDataStore:TongueutFloat(a2, COERCE_INT(this->PosX));
CDataStore:TongueutFloat(a2, COERCE_INT(this->AckSpeed));
CDataStore:TongueutFloat(a2, COERCE_INT(this->PosZ));
CDataStore:TongueutFloat(a2, COERCE_INT(this->PosY));
Orientation = this->Orientation;
v5 = this->MoverGUID[2] == 0;
v32 = a2;
LOBYTE(v33) = this->HasSpline | (2
* ((2
* (this->HasFall | (2
* ((Orientation == 0.0) | (2
* ((2
* ((2
* ((2 * !v5) | (this->MoverGUID[4] != 0))) | (this->MoverGUID[1] != 0))) | (this->MoverGUID[7] != 0))))))) | (this->MoverGUID[0] != 0)));
CDataStore:TongueutInt8(a2, v33);
LOBYTE(v33) = (2
* ((this->Pitch == 0.0) | (2
* ((this->StepUpStartElevation == 0.0) | (2
* (this->HeightChangeFailed | (2 * ((2 * ((2 * ((2 * this->HasTransport) | (this->MoveTime == 0))) | (this->MoveFlags1 == 0))) | (this->MoverGUID[6] != 0))))))))) | (this->MoverGUID[5] != 0);
CDataStore:TongueutInt8(a2, v33);
```

https://github.com/TrinityCore/WowPacket...4672-L4692

This seems to parse a sniff correctly, but I don't really understand how the bit order was found out, any hints?
[Embed: WowPacketParser/WowPacketParserModule.V4_3_4_15595/Parsers/Movement...]
World of Warcraft Packet Parser. Contribute to TrinityCore/WowPacketParser development by creating an account on GitHub.
https://github.com/TrinityCore/WowPacket...Handler.cs
rektbyfaith
10-17-2024, 11:59 PM #1

Archived author: john • Posted: 2024-10-17T23:59:13.116000+00:00
Original source

Hi all, was wondering how to read this bit order from the client as it seems it got optimized by the compiler:

```cpp
CDataStore:TongueutInt32(this->MoveIndex);
CDataStore:TongueutFloat(a2, COERCE_INT(this->PosX));
CDataStore:TongueutFloat(a2, COERCE_INT(this->AckSpeed));
CDataStore:TongueutFloat(a2, COERCE_INT(this->PosZ));
CDataStore:TongueutFloat(a2, COERCE_INT(this->PosY));
Orientation = this->Orientation;
v5 = this->MoverGUID[2] == 0;
v32 = a2;
LOBYTE(v33) = this->HasSpline | (2
* ((2
* (this->HasFall | (2
* ((Orientation == 0.0) | (2
* ((2
* ((2
* ((2 * !v5) | (this->MoverGUID[4] != 0))) | (this->MoverGUID[1] != 0))) | (this->MoverGUID[7] != 0))))))) | (this->MoverGUID[0] != 0)));
CDataStore:TongueutInt8(a2, v33);
LOBYTE(v33) = (2
* ((this->Pitch == 0.0) | (2
* ((this->StepUpStartElevation == 0.0) | (2
* (this->HeightChangeFailed | (2 * ((2 * ((2 * ((2 * this->HasTransport) | (this->MoveTime == 0))) | (this->MoveFlags1 == 0))) | (this->MoverGUID[6] != 0))))))))) | (this->MoverGUID[5] != 0);
CDataStore:TongueutInt8(a2, v33);
```

https://github.com/TrinityCore/WowPacket...4672-L4692

This seems to parse a sniff correctly, but I don't really understand how the bit order was found out, any hints?
[Embed: WowPacketParser/WowPacketParserModule.V4_3_4_15595/Parsers/Movement...]
World of Warcraft Packet Parser. Contribute to TrinityCore/WowPacketParser development by creating an account on GitHub.
https://github.com/TrinityCore/WowPacket...Handler.cs

Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)