1
+ #pragma once
2
+
3
+ #include " SmSdk/Physics/AreaTriggerProxy.hpp"
4
+ #include " SmSdk/bullet_include.hpp"
5
+ #include " SmSdk/Base/Task.hpp"
6
+
7
+ #include < DirectXMath.h>
8
+ #include < concrt.h>
9
+
10
+ #include < unordered_map>
11
+ #include < vector>
12
+
13
+ struct AreaTrigger
14
+ {
15
+ /* 0x0000 */ __int32 m_id;
16
+ /* 0x0004 */ __int16 m_worldId;
17
+ private:
18
+ /* 0x0006 */ char pad_0x6[0xE ];
19
+ public:
20
+ /* 0x0014 */ unsigned __int32 m_filter;
21
+ private:
22
+ /* 0x0018 */ char pad_0x18[0xC ];
23
+ public:
24
+ /* 0x0024 */ unsigned __int32 m_someFlag;
25
+ private:
26
+ /* 0x0028 */ char pad_0x28[0x4 ];
27
+ public:
28
+ /* 0x002C */ bool m_bWaterTrigger;
29
+ private:
30
+ /* 0x002D */ char pad_0x2D[0x3 ];
31
+ public:
32
+ /* 0x0030 */ btBoxShape* m_pBoxShape;
33
+ /* 0x0038 */ btPairCachingGhostObject* m_pGhostObject;
34
+ /* 0x0040 */ AreaTriggerProxy* m_pPhysicsProxy;
35
+ private:
36
+ /* 0x0048 */ char pad_0x48[0x100 ];
37
+ public:
38
+ /* 0x0148 */ DirectX::XMFLOAT3 m_position;
39
+ /* 0x0154 */ DirectX::XMFLOAT4 m_rotation;
40
+ /* 0x0164 */ DirectX::XMFLOAT3 m_size;
41
+ private:
42
+ /* 0x0170 */ char pad_0x170[0x8 ];
43
+ }; // Size: 0x178
44
+
45
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_id) == 0x0, "AreaTrigger::m_id: Incorrect offset");
46
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_worldId) == 0x4, "AreaTrigger::m_worldId: Incorrect offset");
47
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_filter) == 0x14, "AreaTrigger::m_filter: Incorrect offset");
48
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_someFlag) == 0x24, "AreaTrigger::m_someFlag: Incorrect offset");
49
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_bWaterTrigger) == 0x2C, "AreaTrigger::m_bWaterTrigger: Incorrect offset");
50
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_pBoxShape) == 0x30, "AreaTrigger::m_pBoxShape: Incorrect offset");
51
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_pGhostObject) == 0x38, "AreaTrigger::m_pGhostObject: Incorrect offset");
52
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_pPhysicsProxy) == 0x40, "AreaTrigger::m_pPhysicsProxy: Incorrect offset");
53
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_position) == 0x148, "AreaTrigger::m_position: Incorrect offset");
54
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_rotation) == 0x154, "AreaTrigger::m_rotation: Incorrect offset");
55
+ static_assert (offsetof(AreaTrigger, AreaTrigger::m_size) == 0x164, "AreaTrigger::m_size: Incorrect offset");
56
+
57
+ static_assert (sizeof (AreaTrigger) == 0x178, "AreaTrigger: Incorrect Size");
58
+
59
+
60
+
61
+ struct AreaTriggerWorld
62
+ {
63
+ /* 0x0000 */ unsigned __int16 m_worldId;
64
+ private:
65
+ /* 0x0002 */ char pad_0x2[0x6 ];
66
+ public:
67
+ /* 0x0008 */ std::map<int , AreaTrigger*> m_mapAreaTriggers;
68
+ /* 0x0018 */ std::vector<AreaTrigger*> m_vecAreaTriggerQueue;
69
+ private:
70
+ /* 0x0030 */ char pad_0x30[0x18 ];
71
+ }; // Size: 0x48
72
+
73
+ static_assert (offsetof(AreaTriggerWorld, AreaTriggerWorld::m_worldId) == 0x0, "AreaTriggerWorld::m_worldId: Incorrect offset");
74
+ static_assert (offsetof(AreaTriggerWorld, AreaTriggerWorld::m_mapAreaTriggers) == 0x8, "AreaTriggerWorld::m_mapAreaTriggers: Incorrect offset");
75
+ static_assert (offsetof(AreaTriggerWorld, AreaTriggerWorld::m_vecAreaTriggerQueue) == 0x18, "AreaTriggerWorld::m_vecAreaTriggerQueue: Incorrect offset");
76
+
77
+ static_assert (sizeof (AreaTriggerWorld) == 0x48, "AreaTriggerWorld: Incorrect Size");
78
+
79
+
80
+
81
+ struct AreaTriggerManager : public Task
82
+ {
83
+ static AreaTriggerManager* GetInstance ();
84
+
85
+ /* 0x0008 */ Concurrency::event m_event;
86
+ /* 0x0050 */ unsigned __int32 m_areaTriggerIdCounter;
87
+ private:
88
+ /* 0x0054 */ char pad_0x54[0x4 ];
89
+ public:
90
+ /* 0x0058 */ std::unordered_map<std::uint16_t , AreaTriggerWorld> m_mapAreaTriggerWorlds;
91
+ /* 0x0098 */ std::vector<AreaTrigger*> m_vecAreaTriggers;
92
+ private:
93
+ /* 0x00B0 */ char pad_0xB0[0x10 ];
94
+
95
+ }; // Size: 0xC0
96
+
97
+ static_assert (offsetof(AreaTriggerManager, AreaTriggerManager::m_event) == 0x8, "AreaTriggerManager::m_event: Incorrect offset");
98
+ static_assert (offsetof(AreaTriggerManager, AreaTriggerManager::m_areaTriggerIdCounter) == 0x50, "AreaTriggerManager::m_areaTriggerIdCounter: Incorrect offset");
99
+ static_assert (offsetof(AreaTriggerManager, AreaTriggerManager::m_mapAreaTriggerWorlds) == 0x58, "AreaTriggerManager::m_mapAreaTriggerWorlds: Incorrect offset");
100
+ static_assert (offsetof(AreaTriggerManager, AreaTriggerManager::m_vecAreaTriggers) == 0x98, "AreaTriggerManager::m_vecAreaTriggers: Incorrect offset");
101
+
102
+ static_assert (sizeof (AreaTriggerManager) == 0xC0, "AreaTriggerManager: Incorrect Size");
0 commit comments