CommonLibSSE (powerof3)
RE::SkyrimVM Class Reference

#include <SkyrimVM.h>

Inheritance diagram for RE::SkyrimVM:
RE::BSTEventSource< BSScript::StatsEvent > RE::BSTEventSink< BSScript::StatsEvent > RE::BSTEventSink< PositionPlayerEvent > RE::BSTEventSink< TESFastTravelEndEvent > RE::BSTEventSink< TESPlayerBowShotEvent > RE::BSTEventSink< TESSwitchRaceCompleteEvent > RE::BSTEventSink< TESUniqueIDChangeEvent > RE::BSTEventSink< TESTriggerLeaveEvent > RE::BSTEventSink< TESTriggerEnterEvent > RE::BSTEventSink< TESTriggerEvent > RE::BSTEventSink< TESTrapHitEvent > RE::BSTEventSink< TESTrackedStatsEvent > RE::BSTEventSink< TESTopicInfoEvent > RE::BSTEventSink< TESSpellCastEvent > RE::BSTEventSink< TESSleepStopEvent > RE::BSTEventSink< TESSleepStartEvent > RE::BSTEventSink< TESSellEvent > RE::BSTEventSink< TESScenePhaseEvent > RE::BSTEventSink< TESSceneActionEvent > RE::BSTEventSink< TESSceneEvent > RE::BSTEventSink< TESResolveNPCTemplatesEvent > RE::BSTEventSink< TESResetEvent > RE::BSTEventSink< TESQuestStageEvent > RE::BSTEventSink< TESQuestInitEvent > RE::BSTEventSink< TESPerkEntryRunEvent > RE::BSTEventSink< TESPackageEvent > RE::BSTEventSink< TESOpenCloseEvent > RE::BSTEventSink< TESObjectREFRTranslationEvent > RE::BSTEventSink< TESObjectLoadedEvent > RE::BSTEventSink< TESMoveAttachDetachEvent > RE::BSTEventSink< TESMagicWardHitEvent > RE::BSTEventSink< TESMagicEffectApplyEvent > RE::BSTEventSink< TESLockChangedEvent > RE::BSTEventSink< TESLoadGameEvent > RE::BSTEventSink< TESInitScriptEvent > RE::BSTEventSink< TESHitEvent > RE::BSTEventSink< TESGrabReleaseEvent > RE::BSTEventSink< TESFurnitureEvent > RE::BSTEventSink< TESFormDeleteEvent > RE::BSTEventSink< TESEquipEvent > RE::BSTEventSink< TESEnterBleedoutEvent > RE::BSTEventSink< TESDestructionStageChangedEvent > RE::BSTEventSink< TESDeathEvent > RE::BSTEventSink< TESContainerChangedEvent > RE::BSTEventSink< TESCombatEvent > RE::BSTEventSink< TESCellFullyLoadedEvent > RE::BSTEventSink< TESCellAttachDetachEvent > RE::BSTEventSink< TESBookReadEvent > RE::BSTEventSink< TESActorLocationChangeEvent > RE::BSTEventSink< TESActiveEffectApplyRemoveEvent > RE::BSTEventSink< TESActivateEvent > RE::BSScript::IStackCallbackSaveInterface RE::BSScript::IFreezeQuery RE::BSTSingletonSDM< SkyrimVM >

Classes

struct  InventoryEventFilterLists
 
struct  ISendEventFilter
 
struct  LOSDataEvent
 
struct  UpdateDataEvent
 
struct  WaitCall
 

Public Member Functions

 ~SkyrimVM () override
 
bool QueuePostRenderCall (const BSTSmartPointer< SkyrimScript::DelayFunctor > &a_functor)
 
void RelayEvent (VMHandle handle, BSFixedString *event, BSScript::IFunctionArguments *args, ISendEventFilter *optionalFilter)
 
void SendAndRelayEvent (VMHandle handle, BSFixedString *event, BSScript::IFunctionArguments *args, ISendEventFilter *optionalFilter)
 
- Public Member Functions inherited from RE::BSScript::IFreezeQuery
virtual ~IFreezeQuery ()
 
virtual bool GetIsFrozen ()
 
- Public Member Functions inherited from RE::BSScript::IStackCallbackSaveInterface
virtual ~IStackCallbackSaveInterface ()
 
