Skip to content

Commit c0bad6a

Browse files
authored
feat: merge pull request libxse#9 from RunnerScrab/runnerscrab_fixGetVM
Fix GameVM::GetVM(), GameVM::currentTime, GameVM::currentMenuModeTime
2 parents e01fbba + f305df4 commit c0bad6a

1 file changed

Lines changed: 45 additions & 44 deletions

File tree

include/RE/G/GameVM.h

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -184,49 +184,50 @@ namespace RE
184184
std::uint64_t unkC0; // 00C0
185185
std::uint64_t unkC8; // 00C8
186186
std::uint64_t unkD0; // 00D0
187-
BSTSmartPointer<BSScript::IVirtualMachine> impl; // 00D8
188-
BSScript::IVMSaveLoadInterface* saveLoadInterface; // 00E0
189-
BSScript::IVMDebugInterface* debugInterface; // 00E8
190-
BSScript::SimpleAllocMemoryPagePolicy memoryPagePolicy; // 00F0
191-
BSScript::CompiledScriptLoader scriptLoader; // 0120
192-
GameScript::Logger logger; // 0158
193-
GameScript::HandlePolicy handlePolicy; // 01E0
194-
GameScript::ObjectBindPolicy objectBindPolicy; // 02A0
195-
BSTSmartPointer<BSScript::IStore> scriptStore; // 03A0
196-
/*GameScript::FragmentSystem*/ std::byte fragmentSystem[0x200]; // 03A8
197-
GameScript::Profiler profiler; // 05A8
198-
GameScript::RemoteDebugger remoteDebugger; // 06D8
199-
GameScript::SavePatcher savePatcher; // 07B0
200-
BSSpinLock freezeLock; // 07B8
201-
bool frozen; // 07C0
202-
BSSpinLock vmTimeLock; // 07C4
203-
std::uint32_t currentTime; // 07CC
204-
std::uint32_t currentMenuModeTime; // 07D0
205-
std::uint32_t currentGameTime; // 07D4
206-
bool updateHasBeenRun; // 07D8
207-
bool saveLoad; // 07D9
208-
BSTStaticFreeList<BSTSmartPointer<GameScript::DelayFunctor>, 512> renderSafeFunctorPool1; // 07E0
209-
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>*/ std::byte renderSafeFunctorQueue1[0x28]; // 27F8
210-
BSTStaticFreeList<BSTSmartPointer<GameScript::DelayFunctor>, 512> renderSafeFunctorPool2; // 2820
211-
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>*/ std::byte renderSafeFunctorQueue2[0x28]; // 4838
212-
BSTStaticFreeList<BSTSmartPointer<GameScript::DelayFunctor>, 512> postRenderFunctorPool1; // 4860
213-
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>*/ std::byte postRenderFunctorQueue1[0x28]; // 6878
214-
BSTStaticFreeList<BSTSmartPointer<GameScript::DelayFunctor>, 512> postRenderFunctorPool2; // 68A0
215-
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>*/ std::byte postRenderFunctorQueue2[0x28]; // 88B8
216-
BSSpinLock renderSafeQueueLock; // 88E0
217-
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>* */ void* renderSafeQueueToReadFrom; // 88E8
218-
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>* */ void* renderSafeQueueToWriteTo; // 88F0
219-
BSSpinLock postRenderQueueLock; // 88F8
220-
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>* */ void* postRenderQueueToReadFrom; // 8900
221-
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>* */ void* postRenderQueueToWriteTo; // 8908
222-
BSSpinLock userLogLock; // 8910
223-
/*BSTHashMap<BSFixedString, BSScript::ErrorLogger*>*/ std::byte userLogs[0x38]; // 8918
224-
BSSpinLock statsWarningLock; // 8950
225-
std::uint32_t initialSuspendOverageTime; // 8958
226-
std::uint32_t initialRunningOverageTime; // 895C
227-
std::uint32_t initialStackMemoryOverageTime; // 8960
228-
std::uint32_t lastWarningTime; // 8964
229-
std::uint32_t overflowFlags; // 8968
187+
std::uint64_t unkD8; // 00D8
188+
BSTSmartPointer<BSScript::IVirtualMachine> impl; // 00E0
189+
BSScript::IVMSaveLoadInterface* saveLoadInterface; // 00E8
190+
BSScript::IVMDebugInterface* debugInterface; // 00F0
191+
BSScript::SimpleAllocMemoryPagePolicy memoryPagePolicy; // 0120
192+
BSScript::CompiledScriptLoader scriptLoader; // 0158
193+
GameScript::Logger logger; // 01E0
194+
GameScript::HandlePolicy handlePolicy; // 02A0
195+
GameScript::ObjectBindPolicy objectBindPolicy; // 03A0
196+
BSTSmartPointer<BSScript::IStore> scriptStore; // 03A8
197+
/*GameScript::FragmentSystem*/ std::byte fragmentSystem[0x200]; // 05A8
198+
GameScript::Profiler profiler; // 06D8
199+
GameScript::RemoteDebugger remoteDebugger; // 07B0
200+
GameScript::SavePatcher savePatcher; // 07B8
201+
BSSpinLock freezeLock; // 07C0
202+
bool frozen; // 07C4
203+
BSSpinLock vmTimeLock; // 07CC
204+
std::uint32_t currentTime; // 07D0
205+
std::uint32_t currentMenuModeTime; // 07D4
206+
std::uint32_t currentGameTime; // 07D8
207+
bool updateHasBeenRun; // 07D9
208+
bool saveLoad; // 07E0
209+
BSTStaticFreeList<BSTSmartPointer<GameScript::DelayFunctor>, 512> renderSafeFunctorPool1; // 27F8
210+
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>*/ std::byte renderSafeFunctorQueue1[0x28]; // 2820
211+
BSTStaticFreeList<BSTSmartPointer<GameScript::DelayFunctor>, 512> renderSafeFunctorPool2; // 4838
212+
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>*/ std::byte renderSafeFunctorQueue2[0x28]; // 4860
213+
BSTStaticFreeList<BSTSmartPointer<GameScript::DelayFunctor>, 512> postRenderFunctorPool1; // 6878
214+
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>*/ std::byte postRenderFunctorQueue1[0x28]; // 68A0
215+
BSTStaticFreeList<BSTSmartPointer<GameScript::DelayFunctor>, 512> postRenderFunctorPool2; // 88B8
216+
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>*/ std::byte postRenderFunctorQueue2[0x28]; // 88E0
217+
BSSpinLock renderSafeQueueLock; // 88E8
218+
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>* */ void* renderSafeQueueToReadFrom; // 88F0
219+
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>* */ void* renderSafeQueueToWriteTo; // 88F8
220+
BSSpinLock postRenderQueueLock; // 8900
221+
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>* */ void* postRenderQueueToReadFrom; // 8908
222+
/*BSTCommonLLMessageQueue<BSTSmartPointer<GameScript::DelayFunctor>>* */ void* postRenderQueueToWriteTo; // 8910
223+
BSSpinLock userLogLock; // 8918
224+
/*BSTHashMap<BSFixedString, BSScript::ErrorLogger*>*/ std::byte userLogs[0x38]; // 8950
225+
BSSpinLock statsWarningLock; // 8958
226+
std::uint32_t initialSuspendOverageTime; // 895C
227+
std::uint32_t initialRunningOverageTime; // 8960
228+
std::uint32_t initialStackMemoryOverageTime; // 8964
229+
std::uint32_t lastWarningTime; // 8968
230+
std::uint32_t overflowFlags; // 8970
230231
};
231-
static_assert(sizeof(GameVM) == 0x8970);
232+
static_assert(sizeof(GameVM) == 0x8978);
232233
}

0 commit comments

Comments
 (0)