From e1d00a7db326fe359e3b0a915030ead90b862ecb Mon Sep 17 00:00:00 2001 From: maybegreat48 <96936658+maybegreat48@users.noreply.github.com> Date: Thu, 14 Dec 2023 22:54:16 +0000 Subject: [PATCH] Update CNetGamePlayer (#151) --- network/CNetGamePlayer.hpp | 5 ++- network/CNetworkPlayerMgr.hpp | 68 +++++++++++++++++------------------ 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/network/CNetGamePlayer.hpp b/network/CNetGamePlayer.hpp index 7647114..323fe67 100644 --- a/network/CNetGamePlayer.hpp +++ b/network/CNetGamePlayer.hpp @@ -11,9 +11,11 @@ #include #pragma pack(push, 8) +// WARNING: most fields are out of date class CNetGamePlayer : public rage::netPlayer { public: + void* m_unk; CPlayerInfo* m_player_info; //0x00A0 uint32_t m_matchmaking_group; //0x0008 bool m_is_spectating; //0x000C @@ -39,6 +41,7 @@ class CNetGamePlayer : public rage::netPlayer char pad_01AB[5]; //0x01AB rage::rlSessionInfo m_transition_session_info; //0x01A3 char pad_022D[16]; //0x022D + void* m_unk2; uint64_t unk_0230; //0x0230 uint64_t unk_0238; //0x0238 uint32_t m_mute_count; //0x0240 @@ -59,5 +62,5 @@ class CNetGamePlayer : public rage::netPlayer uint32_t m_account_id; //0x02B4 uint32_t m_unk_02BC; //0x02BC }; //Size: 0x02C0 -static_assert(sizeof(CNetGamePlayer) == 0x320); +static_assert(sizeof(CNetGamePlayer) == 0x330); #pragma pack(pop) diff --git a/network/CNetworkPlayerMgr.hpp b/network/CNetworkPlayerMgr.hpp index 8a89ba9..52240e5 100644 --- a/network/CNetworkPlayerMgr.hpp +++ b/network/CNetworkPlayerMgr.hpp @@ -1,34 +1,34 @@ -#pragma once - -#include "netPlayerMgrBase.hpp" -#include "CNetGamePlayer.hpp" -#include "../player/CNonPhysicalPlayerData.hpp" - -#include - -#pragma pack(push, 2) -class CNetworkPlayerMgr : public rage::netPlayerMgrBase -{ -public: - CNetGamePlayer m_net_players[32]; //0x08E0 - uint64_t unk_60E0; //0x60E0 - uint64_t unk_60E8; //0x60E8 - uint64_t unk_60F0; //0x60F0 - uint64_t unk_60F8; //0x60F8 - CNetGamePlayer m_net_players_2[32]; //0x6100 - uint64_t unk_B900; //0xB900 - uint64_t unk_B908; //0xB908 - uint64_t unk_B910; //0xB910 - uint64_t unk_B918; //0xB918 - uint64_t unk_B920; //0xB920 - uint64_t unk_B928; //0xB928 - uint64_t unk_B930; //0xB930 - uint32_t unk_B938; //0xB938 - char pad_B93C[3]; //0xB93C - bool unk_B93F; //0xB93F - uint32_t unk_B940; //0xB940 - uint32_t unk_B944; //0xB944 - uint16_t unk_B948; //0xB948 -}; //Size: 0xB94A -static_assert(sizeof(CNetworkPlayerMgr) == 0xD152); -#pragma pack(pop) +#pragma once + +#include "netPlayerMgrBase.hpp" +#include "CNetGamePlayer.hpp" +#include "../player/CNonPhysicalPlayerData.hpp" + +#include + +#pragma pack(push, 2) +class CNetworkPlayerMgr : public rage::netPlayerMgrBase +{ +public: + CNetGamePlayer m_net_players[32]; //0x08E0 + uint64_t unk_60E0; //0x60E0 + uint64_t unk_60E8; //0x60E8 + uint64_t unk_60F0; //0x60F0 + uint64_t unk_60F8; //0x60F8 + CNetGamePlayer m_net_players_2[32]; //0x6100 + uint64_t unk_B900; //0xB900 + uint64_t unk_B908; //0xB908 + uint64_t unk_B910; //0xB910 + uint64_t unk_B918; //0xB918 + uint64_t unk_B920; //0xB920 + uint64_t unk_B928; //0xB928 + uint64_t unk_B930; //0xB930 + uint32_t unk_B938; //0xB938 + char pad_B93C[3]; //0xB93C + bool unk_B93F; //0xB93F + uint32_t unk_B940; //0xB940 + uint32_t unk_B944; //0xB944 + uint16_t unk_B948; //0xB948 +}; //Size: 0xB94A +static_assert(sizeof(CNetworkPlayerMgr) == 0xD552); +#pragma pack(pop)