virtual void Unk_01 (void)=0
 
virtual void Unk_02 (void)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESActivateEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESActivateEvent *a_event, BSTEventSource< TESActivateEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESActiveEffectApplyRemoveEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESActiveEffectApplyRemoveEvent *a_event, BSTEventSource< TESActiveEffectApplyRemoveEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESActorLocationChangeEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESActorLocationChangeEvent *a_event, BSTEventSource< TESActorLocationChangeEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESBookReadEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESBookReadEvent *a_event, BSTEventSource< TESBookReadEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESCellAttachDetachEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESCellAttachDetachEvent *a_event, BSTEventSource< TESCellAttachDetachEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESCellFullyLoadedEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESCellFullyLoadedEvent *a_event, BSTEventSource< TESCellFullyLoadedEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESCombatEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESCombatEvent *a_event, BSTEventSource< TESCombatEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESContainerChangedEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESContainerChangedEvent *a_event, BSTEventSource< TESContainerChangedEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESDeathEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESDeathEvent *a_event, BSTEventSource< TESDeathEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESDestructionStageChangedEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESDestructionStageChangedEvent *a_event, BSTEventSource< TESDestructionStageChangedEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESEnterBleedoutEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESEnterBleedoutEvent *a_event, BSTEventSource< TESEnterBleedoutEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESEquipEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESEquipEvent *a_event, BSTEventSource< TESEquipEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESFormDeleteEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESFormDeleteEvent *a_event, BSTEventSource< TESFormDeleteEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESFurnitureEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESFurnitureEvent *a_event, BSTEventSource< TESFurnitureEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESGrabReleaseEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESGrabReleaseEvent *a_event, BSTEventSource< TESGrabReleaseEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESHitEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESHitEvent *a_event, BSTEventSource< TESHitEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESInitScriptEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESInitScriptEvent *a_event, BSTEventSource< TESInitScriptEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESLoadGameEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESLoadGameEvent *a_event, BSTEventSource< TESLoadGameEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESLockChangedEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESLockChangedEvent *a_event, BSTEventSource< TESLockChangedEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESMagicEffectApplyEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESMagicEffectApplyEvent *a_event, BSTEventSource< TESMagicEffectApplyEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESMagicWardHitEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESMagicWardHitEvent *a_event, BSTEventSource< TESMagicWardHitEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESMoveAttachDetachEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESMoveAttachDetachEvent *a_event, BSTEventSource< TESMoveAttachDetachEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESObjectLoadedEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESObjectLoadedEvent *a_event, BSTEventSource< TESObjectLoadedEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESObjectREFRTranslationEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESObjectREFRTranslationEvent *a_event, BSTEventSource< TESObjectREFRTranslationEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESOpenCloseEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESOpenCloseEvent *a_event, BSTEventSource< TESOpenCloseEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESPackageEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESPackageEvent *a_event, BSTEventSource< TESPackageEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESPerkEntryRunEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESPerkEntryRunEvent *a_event, BSTEventSource< TESPerkEntryRunEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESQuestInitEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESQuestInitEvent *a_event, BSTEventSource< TESQuestInitEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESQuestStageEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESQuestStageEvent *a_event, BSTEventSource< TESQuestStageEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESResetEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESResetEvent *a_event, BSTEventSource< TESResetEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESResolveNPCTemplatesEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESResolveNPCTemplatesEvent *a_event, BSTEventSource< TESResolveNPCTemplatesEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESSceneEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESSceneEvent *a_event, BSTEventSource< TESSceneEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESSceneActionEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESSceneActionEvent *a_event, BSTEventSource< TESSceneActionEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESScenePhaseEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESScenePhaseEvent *a_event, BSTEventSource< TESScenePhaseEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESSellEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESSellEvent *a_event, BSTEventSource< TESSellEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESSleepStartEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESSleepStartEvent *a_event, BSTEventSource< TESSleepStartEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESSleepStopEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESSleepStopEvent *a_event, BSTEventSource< TESSleepStopEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESSpellCastEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESSpellCastEvent *a_event, BSTEventSource< TESSpellCastEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESTopicInfoEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESTopicInfoEvent *a_event, BSTEventSource< TESTopicInfoEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESTrackedStatsEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESTrackedStatsEvent *a_event, BSTEventSource< TESTrackedStatsEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESTrapHitEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESTrapHitEvent *a_event, BSTEventSource< TESTrapHitEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESTriggerEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESTriggerEvent *a_event, BSTEventSource< TESTriggerEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESTriggerEnterEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESTriggerEnterEvent *a_event, BSTEventSource< TESTriggerEnterEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESTriggerLeaveEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESTriggerLeaveEvent *a_event, BSTEventSource< TESTriggerLeaveEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESUniqueIDChangeEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESUniqueIDChangeEvent *a_event, BSTEventSource< TESUniqueIDChangeEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESSwitchRaceCompleteEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESSwitchRaceCompleteEvent *a_event, BSTEventSource< TESSwitchRaceCompleteEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESPlayerBowShotEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESPlayerBowShotEvent *a_event, BSTEventSource< TESPlayerBowShotEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< TESFastTravelEndEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const TESFastTravelEndEvent *a_event, BSTEventSource< TESFastTravelEndEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< PositionPlayerEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const PositionPlayerEvent *a_event, BSTEventSource< PositionPlayerEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSink< BSScript::StatsEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const BSScript::StatsEvent *a_event, BSTEventSource< BSScript::StatsEvent > *a_eventSource)=0
 
