diff --git a/network/CMsgJoinRequest.hpp b/network/CMsgJoinRequest.hpp index 1702c81..255a62a 100644 --- a/network/CMsgJoinRequest.hpp +++ b/network/CMsgJoinRequest.hpp @@ -22,5 +22,5 @@ public: CNetGamePlayerDataMsg m_player_data_msg; uint64_t m_gamer_handle_hash; }; -static_assert(sizeof(CMsgJoinRequest) == 0x230); +static_assert(sizeof(CMsgJoinRequest) == 0x1D0); #pragma pack(pop) \ No newline at end of file diff --git a/network/CNetGamePlayer.hpp b/network/CNetGamePlayer.hpp index a6c5b84..2992bb6 100644 --- a/network/CNetGamePlayer.hpp +++ b/network/CNetGamePlayer.hpp @@ -61,5 +61,5 @@ public: uint32_t unk_02B4; //0x02B4 char pad_3C8[8]; }; -static_assert(sizeof(CNetGamePlayer) == 0x3D0); +static_assert(sizeof(CNetGamePlayer) == 0x370); #pragma pack(pop) diff --git a/network/CNetGamePlayerDataMsg.hpp b/network/CNetGamePlayerDataMsg.hpp index f397e2f..7f4cb99 100644 --- a/network/CNetGamePlayerDataMsg.hpp +++ b/network/CNetGamePlayerDataMsg.hpp @@ -29,15 +29,15 @@ public: int32_t m_account_id; //0x0010 int64_t m_rockstar_id; //0x0018 PlatformAccountId m_platform_account_id; //0x0020 - uint32_t m_player_type; //0x00B0 - uint32_t m_matchmaking_group; //0x00B4 - uint32_t m_flags; //0x00B8 - int32_t m_team; //0x00BC - int64_t m_crew_id; //0x00C0 - int32_t m_aim_preference; //0x00C8 - uint16_t m_rank; //0x00CC - uint16_t m_rating; //0x00CE - uint32_t m_region; //0x00D0 -}; //Size: 0x00D8 -static_assert(sizeof(CNetGamePlayerDataMsg) == 0xD8); + uint32_t m_player_type; //0x0050 + uint32_t m_matchmaking_group; //0x0054 + uint32_t m_flags; //0x0058 + int32_t m_team; //0x005C + int64_t m_crew_id; //0x0060 + int32_t m_aim_preference; //0x0068 + uint16_t m_rank; //0x006C + uint16_t m_rating; //0x006E + uint32_t m_region; //0x0070 +}; //Size: 0x0078 +static_assert(sizeof(CNetGamePlayerDataMsg) == 0x78); #pragma pack(pop) \ No newline at end of file diff --git a/network/CNetworkPlayerMgr.hpp b/network/CNetworkPlayerMgr.hpp index 8e33c93..3736375 100644 --- a/network/CNetworkPlayerMgr.hpp +++ b/network/CNetworkPlayerMgr.hpp @@ -30,5 +30,5 @@ public: uint32_t unk_B944; //0xB944 uint16_t unk_B948; //0xB948 }; //Size: 0xB94A -static_assert(sizeof(CNetworkPlayerMgr) == 0xFD52); +static_assert(sizeof(CNetworkPlayerMgr) == 0xE552); #pragma pack(pop) diff --git a/network/Network.hpp b/network/Network.hpp index b8450b0..d893234 100644 --- a/network/Network.hpp +++ b/network/Network.hpp @@ -151,10 +151,10 @@ class RemotePlayerData { public: class rage::netGamePlayerData m_data[32]; //0x0000 - uint32_t m_count; //0x1C00 - char pad_0604[4]; //0x1C04 -}; //Size: 0x1C08 -static_assert(sizeof(RemotePlayerData) == 0x1C08); + uint32_t m_count; //0x1000 + char pad_0604[4]; //0x1004 +}; //Size: 0x1008 +static_assert(sizeof(RemotePlayerData) == 0x1008); class InvitedGamer { @@ -175,7 +175,7 @@ public: static_assert(sizeof(InvitedGamers) == 0xC88); #pragma pack(pop) -class alignas(8) Network +class alignas(16) Network { public: bool m_steam_presence_allow_private_sessions; //0x0000 @@ -202,6 +202,6 @@ public: char pad_2E8E0[24]; //0x2E8E0 CNetComplaintMgr m_game_complaint_mgr; //0x2E8F8 CNetComplaintMgr m_transition_complaint_mgr; //0x2F990 - char pad_30A28[120304]; // 0x30A28 -}; //Size: 0x4E018 -static_assert(sizeof(Network) == 0x4E018); \ No newline at end of file + char pad_30A28[117176]; // 0x30A28 +}; //Size: 0x4D3E0 +static_assert(sizeof(Network) == 0x4D3E0); \ No newline at end of file diff --git a/network/PlatformAccountId.hpp b/network/PlatformAccountId.hpp index 73e77f5..b5f8d10 100644 --- a/network/PlatformAccountId.hpp +++ b/network/PlatformAccountId.hpp @@ -16,10 +16,10 @@ struct PlatformAccountId { uint64_t m_xbox_user_id; //0x0000 uint64_t m_steam_id; - char m_epic_account_id[128 + 1]; - char m_pad[136]; + char m_epic_account_id[32 + 1]; + char m_pad[40]; }; - Platform m_platform; //0x0088 + Platform m_platform; //0x0028 }; -static_assert(sizeof(PlatformAccountId) == 0x90); \ No newline at end of file +static_assert(sizeof(PlatformAccountId) == 0x30); \ No newline at end of file diff --git a/network/netPlayer.hpp b/network/netPlayer.hpp index de0886f..7f2228d 100644 --- a/network/netPlayer.hpp +++ b/network/netPlayer.hpp @@ -29,19 +29,15 @@ namespace rage int m_account_id; //0x0008 -- added b3504 int64_t m_rockstar_id; //0x0010 -- added b3504 PlatformAccountId m_platform_account_id; //0x0018 -- added b3504 - uint32_t m_player_type; //0x00A8 - CNonPhysicalPlayerData* m_non_physical_player; //0x00B0 - uint32_t m_msg_id; //0x00B8 - char pad_001C[4]; //0x00BC - uint8_t m_active_id; //0x00C0 - uint8_t m_player_id; //0x00C1 - char pad_0022[3]; //0x00C2 - uint16_t m_complaints; //0x00C6 - char pad_0027[17]; //0x00C8 - class CNetGamePlayer* m_unk_net_player_list[10]; //0x00E0 - char pad_0090[4]; //0x0130 - uint64_t pad_0098; //0x0138 + uint32_t m_player_type; //0x0048 + CNonPhysicalPlayerData* m_non_physical_player; //0x0050 + uint32_t m_msg_id; //0x0058 + char pad_001C[4]; //0x005C + uint8_t m_active_id; //0x0060 + uint8_t m_player_id; //0x0061 + uint32_t m_nat_type; //0x0064 + char pad_0068[120]; //0x0068 }; - static_assert(sizeof(netPlayer) == 0x140); + static_assert(sizeof(netPlayer) == 0xE0); #pragma pack(pop) } \ No newline at end of file diff --git a/network/snSession.hpp b/network/snSession.hpp index 51242f3..86b0a42 100644 --- a/network/snSession.hpp +++ b/network/snSession.hpp @@ -120,8 +120,8 @@ namespace rage int m_account_id; //0x0040 int64_t m_rockstar_id; //0x0048 PlatformAccountId m_platform_account_id; //0x0050 - }; //Size: 0x00E0 - static_assert(sizeof(rage::netGamePlayerData) == 0xE0); + }; //Size: 0x0080 + static_assert(sizeof(rage::netGamePlayerData) == 0x80); #pragma pack(pop) #pragma pack(push, 1) diff --git a/script/globals/GPBD_FM.hpp b/script/globals/GPBD_FM.hpp index 3031acb..c415f9c 100644 --- a/script/globals/GPBD_FM.hpp +++ b/script/globals/GPBD_FM.hpp @@ -676,11 +676,12 @@ struct GPBD_FM_Entry SCR_INT SeatingIndex; ARENA_WAR_DATA ArenaWarData; // @858 as of 1.67 SCR_INT ApartmentEnterFlags; + SCR_INT MissionSwitchState; // added b3889 }; -static_assert(sizeof(GPBD_FM_Entry) == 880 * 8); +static_assert(sizeof(GPBD_FM_Entry) == 881 * 8); struct GPBD_FM { SCR_ARRAY Entries; }; -static_assert(sizeof(GPBD_FM) == 28161 * 8); \ No newline at end of file +static_assert(sizeof(GPBD_FM) == 28193 * 8); \ No newline at end of file diff --git a/script/tlsContext.hpp b/script/tlsContext.hpp index 1b27e6a..0ed1361 100644 --- a/script/tlsContext.hpp +++ b/script/tlsContext.hpp @@ -21,9 +21,9 @@ namespace rage uint32_t m_console_smth; // 0x22D0 char gapD4[188]; uint64_t m_unk; // 0x2390 - char gap198[1720]; - rage::scrThread* m_script_thread; // 0x2A50 - bool m_is_script_thread_active; // 0x2A58 + char gap198[1712]; + rage::scrThread* m_script_thread; // 0x2A48 + bool m_is_script_thread_active; // 0x2A50 #if _WIN32 static tlsContext* get() @@ -33,6 +33,6 @@ namespace rage } #endif }; - static_assert(sizeof(tlsContext) == 0x2A59); + static_assert(sizeof(tlsContext) == 0x2A51); #pragma pack(pop) } \ No newline at end of file