CommonLibSSE NG
Loading...
Searching...
No Matches
RE::Script Class Reference

#include <Script.h>

Inheritance diagram for RE::Script:
RE::TESForm RE::BaseFormComponent

Classes

struct  RecordFlags
 

Public Member Functions

 ~Script () override
 
void InitializeData () override
 
void ClearData () override
 
bool Load (TESFile *a_mod) override
 
void InitItemImpl () override
 
void ClearCommand ()
 
void CompileAndRun (TESObjectREFR *a_targetRef, COMPILER_NAME a_name=COMPILER_NAME::kSystemWindowCompiler)
 
void CompileAndRun (ScriptCompiler *a_compiler, TESObjectREFR *a_targetRef, COMPILER_NAME a_name=COMPILER_NAME::kSystemWindowCompiler)
 
std::string GetCommand () const
 
void SetCommand (std::string_view a_command)
 
- Public Member Functions inherited from RE::TESForm
 ~TESForm () override
 
void InitializeDataComponent () override
 
void ClearDataComponent () override
 
void CopyComponent (BaseFormComponent *a_rhs) override
 
virtual void InitializeData ()
 
virtual void ClearData ()
 
virtual bool Load (TESFile *a_mod)
 
virtual bool LoadPartial (TESFile *a_mod)
 
virtual bool LoadEdit (TESFile *a_mod)
 
virtual TESFormCreateDuplicateForm (bool a_createEditorID, void *a_arg2)
 
virtual bool AddChange (std::uint32_t a_changeFlags)
 
virtual void RemoveChange (std::uint32_t a_changeFlags)
 
virtual bool FindInFileFast (TESFile *a_mod)
 
virtual bool CheckSaveGame (BGSSaveFormBuffer *a_buf)
 
virtual void SaveGame (BGSSaveFormBuffer *a_buf)
 
virtual void LoadGame (BGSLoadFormBuffer *a_buf)
 
virtual void InitLoadGame (BGSLoadFormBuffer *a_buf)
 
virtual void FinishLoadGame (BGSLoadFormBuffer *a_buf)
 
virtual void Revert (BGSLoadFormBuffer *a_buf)
 
virtual void InitItemImpl ()
 
virtual TESFileGetDescriptionOwnerFile () const
 
virtual FormType GetSavedFormType () const
 
virtual void GetFormDetailedString (char *a_buf, std::uint32_t a_bufLen)
 
virtual bool GetKnown () const
 
virtual bool GetRandomAnim () const
 
virtual bool GetPlayable () const
 
virtual bool IsHeadingMarker () const
 
virtual bool GetDangerous () const
 
virtual bool QHasCurrents () const
 
virtual bool GetObstacle () const
 
virtual bool QIsLODLandObject () const
 
virtual bool GetOnLocalMap () const
 
virtual bool GetMustUpdate () const
 
virtual void SetOnLocalMap (bool a_set)
 
virtual bool GetIgnoredBySandbox () const
 
virtual void SetDelete (bool a_set)
 
virtual void SetAltered (bool a_set)
 
virtual void SaveObjectBound ()
 
virtual void LoadObjectBound (TESFile *a_mod)
 
virtual bool IsBoundObject () const
 
virtual bool IsObject () const
 
virtual bool IsMagicItem () const
 
virtual bool IsWater () const
 
virtual TESObjectREFRAsReference1 ()
 
virtual const TESObjectREFRAsReference2 () const
 
virtual std::uint32_t GetRefCount () const
 
virtual const char * GetTextForParsedSubTag (const BSFixedString &a_tag) const
 
virtual void Copy (TESForm *a_srcForm)
 
virtual bool BelongsInGroup (FORM *a_form, bool a_allowParentGroups, bool a_currentOnly)
 
virtual void CreateGroupData (FORM *a_form, FORM_GROUP *a_group)
 
virtual const char * GetFormEditorID () const
 
virtual bool SetFormEditorID (const char *a_str)
 
virtual bool IsParentForm ()
 
virtual bool IsParentFormTree ()
 
virtual bool IsFormTypeChild (FormType a_type)
 
virtual bool Activate (TESObjectREFR *a_targetRef, TESObjectREFR *a_activatorRef, std::uint8_t a_arg3, TESBoundObject *a_object, std::int32_t a_targetCount)
 
virtual void SetFormID (FormID a_id, bool a_updateFile)
 