- Public Member Functions inherited from RE::BSTEventSource< BSScript::StatsEvent >
 BSTEventSource ()
 
void AddEventSink (Sink *a_eventSink)
 
void AddEventSink (BSTEventSink< SinkEvent > *a_sink)
 
void RemoveEventSink (Sink *a_eventSink)
 
void SendEvent (const BSScript::StatsEvent *a_event)
 
void operator() (const BSScript::StatsEvent *a_event)
 

Static Public Member Functions

static SkyrimVMGetSingleton ()
 

Public Attributes

BSTSmartPointer< BSScript::IVirtualMachineimpl
 
BSScript::IVMSaveLoadInterfacesaveLoadInterface
 
BSScript::IVMDebugInterfacedebugInterface
 
BSScript::SimpleAllocMemoryPagePolicy memoryPagePolicy
 
BSScript::CompiledScriptLoader scriptLoader
 
SkyrimScript::Logger logger
 
SkyrimScript::HandlePolicy handlePolicy
 
SkyrimScript::ObjectBindPolicy objectBindPolicy
 
BSTSmartPointer< SkyrimScript::StorescriptStore
 
SkyrimScript::FragmentSystem fragmentSystem
 
SkyrimScript::Profiler profiler
 
SkyrimScript::SavePatcher savePatcher
 
BSSpinLock frozenLock
 
std::uint32_t isFrozen
 
BSSpinLock currentVMTimeLock
 
std::uint32_t currentVMTime
 
std::uint32_t currentVMMenuModeTime
 
std::uint32_t currentVMGameTime
 
std::uint32_t currentVMDaysPassed
 
BSSpinLock queuedWaitEventLock
 
std::uint32_t pad06A4
 
BSTArray< WaitCallqueuedWaitCalls
 
BSTArray< WaitCallqueuedWaitMenuModeCalls
 
BSTArray< WaitCallqueuedWaitGameCalls
 
BSSpinLock queuedLOSEventCheckLock
 
BSTArray< BSTSmartPointer< LOSDataEvent > > queuedLOSEventChecks
 
std::uint32_t currentLOSEventCheckIndex
 
BSSpinLock queuedOnUpdateEventLock
 
std::uint32_t pad071C
 
BSTArray< BSTSmartPointer< UpdateDataEvent > > queuedOnUpdateEvents
 
BSTArray< BSTSmartPointer< UpdateDataEvent > > queuedOnUpdateGameEvents
 
std::uint32_t unk0750
 
BSSpinLock registeredSleepEventsLock
 
std::uint32_t pad075C
 
BSTSet< VMHandleregisteredSleepEvents
 
BSSpinLock registeredStatsEventsLock
 
BSTSet< VMHandleregisteredStatsEvents
 
