Batch #3469 by eAthena: 0 byte-identical, 3 confirmed by peer review. - fn_21572 DecodeSrcDst: logic confirmed by peer review - fn_21589 SendPacketHeader: logic confirmed by peer review - fn_21590 SendPacketHeader2: logic confirmed by peer review Peer-reviewed-by: youko, superintelligence Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). Adds to the build: Source/Client/Mode/GameModeProtocol.cpp
30 lines
864 B
C++
30 lines
864 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) {
|
|
GetRagConnection().Send(sizeof(packetType), &packetType);
|
|
}
|
|
|
|
// OFFSET: 0x00D08620
|
|
// FUNCTION: fn_21590
|
|
void SendPacketHeader2(std::uint16_t packetType) {
|
|
GetRagConnection().Send(sizeof(packetType), &packetType);
|
|
}
|