virtual const char * GetObjectTypeName () const
 
virtual bool QAvailableInGame () const
 
template<class T , class = std::enable_if_t< std::negation_v< std::disjunction< std::is_pointer<T>, std::is_reference<T>, std::is_const<T>, std::is_volatile<T>>>>>
T * As () noexcept
 
template<class T , class = std::enable_if_t< std::negation_v< std::disjunction< std::is_pointer<T>, std::is_reference<T>, std::is_const<T>, std::is_volatile<T>>>>>
const T * As () const noexcept
 
TESObjectREFRAsReference ()
 
const TESObjectREFRAsReference () const
 
TESFileGetFile (std::int32_t a_idx=-1) const
 
std::uint32_t GetFormFlags () const noexcept
 
FormID GetFormID () const noexcept
 
FormType GetFormType () const noexcept
 
std::int32_t GetGoldValue () const
 
FormID GetRawFormID () const
 
FormID GetLocalFormID () const
 
const char * GetName () const
 
float GetWeight () const
 
bool HasKeywordInArray (const std::vector< BGSKeyword * > &a_keywords, bool a_matchAll) const
 
bool HasKeywordInList (BGSListForm *a_keywordList, bool a_matchAll) const
 
bool HasVMAD () const
 
bool HasWorldModel () const noexcept
 
void InitItem ()
 
bool Is (FormType a_type) const noexcept
 
template<class... Args>
requires (std::same_as<Args, FormType>&&...)
bool Is (Args... a_args) const noexcept
 
bool IsAmmo () const noexcept
 
bool IsArmor () const noexcept
 
bool IsBook () const noexcept
 
bool IsDeleted () const noexcept
 
bool IsDynamicForm () const noexcept
 
bool IsGold () const noexcept
 
bool IsIgnored () const noexcept
 
bool IsInventoryObject () const
 
bool IsInitialized () const noexcept
 
bool IsKey () const noexcept
 
bool IsLockpick () const noexcept
 
bool IsNot (FormType a_type) const noexcept
 
template<class... Args>
requires (std::same_as<Args, FormType>&&...)
bool IsNot (Args... a_args) const noexcept
 
bool IsNote () const noexcept
 
bool IsPlayer () const noexcept
 
bool IsPlayerRef () const noexcept
 
bool IsSoulGem () const noexcept
 
bool IsWeapon () const noexcept
 
- Public Member Functions inherited from RE::BaseFormComponent
virtual ~BaseFormComponent ()
 
virtual void InitializeDataComponent ()=0
 
virtual void ClearDataComponent ()=0
 
virtual void CopyComponent (BaseFormComponent *a_rhs)
 
 TES_HEAP_REDEFINE_NEW ()
 

Static Public Member Functions

static bool GetProcessScripts ()
 
static void SetProcessScripts (bool a_ProcessScripts)
 
template<class... Args>
static bool ParseParameters (const SCRIPT_PARAMETER *a_paramInfo, SCRIPT_FUNCTION::ScriptData *a_scriptData, std::uint32_t &a_opcodeOffsetPtr, TESObjectREFR *a_thisObj, TESObjectREFR *a_containingObj, Script *a_scriptObj, ScriptLocals *a_locals, Args... a_args)
 
- Static Public Member Functions inherited from RE::TESForm
static void AddCompileIndex (FormID &a_id, TESFile *a_file)
 
static auto GetAllForms () -> std::pair< BSTHashMap< FormID, TESForm * > *, std::reference_wrapper< BSReadWriteLock > >
 
static auto GetAllFormsByEditorID () -> std::pair< BSTHashMap< BSFixedString, TESForm * > *, std::reference_wrapper< BSReadWriteLock > >
 
static TESFormLookupByID (FormID a_formID)
 
template<class T >
static T * LookupByID (FormID a_formID)
 
static TESFormLookupByEditorID (const std::string_view &a_editorID)
 
template<class T >
static T * LookupByEditorID (const std::string_view &a_editorID)
 

Public Attributes

SCRIPT_HEADER header
 
std::uint32_t pad34
 
char * text
 
SCRIPT_FUNCTION::ScriptDatadata
 
float profilerTimer
 
float questScriptDelay
 
float questScriptGetSecondsBuffer
 
std::uint32_t pad54
 
TESQuestparentQuest
 
BSSimpleList< SCRIPT_REFERENCED_OBJECT * > refObjects
 