BSTStaticFreeList< BSTSmartPointer< SkyrimScript::DelayFunctor >, 512 > renderSafeFunctorPool1
 
BSTCommonLLMessageQueue< BSTSmartPointer< SkyrimScript::DelayFunctor > > renderSafeFunctorQueue1
 
BSTStaticFreeList< BSTSmartPointer< SkyrimScript::DelayFunctor >, 512 > renderSafeFunctorPool2
 
BSTCommonLLMessageQueue< BSTSmartPointer< SkyrimScript::DelayFunctor > > renderSafeFunctorQueue2
 
BSTStaticFreeList< BSTSmartPointer< SkyrimScript::DelayFunctor >, 512 > postRenderFunctorPool1
 
BSTCommonLLMessageQueue< BSTSmartPointer< SkyrimScript::DelayFunctor > > postRenderFunctorQueue1
 
BSTStaticFreeList< BSTSmartPointer< SkyrimScript::DelayFunctor >, 512 > postRenderFunctorPool2
 
BSTCommonLLMessageQueue< BSTSmartPointer< SkyrimScript::DelayFunctor > > postRenderFunctorQueue2
 
BSSpinLock renderSafeQueueLock
 
BSTCommonLLMessageQueue< BSTSmartPointer< SkyrimScript::DelayFunctor > > * renderSafeQueueToReadFrom
 
BSTCommonLLMessageQueue< BSTSmartPointer< SkyrimScript::DelayFunctor > > * renderSafeQueueToWriteTo
 
BSSpinLock postRenderQueueLock
 
BSTCommonLLMessageQueue< BSTSmartPointer< SkyrimScript::DelayFunctor > > * postRenderQueueToReadFrom
 
BSTCommonLLMessageQueue< BSTSmartPointer< SkyrimScript::DelayFunctor > > * postRenderQueueToWriteTo
 
BSSpinLock userLogMapLock
 
BSTHashMap< const char *, SkyrimScript::Logger * > userLogMap
 
BSSpinLock currentVMOverstressTimeLock
 
std::uint32_t currentVMOverstressTime
 
std::uint32_t lastVMStackDumpTime
 
BSSpinLock InventoryEventFilterMapLock
 
BSTHashMap< VMHandle, InventoryEventFilterLists * > InventoryEventFilterMap
 
- Public Attributes inherited from RE::BSTEventSource< BSScript::StatsEvent >
BSTArray< Sink * > sinks
 
BSTArray< Sink * > pendingRegisters
 
BSTArray< Sink * > pendingUnregisters
 
BSSpinLock lock
 
bool notifying
 
std::uint8_t pad51
 
std::uint16_t pad52
 
std::uint32_t pad54
 

Static Public Attributes

static constexpr auto RTTI = RTTI_SkyrimVM
 
static constexpr auto VTABLE = VTABLE_SkyrimVM
 
- Static Public Attributes inherited from RE::BSScript::IFreezeQuery
static constexpr auto RTTI = RTTI_BSScript__IFreezeQuery
 
static constexpr auto VTABLE = VTABLE_BSScript__IFreezeQuery
 
- Static Public Attributes inherited from RE::BSScript::IStackCallbackSaveInterface
static constexpr auto RTTI = RTTI_BSScript__IStackCallbackSaveInterface
 
static constexpr auto VTABLE = VTABLE_BSScript__IStackCallbackSaveInterface
 

Additional Inherited Members

- Public Types inherited from RE::BSTSingletonSDMBase< Traits >
using Type = typename Traits::Type
 
using Allocator = typename Traits::Allocator
 
- Public Types inherited from RE::BSTEventSource< BSScript::StatsEvent >
using Sink = BSTEventSink< BSScript::StatsEvent >
 

Constructor & Destructor Documentation

◆ ~SkyrimVM()

RE::SkyrimVM::~SkyrimVM ( )
override

Member Function Documentation

◆ GetSingleton()

static SkyrimVM* RE::SkyrimVM::GetSingleton ( )
static

◆ QueuePostRenderCall()

bool RE::SkyrimVM::QueuePostRenderCall ( const BSTSmartPointer< SkyrimScript::DelayFunctor > &  a_functor)

◆ RelayEvent()

