19 enum class Type : std::uint32_t
30 static_assert(
sizeof(
Type) == 0x4);
42 static_assert(
sizeof(Value) == 0x8);
54 static_assert(
sizeof(
Argument) == 0xC);
71 namespace UnlinkedTypes
145 static_assert(
sizeof(
Function) == 0xE8);
173 static_assert(
sizeof(
Property) == 0x38);
187 static_assert(
sizeof(VariableData) == 0x10);
224 static_assert(
sizeof(
Object) == 0x1D0);
Definition: VirtualMachine.h:46
Definition: LinkerProcessor.h:18
Definition: TypeInfo.h:10
Definition: UnlinkedTypes.h:74
virtual bool ConvertVariableType(BSFixedString *a_typeAsString, TypeInfo &a_typeOut)=0
virtual ~ConvertTypeFunctor()
static constexpr auto VTABLE
Definition: UnlinkedTypes.h:77
static constexpr auto RTTI
Definition: UnlinkedTypes.h:76
Definition: UnlinkedTypes.h:129
BSScrapArray< BSFixedString > paramNameArray
Definition: UnlinkedTypes.h:139
BSScrapArray< BSFixedString > paramTypeArray
Definition: UnlinkedTypes.h:140
std::uint16_t pad12
Definition: UnlinkedTypes.h:136
bool isNative
Definition: UnlinkedTypes.h:134
BSScrapArray< BSFixedString > localNameArray
Definition: UnlinkedTypes.h:141
bool isGlobal
Definition: UnlinkedTypes.h:135
BSFixedString docString
Definition: UnlinkedTypes.h:133
BSScrapArray< BSFixedString > localTypeArray
Definition: UnlinkedTypes.h:142
BSFixedString returnTypeName
Definition: UnlinkedTypes.h:132
std::uint32_t userFlags
Definition: UnlinkedTypes.h:138
InstructionStream instructionStream
Definition: UnlinkedTypes.h:143
std::uint32_t isPropertyFunction
Definition: UnlinkedTypes.h:137
Definition: UnlinkedTypes.h:111
std::uint32_t unk14
Definition: UnlinkedTypes.h:118
void * unk28
Definition: UnlinkedTypes.h:121
std::uint32_t unk0C
Definition: UnlinkedTypes.h:116
void * unk38
Definition: UnlinkedTypes.h:123
std::uint32_t functionCodeSize
Definition: UnlinkedTypes.h:115
ScrapHeap * threadScrapHeap
Definition: UnlinkedTypes.h:114
std::uint64_t unk30
Definition: UnlinkedTypes.h:122
void * unk18
Definition: UnlinkedTypes.h:119
std::uint32_t pad10
Definition: UnlinkedTypes.h:117
std::uint64_t unk40
Definition: UnlinkedTypes.h:124
void * unk20
Definition: UnlinkedTypes.h:120
Definition: UnlinkedTypes.h:86
LinkerProcessor * linker
Definition: UnlinkedTypes.h:93
~LinkerConvertTypeFunctor() override
bool ConvertVariableType(BSFixedString *a_typeAsString, TypeInfo &a_typeOut) override
Definition: UnlinkedTypes.h:179
BSTScrapHashMap< BSFixedString, Function * > staticFunctions
Definition: UnlinkedTypes.h:212
std::uint32_t pad_194
Definition: UnlinkedTypes.h:216
std::uint64_t modificationTime
Definition: UnlinkedTypes.h:202
BSFixedString userName
Definition: UnlinkedTypes.h:199
std::uint32_t totalFunctions
Definition: UnlinkedTypes.h:215
std::uint32_t userFlags
Definition: UnlinkedTypes.h:208
BSTScrapHashMap< BSFixedString, VariableData > variables
Definition: UnlinkedTypes.h:210
BSTScrapHashMap< BSFixedString, BSTScrapHashMap< BSFixedString, Function * > * > stateMap
Definition: UnlinkedTypes.h:214
BSTHashMap< BSFixedString, std::byte > userFlagMap
Definition: UnlinkedTypes.h:204
BSFixedString parentClassName
Definition: UnlinkedTypes.h:206
BSFixedString autoStateName
Definition: UnlinkedTypes.h:218
RE::BSScrapArray< FunctionDebugInfo * > functionDebugInfoList
Definition: UnlinkedTypes.h:203
BSFixedString fileName
Definition: UnlinkedTypes.h:197
BSFixedString computerName
Definition: UnlinkedTypes.h:200
BSTScrapHashMap< BSFixedString, Property * > properties
Definition: UnlinkedTypes.h:211
BSTScrapHashMap< BSFixedString, ByteCode::Argument > initialVariableValues
Definition: UnlinkedTypes.h:217
BSFixedString docString
Definition: UnlinkedTypes.h:207
std::uint32_t pad_9C
Definition: UnlinkedTypes.h:209
std::byte loadDebugInformation
Definition: UnlinkedTypes.h:201
std::uint64_t compilationTime
Definition: UnlinkedTypes.h:198
BSFixedString className
Definition: UnlinkedTypes.h:205
BSTScrapHashMap< BSFixedString, Function * > memberFunctions
Definition: UnlinkedTypes.h:213
Definition: UnlinkedTypes.h:98
~VMTypeResolveFunctor() override
bool ConvertVariableType(BSFixedString *a_typeAsString, TypeInfo &a_typeOut) override
Internal::VirtualMachine * vm
Definition: UnlinkedTypes.h:106
static constexpr auto VTABLE
Definition: UnlinkedTypes.h:101
static constexpr auto RTTI
Definition: UnlinkedTypes.h:100
Definition: BSTArray.h:378
Definition: BSTHashMap.h:21
Definition: ScrapHeap.h:10
~BSFixedString()
Definition: BSFixedString.h:58
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSScript__UnlinkedTypes__Function__ConvertTypeFunctor(static_cast< std::uint64_t >(691838))
constexpr std::array< REL::ID, 1 > VTABLE_BSScript____VMTypeResolveFunctor
Definition: Offsets_VTABLE.h:9830
constexpr REL::ID RTTI_BSScript____VMTypeResolveFunctor(static_cast< std::uint64_t >(691839))
constexpr std::array< REL::ID, 1 > VTABLE_BSScript__UnlinkedTypes__Function__ConvertTypeFunctor
Definition: Offsets_VTABLE.h:9821
Definition: UnlinkedTypes.h:18
Type type
Definition: UnlinkedTypes.h:49
~Argument()
Definition: UnlinkedTypes.h:44
Type
Definition: UnlinkedTypes.h:20
Value value
Definition: UnlinkedTypes.h:52
Definition: UnlinkedTypes.h:58
std::uint64_t unk00
Definition: UnlinkedTypes.h:61
std::uint16_t pad1A
Definition: UnlinkedTypes.h:66
const char * opCodeArgs
Definition: UnlinkedTypes.h:63
std::byte minorVersion
Definition: UnlinkedTypes.h:65
std::byte majorVersion
Definition: UnlinkedTypes.h:64
std::uint32_t pad1C
Definition: UnlinkedTypes.h:67
const char * opCodeName
Definition: UnlinkedTypes.h:62
Definition: UnlinkedTypes.h:148
std::uint32_t functionType
Definition: UnlinkedTypes.h:151
BSFixedString stateName
Definition: UnlinkedTypes.h:153
BSFixedString className
Definition: UnlinkedTypes.h:152
BSFixedString functionName
Definition: UnlinkedTypes.h:154
BSScrapArray< std::uint16_t > instructionLineNumbers
Definition: UnlinkedTypes.h:155
Definition: UnlinkedTypes.h:160
std::uint32_t flags
Definition: UnlinkedTypes.h:163
BSFixedString docString
Definition: UnlinkedTypes.h:169
BSFixedString typeName
Definition: UnlinkedTypes.h:165
Function * readHandler
Definition: UnlinkedTypes.h:166
Function * writeHandler
Definition: UnlinkedTypes.h:167
std::uint32_t userFlags
Definition: UnlinkedTypes.h:170
std::uint32_t pad04
Definition: UnlinkedTypes.h:164
BSFixedString autoVarName
Definition: UnlinkedTypes.h:168
std::uint32_t pad34
Definition: UnlinkedTypes.h:171
Definition: UnlinkedTypes.h:33
BSFixedString string
Definition: UnlinkedTypes.h:38
std::uint32_t idx
Definition: UnlinkedTypes.h:37
~Value()
Definition: UnlinkedTypes.h:40
int i
Definition: UnlinkedTypes.h:34
float f
Definition: UnlinkedTypes.h:35
bool b
Definition: UnlinkedTypes.h:36