CommonLibVR
Loading...
Searching...
No Matches
ProcessLists.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSAtomic.h"
4#include "RE/B/BSContainer.h"
6#include "RE/B/BSTArray.h"
7#include "RE/B/BSTList.h"
8#include "RE/B/BSTSingleton.h"
10#include "RE/C/Crime.h"
11#include "RE/N/NiSmartPointer.h"
12
13namespace RE
14{
15 class Actor;
16 class BSTempEffect;
17 class ModelReferenceEffect;
18 class ShaderReferenceEffect;
19 class SyncQueueObj;
20
21 class ProcessLists : public BSTSingletonSDM<ProcessLists>
22 {
23 public:
25 {
26 public:
27 inline static constexpr auto RTTI = RTTI_ProcessLists__GetActorsFilter;
28 inline static constexpr auto VTABLE = VTABLE_ProcessLists__GetActorsFilter;
29
30 virtual ~GetActorsFilter(); // 00
31
32 // add
33 virtual bool IsValid(Actor* a_actor) = 0; // 01
34 };
35 static_assert(sizeof(GetActorsFilter) == 0x8);
36
38
41 void ForAllActors(std::function<BSContainer::ForEachResult(Actor*)> a_callback);
42 void ForEachHighActor(std::function<BSContainer::ForEachResult(Actor*)> a_callback);
47 std::int16_t RequestHighestDetectionLevelAgainstActor(Actor* a_actor, std::uint32_t& a_LOSCount);
49 void StopCombatAndAlarmOnActor(Actor* a_actor, bool a_notAlarm);
50
51 // members
52 bool runDetection; // 001
53 bool showDetectionStats; // 002
54 std::uint8_t pad003; // 003
56 bool processHigh; // 008
57 bool processLow; // 009
58 bool processMHigh; // 00A
59 bool processMLow; // 00B
60 bool runEditorSchedules; // 00C
62 std::uint8_t unk00E; // 00E
63 std::uint8_t pad00F; // 00F
64 std::int32_t numberHighActors; // 010
65 float unk014; // 014
66 std::uint32_t unk018; // 018
69 std::uint32_t unk028; // 028
70 std::uint32_t pad02C; // 02C
76 BSSimpleList<Crime*>* globalCrimes[PackageNS::CRIME_TYPES::kTotal]; // 0B0
83 std::uint64_t unk148; // 148
84 std::uint64_t unk150; // 150
93 std::uint32_t currentLowActor; // 1D8
94 std::uint32_t currentMiddleHighActor; // 1DC
95 std::uint32_t currentMiddleLowActor; // 1E0
96 bool runSchedules; // 1E4
97 bool runMovement; // 1E5
98 bool runAnimations; // 1E6
100 std::uint64_t unk1E8; // 1E8
101 private:
103 };
104 static_assert(sizeof(ProcessLists) == 0x1F0);
105}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition Actor.h:133
Definition BSAtomic.h:84
Definition BSTList.h:10
Definition BSAtomic.h:92
Definition BSTArray.h:378
Definition BSTempEffect.h:29
Definition ModelReferenceEffect.h:20
Definition ProcessLists.h:25
static constexpr auto VTABLE
Definition ProcessLists.h:28
virtual bool IsValid(Actor *a_actor)=0
static constexpr auto RTTI
Definition ProcessLists.h:27
Definition ProcessLists.h:22
float removeExcessDeadTimer
Definition ProcessLists.h:67
void ForEachMagicTempEffect(std::function< BSContainer::ForEachResult(BSTempEffect *)> a_callback)
bool updateActorsInPlayerCell
Definition ProcessLists.h:99
std::uint32_t unk028
Definition ProcessLists.h:69
BSTArray< ObjectRefHandle > tempShouldMoves
Definition ProcessLists.h:85
bool processMHigh
Definition ProcessLists.h:58
BSTArray< ActorHandle > initPackageLocationsQueue
Definition ProcessLists.h:87
bool runAnimations
Definition ProcessLists.h:98
std::uint32_t unk018
Definition ProcessLists.h:66
BSTArray< ActorHandle > * allProcesses[4]
Definition ProcessLists.h:75
ActorHandle statdetect
Definition ProcessLists.h:55
std::uint32_t pad02C
Definition ProcessLists.h:70
BSTArray< NiPointer< BSTempEffect > > interfaceEffects
Definition ProcessLists.h:81
std::uint64_t unk150
Definition ProcessLists.h:84
std::uint64_t unk148
Definition ProcessLists.h:83
std::int16_t RequestHighestDetectionLevelAgainstActor(Actor *a_actor, std::uint32_t &a_LOSCount)
std::int32_t numberHighActors
Definition ProcessLists.h:64
BSSpinLock globalEffectsLock
Definition ProcessLists.h:78
BSSpinLock magicEffectsLock
Definition ProcessLists.h:80
std::uint64_t unk1E8
Definition ProcessLists.h:100
std::uint8_t unk00E
Definition ProcessLists.h:62
void StopAllMagicEffects(TESObjectREFR &a_ref)
bool showDetectionStats
Definition ProcessLists.h:53
std::uint32_t currentMiddleLowActor
Definition ProcessLists.h:95
std::uint32_t currentMiddleHighActor
Definition ProcessLists.h:94
float GetSystemTimeClock()
float playerKnockObjectCommentTimer
Definition ProcessLists.h:92
bool runDetection
Definition ProcessLists.h:52
void ForAllActors(std::function< BSContainer::ForEachResult(Actor *)> a_callback)
bool runMovement
Definition ProcessLists.h:97
BSTArray< BSTSmartPointer< SyncQueueObj > > syncPositionQueue
Definition ProcessLists.h:90
BSSimpleList< ActorHandle > aliveActorList
Definition ProcessLists.h:86
BSSpinLock interfaceEffectsLock
Definition ProcessLists.h:82
float playerActionCommentTimer
Definition ProcessLists.h:91
BSTArray< ActorHandle > lowActorHandles
Definition ProcessLists.h:72
BSTArray< ActorHandle > initAnimPositionQueue
Definition ProcessLists.h:89
void ClearCachedFactionFightReactions() const
bool processHigh
Definition ProcessLists.h:56
BSTArray< NiPointer< BSTempEffect > > magicEffects
Definition ProcessLists.h:79
BSSemaphore movementSyncSema
Definition ProcessLists.h:68
float unk014
Definition ProcessLists.h:65
bool runSchedules
Definition ProcessLists.h:96
bool runEditorSchedules
Definition ProcessLists.h:60
static ProcessLists * GetSingleton()
bool processMLow
Definition ProcessLists.h:59
BSTArray< ActorHandle > middleHighActorHandles
Definition ProcessLists.h:73
void ForEachHighActor(std::function< BSContainer::ForEachResult(Actor *)> a_callback)
BSTArray< ActorHandle > highActorHandles
Definition ProcessLists.h:71
BSSimpleList< Crime * > * globalCrimes[PackageNS::CRIME_TYPES::kTotal]
Definition ProcessLists.h:76
BSSpinLock packageLocationsQueueLock
Definition ProcessLists.h:88
void ForEachModelEffect(std::function< BSContainer::ForEachResult(ModelReferenceEffect *)> a_callback)
std::uint8_t pad00F
Definition ProcessLists.h:63
std::uint32_t currentLowActor
Definition ProcessLists.h:93
bool showDialogueSubtitles
Definition ProcessLists.h:61
bool AreHostileActorsNear(BSScrapArray< ActorHandle > *a_arrayOut)
void StopCombatAndAlarmOnActor(Actor *a_actor, bool a_notAlarm)
void ForEachShaderEffect(std::function< BSContainer::ForEachResult(ShaderReferenceEffect *)> a_callback)
BSTArray< ActorHandle > middleLowActorHandles
Definition ProcessLists.h:74
std::uint8_t pad003
Definition ProcessLists.h:54
bool processLow
Definition ProcessLists.h:57
BSTArray< NiPointer< BSTempEffect > > globalTempEffects
Definition ProcessLists.h:77
Definition ShaderReferenceEffect.h:21
Definition TESObjectREFR.h:114
ForEachResult
Definition BSContainer.h:6
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_ProcessLists__GetActorsFilter
Definition Offsets_VTABLE.h:12565
constexpr REL::ID RTTI_ProcessLists__GetActorsFilter(static_cast< std::uint64_t >(686514))
Definition BSTSingleton.h:50