CommonLibVR
API.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTEvent.h"
4 
5 #include "SKSE/Events.h"
6 #include "SKSE/Impl/Stubs.h"
7 #include "SKSE/Interfaces.h"
8 #include "SKSE/Trampoline.h"
9 #include "SKSE/Version.h"
10 
11 #define SKSEAPI __cdecl
12 
13 namespace SKSE
14 {
15  void Init(const LoadInterface* a_intfc, const bool a_log = true) noexcept;
16  void RegisterForAPIInitEvent(std::function<void()> a_fn);
17 
18 #ifdef SKYRIM_SUPPORT_AE
19  std::string_view GetPluginName() noexcept;
20  std::string_view GetPluginAuthor() noexcept;
21  REL::Version GetPluginVersion() noexcept;
22 #endif
23 
25  std::uint32_t GetReleaseIndex() noexcept;
26 
30  const TaskInterface* GetTaskInterface() noexcept;
32 
34  RE::BSTEventSource<ModCallbackEvent>* GetModCallbackEventSource() noexcept;
35  RE::BSTEventSource<CameraEvent>* GetCameraEventSource() noexcept;
36  RE::BSTEventSource<CrosshairRefEvent>* GetCrosshairRefEventSource() noexcept;
37  RE::BSTEventSource<ActionEvent>* GetActionEventSource() noexcept;
38  RE::BSTEventSource<NiNodeUpdateEvent>* GetNiNodeUpdateEventSource() noexcept;
39 
41  const SKSEDelayFunctorManager* GetDelayFunctorManager() noexcept;
42  const SKSEObjectRegistry* GetObjectRegistry() noexcept;
43  const SKSEPersistentObjectStorage* GetPersistentObjectStorage() noexcept;
44 
45  void AllocTrampoline(std::size_t a_size, bool a_trySKSEReserve = true);
46 }
Definition: Interfaces.h:40
Definition: Interfaces.h:263
Definition: Interfaces.h:318
Definition: Interfaces.h:230
Definition: Interfaces.h:62
Definition: Interfaces.h:82
Definition: Interfaces.h:185
Definition: Interfaces.h:336
Definition: ID.h:9
Definition: AbsorbEffect.h:6
Definition: API.h:14
std::uint32_t PluginHandle
Definition: Stubs.h:11
void Init(const LoadInterface *a_intfc, const bool a_log=true) noexcept
RE::BSTEventSource< CrosshairRefEvent > * GetCrosshairRefEventSource() noexcept
RE::BSTEventSource< ActionEvent > * GetActionEventSource() noexcept
RE::BSTEventSource< NiNodeUpdateEvent > * GetNiNodeUpdateEventSource() noexcept
void RegisterForAPIInitEvent(std::function< void()> a_fn)
const ObjectInterface * GetObjectInterface() noexcept
RE::BSTEventSource< ModCallbackEvent > * GetModCallbackEventSource() noexcept
const SKSEPersistentObjectStorage * GetPersistentObjectStorage() noexcept
void AllocTrampoline(std::size_t a_size, bool a_trySKSEReserve=true)
const MessagingInterface * GetMessagingInterface() noexcept
const TaskInterface * GetTaskInterface() noexcept
RE::BSTEventSource< CameraEvent > * GetCameraEventSource() noexcept
const PapyrusInterface * GetPapyrusInterface() noexcept
const TrampolineInterface * GetTrampolineInterface() noexcept
const SKSEObjectRegistry * GetObjectRegistry() noexcept
std::uint32_t GetReleaseIndex() noexcept
PluginHandle GetPluginHandle() noexcept
const SerializationInterface * GetSerializationInterface() noexcept
const ScaleformInterface * GetScaleformInterface() noexcept
const SKSEDelayFunctorManager * GetDelayFunctorManager() noexcept
Definition: EffectArchetypes.h:65
Definition: Events.h:38
Definition: Events.h:23
Definition: Events.h:31
Definition: Events.h:13
Definition: Events.h:70