BSSimpleList< ScriptVariable * > variables
 
- Public Attributes inherited from RE::TESForm
TESFileContainer sourceFiles
 
std::uint32_t formFlags
 
FormID formID
 
stl::enumeration< InGameFormFlag, std::uint16_t > inGameFormFlags
 
stl::enumeration< FormType, std::uint8_t > formType
 
std::uint8_t pad1B
 
std::uint32_t pad1C
 

Static Public Attributes

static constexpr auto RTTI = RTTI_Script
 
static constexpr auto VTABLE = VTABLE_Script
 
static constexpr auto FORMTYPE = FormType::Script
 
- Static Public Attributes inherited from RE::TESForm
static constexpr auto RTTI = RTTI_TESForm
 
static constexpr auto FORMTYPE = FormType::None
 
- Static Public Attributes inherited from RE::BaseFormComponent
static constexpr auto RTTI = RTTI_BaseFormComponent
 

Additional Inherited Members

- Public Types inherited from RE::TESForm
enum class  InGameFormFlag {
  kNone = 0 , kWantsDelete = 1 << 0 , kForcedPersistent = 1 << 1 , kNoFavorAllowed = 1 << 4 ,
  kIsSkyObject = 1 << 5 , kRefOriginalPersistent = 1 << 6 , kRefPermanentlyDeleted = 1 << 7
}
 

Constructor & Destructor Documentation

◆ ~Script()

RE::Script::~Script ( )
override

Member Function Documentation

◆ ClearCommand()

void RE::Script::ClearCommand ( )

◆ ClearData()

void RE::Script::ClearData ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ CompileAndRun() [1/2]

void RE::Script::CompileAndRun ( ScriptCompiler a_compiler,
TESObjectREFR a_targetRef,
COMPILER_NAME  a_name = COMPILER_NAME::kSystemWindowCompiler 
)

◆ CompileAndRun() [2/2]

void RE::Script::CompileAndRun ( TESObjectREFR a_targetRef,
COMPILER_NAME  a_name = COMPILER_NAME::kSystemWindowCompiler 
)

◆ GetCommand()

std::string RE::Script::GetCommand ( ) const

◆ GetProcessScripts()

static bool RE::Script::GetProcessScripts ( )
static

◆ InitializeData()

void RE::Script::InitializeData ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ InitItemImpl()

void RE::Script::InitItemImpl ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ Load()

bool RE::Script::Load ( TESFile a_mod)
overridevirtual

Reimplemented from RE::TESForm.

◆ ParseParameters()

template<class... Args>
static bool RE::Script::ParseParameters ( const SCRIPT_PARAMETER a_paramInfo,
SCRIPT_FUNCTION::ScriptData a_scriptData,
std::uint32_t &  a_opcodeOffsetPtr,
TESObjectREFR a_thisObj,
TESObjectREFR a_containingObj,
Script a_scriptObj,
ScriptLocals a_locals,
Args...  a_args 
)
inlinestatic

◆ SetCommand()

void RE::Script::SetCommand ( std::string_view  a_command)

◆ SetProcessScripts()

static void RE::Script::SetProcessScripts ( bool  a_ProcessScripts)
static

Member Data Documentation

◆ data

SCRIPT_FUNCTION::ScriptData* RE::Script::data

◆ FORMTYPE

constexpr auto RE::Script::FORMTYPE = FormType::Script
inlinestaticconstexpr

◆ header

SCRIPT_HEADER RE::Script::header

◆ pad34

std::uint32_t RE::Script::pad34

◆ pad54

std::uint32_t RE::Script::pad54

◆ parentQuest

TESQuest* RE::Script::parentQuest

◆ profilerTimer

float RE::Script::profilerTimer

◆ questScriptDelay

float RE::Script::questScriptDelay

◆ questScriptGetSecondsBuffer

float RE::Script::questScriptGetSecondsBuffer

◆ refObjects

BSSimpleList<SCRIPT_REFERENCED_OBJECT*> RE::Script::refObjects

◆ RTTI

constexpr auto RE::Script::RTTI = RTTI_Script
inlinestaticconstexpr

◆ text

char* RE::Script::text

◆ variables

BSSimpleList<ScriptVariable*> RE::Script::variables

◆ VTABLE

constexpr auto RE::Script::VTABLE = VTABLE_Script
inlinestaticconstexpr

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