CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
CodeTasklet.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
7 namespace BSScript
8 {
9 class ErrorLogger;
10 class Stack;
11 class StackFrame;
12
13 namespace Internal
14 {
15 class VirtualMachine;
16
18 {
19 public:
20 inline static constexpr auto RTTI = RTTI_BSScript__Internal__CodeTasklet;
21 inline static constexpr auto VTABLE = VTABLE_BSScript__Internal__CodeTasklet;
22
23 enum class ResumeReason
24 {
25 kNotResuming = 0,
27 kInitialStart = 2,
31 };
32
33 enum class OpCode
34 {
35 kNOP,
36 kIADD,
37 kFADD,
38 kISUB,
39 kFSUB,
40 kIMUL,
41 kFMUL,
42 kIDIV,
43 kFDIV,
44 kIMOD,
45 kNOT,
46 kINEG,
47 kFNEG,
48 kASSIGN,
49 kCAST,
50 kCMP_EQ,
51 kCMP_LT,
53 kCMP_GT,
55 kJMP,
56 kJMPT,
57 kJMPF,
61 kRETURN,
62 kSTRCAT,
71 };
72
73 ~CodeTasklet() override; // 00
74
75 // override (IFuncCallQuery)
76 bool GetFunctionCallInfo(CallType& a_callType, BSTSmartPointer<ObjectTypeInfo>& a_arg2, BSFixedString& a_arg3, Variable& a_arg4, BSScrapArray<Variable>& a_arg5) override; // 01
77
78 // members
79 Stack* stack; // 10
83 std::uint32_t pad2C; // 2C
85 std::uint32_t frameMemoryPage; // 38
86 std::int8_t jumpBitCount; // 3C
87 std::int8_t localVarBitCount; // 3D
88 std::int8_t memberVarBitCount; // 3E
89 std::uint8_t pad3F; // 3F
90 std::uint32_t instructionDataBitCount; // 40
91 std::uint32_t pad44; // 44
92 const void* instructionDataStart; // 48
93 };
94 static_assert(sizeof(CodeTasklet) == 0x50);
95 }
96 }
97}
Definition EnumSet.h:9
Definition ErrorLogger.h:13
Definition CodeTasklet.h:18
static constexpr auto RTTI
Definition CodeTasklet.h:20
StackFrame * topFrame
Definition CodeTasklet.h:84
std::int8_t localVarBitCount
Definition CodeTasklet.h:87
VirtualMachine * vm
Definition CodeTasklet.h:80
std::uint32_t frameMemoryPage
Definition CodeTasklet.h:85
OpCode
Definition CodeTasklet.h:34
const void * instructionDataStart
Definition CodeTasklet.h:92
std::int8_t memberVarBitCount
Definition CodeTasklet.h:88
std::int8_t jumpBitCount
Definition CodeTasklet.h:86
bool GetFunctionCallInfo(CallType &a_callType, BSTSmartPointer< ObjectTypeInfo > &a_arg2, BSFixedString &a_arg3, Variable &a_arg4, BSScrapArray< Variable > &a_arg5) override
REX::EnumSet< ResumeReason, std::uint32_t > resumeReason
Definition CodeTasklet.h:82
ErrorLogger * errorLogger
Definition CodeTasklet.h:81
ResumeReason
Definition CodeTasklet.h:24
std::uint32_t pad2C
Definition CodeTasklet.h:83
Stack * stack
Definition CodeTasklet.h:79
std::uint32_t instructionDataBitCount
Definition CodeTasklet.h:90
static constexpr auto VTABLE
Definition CodeTasklet.h:21
std::uint8_t pad3F
Definition CodeTasklet.h:89
std::uint32_t pad44
Definition CodeTasklet.h:91
Definition IFuncCallQuery.h:18
CallType
Definition IFuncCallQuery.h:24
Definition VirtualMachine.h:46
Definition StackFrame.h:15
Definition Stack.h:25
Definition Variable.h:15
Definition BSTArray.h:378
Definition BSTSmartPointer.h:37
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSScript__Internal__CodeTasklet
Definition Offsets_VTABLE.h:9467
constexpr REL::ID RTTI_BSScript__Internal__CodeTasklet(static_cast< std::uint64_t >(691859))