mirror of
https://github.com/zeldaret/ss
synced 2026-05-27 08:08:07 -04:00
Hook up the allocator
This commit is contained in:
@@ -40902,7 +40902,7 @@ sStaticDisposer__Q33EGG17CoreControllerMgr11T__Disposer = .sbss:0x805767AC; // t
|
||||
CoreControllerFactory__3EGG = .sbss:0x805767B0; // type:object size:0x4 data:4byte
|
||||
sConnectCallback__Q23EGG17CoreControllerMgr = .sbss:0x805767B4; // type:object size:0x4 data:4byte
|
||||
sUseBuiltinWpadAllocator__Q23EGG17CoreControllerMgr = .sbss:0x805767B8; // type:object size:0x1 data:byte
|
||||
TODO_Allocator__3EGG = .sbss:0x805767BC; // type:object size:0x4 data:4byte
|
||||
sWPADAllocator__3EGG = .sbss:0x805767BC; // type:object size:0x4 data:4byte
|
||||
zero__Q23EGG8Vector2f = .sbss:0x805767C0; // type:object size:0x8 data:float
|
||||
ex__Q23EGG8Vector2f = .sbss:0x805767C8; // type:object size:0x8 data:float
|
||||
ey__Q23EGG8Vector2f = .sbss:0x805767D0; // type:object size:0x8 data:float
|
||||
|
||||
@@ -128,7 +128,7 @@ public:
|
||||
/* 80499be0 */ CoreController *getNthController(s32);
|
||||
|
||||
static void *allocThunk(size_t size);
|
||||
static void deleteThunk(void *ptr);
|
||||
static int deleteThunk(void *ptr);
|
||||
|
||||
/* 80499cd0 */ static void connectCallback(s32, s32);
|
||||
/* 80499d10 */ CoreControllerMgr();
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "egg/core/eggController.h"
|
||||
#include "egg/core/eggAllocator.h"
|
||||
#include "MSL_C/string.h"
|
||||
#include "rvl/VI.h"
|
||||
|
||||
@@ -11,7 +12,7 @@ void *CoreControllerFactory; // TODO
|
||||
ConnectCallback CoreControllerMgr::sConnectCallback;
|
||||
// This controls whether EggController registers an allocator within the WPAD driver
|
||||
bool CoreControllerMgr::sUseBuiltinWpadAllocator;
|
||||
void *TODO_Allocator; // TODO
|
||||
static Allocator *sWPADAllocator;
|
||||
|
||||
/* 0x80498F90 */ void CoreStatus::init() {
|
||||
memset(this, 0, sizeof(CoreStatus));
|
||||
@@ -174,10 +175,12 @@ extern "C" void fn_803DB1E0(s32 channel, bool arg);
|
||||
}
|
||||
|
||||
/* 0x80499C70 */ void *CoreControllerMgr::allocThunk(size_t size) {
|
||||
return nullptr; // TODO
|
||||
return sWPADAllocator->alloc(size);
|
||||
}
|
||||
/* 0x80499C90 */ void CoreControllerMgr::deleteThunk(void *ptr) {
|
||||
// TODO
|
||||
|
||||
/* 0x80499C90 */ int CoreControllerMgr::deleteThunk(void *ptr) {
|
||||
sWPADAllocator->free(ptr);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 0x80499CD0 */ void CoreControllerMgr::connectCallback(int a1, int a2) {
|
||||
@@ -191,7 +194,7 @@ extern "C" void fn_803DB1E0(s32 channel, bool arg);
|
||||
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_Allocator = (void*)"EGG::CoreControllerMgr";
|
||||
// TODO create heap, register allocator thunks
|
||||
}
|
||||
// init KPAD
|
||||
|
||||
Reference in New Issue
Block a user