void RE::SkyrimVM::RelayEvent ( VMHandle  handle,
BSFixedString event,
BSScript::IFunctionArguments args,
ISendEventFilter optionalFilter 
)

◆ SendAndRelayEvent()

void RE::SkyrimVM::SendAndRelayEvent ( VMHandle  handle,
BSFixedString event,
BSScript::IFunctionArguments args,
ISendEventFilter optionalFilter 
)

Member Data Documentation

◆ currentLOSEventCheckIndex

std::uint32_t RE::SkyrimVM::currentLOSEventCheckIndex

◆ currentVMDaysPassed

std::uint32_t RE::SkyrimVM::currentVMDaysPassed

◆ currentVMGameTime

std::uint32_t RE::SkyrimVM::currentVMGameTime

◆ currentVMMenuModeTime

std::uint32_t RE::SkyrimVM::currentVMMenuModeTime

◆ currentVMOverstressTime

std::uint32_t RE::SkyrimVM::currentVMOverstressTime

◆ currentVMOverstressTimeLock

BSSpinLock RE::SkyrimVM::currentVMOverstressTimeLock
mutable

◆ currentVMTime

std::uint32_t RE::SkyrimVM::currentVMTime

◆ currentVMTimeLock

BSSpinLock RE::SkyrimVM::currentVMTimeLock
mutable

◆ debugInterface

BSScript::IVMDebugInterface* RE::SkyrimVM::debugInterface

◆ fragmentSystem

SkyrimScript::FragmentSystem RE::SkyrimVM::fragmentSystem

◆ frozenLock

BSSpinLock RE::SkyrimVM::frozenLock
mutable

◆ handlePolicy

SkyrimScript::HandlePolicy RE::SkyrimVM::handlePolicy

◆ impl

◆ InventoryEventFilterMap

BSTHashMap<VMHandle, InventoryEventFilterLists*> RE::SkyrimVM::InventoryEventFilterMap

◆ InventoryEventFilterMapLock

BSSpinLock RE::SkyrimVM::InventoryEventFilterMapLock
mutable

◆ isFrozen

std::uint32_t RE::SkyrimVM::isFrozen

◆ lastVMStackDumpTime

std::uint32_t RE::SkyrimVM::lastVMStackDumpTime

◆ logger

SkyrimScript::Logger RE::SkyrimVM::logger

◆ memoryPagePolicy

BSScript::SimpleAllocMemoryPagePolicy RE::SkyrimVM::memoryPagePolicy

◆ objectBindPolicy

SkyrimScript::ObjectBindPolicy RE::SkyrimVM::objectBindPolicy

◆ pad06A4

std::uint32_t RE::SkyrimVM::pad06A4

◆ pad071C

std::uint32_t RE::SkyrimVM::pad071C

◆ pad075C

std::uint32_t RE::SkyrimVM::pad075C

◆ postRenderFunctorPool1

BSTStaticFreeList<BSTSmartPointer<SkyrimScript::DelayFunctor>, 512> RE::SkyrimVM::postRenderFunctorPool1

◆ postRenderFunctorPool2

BSTStaticFreeList<BSTSmartPointer<SkyrimScript::DelayFunctor>, 512> RE::SkyrimVM::postRenderFunctorPool2

◆ postRenderFunctorQueue1

BSTCommonLLMessageQueue<BSTSmartPointer<SkyrimScript::DelayFunctor> > RE::SkyrimVM::postRenderFunctorQueue1

◆ postRenderFunctorQueue2

BSTCommonLLMessageQueue<BSTSmartPointer<SkyrimScript::DelayFunctor> > RE::SkyrimVM::postRenderFunctorQueue2

◆ postRenderQueueLock

BSSpinLock RE::SkyrimVM::postRenderQueueLock
mutable

◆ postRenderQueueToReadFrom

BSTCommonLLMessageQueue<BSTSmartPointer<SkyrimScript::DelayFunctor> >* RE::SkyrimVM::postRenderQueueToReadFrom

◆ postRenderQueueToWriteTo

BSTCommonLLMessageQueue<BSTSmartPointer<SkyrimScript::DelayFunctor> >* RE::SkyrimVM::postRenderQueueToWriteTo

◆ profiler

SkyrimScript::Profiler RE::SkyrimVM::profiler

