Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/M/MiddleHighProcessData.h
T
2026-05-30 18:33:24 +12:00

178 lines
14 KiB
C++

#pragma once
#include "RE/A/AITimeStamp.h"
#include "RE/A/ActiveEffectList.h"
#include "RE/A/ActorPackage.h"
#include "RE/B/BSFixedString.h"
#include "RE/B/BSPointerHandle.h"
#include "RE/B/BSSimpleList.h"
#include "RE/B/BSSpinLock.h"
#include "RE/B/BSTArray.h"
#include "RE/B/BSTEvent.h"
#include "RE/B/BSTSmartPointer.h"
#include "RE/B/BSTTuple.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"
#include "RE/S/SubgraphHandle.h"
#include "RE/S/SubgraphIdentifier.h"
namespace RE
{
enum class PACKAGE_OBJECT_TYPE;
class ActorInventoryEvent;
class AIPerkData;
class bhkCharacterController;
class bhkNPCollisionObject;
class bhkRagdollPenetrationUtil;
class BSAnimationGraphManager;
class BSAnimationGraphVariableCache;
class BSClothExtraData;
class BSFaceGenAnimationData;
class BSFaceGenNiNode;
class BSLightingShaderProperty;
class CommandedActorData;
class DeferredHideLimb;
class EquippedItem;
class HitData;
class IAnimationStanceData;
class NiAVObject;
class NiNode;
class QueuedFile;
class QueuedItem;
class SubGraphIdleRootData;
namespace MagicSystem
{
enum class WardState;
}
class MiddleHighProcessData
{
public:
// members
BSTEventSource<ActorInventoryEvent> inventoryEventSource; // 000
NiPointer<bhkNPCollisionObject> poseBound; // 058
ActorPackage runOncePackage; // 060
BSTArray<ActorHandle> deadDetectList; // 090
BSSimpleList<TESObjectREFR*> refListChairBed; // 0A8
NiPoint3 rotation; // 0B8
NiPoint3 rotationSpeed; // 0C4
NiPoint3 actorMountPosition; // 0D0
NiPoint3 furniturePathPoint; // 0DC
NiPoint3 lastSeenPosition; // 0E8
ActorHandle bleedoutAttacker; // 0F4
REX::TEnumSet<MagicSystem::WardState, std::int32_t> wardState; // 0F8
BSTSmartPointer<void*> animResponse; // 100 - BSResponse<BSFixedString, Actor, BSFixedString, DoNothingUnhandledPolicy>
BSTArray<CommandedActorData> commandedActors; // 108
NiNode* damageRootNode[26]; // 120
NiNode* weaponBone; // 1F0
NiAVObject* headNode; // 1F8
NiAVObject* torsoNode; // 200
NiAVObject* faceTargetSourceNode; // 208
BSFaceGenNiNode* faceNodeSkinned; // 210
NiPointer<BSLightingShaderProperty> lightingProperty; // 218
QueuedItem* listItemstoEquipUnequip; // 220
HitData* lastHitData; // 228
DeferredHideLimb* headDeferredHideLimb; // 230
ActiveEffectList activeEffects; // 238
BSTSmartPointer<BSAnimationGraphManager> animationGraphManager; // 258
BSAnimationGraphVariableCache* animationVariableCache; // 260
BSTArray<SubGraphIdleRootData> subGraphIdleManagerRoots; // 268
BSSpinLock equippedItemsLock; // 280
BSTArray<EquippedItem> equippedItems; // 288
BSTArray<BSClothExtraData*> clothExtraDataCache; // 2A0
BSTArray<BSTSmallArray<SubgraphHandle, 2>> subGraphHandles; // 2B8
BSTSmallArray<SubgraphIdentifier, 2> currentDefaultSubGraphID; // 2D0
BSTSmallArray<SubgraphIdentifier, 2> requestedDefaultSubGraphID; // 2F0
BSTSmallArray<SubgraphIdentifier, 2> currentWeaponSubGraphID; // 310
BSTSmallArray<SubgraphIdentifier, 2> requestedWeaponSubGraphID; // 330
BSTSmartPointer<IAnimationStanceData> stanceData; // 350
BSTArray<BSTTuple<std::uint32_t, void*>> nodeLocationArray; // 358 - AnimationStanceNodeLocationData<NiPoint3>
float stanceHeightArray[6][2]; // 370
float headHeightOffset; // 3A0
ObjectRefHandle currentFurniture; // 3A4
ObjectRefHandle occupiedFurniture; // 3A8
TESIdleForm* currentIdle; // 3B0
ActorHandle commandingActor; // 3B8
const TESIdleForm* furnitureIdle; // 3C0
BSFaceGenAnimationData* faceAnimationData; // 3C8
MagicItem* currentPackageSpell; // 3D0
TESObjectWEAP* lastBoundWeapon; // 3D8
NiPointer<bhkCharacterController> charController; // 3E0
BSTSmartPointer<bhkRagdollPenetrationUtil> penetrationDetectUtil; // 3E8
NiPointer<QueuedFile> bodyPartPreload; // 3F0
TESIdleForm* lastIdlePlayed; // 3F8
AIPerkData* perkData; // 400
NiPoint3 lookAtLocation; // 408
float pursueTimer; // 414
float furnitureAngle; // 418
float furnitureEntryFootstepDeltaTarget; // 41C
float packageIdleTimer; // 420
float equippedWeight; // 424
float desiredSpeed; // 428
float animationSpeed; // 42C
float bleedoutTimer; // 430
float bleedoutRate; // 434
float bleedoutMaxHealth; // 438
float maxWardPower; // 43C
float animGraphEventTimeout; // 440
float torchEvalTimer; // 444
float alphaMult; // 448
float scriptRefractPower; // 44C
float sleepingTimer; // 450
float deferredKillTimer; // 454
float killMoveTimer; // 458
float staggerTimer; // 45C
float mountDismountSafetyTimer; // 460
AITimeStamp rangeWaypointIdleTimer; // 464
std::int32_t packageIdleNumber; // 468
std::int32_t reservationSlot; // 46C
SubgraphIdentifier currentFurnitureSubgraphID; // 470
std::uint32_t currentFurnitureMarkerID; // 478
std::uint32_t occupiedFurnitureMarkerID; // 47C
std::uint64_t nextExtraArrow3DUpdate; // 480
std::uint32_t deferredKill; // 488
std::uint32_t flareFlags; // 48C
REX::TEnumSet<PACKAGE_OBJECT_TYPE, std::int32_t> useItem; // 490
std::int16_t animActionSuccess; // 494
std::uint16_t update3DModel; // 496
std::int8_t weaponCullCounter; // 498
std::int8_t archetypeChangeType; // 499
bool animWeaponCull; // 49A
bool aimingTarget; // 49B
bool doneClothesChange; // 49C
bool pickPackIdle; // 49D
bool doneOnce; // 49E
bool refreshFlareFlags; // 49F
bool pickPocketed; // 4A0
bool summonedCreature; // 4A1
bool forceNextUpdate; // 4A2
bool playedBeginIdles; // 4A3
bool playedEndIdles; // 4A4
bool quickPlacement; // 4A5
bool beenAttacked; // 4A6
bool alwaysHit; // 4A7
bool doNoDamage; // 4A8
bool soulTrapped; // 4A9
bool lookAt; // 4AA
bool eating; // 4AB
bool calcLight; // 4AC
bool preventCombat; // 4AD
bool dyingFromBleedout; // 4AE
bool fleeing; // 4AF
bool instantGetOut; // 4B0
bool hostileGuard; // 4B1
bool stopIdleFailed; // 4B2
bool killQueued; // 4B3
bool ragdollInstant; // 4B4
bool scriptDeferredKill; // 4B5
bool furnitureEntryLeftFootFirst; // 4B6
bool furnitureAnimationPlayed; // 4B7
bool queuedInstantInteractionAnimation; // 4B8
bool queuedModifyInitialAnimationPose; // 4B9
bool avoidPlayer; // 4BA
bool usingPathingFaceTargetWhileTrackingOutOfRange; // 4BB
};
static_assert(sizeof(MiddleHighProcessData) == 0x4C0);
}