CommonLibSSE NG
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"
5 #include "RE/B/BSPointerHandle.h"
6 #include "RE/B/BSTArray.h"
7 #include "RE/B/BSTList.h"
8 #include "RE/B/BSTSingleton.h"
9 #include "RE/B/BSTSmartPointer.h"
10 #include "RE/C/Crime.h"
11 #include "RE/N/NiSmartPointer.h"
12 
13 namespace 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 
29  virtual ~GetActorsFilter(); // 00
30 
31  // add
32  virtual bool IsValid(Actor* a_actor) = 0; // 01
33  };
34  static_assert(sizeof(GetActorsFilter) == 0x8);
35 
37 
39  void ForAllActors(std::function<BSContainer::ForEachResult(Actor*)> a_callback);
40  void ForEachHighActor(std::function<BSContainer::ForEachResult(Actor*)> a_callback);
45  std::int16_t RequestHighestDetectionLevelAgainstActor(Actor* a_actor, std::uint32_t& a_LOSCount);
47  void StopCombatAndAlarmOnActor(Actor* a_actor, bool a_notAlarm);
48 
49  // members
50  bool runDetection; // 001
51  bool showDetectionStats; // 002
52  std::uint8_t pad003; // 003
54  bool processHigh; // 008
55  bool processLow; // 009
56  bool processMHigh; // 00A
57  bool processMLow; // 00B
58  bool runEditorSchedules; // 00C
59  bool showDialogueSubtitles; // 00D
60  std::uint8_t unk00E; // 00E
61  std::uint8_t pad00F; // 00F
62  std::int32_t numberHighActors; // 010
63  float unk014; // 014
64  std::uint32_t unk018; // 018
65  float removeExcessDeadTimer; // 01C
67  std::uint32_t unk028; // 028
68  std::uint32_t pad02C; // 02C
74  BSSimpleList<Crime*>* globalCrimes[PackageNS::CRIME_TYPES::kTotal]; // 0B0
76  mutable BSSpinLock globalEffectsLock; // 100
78  mutable BSSpinLock magicEffectsLock; // 120
81  std::uint64_t unk148; // 148
82  std::uint64_t unk150; // 150
91  std::uint32_t currentLowActor; // 1D8
92  std::uint32_t currentMiddleHighActor; // 1DC
93  std::uint32_t currentMiddleLowActor; // 1E0
94  bool runSchedules; // 1E4
95  bool runMovement; // 1E5
96  bool runAnimations; // 1E6
98  std::uint64_t unk1E8; // 1E8
99  };
100  static_assert(sizeof(ProcessLists) == 0x1F0);
101 }
Definition: Actor.h:135
Definition: BSAtomic.h:43
Definition: BSTList.h:10
Definition: BSAtomic.h:51
Definition: BSTArray.h:377
Definition: BSTempEffect.h:29
Definition: ModelReferenceEffect.h:20
Definition: ProcessLists.h:25
virtual bool IsValid(Actor *a_actor)=0
static constexpr auto RTTI
Definition: ProcessLists.h:27
Definition: ProcessLists.h:22
float removeExcessDeadTimer
Definition: ProcessLists.h:65
void ForEachMagicTempEffect(std::function< BSContainer::ForEachResult(BSTempEffect *)> a_callback)
bool updateActorsInPlayerCell
Definition: ProcessLists.h:97
std::uint32_t unk028
Definition: ProcessLists.h:67
BSTArray< ObjectRefHandle > tempShouldMoves
Definition: ProcessLists.h:83
bool processMHigh
Definition: ProcessLists.h:56
BSTArray< ActorHandle > initPackageLocationsQueue
Definition: ProcessLists.h:85
bool runAnimations
Definition: ProcessLists.h:96
std::uint32_t unk018
Definition: ProcessLists.h:64
BSTArray< ActorHandle > * allProcesses[4]
Definition: ProcessLists.h:73
ActorHandle statdetect
Definition: ProcessLists.h:53
static ProcessLists * GetSingleton()
std::uint32_t pad02C
Definition: ProcessLists.h:68
BSTArray< NiPointer< BSTempEffect > > interfaceEffects
Definition: ProcessLists.h:79
std::uint64_t unk150
Definition: ProcessLists.h:82
std::uint64_t unk148
Definition: ProcessLists.h:81
std::int16_t RequestHighestDetectionLevelAgainstActor(Actor *a_actor, std::uint32_t &a_LOSCount)
std::int32_t numberHighActors
Definition: ProcessLists.h:62
BSSpinLock globalEffectsLock
Definition: ProcessLists.h:76
BSSpinLock magicEffectsLock
Definition: ProcessLists.h:78
std::uint64_t unk1E8
Definition: ProcessLists.h:98
std::uint8_t unk00E
Definition: ProcessLists.h:60
void StopAllMagicEffects(TESObjectREFR &a_ref)
bool showDetectionStats
Definition: ProcessLists.h:51
std::uint32_t currentMiddleLowActor
Definition: ProcessLists.h:93
std::uint32_t currentMiddleHighActor
Definition: ProcessLists.h:92
float GetSystemTimeClock()
float playerKnockObjectCommentTimer
Definition: ProcessLists.h:90
bool runDetection
Definition: ProcessLists.h:50
void ForAllActors(std::function< BSContainer::ForEachResult(Actor *)> a_callback)
bool runMovement
Definition: ProcessLists.h:95
BSTArray< BSTSmartPointer< SyncQueueObj > > syncPositionQueue
Definition: ProcessLists.h:88
BSSimpleList< ActorHandle > aliveActorList
Definition: ProcessLists.h:84
BSSpinLock interfaceEffectsLock
Definition: ProcessLists.h:80
float playerActionCommentTimer
Definition: ProcessLists.h:89
BSTArray< ActorHandle > lowActorHandles
Definition: ProcessLists.h:70
BSTArray< ActorHandle > initAnimPositionQueue
Definition: ProcessLists.h:87
void ClearCachedFactionFightReactions() const
bool processHigh
Definition: ProcessLists.h:54
BSTArray< NiPointer< BSTempEffect > > magicEffects
Definition: ProcessLists.h:77
BSSemaphore movementSyncSema
Definition: ProcessLists.h:66
float unk014
Definition: ProcessLists.h:63
bool runSchedules
Definition: ProcessLists.h:94
bool runEditorSchedules
Definition: ProcessLists.h:58
bool processMLow
Definition: ProcessLists.h:57
BSTArray< ActorHandle > middleHighActorHandles
Definition: ProcessLists.h:71
void ForEachHighActor(std::function< BSContainer::ForEachResult(Actor *)> a_callback)
BSTArray< ActorHandle > highActorHandles
Definition: ProcessLists.h:69
BSSimpleList< Crime * > * globalCrimes[PackageNS::CRIME_TYPES::kTotal]
Definition: ProcessLists.h:74
BSSpinLock packageLocationsQueueLock
Definition: ProcessLists.h:86
void ForEachModelEffect(std::function< BSContainer::ForEachResult(ModelReferenceEffect *)> a_callback)
std::uint8_t pad00F
Definition: ProcessLists.h:61
std::uint32_t currentLowActor
Definition: ProcessLists.h:91
bool showDialogueSubtitles
Definition: ProcessLists.h:59
void StopCombatAndAlarmOnActor(Actor *a_actor, bool a_notAlarm)
void ForEachShaderEffect(std::function< BSContainer::ForEachResult(ShaderReferenceEffect *)> a_callback)
BSTArray< ActorHandle > middleLowActorHandles
Definition: ProcessLists.h:72
std::uint8_t pad003
Definition: ProcessLists.h:52
bool processLow
Definition: ProcessLists.h:55
BSTArray< NiPointer< BSTempEffect > > globalTempEffects
Definition: ProcessLists.h:75
Definition: ShaderReferenceEffect.h:20
Definition: TESObjectREFR.h:113
ForEachResult
Definition: BSContainer.h:6
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_ProcessLists__GetActorsFilter(686514, 394349, 0x1eff198)
Definition: BSTSingleton.h:50