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

264 lines
22 KiB
C++

#pragma once
#include "RE/B/BSPointerHandle.h"
#include "RE/B/BSTArray.h"
#include "RE/I/IDLE_REPLAY_DELAY.h"
#include "RE/M/MovementLargeDelta.h"
#include "RE/N/NiBillboardNode.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NonMorphFaceManagement.h"
#include "RE/R/ReanimateData.h"
#include "RE/T/TESShout.h"
namespace RE
{
class ActorKnowledge;
class AvoidAreaStruct;
class DialogueItem;
class IAIWorldLocation;
class PathingRequest;
class QueuedDialogueType;
class StandardDetectionListener;
enum class PLAYER_ACTION;
class HighProcessData
{
public:
enum class VOICE_STATE
{
kNone = 0,
kRequest = 1,
kStart = 2,
kContinue = 3,
kPrecast = 4,
kPostcast = 5,
kFail = 6
};
enum class FADE_STATE
{
kNormal = 0,
kIn = 1,
kOut = 2,
kTeleportIn = 3,
kTeleportOut = 4,
kOutDisable = 5,
kOutDelete = 6
};
enum class BUMP_TYPE
{
kNone = static_cast<std::underlying_type_t<BUMP_TYPE>>(-1),
kSmall = 0,
kBig = 1
};
// members
NonMorphFaceManagement::InstanceData nonMorphChannelsInstance; // 000
GunStateData gunState; // 008
BSTSmallArray<IDLE_REPLAY_DELAY, 1> replayDelay; // 020
REX::TEnum<VOICE_STATE, std::uint32_t> voiceState; // 040
TESShout* currentShout; // 048
REX::TEnum<TESShout::VariationID, std::uint32_t> currentShoutVariation; // 04C
float voiceTimeElapsed; // 050
float voiceRecoveryTime; // 054
float healthRegenDelay; // 058
float conditionRegenDelay; // 05C
float staminaRegenDelay; // 060
float apRegenDelay; // 064
float radsRegenDelay; // 068
const IAIWorldLocation* sandBoxLocation; // 070
BSTArray<ActorHandle> lastSpokenToArray; // 078
BGSAnimationSequencer animSequencer; // 090
NiPoint3 pathingCurrentMovementSpeed; // 0C8
NiPoint3 pathingCurrentRotationSpeed; // 0D4
NiPoint3 pathingDesiredPosition; // 0E0
NiPoint3 pathingDesiredOrientation; // 0EC
NiPoint3 pathingDesiredMovementSpeed; // 0F8
NiPoint3 pathingDesiredRotationSpeed; // 104
MovementLargeDelta::IdleSelectionData pathingIdleSelectionEnums; // 110
ActorMovementData movementOutput; // 120
float motionFeedbackTimer; // 170
float lastBumpDirection; // 174
ObjectRefHandle lastExtDoorActivated; // 178
float activationHeight; // 17C
ReanimateData myReanimateData; // 180
std::uint32_t CRCA[3]; // 190
Movement::TypeData currentMovementType; // 1A0
REX::TEnum<FADE_STATE, std::uint32_t> fadeState; // 220
float fadeAlpha; // 224
TESObjectREFR* teleportFadeRef; // 228
float elevatorFadeTimer; // 230
ObjectRefHandle headTrackingTargets[6]; // 234
bool headTrackingTargetFlags[6]; // 24C
float headTrackTargetTimer; // 254
NiPoint3 headTrackTargetOffset; // 258
float headTrackHoldOffsetHoldTimer; // 264
float headTrackTargetOffsetTimer; // 268
std::uint32_t eyeTrackHandle; // 26C
ObjectRefHandle lastTarget; // 270
ObjectRefHandle pathLookAtTarget; // 274
BSPathingLocation cachedPathingLocation; // 278
BSNavmesh* cachedPathingLocationNavmesh; // 2A8
BSSpinLock cachedPathingLocationLock; // 2B0
float prevTailPitchChange; // 2B8
float cachedActorHeight; // 2BC
AITimeStamp bumpTimer; // 2C0
AITimeStamp bumpReactionTimer; // 2C4
REX::TEnum<BUMP_TYPE, std::uint32_t> bumped; // 2C8
float takeBackTimer; // 2CC
AvoidAreaStruct* avoidAreas; // 2D0
float avoidWaitTimer; // 2D8
REX::TEnum<PLAYER_ACTION, std::uint32_t> playerActionReactionType; // 2DC
BSFixedStringCS strVoiceSubtitle; // 2E0
BSTArray<BSTTuple<std::uint32_t, NiPointer<ActorKnowledge>>> knowledgeArray; // 2E8
BSReadWriteLock knowledgeLock; // 300
BSTArray<QueuedDialogueType*> queueofGreetingsArray; // 308
NiPointer<BGSAttackData> attackData; // 320
NiPoint3 locationOffsetByWaterPoint; // 328
BGSSoundOutput* outputModel; // 338
std::uint32_t activateTopicID; // 340
float distanceSqFromPlayer; // 344
NiPoint3 deathForceDirection; // 348
float deathForce; // 354
float staggerDirection; // 358
float staggerMagnitude; // 35C
float lastAngleToCamera; // 360
float talkTimer; // 364
float detectListTimer; // 368
float idleChatterTimer; // 36C
float clearTalkToListTimer; // 370
float maxAlpha; // 374
float packageEvalTimer; // 378
float useItemTimer; // 37C
float procedureEvalTimer; // 380
float checkToTalkTimer; // 384
std::uint32_t randomEventID; // 388
NiNode* node; // 390
float delayTimer; // 398
float distanceMoved; // 39C
float turnTime; // 3A0
float evaluateAcquireTimer; // 3A4
std::int16_t lastDetection; // 3A8
NiPoint3 leftWeaponLastPos; // 3AC
NiPoint3 rightWeaponLastPos; // 3B8
ObjectRefHandle greetActor; // 3C4
float soundDelay; // 3C8
BSSoundHandle soundHandle[2]; // 3CC
float greetingTimer; // 3DC
float exclusiveTimer; // 3E0
float idleTimer; // 3E4
float detectGreetTimer; // 3E8
float breathTimer; // 3EC
float voiceTimer; // 3F0
float dyingTimer; // 3F4
float awarePlayerTimer; // 3F8
float helloTimer; // 3FC
TESTopicInfo* lastGreeting; // 400
TESTopicInfo* nextGreeting; // 408
TESIdleForm* idleToPlay; // 410
TESIdleForm* talkIdle; // 418
BSFixedString loadingDynamicIdleFilename; // 420
ObjectRefHandle idleTarget; // 428
TESPackage* commandPackage; // 430
DialogueItem* greetTopic; // 438
ActorHandle dialogTarget; // 440
void* faceGenGeomHandle; // 448
float scriptPackageEndTime; // 450
const ActorValueInfo* lastCrippleValue; // 458
float healthBarAlphaValue; // 460
NiPointer<NiBillboardNode> healthBarNode; // 468
float actorHealthPercentage; // 470
float healthBarEmittanceValue; // 474
std::int32_t numberGuardsPursuing; // 478
float reEquipArmorTimer; // 47C
BSSimpleList<SpellItem*>* leveledSpellList; // 480
float detectionModifier; // 488
float detectionModifierTimer; // 48C
float lightLevel; // 490
float sceneHeadTrackTimer; // 494
float pCapVoiceFailsafeTimer; // 498
AITimeStamp lightLevelTimeStamp; // 49C
void* lipSynchAnim; // 4A0
float lipTime; // 4A8
float activateDoorFailedTimer; // 4AC
std::uint32_t detectionCounter; // 4B0
DetectionEvent* actorsGeneratedDetectionEvent; // 4B8
NiPointer<StandardDetectionListener> detectionListener; // 4C0
AITimer updateDetectionTimer; // 4C8
BSTSmartPointer<PathingRequest> pathingRequest; // 4D0
BSTSmallArray<DEFAULT_OBJECT, 2> queuedActions; // 4D8
BSTArray<AnimationSpeedInformationTypes::AnimationStateAdjustment> queuedAdjustments; // 4F0
BSTArray<AnimationSpeedInformationTypes::AnimationStateAdjustment> lastQueuedAdjustments; // 508
NiPoint3 animationDelta; // 520
NiPoint3 animationAngleMod; // 52C
float animationUpdateDeltaTime; // 538
float absorbVisualTimer; // 53C
float hitReactionTimer; // 540
float holdFaceTimer; // 544
float tryTalkIdleTimer; // 548
std::uint16_t tryTalk; // 54C
Crime* crimeToReactTo; // 550
std::uint8_t lastTurnDir; // 558
std::uint8_t lastTurn; // 559
std::uint8_t tracerCounter; // 55A
REX::TEnum<COMMAND_TYPE, std::uint32_t> commandType; // 55C
TESForm* retrieveTarget; // 560
ActorHandle queuedDialogueTarget; // 568
bool processGreetSayTo; // 56C
bool checkDeadTalk; // 56D
bool skippedUpdate; // 56E
bool automaticFireAtLeastOne; // 56F
bool greetingFlag; // 570
bool pickNewIdle; // 571
bool skipVoiceEndIdleStop; // 572
bool weaponAlertDrawn; // 573
bool dialoguewithPlayer; // 574
bool inCommandState; // 575
bool inWorkShopCommandState; // 576
bool continuingPackageforPC; // 577
bool activateAnim; // 578
bool stop; // 579
bool unequippedArmorToSwim; // 57A
bool allowForceReadyWeapon; // 57B
bool activateReady; // 57C
bool dualCasting; // 57D
bool plantedExplosive; // 57E
bool approachingAutoTeleportDoor; // 57F
bool allowDeathForce; // 580
bool arrested; // 581
bool forceGreeting; // 582
bool queuedActivation; // 583
bool isDoingSayTo; // 584
bool hiding; // 585
bool stopShoutAudioManually; // 586
bool farGeometry; // 587
bool procedureDoesEquip; // 588
bool forceRotate; // 589
bool speakingDeathLine; // 58A
bool fistsDrawn; // 58B
bool freezeGraphLocomotionChannels; // 58C
bool freezeGraphLocomotionEvents; // 58D
bool lastGraphAllowRotation; // 58E
bool lastGraphDriven; // 58F
bool activateDoor; // 590
bool startedDialogue; // 591
bool startingAggroRadius; // 592
bool playerActivated; // 593
bool itemEquipQueued; // 594
bool doingCommand; // 595
bool pCapLineFired; // 596
bool updateMovmentTypeCacheQueued; // 597
bool hasGreetingIdleChatterTicket; // 598
bool processingForceEquip; // 599
bool pCapLinePlaying; // 59A
bool faceGenLoadPending; // 59B
bool donotInterruptAnimation; // 59C
bool dialogueInterruptQueued; // 59D
bool pCapLineFailed; // 59E
bool pathingRequestQuickTurn; // 59F
};
static_assert(sizeof(HighProcessData) == 0x5A0);
}