@@ -4,6 +4,7 @@ namespace F4SE
44{
55 using PluginHandle = std::uint32_t ;
66
7+ class PreLoadInterface ;
78 class LoadInterface ;
89
910 struct PluginInfo ;
@@ -16,17 +17,27 @@ namespace F4SE
1617 class ObjectInterface ;
1718 class TrampolineInterface ;
1819
19- void Init (const LoadInterface* a_intfc, bool a_log = true ) noexcept ;
20-
21- [[nodiscard]] std::string_view GetPluginName () noexcept ;
22- [[nodiscard]] std::string_view GetPluginAuthor () noexcept ;
23- [[nodiscard]] REL::Version GetPluginVersion () noexcept ;
24-
25- [[nodiscard]] REL::Version GetF4SEVersion () noexcept ;
26- [[nodiscard]] PluginHandle GetPluginHandle () noexcept ;
27- [[nodiscard]] std::uint32_t GetReleaseIndex () noexcept ;
28- [[nodiscard]] const PluginInfo* GetPluginInfo (std::string_view a_plugin) noexcept ;
29- [[nodiscard]] std::string_view GetSaveFolderName () noexcept ;
20+ struct InitInfo
21+ {
22+ bool log{ true };
23+ const char * logName{ nullptr };
24+ const char * logPattern{ nullptr };
25+ bool trampoline{ false };
26+ std::size_t trampolineSize{ 0 };
27+ bool hook{ true };
28+ };
29+
30+ void Init (const PreLoadInterface* a_intfc, InitInfo a_info = {}) noexcept ;
31+ void Init (const LoadInterface* a_intfc, InitInfo a_info = {}) noexcept ;
32+
33+ [[nodiscard]] REL::Version GetF4SEVersion () noexcept ;
34+ [[nodiscard]] std::string_view GetPluginName () noexcept ;
35+ [[nodiscard]] std::string_view GetPluginAuthor () noexcept ;
36+ [[nodiscard]] REL::Version GetPluginVersion () noexcept ;
37+ [[nodiscard]] PluginHandle GetPluginHandle () noexcept ;
38+ [[nodiscard]] const PluginInfo* GetPluginInfo (std::string_view a_plugin) noexcept ;
39+ [[nodiscard]] std::uint32_t GetReleaseIndex () noexcept ;
40+ [[nodiscard]] std::string_view GetSaveFolderName () noexcept ;
3041
3142 [[nodiscard]] const MessagingInterface* GetMessagingInterface () noexcept ;
3243 [[nodiscard]] const ScaleformInterface* GetScaleformInterface () noexcept ;
@@ -35,6 +46,13 @@ namespace F4SE
3546 [[nodiscard]] const TaskInterface* GetTaskInterface () noexcept ;
3647 [[nodiscard]] const ObjectInterface* GetObjectInterface () noexcept ;
3748 [[nodiscard]] const TrampolineInterface* GetTrampolineInterface () noexcept ;
49+ }
50+
51+ namespace F4SE
52+ {
53+ // DEPRECATED
54+ void Init (const LoadInterface* a_intfc, bool a_log) noexcept ;
3855
56+ // DEPRECATED
3957 void AllocTrampoline (std::size_t a_size) noexcept ;
4058}
0 commit comments