CommonLibSSE NG
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
22 enum class ResumeReason
23 {
24 kNotResuming = 0,
26 kInitialStart = 2,
30 };
31
32 enum class OpCode
33 {
34 kNOP,
35 kIADD,
36 kFADD,
37 kISUB,
38 kFSUB,
39 kIMUL,
40 kFMUL,
41 kIDIV,
42 kFDIV,
43 kIMOD,
44 kNOT,
45 kINEG,
46 kFNEG,
47 kASSIGN,
48 kCAST,
49 kCMP_EQ,
50 kCMP_LT,
52 kCMP_GT,
54 kJMP,
55 kJMPT,
56 kJMPF,
60 kRETURN,
61 kSTRCAT,
70 };
71
72 ~CodeTasklet() override; // 00
73
74 // override (IFuncCallQuery)
75 bool GetFunctionCallInfo(CallType& a_callType, BSTSmartPointer<ObjectTypeInfo>& a_arg2, BSFixedString& a_arg3, Variable& a_arg4, BSScrapArray<Variable>& a_arg5) override; // 01
76
77 // members
78 Stack* stack; // 10
82 std::uint32_t pad2C; // 2C
84 std::uint32_t frameMemoryPage; // 38
85 std::int8_t jumpBitCount; // 3C
86 std::int8_t localVarBitCount; // 3D
87 std::int8_t memberVarBitCount; // 3E
88 std::uint8_t pad3F; // 3F
89 std::uint32_t instructionDataBitCount; // 40
90 std::uint32_t pad44; // 44
91 const void* instructionDataStart; // 48
92 };
93 static_assert(sizeof(CodeTasklet) == 0x50);
94 }
95 }
96}
Definition ErrorLogger.h:13
Definition CodeTasklet.h:18
static constexpr auto RTTI
Definition CodeTasklet.h:20
StackFrame * topFrame
Definition CodeTasklet.h:83
std::int8_t localVarBitCount
Definition CodeTasklet.h:86
VirtualMachine * vm
Definition CodeTasklet.h:79
std::uint32_t frameMemoryPage
Definition CodeTasklet.h:84
OpCode
Definition CodeTasklet.h:33
const void * instructionDataStart
Definition CodeTasklet.h:91
std::int8_t memberVarBitCount
Definition CodeTasklet.h:87
std::int8_t jumpBitCount
Definition CodeTasklet.h:85
bool GetFunctionCallInfo(CallType &a_callType, BSTSmartPointer< ObjectTypeInfo > &a_arg2, BSFixedString &a_arg3, Variable &a_arg4, BSScrapArray< Variable > &a_arg5) override
ErrorLogger * errorLogger
Definition CodeTasklet.h:80
ResumeReason
Definition CodeTasklet.h:23
std::uint32_t pad2C
Definition CodeTasklet.h:82
Stack * stack
Definition CodeTasklet.h:78
std::uint32_t instructionDataBitCount
Definition CodeTasklet.h:89
stl::enumeration< ResumeReason, std::uint32_t > resumeReason
Definition CodeTasklet.h:81
std::uint8_t pad3F
Definition CodeTasklet.h:88
std::uint32_t pad44
Definition CodeTasklet.h:90
Definition IFuncCallQuery.h:18
CallType
Definition IFuncCallQuery.h:23
Definition VirtualMachine.h:46
Definition StackFrame.h:15
Definition Stack.h:25
Definition Variable.h:15
Definition BSTArray.h:377
Definition BSTSmartPointer.h:36
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSScript__Internal__CodeTasklet(691859, 399903, 0x1f7d368)