Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor changes #130

Merged
merged 19 commits into from
Jul 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ add_library(GTAV-Classes MODULE "${SRC_MAIN}")
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)

message(STATUS "")

target_include_directories(GTAV-Classes PRIVATE
"${SRC_DIR}"
)
Expand Down
1 change: 1 addition & 0 deletions classes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
#include "network/CNetGamePlayerDataMsg.hpp"
#include "network/CNetworkPlayerMgr.hpp"
#include "network/netObject.hpp"
#include "network/netPeerAddress.hpp"
#include "network/netPlayer.hpp"
#include "network/netPlayerMgrBase.hpp"
#include "network/netTime.hpp"
Expand Down
17 changes: 1 addition & 16 deletions network/netConnection.hpp
Original file line number Diff line number Diff line change
@@ -1,29 +1,14 @@
#pragma once
#include <cstdint>
#include "rage/rlGamerInfoBase.hpp"
#include "netPeerAddress.hpp"

#pragma pack(push, 1)
namespace rage
{
class netConnectionManager;
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
{
public:
Expand Down
32 changes: 32 additions & 0 deletions network/netPeerAddress.hpp
Original file line number Diff line number Diff line change
@@ -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)
}
52 changes: 18 additions & 34 deletions rage/rlGamerInfoBase.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,43 +3,27 @@
#include <cstdint>
#include <cstddef>
#include "rlGamerHandle.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);
#include "network/netPeerAddress.hpp"

namespace rage
{
#pragma pack(push,8)
class rlGamerInfoBase
{
public:
char pad_0000[0x8]; //0x0000
uint64_t m_peer_id; //0x0008
rlGamerHandle m_gamer_handle; //0x0010
char m_aes_key[0x20]; //0x0020
char pad_0040[0x8]; //0x0040
netAddress m_unk_ip; //0x0048
uint16_t m_unk_port; //0x004C
netAddress m_relay_ip; //0x0050
uint16_t m_relay_port; //0x0054
char pad_0058[0x12]; //0x0056
char pad_0068[0x40]; //0x0068
netAddress m_external_ip; //0x00A8
uint16_t m_external_port; //0x00AC
netAddress m_internal_ip; //0x00B0
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);
class rlGamerInfoBase
{
public:
int m_security_enabled; //0x0000
Yimura marked this conversation as resolved.
Show resolved Hide resolved
uint64_t m_peer_id; //0x0008
rlGamerHandle m_gamer_handle; //0x0010
char m_aes_key[0x28]; //0x0020
netPeerAddress m_relay_address; //0x0048
char m_relay_signature[0x40]; //0x0068
netAddress m_external_ip; //0x00A8
uint16_t m_external_port; //0x00AC
netAddress m_internal_ip; //0x00B0
uint16_t m_internal_port; //0x00B4
uint32_t m_nat_type; //0x00B8
bool m_force_relays; //0x00BC
};
static_assert(sizeof(rlGamerInfoBase) == 0xC0);
#pragma pack(pop)
}