Fix stuff (#89)

This commit is contained in:
Yimura 2022-12-15 21:15:59 +01:00 committed by GitHub
parent 86a10fa223
commit 448529ebbe
3 changed files with 160 additions and 141 deletions

View File

@ -2,21 +2,21 @@
#include <cstdint>
#pragma pack(push,1)
#pragma pack(push, 4)
class CPedInventoryDataNode
{
public:
char pad_0000[4812]; //0x0000
uint32_t m_items[105]; //0x12CC
uint32_t m_num_items; //0x1470
uint32_t m_ammos[65]; //0x1474
uint32_t m_ammo_quantities[65]; //0x1578
uint32_t m_num_ammos; //0x167C
uint8_t unk_1680[105]; //0x1680
uint8_t unk_16E9[105]; //0x16E9
char pad_1680[1155]; //0x1752
bool m_infinite_ammos[65]; //0x1BD5
bool m_ammo_all_infinite; //0x1C16
}; //Size: 0x1C17
static_assert(sizeof(CPedInventoryDataNode) == 0x1C17);
char pad_0000[5232];
uint32_t m_items[105];
uint32_t m_num_items;
uint32_t m_ammos[65];
uint32_t m_ammo_quantities[65];
uint32_t m_num_ammos;
uint8_t unk_1680[105];
uint8_t unk_16E9[105];
char pad_1680[1260];
bool m_infinite_ammos[65];
bool m_ammo_all_infinite;
};
static_assert(sizeof(CPedInventoryDataNode) == 0x1E24);
#pragma pack(pop)

View File

