Minor changes (#130)

* fix(netPeerAddress): relay address
* fix(rage): fix rlGamerInfoBase
This commit is contained in:
maybegreat48 2023-07-23 16:14:58 +00:00 committed by GitHub
parent 9583d2f7e3
commit 3c5f66287b
5 changed files with 53 additions and 51 deletions

View File

@ -20,7 +20,7 @@ add_library(GTAV-Classes MODULE "${SRC_MAIN}")
add_compile_definitions(_CRT_SECURE_NO_WARNINGS) add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
message(STATUS "") message(STATUS "")
target_include_directories(GTAV-Classes PRIVATE target_include_directories(GTAV-Classes PRIVATE
"${SRC_DIR}" "${SRC_DIR}"
) )

View File

@ -118,6 +118,7 @@
#include "network/CNetGamePlayerDataMsg.hpp" #include "network/CNetGamePlayerDataMsg.hpp"
#include "network/CNetworkPlayerMgr.hpp" #include "network/CNetworkPlayerMgr.hpp"
#include "network/netObject.hpp" #include "network/netObject.hpp"
#include "network/netPeerAddress.hpp"
#include "network/netPlayer.hpp" #include "network/netPlayer.hpp"
#include "network/netPlayerMgrBase.hpp" #include "network/netPlayerMgrBase.hpp"
#include "network/netTime.hpp" #include "network/netTime.hpp"

View File

@ -1,6 +1,7 @@
#pragma once #pragma once
#include <cstdint> #include <cstdint>
#include "rage/rlGamerInfoBase.hpp" #include "rage/rlGamerInfoBase.hpp"
#include "netPeerAddress.hpp"
#pragma pack(push, 1) #pragma pack(push, 1)
namespace rage namespace rage
@ -8,22 +9,6 @@ namespace rage
class netConnectionManager; class netConnectionManager;
class netConnectionPeer; class netConnectionPeer;
#pragma pack(push, 4)
class netPeerAddress
{
public:
uint32_t m_internal_ip; //0x0000
uint16_t m_internal_port; //0x0004
uint32_t m_external_ip; //0x0008
uint16_t m_external_port; //0x000C
uint64_t m_peer_id; //0x0010
uint32_t unk_0018; //0x0018
uint16_t unk_001C; //0x001C
uint8_t m_platform; //0x001E
};
static_assert(sizeof(netPeerAddress) == 0x20);
#pragma pack(pop)
class netQueuedMessage class netQueuedMessage
{ {
public: public:

View File

@ -0,0 +1,32 @@
#pragma once
#include <cstdint>
union netAddress {
uint32_t m_packed; //0x0000
struct {
uint8_t m_field4; //0x0000
uint8_t m_field3; //0x0001
uint8_t m_field2; //0x0002
uint8_t m_field1; //0x0003
};
}; //Size: 0x0004
static_assert(sizeof(netAddress) == 0x04);
namespace rage
{
#pragma pack(push, 4)
class netPeerAddress
{
public:
netAddress m_internal_ip; //0x0000
uint16_t m_internal_port; //0x0004
netAddress m_external_ip; //0x0008
uint16_t m_external_port; //0x000C
uint64_t m_peer_id; //0x0010
netAddress m_relay_address; //0x0018
uint16_t m_relay_port; //0x001C
uint8_t m_connection_type; //0x001E
};
static_assert(sizeof(netPeerAddress) == 0x20);
#pragma pack(pop)
}

View File

@ -3,43 +3,27 @@
#include <cstdint> #include <cstdint>
#include <cstddef> #include <cstddef>
#include "rlGamerHandle.hpp" #include "rlGamerHandle.hpp"
#include "network/netPeerAddress.hpp"
union netAddress {
uint32_t m_packed; //0x0000
struct {
uint8_t m_field4; //0x0000
uint8_t m_field3; //0x0001
uint8_t m_field2; //0x0002
uint8_t m_field1; //0x0003
};
}; //Size: 0x0004
static_assert(sizeof(netAddress) == 0x04);
namespace rage namespace rage
{ {
#pragma pack(push,8) #pragma pack(push,8)
class rlGamerInfoBase class rlGamerInfoBase
{ {
public: public:
char pad_0000[0x8]; //0x0000 int m_security_enabled; //0x0000
uint64_t m_peer_id; //0x0008 uint64_t m_peer_id; //0x0008
rlGamerHandle m_gamer_handle; //0x0010 rlGamerHandle m_gamer_handle; //0x0010
char m_aes_key[0x20]; //0x0020 char m_aes_key[0x28]; //0x0020
char pad_0040[0x8]; //0x0040 netPeerAddress m_relay_address; //0x0048
netAddress m_unk_ip; //0x0048 char m_relay_signature[0x40]; //0x0068
uint16_t m_unk_port; //0x004C netAddress m_external_ip; //0x00A8
netAddress m_relay_ip; //0x0050 uint16_t m_external_port; //0x00AC
uint16_t m_relay_port; //0x0054 netAddress m_internal_ip; //0x00B0
char pad_0058[0x12]; //0x0056 uint16_t m_internal_port; //0x00B4
char pad_0068[0x40]; //0x0068 uint32_t m_nat_type; //0x00B8
netAddress m_external_ip; //0x00A8 bool m_force_relays; //0x00BC
uint16_t m_external_port; //0x00AC };
netAddress m_internal_ip; //0x00B0 static_assert(sizeof(rlGamerInfoBase) == 0xC0);
uint16_t m_internal_port; //0x00B4
char pad_00B6[0x2]; //0x00B6
uint32_t unk_00B8; //0x00B8
char pad_00BC[0x4]; //0x00BC
};
static_assert(sizeof(rlGamerInfoBase) == 0xC0);
#pragma pack(pop) #pragma pack(pop)
} }