diff options
| author | robojumper <robojumper@gmail.com> | 2024-05-04 23:31:48 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2024-05-06 21:59:42 +0200 |
| commit | a0a5d634081ccd841c14d7fb421ea8df45de6383 (patch) | |
| tree | c79a8fa636eba6c70a1fe1fa71c5f4b5e9073c3d /src/egg/core/eggController.cpp | |
| parent | 126d5bc7b3771a59cbdc9f23a6234ea54f8ea0de (diff) | |
I love vtables
Diffstat (limited to 'src/egg/core/eggController.cpp')
| -rw-r--r-- | src/egg/core/eggController.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/egg/core/eggController.cpp b/src/egg/core/eggController.cpp index 4ec96e43..bb032446 100644 --- a/src/egg/core/eggController.cpp +++ b/src/egg/core/eggController.cpp @@ -2,13 +2,7 @@ #include "MSL_C/string.h" #include "rvl/VI.h" -extern EGG::CoreControllerMgr *lbl_805767AC; - EGG::NullController null_controller; - -// TODO vtable order in this TU is still messed up -// TODO NullController implementation - namespace EGG { CoreControllerMgr *CoreControllerMgr::sInstance; @@ -165,14 +159,14 @@ extern "C" void fn_803DB1E0(s32 channel, bool arg); if (CoreControllerMgr::sInstance == nullptr) { CoreControllerMgr *mgr = new CoreControllerMgr(); CoreControllerMgr::sInstance = mgr; - lbl_805767AC = mgr; + CoreControllerMgr::T__Disposer::sStaticDisposer = &mgr->mDisposer; } return CoreControllerMgr::sInstance; } /* 0x80499BD0 */ void CoreControllerMgr::deleteInstance() { CoreControllerMgr::sInstance = nullptr; - lbl_805767AC = nullptr; + CoreControllerMgr::T__Disposer::sStaticDisposer = nullptr; } /* 0x80499BE0 */ EGG::CoreController *CoreControllerMgr::getNthController(s32 n) { @@ -196,6 +190,8 @@ extern "C" void fn_803DB1E0(s32 channel, bool arg); /* 0x80499D10 */ CoreControllerMgr::CoreControllerMgr() { const int idxes[] = {0, 1, 2, 3}; if (sUseBuiltinWpadAllocator == false) { + // TODO I just want the string in .data already + TODO_Allocator = (void*)"EGG::CoreControllerMgr"; // TODO create heap, register allocator thunks } // init KPAD |
