RDR-Classes/network/sync/ped/CPedTaskTreeData.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

46 lines
946 B
C++

#pragma once
#include <cstdint>
class CPedTaskData
{
public:
uint32_t m_TaskType; //0x0000
char pad_0004[16]; //0x0004
}; //Size: 0x0014
static_assert(sizeof(CPedTaskData) == 0x14);
class CPedTaskTree
{
public:
uint32_t m_TreeType; //0x0000
char pad_0004[4]; //0x0004 unused
uint32_t m_NumTasks; //0x0008
bool m_SequenceTree; //0x000C
class CPedTaskData m_Tasks[12]; //0x0010
char pad_0100[16]; //0x0100 unused
}; //Size: 0x0110
static_assert(sizeof(CPedTaskTree) == 0x110);
class CPedTaskTreeData
{
public:
class CPedTaskTree m_Trees[5]; //0x0000
char pad_0550[4]; //0x0550 unused
uint32_t m_ScriptCommand; //0x0554
uint32_t m_ScriptTaskStage; //0x0558
int GetNumTaskTrees()
{
switch (m_Trees[0].m_TreeType)
{
case 0: return 5;
case 1: return 2;
case 2: return 0;
case 3: return 1;
}
return 0;
}
}; //Size: 0x055C
static_assert(sizeof(CPedTaskTreeData) == 0x55C);