40 lines
2.1 KiB
C++
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() { return false; }; // 0x08
|
|
virtual bool IsParentNode() { return false; }; // 0x10
|
|
virtual void MoveCommonDataOpsVFT() {}; // 0x18
|
|
virtual void ClearChildren() {}; // 0x20
|
|
virtual void _0x28(void*, void*, void*, int* out_count) {}; // 0x28
|
|
virtual bool Serialize(int flags, int flags2, void*, rage::datBitBuffer* buffer, int, void*, bool, int*, int* num_serialized) { return false; } // 0x30
|
|
virtual bool Deserialize(int flags, int flags2, rage::datBitBuffer* buffer, void*) { return false; } // 0x38
|
|
virtual int CalculateSize(int flags, int flags2, void*) { return 0; } // 0x40
|
|
virtual int CalculateSize2(int flags, int flags2, bool) { return 0; } // 0x48
|
|
|
|
netSyncNodeBase* m_next_sibling; //0x0008
|
|
netSyncNodeBase* m_prev_sibling; //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_first_child; //0x0038
|
|
}; //Size: 0x0040
|
|
static_assert(sizeof(netSyncNodeBase) == 0x40);
|
|
#pragma pack(pop)
|
|
} |