Improve sync classes (#108)
This commit is contained in:
1 parent
9bf112e043
commit
f71748dd1d
78 files changed
+928
-303
No files matched your search
@@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
#include "netSyncDataNode.hpp"
|
||||
#include "NodeCommonDataOperations.hpp"
|
||||
|
||||
namespace rage
|
||||
{
|
||||
class netSyncData;
|
||||
class netObject;
|
||||
}
|
||||
|
||||
class CProjectBaseSyncDataNode : public rage::netSyncDataNode
|
||||
{
|
||||
public:
|
||||
virtual bool IsSyncNode() { return false; } // 0x50
|
||||
virtual bool _0x58() { return false; } // 0x58
|
||||
virtual bool IsGlobalFlags() { return false; } // 0x60
|
||||
virtual void DoPreCache(rage::netSyncData* data) {} // 0x68
|
||||
virtual std::uint8_t GetSyncFrequency(int index) { return 0; } // 0x70
|
||||
virtual int GetSyncInterval(int index) { return 0; } // 0x78
|
||||
virtual int GetBandwidthForPlayer(int player) { return 200; } // 0x80 (should always return 200)
|
||||
virtual void _0x88(void*) {} // 0x88
|
||||
virtual bool _0x90(void*, void*, int, int, int) { return false; } // 0x90
|
||||
virtual int CalculateSize() { return 0; } // 0x98 need to verify later
|
||||
virtual bool IsPreCacheDisabled() { return false; } // 0xA0
|
||||
virtual bool CanApply(rage::netObject* object) { return false; } // 0xA8
|
||||
virtual int GetPlayersInScope() { return -1; } // 0xB0
|
||||
virtual void DeserializeImpl() {} // 0xB8 need to verify later
|
||||
virtual void SerializeImpl() {} // 0xC0 need to verify later
|
||||
virtual int CalculateSize2() { return 0; } // 0xC8
|
||||
virtual int _0xD0() { return 0; } // 0xD0 calls NodeCommonDataOperations::Unk()
|
||||
virtual void Log() {} // 0xD8
|
||||
virtual bool CanPreCache(int) { return false; } // 0xE0 arg is always zero afaik
|
||||
virtual bool CanBeEmpty() { return false; } // 0xE8
|
||||
virtual bool IsEmpty() { return false; } // 0xF0 returns true if all data is default
|
||||
virtual void SetEmpty() {} // 0xF8 sets all data to their default values
|
||||
virtual void Log2() {} // 0x100
|
||||
virtual void ResetScriptData() {} // 0x108
|
||||
virtual bool _0x110() { return false; } // 0x110
|
||||
|
||||
private:
|
||||
NodeCommonDataOperations m_common_data_operations; // 0xB0 this is generally invalidated by MoveCommonDataOpsVFT()
|
||||
};
|
||||
static_assert(sizeof(CProjectBaseSyncDataNode) == 0xC0);
|
||||
|
||||
class CSyncDataNodeFrequent : public CProjectBaseSyncDataNode {};
|
||||
class CSyncDataNodeInfrequent : public CProjectBaseSyncDataNode {};
|
||||
Reference in new issue
Block a user