mirror of
https://github.com/Mr-X-GTA/GTAV-Classes-1.git
synced 2024-12-22 14:37:31 +08:00
Update for b3407 (#2)
This commit is contained in:
parent
6e53c26ac9
commit
d274128767
@ -29,7 +29,7 @@ public:
|
|||||||
char pad_0A64[4]; //0x0A64
|
char pad_0A64[4]; //0x0A64
|
||||||
uint64_t m_host_tokens_complained[64]; //0x0A68
|
uint64_t m_host_tokens_complained[64]; //0x0A68
|
||||||
uint32_t m_num_tokens_complained; //0x0C68
|
uint32_t m_num_tokens_complained; //0x0C68
|
||||||
char pad_0C6C[520]; //0x0C6C
|
char pad_0C6C[1032]; //0x0C6C
|
||||||
uint32_t m_connection_identifier; //0x0E74
|
uint32_t m_connection_identifier; //0x0E74
|
||||||
uint32_t m_last_resend_time; //0x0E78
|
uint32_t m_last_resend_time; //0x0E78
|
||||||
char pad_0E7C[4]; //0x0E7C
|
char pad_0E7C[4]; //0x0E7C
|
||||||
@ -68,5 +68,5 @@ public:
|
|||||||
m_num_tokens_complained--;
|
m_num_tokens_complained--;
|
||||||
}
|
}
|
||||||
|
|
||||||
}; //Size: 0x0C98
|
}; //Size: 0x1098
|
||||||
static_assert(sizeof(CNetComplaintMgr) == 0xE98);
|
static_assert(sizeof(CNetComplaintMgr) == 0x1098);
|
@ -210,7 +210,7 @@ public:
|
|||||||
class rage::rlSessionInfo m_unk_session_info; //0xB408
|
class rage::rlSessionInfo m_unk_session_info; //0xB408
|
||||||
char pad_B4D8[643]; //0xB4D8
|
char pad_B4D8[643]; //0xB4D8
|
||||||
bool m_need_host_change; //0xB753
|
bool m_need_host_change; //0xB753
|
||||||
char pad_B754[75868]; //0xB754
|
char pad_B754[76644]; //0xB754
|
||||||
class rage::rlSessionDetail m_joining_session_detail; //0x1D9A0
|
class rage::rlSessionDetail m_joining_session_detail; //0x1D9A0
|
||||||
class SessionInfoBackup m_last_joined_session; //0x1DE18
|
class SessionInfoBackup m_last_joined_session; //0x1DE18
|
||||||
char pad_1DEF4[40]; //0x1DEF4
|
char pad_1DEF4[40]; //0x1DEF4
|
||||||
@ -242,19 +242,20 @@ public:
|
|||||||
class rage::rlGamerHandle m_inviter_handle; //0x2DCE0
|
class rage::rlGamerHandle m_inviter_handle; //0x2DCE0
|
||||||
class CNetComplaintMgr m_game_complaint_mgr; //0x2DCF0
|
class CNetComplaintMgr m_game_complaint_mgr; //0x2DCF0
|
||||||
class CNetComplaintMgr m_transition_complaint_mgr; //0x2EB88
|
class CNetComplaintMgr m_transition_complaint_mgr; //0x2EB88
|
||||||
|
char pad_309E0[28];
|
||||||
// fields beyond this point are outdated!
|
uint32_t unk_309FC;
|
||||||
|
uint32_t unk_30A00; // added b3407
|
||||||
char pad_2FA20[32]; //0x2FA20
|
char pad_30A04[10468];
|
||||||
class JoiningPlayerNameMap m_unused_joining_player_name_map; //0x2FA40
|
|
||||||
char pad_31048[8]; //0x31048
|
|
||||||
class CNetBlacklist m_blacklist; //0x31050
|
class CNetBlacklist m_blacklist; //0x31050
|
||||||
char pad_31308[8]; //0x31308
|
char pad_32E90[648]; //0x31308
|
||||||
class InvitedGamers m_game_invited_gamers; //0x31310
|
class InvitedGamers m_game_invited_gamers; //0x31310
|
||||||
char pad_31F98[5888]; //0x31F98
|
char pad_31F98[2680]; //0x31F98
|
||||||
class SessionInfoBackup m_last_joined_transition; //0x33698
|
class SessionInfoBackup m_last_joined_transition; //0x33698
|
||||||
uint32_t m_activity_max_players; //0x33774
|
uint32_t m_activity_max_players; //0x33774
|
||||||
uint32_t m_activity_max_spectators; //0x33778
|
uint32_t m_activity_max_spectators; //0x33778
|
||||||
|
|
||||||
|
// fields beyond this point are outdated!
|
||||||
|
|
||||||
char pad_3377C[48]; //0x3377C
|
char pad_3377C[48]; //0x3377C
|
||||||
bool m_do_not_launch_from_join_as_migrated_host; //0x337AC
|
bool m_do_not_launch_from_join_as_migrated_host; //0x337AC
|
||||||
char pad_337AD[7]; //0x337AD
|
char pad_337AD[7]; //0x337AD
|
||||||
@ -287,7 +288,7 @@ public:
|
|||||||
uint32_t m_follower_count; //0x49EE0
|
uint32_t m_follower_count; //0x49EE0
|
||||||
char pad_49EE4[632]; //0x49EE4
|
char pad_49EE4[632]; //0x49EE4
|
||||||
|
|
||||||
char pad[6548];
|
char pad[2492];
|
||||||
}; //Size: 0x38650
|
}; //Size: 0x38650
|
||||||
static_assert(sizeof(Network) == 0x4C628);
|
static_assert(sizeof(Network) == 0x4C628);
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
@ -212,7 +212,8 @@ struct BOSS_GOON
|
|||||||
uint64_t PAD_0183[4]; // TODO some unknown contraband struct
|
uint64_t PAD_0183[4]; // TODO some unknown contraband struct
|
||||||
VEHICLE_EXPORT VehicleExport;
|
VEHICLE_EXPORT VehicleExport;
|
||||||
uint64_t PAD_0193[12]; // TODO
|
uint64_t PAD_0193[12]; // TODO
|
||||||
SCR_ARRAY<uint64_t, 8> ActiveFreemodeEvents; // force thunder, size 7 -> 8 b3258
|
SCR_ARRAY<uint64_t, 9> ActiveFreemodeEvents; // force thunder, size 7 -> 8 b3258
|
||||||
|
// 8 -> 9 b3407
|
||||||
uint64_t PAD_0212[22]; // I'm not even going to bother with this one
|
uint64_t PAD_0212[22]; // I'm not even going to bother with this one
|
||||||
HANGAR_CARGO HangarCargo;
|
HANGAR_CARGO HangarCargo;
|
||||||
uint64_t PAD_0236[23]; // not going to bother with this one either
|
uint64_t PAD_0236[23]; // not going to bother with this one either
|
||||||
@ -280,7 +281,7 @@ struct BOSS_GOON
|
|||||||
uint64_t PAD_0478[18]; // TODO
|
uint64_t PAD_0478[18]; // TODO
|
||||||
SCR_BOOL DoubleActionCacheLocationRevealed;
|
SCR_BOOL DoubleActionCacheLocationRevealed;
|
||||||
};
|
};
|
||||||
static_assert(sizeof(BOSS_GOON) == 499 * 8);
|
static_assert(sizeof(BOSS_GOON) == 500 * 8);
|
||||||
|
|
||||||
struct MC_STATS
|
struct MC_STATS
|
||||||
{
|
{
|
||||||
@ -348,10 +349,10 @@ struct GBPD_FM_3_Entry
|
|||||||
SCR_INT CasinoFlowProgress;
|
SCR_INT CasinoFlowProgress;
|
||||||
SCR_ARRAY<uint64_t, 1> DailyObjectiveFlags; // @607 as of 1.67
|
SCR_ARRAY<uint64_t, 1> DailyObjectiveFlags; // @607 as of 1.67
|
||||||
};
|
};
|
||||||
static_assert(sizeof(GBPD_FM_3_Entry) == 610 * 8);
|
static_assert(sizeof(GBPD_FM_3_Entry) == 611 * 8);
|
||||||
|
|
||||||
struct GPBD_FM_3
|
struct GPBD_FM_3
|
||||||
{
|
{
|
||||||
SCR_ARRAY<GBPD_FM_3_Entry, 32> Entries;
|
SCR_ARRAY<GBPD_FM_3_Entry, 32> Entries;
|
||||||
};
|
};
|
||||||
static_assert(sizeof(GPBD_FM_3) == 19521 * 8);
|
static_assert(sizeof(GPBD_FM_3) == 19553 * 8);
|
||||||
|
@ -24,12 +24,13 @@ struct WEAPON_PICKUPS
|
|||||||
SCR_INT LastMeleeWeaponPickupTime;
|
SCR_INT LastMeleeWeaponPickupTime;
|
||||||
SCR_INT LastProjectilePickupTime;
|
SCR_INT LastProjectilePickupTime;
|
||||||
SCR_INT LastGunPickupTime;
|
SCR_INT LastGunPickupTime;
|
||||||
SCR_ARRAY<uint64_t, 95> Indices; // size increased in b3095 (62 -> 95)
|
SCR_ARRAY<uint64_t, 96> Indices; // size increased in b3095 (62 -> 95)
|
||||||
SCR_ARRAY<uint64_t, 95> Owners;
|
// and in b3407 (95 -> 96)
|
||||||
|
SCR_ARRAY<uint64_t, 96> Owners;
|
||||||
SCR_INT SpawnCounter;
|
SCR_INT SpawnCounter;
|
||||||
SCR_INT AmmoCount;
|
SCR_INT AmmoCount;
|
||||||
};
|
};
|
||||||
static_assert(sizeof(WEAPON_PICKUPS) == 198 * 8);
|
static_assert(sizeof(WEAPON_PICKUPS) == 200 * 8);
|
||||||
|
|
||||||
struct BIKER_CONTRACTS_SERVER
|
struct BIKER_CONTRACTS_SERVER
|
||||||
{
|
{
|
||||||
@ -49,7 +50,7 @@ struct GSBD_FM
|
|||||||
SCR_ARRAY<uint64_t, 2> MuggingPlayers; // 0 = mugger, 1 = merryweather mercs
|
SCR_ARRAY<uint64_t, 2> MuggingPlayers; // 0 = mugger, 1 = merryweather mercs
|
||||||
SCR_ARRAY<uint64_t, 2> MuggedPlayers;
|
SCR_ARRAY<uint64_t, 2> MuggedPlayers;
|
||||||
uint64_t PAD_0112[4]; // unused
|
uint64_t PAD_0112[4]; // unused
|
||||||
SCR_ARRAY<uint64_t, 61> PAD_0116; // TODO
|
SCR_ARRAY<uint64_t, 62> PAD_0116; // TODO b3407 (61 -> 62)
|
||||||
SCR_INT ShopProcessingBitset;
|
SCR_INT ShopProcessingBitset;
|
||||||
SCR_ARRAY<uint64_t, NUM_CONTACTS> ActiveContactServiceBitsets;
|
SCR_ARRAY<uint64_t, NUM_CONTACTS> ActiveContactServiceBitsets;
|
||||||
SCR_ARRAY<ACTIVE_CONTACT_SERVICE, 32> ActiveContactServices;
|
SCR_ARRAY<ACTIVE_CONTACT_SERVICE, 32> ActiveContactServices;
|
||||||
@ -63,4 +64,4 @@ struct GSBD_FM
|
|||||||
BIKER_CONTRACTS_SERVER BikerContracts;
|
BIKER_CONTRACTS_SERVER BikerContracts;
|
||||||
SCR_ARRAY<uint64_t, 32> DoubleActionCacheLocationRevealed;
|
SCR_ARRAY<uint64_t, 32> DoubleActionCacheLocationRevealed;
|
||||||
};
|
};
|
||||||
static_assert(sizeof(GSBD_FM) == 643 * 8);
|
static_assert(sizeof(GSBD_FM) == 647 * 8);
|
||||||
|
@ -7,10 +7,10 @@ struct g_AMC_playerBD_Entry
|
|||||||
SCR_ARRAY<TIMER, NUM_CONTACTS> UsedContactServicesTimer; // only index 2 (mugger) is actually used by the scripts. the rest is just a waste of bandwidth
|
SCR_ARRAY<TIMER, NUM_CONTACTS> UsedContactServicesTimer; // only index 2 (mugger) is actually used by the scripts. the rest is just a waste of bandwidth
|
||||||
SCR_ARRAY<uint64_t, NUM_CONTACTS> ContactServiceCooldowns; // same as above
|
SCR_ARRAY<uint64_t, NUM_CONTACTS> ContactServiceCooldowns; // same as above
|
||||||
};
|
};
|
||||||
static_assert(sizeof(g_AMC_playerBD_Entry) == 245 * 8);
|
static_assert(sizeof(g_AMC_playerBD_Entry) == 248 * 8);
|
||||||
|
|
||||||
struct g_AMC_playerBD
|
struct g_AMC_playerBD
|
||||||
{
|
{
|
||||||
SCR_ARRAY<g_AMC_playerBD_Entry, 32> Entries;
|
SCR_ARRAY<g_AMC_playerBD_Entry, 32> Entries;
|
||||||
};
|
};
|
||||||
static_assert(sizeof(g_AMC_playerBD) == 7841 * 8);
|
static_assert(sizeof(g_AMC_playerBD) == 7937 * 8);
|
@ -12,18 +12,18 @@ namespace rage
|
|||||||
class tlsContext
|
class tlsContext
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
char gap0[180];
|
char gap0[8884];
|
||||||
std::uint8_t m_unk_byte; // 0xB4
|
std::uint8_t m_unk_byte; // 0x22B4
|
||||||
char gapB5[3];
|
char gapB5[3];
|
||||||
sysMemAllocator *m_allocator; // 0xB8
|
sysMemAllocator *m_allocator; // 0x22B8
|
||||||
sysMemAllocator *m_allocator2; // 0xC0 - Same as 0xB8
|
sysMemAllocator *m_allocator2; // 0x22C0 - Same as 0x22B8
|
||||||
sysMemAllocator *m_allocator3; // 0xC8 - Same as 0xB8
|
sysMemAllocator *m_allocator3; // 0x22C8 - Same as 0x22B8
|
||||||
uint32_t m_console_smth; // 0xD0
|
uint32_t m_console_smth; // 0x22D0
|
||||||
char gapD4[188];
|
char gapD4[188];
|
||||||
uint64_t m_unk; // 0x190
|
uint64_t m_unk; // 0x2390
|
||||||
char gap198[1728];
|
char gap198[1720];
|
||||||
rage::scrThread* m_script_thread; // 0x858
|
rage::scrThread* m_script_thread; // 0x2A50
|
||||||
bool m_is_script_thread_active; // 0x860
|
bool m_is_script_thread_active; // 0x2A58
|
||||||
|
|
||||||
#if _WIN32
|
#if _WIN32
|
||||||
static tlsContext* get()
|
static tlsContext* get()
|
||||||
@ -33,6 +33,6 @@ namespace rage
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
static_assert(sizeof(tlsContext) == 0x861);
|
static_assert(sizeof(tlsContext) == 0x2A59);
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
}
|
}
|
@ -100,4 +100,4 @@ private:
|
|||||||
};
|
};
|
||||||
static_assert(sizeof(GAMER_HANDLE) == 13 * 8);
|
static_assert(sizeof(GAMER_HANDLE) == 13 * 8);
|
||||||
|
|
||||||
#define NUM_CONTACTS 81
|
#define NUM_CONTACTS 82
|
@ -62,20 +62,20 @@ public:
|
|||||||
float m_dirt_level; //0x0A20
|
float m_dirt_level; //0x0A20
|
||||||
char pad_0A24[202]; //0x0A24
|
char pad_0A24[202]; //0x0A24
|
||||||
bool m_is_targetable; //0x0AEE
|
bool m_is_targetable; //0x0AEE
|
||||||
char pad_0AEF[297]; //0x0AEF
|
char pad_0AEF[313]; //0x0AEF
|
||||||
uint32_t m_gravity_state; //0x0C18
|
uint32_t m_type; //0x0C28
|
||||||
char pad_0C1C[112]; //0x0C1C
|
char pad_0C2C[112]; //0x0C2C
|
||||||
float m_gravity; //0x0C8C
|
float m_gravity; //0x0C9C
|
||||||
uint8_t m_max_passengers; //0x0C90
|
uint8_t m_max_passengers; //0x0CA0
|
||||||
char pad_0C91[1]; //0x0C91
|
char pad_0CA1[1]; //0x0CA1
|
||||||
uint8_t m_num_of_passengers; //0x0C92
|
uint8_t m_num_of_passengers; //0x0CA2
|
||||||
char pad_0C93[5]; //0x0C93
|
char pad_0CA3[5]; //0x0CA3
|
||||||
class CPed* m_driver; //0x0C98
|
class CPed* m_driver; //0x0CA8
|
||||||
class CPed* m_passengers[15]; //0x0CA0
|
class CPed* m_passengers[15]; //0x0CB0
|
||||||
class CPed* m_last_driver; //0x0D18
|
class CPed* m_last_driver; //0x0CB0
|
||||||
char pad_0D20[1696]; //0x0D20
|
char pad_0D30[1696]; //0x0D30
|
||||||
uint32_t m_door_lock_status; //0x13C0
|
uint32_t m_door_lock_status; //0x13D0
|
||||||
char pad_13C4[2356]; //0x13C4
|
char pad_13D4[204]; //0x13D4
|
||||||
}; //Size: 0x1CF8
|
}; //Size: 0x14A0
|
||||||
static_assert(sizeof(CVehicle) == 0x1CF8);
|
static_assert(sizeof(CVehicle) == 0x14A0);
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
Loading…
Reference in New Issue
Block a user