@ -10,10 +10,10 @@
class MetricSessionMigrated : public rage::rlMetric
{
public:
char pad_0008[804]; //0x0008
uint32_t m_num_players; //0x032C
}; //Size: 0x0330
static_assert(sizeof(MetricSessionMigrated) == 0x330);
char pad_0008[828]; //0x0008
uint32_t m_num_players; //0x0344
}; //Size: 0x0348
static_assert(sizeof(MetricSessionMigrated) == 0x348);
class NetworkGameConfig
{
@ -182,7 +182,7 @@ static_assert(sizeof(InvitedGamers) == 0xC88);
class Network
{
public:
class rage::rlSessionInfo m_session_info; //0x0000
rage::rlSessionInfo m_steam_unk_session; //0x0000
rage::Obf32 m_num_dinput8_instances; //0x0070
rage::Obf32 m_last_time_dinput8_checked; //0x0080
class rage::snSession* m_game_session_ptr; //0x0090
@ -197,76 +197,89 @@ public:
char pad_8039[19]; //0x8039
uint32_t m_session_visibility_flags; //0x804C
uint32_t m_transition_visibility_flags; //0x8050
char pad_8054[36]; //0x8054
class MetricSessionMigrated m_metric_session_migrated; //0x8078
bool m_migrated_metric_enabled; //0x83A8
char pad_83A9[3]; //0x83A9
uint32_t m_game_session_state; //0x83AC
class NetworkGameFilter m_network_game_filter; //0x83B0
char pad_86F4[33]; //0x86F4
bool m_was_invited; //0x8715
char pad_8716[757]; //0x8716
bool m_need_host_change; //0x8A0B
char pad_8A0C[2620]; //0x8A0C
class rage::rlSessionDetail m_joining_session_detail; //0x9448
class SessionInfoBackup m_last_joined_session; //0x9800
char pad_987C[40]; //0x987C
uint32_t m_current_matchmaking_group; //0x98A4
uint32_t m_matchmaking_group_max_players[5]; //0x98A8
uint32_t m_num_active_matchmaking_groups; //0x98Bc
char pad_98C0[8]; //0x98C0
uint8_t m_matchmaking_property_id; //0x98C8
uint8_t m_matchmaking_mental_state; //0x98C9
char pad_98CA[374]; //0x98CA
class rage::rlMatchmakingFindResult m_game_session_matchmaking[3]; //0x9A40
char pad_14390[40]; //0x14390
class MatchmakingSessionResult m_game_matchmaking_session_results[10]; //0x143B8
char pad_169D8[320]; //0x169D8
class rage::rlGamerHandle m_transition_creator_handle; //0x16B18
char pad_16B28[24]; //0x16B28
bool m_local_player_info_dirty; //0x16B40
char pad_16B41[495]; //0x16B41
class rage::rlGamerHandle m_inviter_handle; //0x16D30
class CNetComplaintMgr m_game_complaint_mgr; //0x16D40
class CNetComplaintMgr m_transition_complaint_mgr; //0x179D8
char pad_18670[32]; //0x18670
class JoiningPlayerNameMap m_unused_joining_player_name_map; //0x18690
char pad_19FB8[8]; //0x19FB8
class CNetBlacklist m_blacklist; //0x19FC0
char pad_1A278[8]; //0x1A278
class InvitedGamers m_game_invited_gamers; //0x1A280
char pad_1AF08[56]; //0x1AF08
class SessionInfoBackup m_last_joined_transition; //0x1AF40
char pad_1AFBC[4]; //0x1AFBC
uint32_t m_activity_spectator_max_players; //0x1AFC0
char pad_1AFC4[56]; //0x1AFC4
bool m_is_activity_session; //0x1AFFC
char pad_1AFFD[35]; //0x1AFFD
class RemotePlayerData m_remote_player_data; //0x1B020
char pad_1B628[8]; //0x1B628
class rage::netGamePlayerData m_local_net_game_player_data; //0x1B630
char pad_1B660[600]; //0x1B660
class rage::rlMatchmakingFindResult m_transition_matchmaking[4]; //0x1B8B8
class NetworkGameFilter m_transition_filters[4]; //0x29A78
char pad_2A788[20]; //0x2A788
uint32_t m_transition_quickmatch_group_handle_count; //0x2A79C
class rage::rlGamerHandle m_transition_quickmatch_group_handles[32]; //0x2A7A0
char pad_2A9A0[8]; //0x2A9A0
class rage::rlSessionInfo m_transition_to_activity_session_info; //0x2A9A8
char pad_2AA18[48]; //0x2AA18
class MatchmakingSessionResult m_transition_matchmaking_session_results[10]; //0x2AA48
char pad_2D068[8]; //0x2D068
class InvitedGamers m_transition_invited_gamers; //0x2D070
char pad_2DCF8[16]; //0x2DCF8
class rage::rlGamerHandle m_transition_to_game_handle; //0x2DD08
class rage::rlSessionInfo m_transition_to_game_session_info; //0x2DD18
char pad_2DD88[4]; //0x2DD88
uint32_t m_transition_to_game_session_participant_count; //0x2DD8C
class rage::rlGamerHandle m_transition_to_game_session_participants[32]; //0x2DD90
char pad_2DF90[72]; //0x2DF90
class rage::rlGamerHandle m_follower_handles[32]; //0x2DFD8
uint32_t m_follower_count; //0x2E1D8
char pad_2E1DC[628]; //0x2E1DC
}; //Size: 0x2E450
static_assert(sizeof(Network) == 0x2E450);
char pad_8054[60]; //0x8054
class MetricSessionMigrated m_metric_session_migrated; //0x8090
bool m_migrated_metric_enabled; //0x83D8
char pad_83D9[3]; //0x83D9
uint32_t m_game_session_state; //0x83DC
class NetworkGameFilter m_network_game_filter; //0x83E0
char pad_8724[33]; //0x8724
bool m_was_invited; //0x8745
char pad_8746[10]; //0x8746
class rage::rlSessionInfo m_unk_session_info; //0x8750
char pad_87C0[635]; //0x87C0
bool m_need_host_change; //0x8A3B
char pad_8A3C[2612]; //0x8A3C
class rage::rlSessionDetail m_joining_session_detail; //0x9470
class SessionInfoBackup m_last_joined_session; //0x9828
char pad_98A4[40]; //0x98A4
uint32_t m_current_matchmaking_group; //0x98CC
uint32_t m_matchmaking_group_max_players[5]; //0x98D0
uint32_t m_num_active_matchmaking_groups; //0x98E4
char pad_98E8[8]; //0x98E8
uint8_t m_matchmaking_property_id; //0x98F0
uint8_t m_matchmaking_mental_state; //0x98F1
char pad_98F2[366]; //0x98F2
class rage::rlMatchmakingFindResult m_game_session_matchmaking[3]; //0x9A60
char pad_143B0[40]; //0x143B0
class MatchmakingSessionResult m_game_matchmaking_session_results[10]; //0x143D8
char pad_169F8[308]; //0x169F8
uint32_t m_num_bosses; //0x16B2C
bool m_num_bosses_set; //0x16B30
char pad_16B31[7]; //0x16B31
class rage::rlGamerHandle m_transition_creator_handle; //0x16B38
char pad_16B48[12]; //0x16B48
bool m_is_waiting_async; //0x16B54
bool m_is_preferred_activity; //0x16B55
char pad_16B56[2]; //0x16B56
uint32_t m_in_progress_finish_time; //0x16B58
char pad_16B5C[4]; //0x16B5C
bool m_local_player_info_dirty; //0x16B60
char pad_16B61[495]; //0x16B61
class rage::rlGamerHandle m_inviter_handle; //0x16D50
class CNetComplaintMgr m_game_complaint_mgr; //0x16D60
class CNetComplaintMgr m_transition_complaint_mgr; //0x179F8
char pad_18690[32]; //0x18690
class JoiningPlayerNameMap m_unused_joining_player_name_map; //0x186B0
char pad_19FD8[8]; //0x19FD8
class CNetBlacklist m_blacklist; //0x19FE0
char pad_1A298[8]; //0x1A298
class InvitedGamers m_game_invited_gamers; //0x1A2A0
char pad_1AF28[56]; //0x1AF28
class SessionInfoBackup m_last_joined_transition; //0x1AF60
uint32_t m_activity_max_players; //0x1AFDC
uint32_t m_activity_max_spectators; //0x1AFE0
char pad_1AFE4[48]; //0x1AFE4
bool m_do_not_launch_from_join_as_migrated_host; //0x1B014
char pad_1B015[7]; //0x1B015
bool m_is_activity_session; //0x1B01C
char pad_1B01D[35]; //0x1B01D
class RemotePlayerData m_remote_player_data; //0x1B040
char pad_1B648[8]; //0x1B648
class rage::netGamePlayerData m_local_net_game_player_data; //0x1B650
char pad_1B680[600]; //0x1B680
class rage::rlMatchmakingFindResult m_transition_matchmaking[4]; //0x1B8D8
class NetworkGameFilter m_transition_filters[4]; //0x29A98
char pad_2A7A8[20]; //0x2A7A8
uint32_t m_transition_quickmatch_group_handle_count; //0x2A7BC
class rage::rlGamerHandle m_transition_quickmatch_group_handles[32]; //0x2A7C0
bool m_retain_activity_group; //0x2A9C0
char pad_2A9C1[7]; //0x2A9C1
class rage::rlSessionInfo m_transition_to_activity_session_info; //0x2A9C8
char pad_2AA38[48]; //0x2AA38
class MatchmakingSessionResult m_transition_matchmaking_session_results[10]; //0x2AA68
char pad_2D088[8]; //0x2D088
class InvitedGamers m_transition_invited_gamers; //0x2D090
char pad_2DD18[16]; //0x2DD18
class rage::rlGamerHandle m_transition_to_game_handle; //0x2DD28
class rage::rlSessionInfo m_transition_to_game_session_info; //0x2DD38
char pad_2DDA8[4]; //0x2DDA8
uint32_t m_transition_to_game_session_participant_count; //0x2DDAC
class rage::rlGamerHandle m_transition_to_game_session_participants[32]; //0x2DDB0
char pad_2DFB0[72]; //0x2DFB0
class rage::rlGamerHandle m_follower_handles[32]; //0x2DFF8
uint32_t m_follower_count; //0x2E1F8
char pad_2E1FC[628]; //0x2E1FC
}; //Size: 0x2E470
static_assert(sizeof(Network) == 0x2E470);
#pragma pack(pop)

View File

@ -9,14 +9,20 @@ namespace rage
class netPlayer
{
public:
virtual ~netPlayer();
virtual void* _0x00();
virtual void* _0x08();
virtual uint32_t _0x10();
virtual netPlayer* _0x18(void*);
virtual bool _0x20(void*);
virtual bool _0x28(void**);
virtual void destructor();
virtual void reset();
virtual bool is_valid();
virtual const char* get_name();
virtual void _0x20();
virtual void _0x50();
virtual bool is_host();
virtual rage::rlGamerInfo* get_net_data();
virtual void _0x38();
virtual void _0x68();
char pad_0008[8]; //0x0008
CNonPhysicalPlayerData* m_non_physical_player; //0x0010