Enhancements (#18)

* better scriptHandlerNetComponent

* new func for CNetObjectMgr
This commit is contained in:
Ryan 2024-07-03 18:53:49 -04:00 committed by GitHub
parent 722e327633
commit f4c328d3c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 72 additions and 35 deletions

View File

@ -24,6 +24,7 @@ public:
virtual void _0x58() = 0; virtual void _0x58() = 0;
virtual void _0x60() = 0; virtual void _0x60() = 0;
virtual int _0x68() = 0; virtual int _0x68() = 0;
virtual void RegisterNetworkObject(rage::netObject *object) = 0;
virtual void PackCloneCreate(rage::netObject *object, CNetGamePlayer *player, rage::datBitBuffer *buffer) = 0; virtual void PackCloneCreate(rage::netObject *object, CNetGamePlayer *player, rage::datBitBuffer *buffer) = 0;
virtual bool PackCloneRemove(rage::netObject *object, CNetGamePlayer *player, bool) = 0; virtual bool PackCloneRemove(rage::netObject *object, CNetGamePlayer *player, bool) = 0;
virtual void PackCloneSync(rage::netObject *object, CNetGamePlayer *player) = 0; virtual void PackCloneSync(rage::netObject *object, CNetGamePlayer *player) = 0;

View File

@ -25,6 +25,42 @@ namespace rage
virtual void _0x10(CNetGamePlayer *) = 0; virtual void _0x10(CNetGamePlayer *) = 0;
virtual void *HandlePlayerLeft(CNetGamePlayer *player) = 0; virtual void *HandlePlayerLeft(CNetGamePlayer *player) = 0;
virtual void *SendHostMigrationEvent(CNetGamePlayer *player) = 0; virtual void *SendHostMigrationEvent(CNetGamePlayer *player) = 0;
virtual void PlayerJoined(void **, void *msg_ctx) = 0;
virtual void PlayerJoinedAck(void **, void *msg_ctx) = 0;
virtual void PlayerJoinedHostAck(void *, void *) = 0;
virtual void *_0x40(void *, void *) = 0;
virtual void *_0x48(void *, void *, void *) = 0;
virtual void *_0x50(void *, void *) = 0;
virtual void *_0x58(void *, void *) = 0;
virtual void *_0x60(void *, void *) = 0;
virtual void *_0x68(void *, void *) = 0;
virtual void _0x70(void *, void *) = 0;
virtual void _0x78(void *, void *) = 0;
virtual short _0x80(void *, void *) = 0;
virtual void *_0x88(void *, void *) = 0;
virtual void *_0x90(void *, void *) = 0;
virtual bool _0x98(void *, void *) = 0;
virtual void *_0xA0(void *, void *) = 0;
virtual void *_0xA8(void *, void *) = 0;
virtual short _0xB0(void *, void *) = 0;
virtual short _0xB8(void *, void *) = 0;
virtual short _0xC0(void *, void *) = 0;
virtual bool RegisterHostBroadcastData(void *data, int size, char *a3) = 0;
virtual bool RegisterPlayerBroadcastData(int a1, int size, bool a3) = 0;
virtual bool CanStartJoining() = 0;
virtual bool _0xE0() = 0;
virtual bool AddPlayerToScript(CNetGamePlayer *player,
short *out_participant_id,
short *out_slot_number,
int *out_fail_reason) = 0;
virtual bool AddPlayerToScriptImpl(CNetGamePlayer *player,
short participant_id,
short slot_number) = 0;
virtual bool RemovePlayerFromScript(CNetGamePlayer *player) = 0;
virtual void *PlayerLeftImpl(CNetGamePlayer *, bool) = 0;
virtual bool DoHostMigration(CNetGamePlayer *player, short host_token,
bool unk) = 0;
virtual void *LeaveFromScript() = 0;
public: public:
scriptHandler *m_ScriptHandler; // 0x08 scriptHandler *m_ScriptHandler; // 0x08
@ -36,7 +72,7 @@ namespace rage
int m_Pad3[3]; // 0x160 int m_Pad3[3]; // 0x160
std::uint8_t m_NumParticipants; // 0x168 std::uint8_t m_NumParticipants; // 0x168
inline CNetGamePlayer* GetHost() inline CNetGamePlayer *GetHost() const
{ {
if (!m_Host) if (!m_Host)
return nullptr; return nullptr;