CommonLibSSE (powerof3)
Script.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/C/CommandTable.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESForm.h"
6 
7 namespace RE
8 {
9  enum class COMPILER_NAME
10  {
14  };
15 
17  {
18  public:
19  };
20  static_assert(sizeof(ScriptCompiler) == 0x1);
21 
22  class Script : public TESForm
23  {
24  public:
25  inline static constexpr auto RTTI = RTTI_Script;
26  inline static constexpr auto FORMTYPE = FormType::Script;
27 
28  struct RecordFlags
29  {
30  enum RecordFlag : std::uint32_t
31  {
32  };
33  };
34 
35  ~Script() override; // 00
36 
37  // override (TESForm)
38  void InitializeData() override; // 04
39  void ClearData() override; // 05
40  bool Load(TESFile* a_mod) override; // 06
41  void InitItemImpl() override; // 13
42 
43  void ClearCommand();
46  [[nodiscard]] std::string GetCommand() const;
47  void SetCommand(std::string_view a_command);
48 
49  // members
51  std::uint32_t pad34; // 34
52  char* text; // 38
54  float profilerTimer; // 48
55  float questScriptDelay; // 4C
57  std::uint32_t pad54; // 54
61 
62  private:
63  void CompileAndRun_Impl(ScriptCompiler* a_compiler, COMPILER_NAME a_type, TESObjectREFR* a_targetRef);
64  };
65  static_assert(sizeof(Script) == 0x80);
66 }
Definition: BSTList.h:10
Definition: Script.h:17
Definition: Script.h:23
~Script() override
std::string GetCommand() const
float questScriptDelay
Definition: Script.h:55
void CompileAndRun(ScriptCompiler *a_compiler, TESObjectREFR *a_targetRef, COMPILER_NAME a_name=COMPILER_NAME::kSystemWindowCompiler)
SCRIPT_FUNCTION::ScriptData * data
Definition: Script.h:53
void CompileAndRun(TESObjectREFR *a_targetRef, COMPILER_NAME a_name=COMPILER_NAME::kSystemWindowCompiler)
static constexpr auto RTTI
Definition: Script.h:25
static constexpr auto FORMTYPE
Definition: Script.h:26
void InitItemImpl() override
void SetCommand(std::string_view a_command)
char * text
Definition: Script.h:52
float questScriptGetSecondsBuffer
Definition: Script.h:56
void ClearCommand()
void ClearData() override
bool Load(TESFile *a_mod) override
SCRIPT_HEADER header
Definition: Script.h:50
BSSimpleList< ScriptVariable * > variables
Definition: Script.h:60
TESQuest * parentQuest
Definition: Script.h:58
std::uint32_t pad54
Definition: Script.h:57
std::uint32_t pad34
Definition: Script.h:51
BSSimpleList< SCRIPT_REFERENCED_OBJECT * > refObjects
Definition: Script.h:59
void InitializeData() override
float profilerTimer
Definition: Script.h:54
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESObjectREFR.h:103
Definition: TESQuest.h:189
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_Script
Definition: Offsets_RTTI.h:5796
COMPILER_NAME
Definition: Script.h:10
string(const CharT(&)[N]) -> string< CharT, N - 1 >
Definition: CommandTable.h:280
Definition: CommandTable.h:117
Definition: Script.h:29
RecordFlag
Definition: Script.h:31