CommonLibSSE NG
Loading...
Searching...
No Matches
MiddleHighProcessData.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/A/ActorPackage.h"
4#include "RE/B/BGSPerkEntry.h"
5#include "RE/B/BSAtomic.h"
7#include "RE/B/BSResponse.h"
8#include "RE/B/BSTArray.h"
9#include "RE/B/BSTEvent.h"
10#include "RE/B/BSTList.h"
12#include "RE/F/FormTypes.h"
13#include "RE/H/HitData.h"
14#include "RE/M/MagicSystem.h"
15#include "RE/N/NiPoint3.h"
16#include "RE/N/NiSmartPointer.h"
17
18namespace RE
19{
20 class ActiveEffect;
21 class BGSAttackData;
22 class BGSPerkEntry;
23 class bhkCharacterController;
24 class bhkRagdollPenetrationUtil;
25 class BSAnimationGraphManager;
26 class BSFaceGenAnimationData;
27 class BSFaceGenNiNode;
28 class BSLightingShaderProperty;
29 class ExtraDataList;
30 class InventoryEntryData;
31 class MagicItem;
32 class NiAVObject;
33 class NiNode;
34 class QueuedFile;
35 class TESBoundObject;
36 struct AnimationVariableData;
37 struct BSAnimationGraphVariableCache;
38
39 enum class RESET_3D_FLAGS
40 {
41 kNone = 0,
42 kModel = 1 << 0,
43 kSkin = 1 << 1,
44 kHead = 1 << 2,
45 kFace = 1 << 3,
46 kScale = 1 << 4,
47 kSkeleton = 1 << 5,
48 kInitDefault = 1 << 6,
49 kSkyCellSkin = 1 << 7
50 };
51
53 {
54 public:
55 // members
57 std::uint32_t pad04; // 04
59 };
60 static_assert(sizeof(CommandedActorData) == 0x10);
61
63 {
64 public:
65 // members
67 std::int32_t count; // 08
68 std::uint32_t pad0C; // 0C
69 const BGSEquipSlot* equipSlot; // 10
70 void* unk18; // 18
71 bool playEquipSounds; // 20
72 bool forceEquip; // 21
73 bool showMessage; // 22
74 bool unk23; // 23
75 bool unk24; // 24
76 std::uint8_t pad25; // 25
77 std::uint16_t pad26; // 26
78 };
79 static_assert(sizeof(ObjectEquipParams) == 0x28);
80
82 {
83 public:
84 // members
89 bool equip; // 40
90 std::uint8_t pad41; // 41
91 std::uint16_t pad42; // 42
92 std::uint32_t pad44; // 44
93 };
94 static_assert(sizeof(QueuedItem) == 0x48);
95
97 {
98 public:
99 // members
100 float dismemberTimer; // 00
101 std::uint32_t limbIndex; // 04
105 bool explosion; // 20
106 std::uint8_t pad21; // 21
107 std::uint16_t pad22; // 22
108 std::uint32_t pad24; // 24
109 };
110 static_assert(sizeof(DeferredHideLimb) == 0x28);
111
113 {
114 public:
116 {
117 return operator[](a_pos);
118 }
119
121 {
122 assert(a_pos < BGSEntryPoint::ENTRY_POINT::kTotal);
123 return perkEntryArrays[stl::to_underlying(a_pos)];
124 }
125
126 // members
128 };
129 static_assert(sizeof(AIPerkData) == 0x8A0);
130
132 {
133 public:
143 std::uint32_t bleedoutAttacker; // 0EC
145 std::uint32_t pad0F4; // 0F4
156 std::uint64_t unk180; // 180
165 mutable BSSpinLock unk1E8; // 1E8
166 void* unk1F0; // 1F0 - smart ptr
167 std::uint16_t unk1F8; // 1F8
168 std::uint16_t unk1FA; // 1FA
169 std::uint32_t unk1FC; // 1FC
170 std::uint32_t unk200; // 200
171 float headHeightOffset; // 204
173 std::uint32_t unk20C; // 20C
174 std::uint64_t unk210; // 210
176 std::uint32_t pad21C; // 21C
179 void* unk230; // 230 - smart ptr
182 std::uint64_t unk248; // 248
188 void* unk278; // 278
191 std::uint32_t unk290; // 290
192 std::uint32_t currentFurnitureSubgraphID; // 294
193 float unk298; // 298
194 float unk29C; // 29C
195 float unk2A0; // 2A0
196 float unk2A4; // 2A4
197 float unk2A8; // 2A8
198 float unk2AC; // 2AC
199 float unk2B0; // 2B0
200 float bleedoutRate; // 2B4
201 float unk2B8; // 2B8
202 float unk2BC; // 2BC
203 float unk2C0; // 2C0
205 float alphaMult; // 2C8
206 float scriptRefractPower; // 2CC
207 float unk2D0; // 2D0
208 float deferredKillTimer; // 2D4
209 float killMoveTimer; // 2D8
210 float unk2DC; // 2DC
211 std::uint32_t unk2E0; // 2E0
212 std::uint32_t unk2E4; // 2E4
213 std::uint32_t currentFurnitureMarkerID; // 2E8
214 std::uint32_t unk2EC; // 2EC
215 std::uint64_t unk2F0; // 2F0
216 std::uint32_t unk2F8; // 2F8
217 std::uint32_t unk2FC; // 2FC
218 std::uint32_t unk300; // 300
219 std::uint16_t unk304; // 304
220 std::uint16_t unk306; // 306
221 std::uint64_t unk308; // 308
222 std::uint8_t unk310; // 310
224 std::uint16_t unk312; // 312
225 std::uint16_t unk314; // 314
226 bool unk316; // 316
227 bool unk317; // 317
228 bool unk318; // 318
229 bool unk319; // 319
230 bool unk31A; // 31A
231 bool pickPocketed; // 31B
232 bool summonedCreature; // 31C
233 bool forceNextUpdate; // 31D
234 bool unk31E; // 31E
235 bool unk31F; // 31F
236 bool unk320; // 320
237 bool unk321; // 321
238 bool beenAttacked; // 322
239 bool alwaysHit; // 323
240 bool doNoDamage; // 324
241 bool soulTrapped; // 325
242 bool unk326; // 326
243 bool unk327; // 327
244 bool unk328; // 328
245 bool preventCombat; // 329
246 bool unk32A; // 32A
247 bool isFleeing; // 32B
248 bool unk32C; // 32C
249 bool hostileGuard; // 32D
250 bool unk32E; // 32E
251 bool unk32F; // 32F
252 bool unk330; // 330
253 bool killQueued; // 331
254 bool inDeferredKill; // 332
255 bool pad333; // 333
256 std::uint32_t pad334; // 334
257 };
258 static_assert(sizeof(MiddleHighProcessData) == 0x338);
259}
Definition ActiveEffect.h:27
Definition ActorPackage.h:12
Definition BGSEquipSlot.h:10
Definition BSFaceGenAnimationData.h:11
Definition BSFaceGenNiNode.h:14
Definition BSTList.h:10
Definition BSAtomic.h:49
Definition BSTArray.h:377
Definition BSTEvent.h:19
Definition BSTSmartPointer.h:36
Definition ExtraDataList.h:53
Definition HitData.h:17
Definition InventoryEntryData.h:15
Definition MagicItem.h:30
Definition NiAVObject.h:50
Definition NiNode.h:12
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition MiddleHighProcessData.h:82
ObjectEquipParams equipParams
Definition MiddleHighProcessData.h:87
std::uint8_t pad41
Definition MiddleHighProcessData.h:90
TESBoundObject * object
Definition MiddleHighProcessData.h:86
std::uint32_t pad44
Definition MiddleHighProcessData.h:92
std::uint16_t pad42
Definition MiddleHighProcessData.h:91
NiPointer< QueuedFile > queuedFiles
Definition MiddleHighProcessData.h:88
QueuedItem * next
Definition MiddleHighProcessData.h:85
bool equip
Definition MiddleHighProcessData.h:89
Definition TESBoundObject.h:24
Definition TESIdleForm.h:37
Definition PCH.h:223
WardState
Definition MagicSystem.h:83
Definition AbsorbEffect.h:6
RESET_3D_FLAGS
Definition MiddleHighProcessData.h:40
constexpr auto to_underlying(Enum a_val) noexcept
Definition PCH.h:728
Definition MiddleHighProcessData.h:113
BSTArray< BGSPerkEntry * > perkEntryArrays[BGSEntryPoint::ENTRY_POINTS::kTotal]
Definition MiddleHighProcessData.h:127
BSTArray< BGSPerkEntry * > & operator[](BGSEntryPoint::ENTRY_POINT a_pos)
Definition MiddleHighProcessData.h:120
BSTArray< BGSPerkEntry * > & at(BGSEntryPoint::ENTRY_POINT a_pos)
Definition MiddleHighProcessData.h:115
ENTRY_POINT
Definition BGSEntryPoint.h:12
@ kTotal
Definition BGSEntryPoint.h:106
Definition BSAnimationGraphManager.h:35
Definition MiddleHighProcessData.h:53
std::uint32_t pad04
Definition MiddleHighProcessData.h:57
ActorHandle commandedActor
Definition MiddleHighProcessData.h:56
ActiveEffect * activeEffect
Definition MiddleHighProcessData.h:58
Definition MiddleHighProcessData.h:97
std::uint8_t pad21
Definition MiddleHighProcessData.h:106
NiPointer< NiNode > dismemberedLimbRoot
Definition MiddleHighProcessData.h:102
std::uint16_t pad22
Definition MiddleHighProcessData.h:107
NiPointer< NiNode > replacementLimb
Definition MiddleHighProcessData.h:103
DeferredHideLimb * next
Definition MiddleHighProcessData.h:104
std::uint32_t pad24
Definition MiddleHighProcessData.h:108
bool explosion
Definition MiddleHighProcessData.h:105
std::uint32_t limbIndex
Definition MiddleHighProcessData.h:101
float dismemberTimer
Definition MiddleHighProcessData.h:100
Definition MiddleHighProcessData.h:132
float unk2B8
Definition MiddleHighProcessData.h:201
float unk2A4
Definition MiddleHighProcessData.h:196
BSTArray< ActorHandle > deadDetectList
Definition MiddleHighProcessData.h:136
BSFaceGenNiNode * faceNodeSkinned
Definition MiddleHighProcessData.h:154
void * unk1F0
Definition MiddleHighProcessData.h:166
NiPointer< bhkCharacterController > charController
Definition MiddleHighProcessData.h:183
std::uint32_t unk20C
Definition MiddleHighProcessData.h:173
float unk2C0
Definition MiddleHighProcessData.h:203
bool unk319
Definition MiddleHighProcessData.h:229
MagicItem * currentPackageSpell
Definition MiddleHighProcessData.h:181
bool unk321
Definition MiddleHighProcessData.h:237
std::uint32_t unk1FC
Definition MiddleHighProcessData.h:169
BSFaceGenAnimationData * faceAnimationData
Definition MiddleHighProcessData.h:180
TESIdleForm * furnitureIdle
Definition MiddleHighProcessData.h:178
BSSimpleList< ActiveEffect * > * activeEffects
Definition MiddleHighProcessData.h:160
bool unk32F
Definition MiddleHighProcessData.h:251
bool unk31E
Definition MiddleHighProcessData.h:234
BSSimpleList< TESObjectREFR * > refListChairBed
Definition MiddleHighProcessData.h:137
std::uint64_t unk210
Definition MiddleHighProcessData.h:174
ActorHandle commandingActor
Definition MiddleHighProcessData.h:175
std::uint32_t unk2E4
Definition MiddleHighProcessData.h:212
bool hostileGuard
Definition MiddleHighProcessData.h:249
bool pad333
Definition MiddleHighProcessData.h:255
MagicSystem::WardState wardState
Definition MiddleHighProcessData.h:144
bool unk318
Definition MiddleHighProcessData.h:228
QueuedItem * itemstoEquipUnequip
Definition MiddleHighProcessData.h:157
std::uint16_t unk1FA
Definition MiddleHighProcessData.h:168
bool unk316
Definition MiddleHighProcessData.h:226
float unk2AC
Definition MiddleHighProcessData.h:198
std::uint16_t unk304
Definition MiddleHighProcessData.h:219
float unk2B0
Definition MiddleHighProcessData.h:199
NiAVObject * faceTargetSourceNode
Definition MiddleHighProcessData.h:153
bool unk326
Definition MiddleHighProcessData.h:242
float unk2D0
Definition MiddleHighProcessData.h:207
bool alwaysHit
Definition MiddleHighProcessData.h:239
bool pickPocketed
Definition MiddleHighProcessData.h:231
TESIdleForm * lastIdlePlayed
Definition MiddleHighProcessData.h:189
NiPoint3 actorMountPosition
Definition MiddleHighProcessData.h:140
std::uint8_t unk310
Definition MiddleHighProcessData.h:222
std::uint32_t pad21C
Definition MiddleHighProcessData.h:176
DeferredHideLimb * headDeferredHideLimb
Definition MiddleHighProcessData.h:159
BSTEventSource< void * > unk000
Definition MiddleHighProcessData.h:134
ActorPackage runOncePackage
Definition MiddleHighProcessData.h:135
float unk2A8
Definition MiddleHighProcessData.h:197
InventoryEntryData * rightHand
Definition MiddleHighProcessData.h:185
bool unk328
Definition MiddleHighProcessData.h:244
std::uint32_t bleedoutAttacker
Definition MiddleHighProcessData.h:143
ObjectRefHandle occupiedFurniture
Definition MiddleHighProcessData.h:172
NiPoint3 furniturePathPoint
Definition MiddleHighProcessData.h:141
std::uint64_t unk248
Definition MiddleHighProcessData.h:182
std::uint64_t unk308
Definition MiddleHighProcessData.h:221
InventoryEntryData * leftHand
Definition MiddleHighProcessData.h:177
NiNode * weaponBone
Definition MiddleHighProcessData.h:150
std::uint32_t unk2EC
Definition MiddleHighProcessData.h:214
float unk298
Definition MiddleHighProcessData.h:193
BSTArray< void * > unk1B8
Definition MiddleHighProcessData.h:163
float unk2DC
Definition MiddleHighProcessData.h:210
BSTSmartPointer< BSAnimationGraphManager > animationGraphManager
Definition MiddleHighProcessData.h:161
float unk2BC
Definition MiddleHighProcessData.h:202
bool killQueued
Definition MiddleHighProcessData.h:253
bool soulTrapped
Definition MiddleHighProcessData.h:241
bool unk330
Definition MiddleHighProcessData.h:252
std::uint16_t unk314
Definition MiddleHighProcessData.h:225
bool unk317
Definition MiddleHighProcessData.h:227
float deferredKillTimer
Definition MiddleHighProcessData.h:208
NiAVObject * headNode
Definition MiddleHighProcessData.h:151
std::uint16_t unk306
Definition MiddleHighProcessData.h:220
std::uint32_t unk2E0
Definition MiddleHighProcessData.h:211
std::uint64_t unk180
Definition MiddleHighProcessData.h:156
std::uint32_t pad334
Definition MiddleHighProcessData.h:256
BSTSmartPointer< bhkRagdollPenetrationUtil > penetrationDetectUtil
Definition MiddleHighProcessData.h:184
InventoryEntryData * bothHands
Definition MiddleHighProcessData.h:186
bool inDeferredKill
Definition MiddleHighProcessData.h:254
bool unk32C
Definition MiddleHighProcessData.h:248
BSTArray< void * > unk1D0
Definition MiddleHighProcessData.h:164
NiAVObject * torsoNode
Definition MiddleHighProcessData.h:152
std::uint32_t unk2FC
Definition MiddleHighProcessData.h:217
AIPerkData * perkData
Definition MiddleHighProcessData.h:190
std::uint32_t pad0F4
Definition MiddleHighProcessData.h:145
BSAnimationGraphVariableCache * animationVariableCache
Definition MiddleHighProcessData.h:162
std::uint32_t currentFurnitureSubgraphID
Definition MiddleHighProcessData.h:192
void * unk278
Definition MiddleHighProcessData.h:188
std::uint32_t unk290
Definition MiddleHighProcessData.h:191
std::uint32_t unk300
Definition MiddleHighProcessData.h:218
float killMoveTimer
Definition MiddleHighProcessData.h:209
std::uint64_t unk2F0
Definition MiddleHighProcessData.h:215
bool beenAttacked
Definition MiddleHighProcessData.h:238
bool preventCombat
Definition MiddleHighProcessData.h:245
bool unk320
Definition MiddleHighProcessData.h:236
float unk29C
Definition MiddleHighProcessData.h:194
bool unk32A
Definition MiddleHighProcessData.h:246
bool unk31F
Definition MiddleHighProcessData.h:235
NiPoint3 rotation
Definition MiddleHighProcessData.h:138
bool forceNextUpdate
Definition MiddleHighProcessData.h:233
std::uint32_t unk2F8
Definition MiddleHighProcessData.h:216
float alphaMult
Definition MiddleHighProcessData.h:205
bool doNoDamage
Definition MiddleHighProcessData.h:240
std::uint32_t currentFurnitureMarkerID
Definition MiddleHighProcessData.h:213
std::uint32_t unk200
Definition MiddleHighProcessData.h:170
NiAVObject * unk148
Definition MiddleHighProcessData.h:149
float scriptRefractPower
Definition MiddleHighProcessData.h:206
stl::enumeration< RESET_3D_FLAGS, std::uint8_t > update3DModel
Definition MiddleHighProcessData.h:223
bool unk32E
Definition MiddleHighProcessData.h:250
BSTSmartPointer< AnimResponse > animResponse
Definition MiddleHighProcessData.h:146
bool unk31A
Definition MiddleHighProcessData.h:230
NiPointer< BSLightingShaderProperty > lightingProperty
Definition MiddleHighProcessData.h:155
NiPointer< QueuedFile > bodyPartPreload
Definition MiddleHighProcessData.h:187
bool summonedCreature
Definition MiddleHighProcessData.h:232
NiPoint3 lastSeenPosition
Definition MiddleHighProcessData.h:142
void * unk230
Definition MiddleHighProcessData.h:179
float bleedoutRate
Definition MiddleHighProcessData.h:200
float headHeightOffset
Definition MiddleHighProcessData.h:171
float unk2A0
Definition MiddleHighProcessData.h:195
std::uint16_t unk312
Definition MiddleHighProcessData.h:224
bool isFleeing
Definition MiddleHighProcessData.h:247
NiNode * damageRootNode[6]
Definition MiddleHighProcessData.h:148
BSSpinLock unk1E8
Definition MiddleHighProcessData.h:165
float torchEvaluationTimer
Definition MiddleHighProcessData.h:204
std::uint16_t unk1F8
Definition MiddleHighProcessData.h:167
HitData * lastHitData
Definition MiddleHighProcessData.h:158
bool unk327
Definition MiddleHighProcessData.h:243
BSTArray< CommandedActorData > commandedActors
Definition MiddleHighProcessData.h:147
NiPoint3 rotationSpeed
Definition MiddleHighProcessData.h:139
Definition MiddleHighProcessData.h:63
void * unk18
Definition MiddleHighProcessData.h:70
bool showMessage
Definition MiddleHighProcessData.h:73
std::uint32_t pad0C
Definition MiddleHighProcessData.h:68
bool playEquipSounds
Definition MiddleHighProcessData.h:71
bool unk23
Definition MiddleHighProcessData.h:74
ExtraDataList * extraDataList
Definition MiddleHighProcessData.h:66
std::uint16_t pad26
Definition MiddleHighProcessData.h:77
std::uint8_t pad25
Definition MiddleHighProcessData.h:76
std::int32_t count
Definition MiddleHighProcessData.h:67
bool unk24
Definition MiddleHighProcessData.h:75
const BGSEquipSlot * equipSlot
Definition MiddleHighProcessData.h:69
bool forceEquip
Definition MiddleHighProcessData.h:72