◆ queuedLOSEventCheckLock

BSSpinLock RE::SkyrimVM::queuedLOSEventCheckLock
mutable

◆ queuedLOSEventChecks

BSTArray<BSTSmartPointer<LOSDataEvent> > RE::SkyrimVM::queuedLOSEventChecks

◆ queuedOnUpdateEventLock

BSSpinLock RE::SkyrimVM::queuedOnUpdateEventLock
mutable

◆ queuedOnUpdateEvents

BSTArray<BSTSmartPointer<UpdateDataEvent> > RE::SkyrimVM::queuedOnUpdateEvents

◆ queuedOnUpdateGameEvents

BSTArray<BSTSmartPointer<UpdateDataEvent> > RE::SkyrimVM::queuedOnUpdateGameEvents

◆ queuedWaitCalls

BSTArray<WaitCall> RE::SkyrimVM::queuedWaitCalls

◆ queuedWaitEventLock

BSSpinLock RE::SkyrimVM::queuedWaitEventLock
mutable

◆ queuedWaitGameCalls

BSTArray<WaitCall> RE::SkyrimVM::queuedWaitGameCalls

◆ queuedWaitMenuModeCalls

BSTArray<WaitCall> RE::SkyrimVM::queuedWaitMenuModeCalls

◆ registeredSleepEvents

BSTSet<VMHandle> RE::SkyrimVM::registeredSleepEvents

◆ registeredSleepEventsLock

BSSpinLock RE::SkyrimVM::registeredSleepEventsLock
mutable

◆ registeredStatsEvents

BSTSet<VMHandle> RE::SkyrimVM::registeredStatsEvents

◆ registeredStatsEventsLock

BSSpinLock RE::SkyrimVM::registeredStatsEventsLock
mutable

◆ renderSafeFunctorPool1

BSTStaticFreeList<BSTSmartPointer<SkyrimScript::DelayFunctor>, 512> RE::SkyrimVM::renderSafeFunctorPool1

◆ renderSafeFunctorPool2

BSTStaticFreeList<BSTSmartPointer<SkyrimScript::DelayFunctor>, 512> RE::SkyrimVM::renderSafeFunctorPool2

◆ renderSafeFunctorQueue1

BSTCommonLLMessageQueue<BSTSmartPointer<SkyrimScript::DelayFunctor> > RE::SkyrimVM::renderSafeFunctorQueue1

◆ renderSafeFunctorQueue2

BSTCommonLLMessageQueue<BSTSmartPointer<SkyrimScript::DelayFunctor> > RE::SkyrimVM::renderSafeFunctorQueue2

◆ renderSafeQueueLock

BSSpinLock RE::SkyrimVM::renderSafeQueueLock
mutable

◆ renderSafeQueueToReadFrom

BSTCommonLLMessageQueue<BSTSmartPointer<SkyrimScript::DelayFunctor> >* RE::SkyrimVM::renderSafeQueueToReadFrom

◆ renderSafeQueueToWriteTo

BSTCommonLLMessageQueue<BSTSmartPointer<SkyrimScript::DelayFunctor> >* RE::SkyrimVM::renderSafeQueueToWriteTo

◆ RTTI

constexpr auto RE::SkyrimVM::RTTI = RTTI_SkyrimVM
inlinestaticconstexpr

◆ saveLoadInterface

BSScript::IVMSaveLoadInterface* RE::SkyrimVM::saveLoadInterface

◆ savePatcher

SkyrimScript::SavePatcher RE::SkyrimVM::savePatcher

◆ scriptLoader

BSScript::CompiledScriptLoader RE::SkyrimVM::scriptLoader

◆ scriptStore

BSTSmartPointer<SkyrimScript::Store> RE::SkyrimVM::scriptStore

◆ unk0750

std::uint32_t RE::SkyrimVM::unk0750

◆ userLogMap

BSTHashMap<const char*, SkyrimScript::Logger*> RE::SkyrimVM::userLogMap

◆ userLogMapLock

BSSpinLock RE::SkyrimVM::userLogMapLock
mutable

◆ VTABLE

constexpr auto RE::SkyrimVM::VTABLE = VTABLE_SkyrimVM
inlinestaticconstexpr

The documentation for this class was generated from the following file: