rodecomp/Source/Client/Mode/GameModeProtocol.cpp
ragnarok-clanker ba51526e98 Decompile 2 functions in Source/Client/Mode/GameModeProtocol.cpp
Batch #12191 by cremane: 0 byte-identical, 2 confirmed by peer review.

- fn_21589 SendPacketHeader: logic confirmed by peer review
- fn_21590 SendPacketHeader2: logic confirmed by peer review

Peer-reviewed-by: Yommy, Tanke, Toshiro
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-05 14:24:21 +00:00

32 lines
922 B
C++

#include "Network/Connection/Connection.h"
#include <cstdint>
// OFFSET: 0x00D059E0
// FUNCTION: fn_21572
void DecodeSrcDst(const unsigned char* packed, int* srcX, int* srcY, int* dstX, int* dstY, int* subX, int* subY) {
*srcX = packed[0];
*srcX = (*srcX << 2) | (packed[1] >> 6);
*srcY = packed[1] & 0x3F;
*srcY = (*srcY << 4) | (packed[2] >> 4);
*dstX = packed[2] & 0x0F;
*dstX = (*dstX << 6) | (packed[3] >> 2);
*dstY = packed[3] & 0x03;
*dstY = (*dstY << 8) | packed[4];
*subX = packed[5] >> 4;
*subY = packed[5] & 0x0F;
}
// OFFSET: 0x00D08600
// FUNCTION: fn_21589
void SendPacketHeader(std::uint16_t packetType) {
std::uint16_t packet = packetType;
GetRagConnection().Send(sizeof(packet), &packet);
}
// OFFSET: 0x00D08620
// FUNCTION: fn_21590
void SendPacketHeader2(std::uint16_t packetType) {
std::uint16_t packet = packetType;
GetRagConnection().Send(sizeof(packet), &packet);
}