summaryrefslogtreecommitdiff
path: root/src/modelinfo/PedModelInfo.h
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2019-05-15 16:52:37 +0200
committeraap <aap@papnet.eu>2019-05-15 16:52:37 +0200
commit600bf0351476a5a21aabb5429132ddf7f52ac0b9 (patch)
treed8e48b3a581679e33830fb7c98ed69e1e242e2c2 /src/modelinfo/PedModelInfo.h
first commit
Diffstat (limited to 'src/modelinfo/PedModelInfo.h')
-rw-r--r--src/modelinfo/PedModelInfo.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/modelinfo/PedModelInfo.h b/src/modelinfo/PedModelInfo.h
new file mode 100644
index 00000000..e917b6b2
--- /dev/null
+++ b/src/modelinfo/PedModelInfo.h
@@ -0,0 +1,47 @@
+#pragma once
+
+#include "ClumpModelInfo.h"
+
+enum PedNode {
+ PED_WAIST,
+ PED_TORSO, // Smid on PS2/PC, Storso on mobile/xbox
+ PED_HEAD,
+ PED_UPPERARML,
+ PED_UPPERARMR,
+ PED_HANDL,
+ PED_HANDR,
+ PED_UPPERLEGL,
+ PED_UPPERLEGR,
+ PED_FOOTL,
+ PED_FOOTR,
+ PED_LOWERLEGR,
+ // This is not valid apparently
+ PED_LOWERLEGL,
+};
+
+class CPedModelInfo : public CClumpModelInfo
+{
+public:
+ void *m_animGroup; // TODO
+ int32 m_pedType;
+ int32 m_pedStatType;
+ uint32 m_carsCanDrive;
+ CColModel *m_hitColModel;
+ RpAtomic *m_head;
+ RpAtomic *m_lhand;
+ RpAtomic *m_rhand;
+
+ static RwObjectNameIdAssocation m_pPedIds[12];
+
+ CPedModelInfo(void) : CClumpModelInfo(MITYPE_PED) { }
+ void DeleteRwObject(void);
+ void SetClump(RpClump *);
+
+ void SetLowDetailClump(RpClump*);
+ void CreateHitColModel(void);
+
+
+ void DeleteRwObject_(void) { this->CPedModelInfo::DeleteRwObject(); }
+ void SetClump_(RpClump *clump) { this->CPedModelInfo::SetClump(clump); }
+};
+static_assert(sizeof(CPedModelInfo) == 0x54, "CPedModelInfo: error");