RDR-Classes/network/netPlayerMgrBase.hpp
maybegreat48 a2a74e151a
Invoker stuff (#1)
* feat: initialize classes repo

* feat(script): stuff for native invoker

* feat: add some more classes

* feat(player): complete CNetworkPlayerMgr

* feat(network): add some more stuff

* feat(network): add rlGamerInfo

* feat(player): add CPlayerInfo
2023-08-26 21:12:04 +02:00

39 lines
1.4 KiB
C++

#pragma once
#include <cstdint>
class CNetGamePlayer;
class CNetGamePlayerDataMsg;
class CNonPhysicalPlayerData;
namespace rage
{
class rlGamerInfo;
class netConnectionManager;
#pragma pack(push, 8)
// the same as GTA 1.63
class netPlayerMgrBase
{
public:
virtual ~netPlayerMgrBase() = default;
virtual void Initialize() = 0;
virtual void Shutdown() = 0;
virtual void unk_0x18() = 0;
virtual CNetGamePlayer* AddPlayer_raw(rage::rlGamerInfo* gamer_info, uint32_t a2, CNetGamePlayerDataMsg* player_data, CNonPhysicalPlayerData* non_physical_player_data) = 0;
virtual void RemovePlayer(CNetGamePlayer* net_game_player) = 0;
virtual void UpdatePlayerListsForPlayer(CNetGamePlayer* net_game_player) = 0;
virtual CNetGamePlayer* AddPlayer(rage::rlGamerInfo* gamer_info, uint32_t a3, CNetGamePlayerDataMsg* player_data, CNonPhysicalPlayerData* non_physical_player_data) = 0;
rage::netConnectionManager* m_NetConnectionManager; //0x0008
uint64_t* m_NetBandwidthManager; //0x0010
char pad_0018[208]; //0x0018
CNetGamePlayer* m_LocalPlayer; //0x00E8
char pad_00F0[144]; //0x00F0
CNetGamePlayer* m_PlayerList[32]; //0x0180 (TODO: is this used?)
uint16_t m_PlayerLimit; //0x0280
char pad_0282[10]; //0x0282
uint16_t m_PlayerCount; //0x028C
char pad_0290[1618]; //0x0290
}; //Size: 0x08E0
static_assert(sizeof(netPlayerMgrBase) == 0x8E0);
#pragma pack(pop)
}