RDR-Classes/network/sync/netSyncNodeBase.hpp
maybegreat48 0132075d1c
Netsync stuff (#5)
* feat(metric): add rlMetric

* fix(metric): serializer fix

* feat(tls): add tlsContext

* feat(fwEntity): add entity classes

* fix: add import

* fix(vector): constexpr ctors

* feat(ped): add CPed

* feat(sync): add sync nodes

* feat(netsync): add netSyncDataNode::IsActive

* feat(netsync): first node

* fix: make GetData accessible

* fix: make netSyncDataNode an abstract class

* fix(netsync): the compiler is too smart for its own good

* feat(netsync): add CObjectCreationData

* feat(netsync): add CPlayerAppearanceData

* feat(netsync): CVehicleCreationData

* feat(netsync): add CPickupCreationData

* feat(netsync): add CPhysicalAttachData

* feat(netsync): add CVehicleProximityMigrationData

* feat(netsync): add CPedTaskTreeData

* feat(network): add CScriptedGameEvent

---------
2023-10-09 15:01:36 +02:00

40 lines
2.1 KiB
C++

#pragma once
#include <cstdint>
namespace rage
{
class datBitBuffer;
class netSyncTree;
#pragma pack(push, 8)
class netSyncNodeBase
{
public:
virtual ~netSyncNodeBase() = default; // 0x00
virtual bool IsDataNode() = 0; // 0x08
virtual bool IsParentNode() = 0; // 0x10
virtual void MoveCommonDataOpsVFT() = 0; // 0x18
virtual void ClearChildren() = 0; // 0x20
virtual void _0x28(void*, void*, void*, int* out_count) = 0; // 0x28
virtual bool Serialize(int flags, int flags2, void*, rage::datBitBuffer* buffer, int, void*, bool, int*, int* num_serialized) = 0; // 0x30
virtual bool Deserialize(int flags, int flags2, rage::datBitBuffer* buffer, void*) = 0; // 0x38
virtual int CalculateSize(int flags, int flags2, void*) = 0; // 0x40
virtual int CalculateSize2(int flags, int flags2, bool) = 0; // 0x48
netSyncNodeBase* m_NextSibling; //0x0008
netSyncNodeBase* m_PrevSibling; //0x0010
netSyncTree* m_Root; //0x0018
netSyncNodeBase* m_Parent; //0x0020
uint32_t m_Flags1; //0x0028
uint32_t m_Flags2; //0x002C
uint32_t m_Flags3; //0x0030
uint32_t m_Pad2; //0x0034
netSyncNodeBase* m_FirstChild; //0x0038
}; //Size: 0x0040
static_assert(sizeof(netSyncNodeBase) == 0x40);
#pragma pack(pop)
}