More detail work

This commit is contained in:
robojumper
2024-05-04 22:01:55 +02:00
parent ee92f6bb83
commit 126d5bc7b3
6 changed files with 130 additions and 108 deletions
+18 -14
View File
@@ -17,6 +17,8 @@ class ControllerRumbleMgr;
// To Be Filled out
enum eCoreDevType {};
typedef void (*ConnectCallback)(int args[]);
class CoreStatus {
public:
/* 0x00 */ u8 field_0x00[0x0C];
@@ -40,9 +42,9 @@ class CoreController {
public:
// vtable 0x000 | 8056ec50
/* vt 0x08 | 80064920 */ virtual void setPosParam(f32, f32);
/* vt 0x0C | 8049a940 */ virtual void setHoriParam(f32, f32);
/* vt 0x10 | 8049a930 */ virtual void setDistParam(f32, f32);
/* vt 0x14 | 8049a920 */ virtual void setAccParam(f32, f32);
/* vt 0x0C | 8049a940 */ virtual void setHoriParam(f32, f32) {}
/* vt 0x10 | 8049a930 */ virtual void setDistParam(f32, f32) {}
/* vt 0x14 | 8049a920 */ virtual void setAccParam(f32, f32) {}
/* vt 0x18 | 80059820 */ virtual bool isPressed(u32 mask);
/* vt 0x1C | 80059a60 */ virtual bool isAnyPressed(u32 mask);
/* vt 0x20 | 80014e30 */ virtual bool isTriggered(u32 mask);
@@ -99,7 +101,6 @@ public:
class NullController : public CoreController {
public:
NullController() {
// This could also be in CoreController
unk[92] = 0xfe;
}
// idk this has NO effect on anything
@@ -110,7 +111,7 @@ class ControllerRumbleUnit {
public:
// 0x00 vtable | 8056ebb4
inline ControllerRumbleUnit() { init(); }
/* vt 0x08 | 8049a8e0 */ virtual ~ControllerRumbleUnit();
/* vt 0x08 | 8049a8e0 */ virtual ~ControllerRumbleUnit() {}
public:
/* 0x04 */ const char *mPattern;
@@ -130,7 +131,7 @@ public:
class ControllerRumbleMgr {
public:
// 0x00 vtable | 8056eba8
/* vt 0x08 | 8049a8a0 */ virtual ~ControllerRumbleMgr();
/* vt 0x08 | 8049a8a0 */ virtual ~ControllerRumbleMgr() {}
public:
/* 0x04 */ nw4r::ut::List mActiveUnitList;
@@ -147,17 +148,16 @@ public:
};
class CoreControllerMgr {
public:
struct T__Disposer {
Disposer mDisposer;
/* vt 0x08 | 80499b00 */ virtual ~T__Disposer() {}
struct T__Disposer : Disposer {
/* vt 0x08 | 80499b00 */ virtual ~T__Disposer();
/* 805767ac */ static T__Disposer *sStaticDisposer;
};
// Disposer Vtable: 8056ec40
/* 0x0000 */ T__Disposer mDisposer; // for the static T__Disposer
public:
// 0x0010 vtable | 8056ebf8
/* vt 0x08 | 8049a130 */ void beginFrame();
/* vt 0x0C | 8049a1e0 */ void endFrame();
/* vt 0x08 | 8049a130 */ virtual void beginFrame();
/* vt 0x0C | 8049a1e0 */ virtual void endFrame();
public:
/* 0x0014 */ TBuffer<CoreController *> mControllers;
@@ -169,14 +169,18 @@ public:
/* 80499b80 */ static CoreControllerMgr *createInstance();
/* 80499bd0 */ static void deleteInstance();
/* 80499be0 */ CoreController *getNthController(s32);
/* 80499cd0 */ void connectCallback(s32, s32);
static void *allocThunk(size_t size);
static void deleteThunk(void *ptr);
/* 80499cd0 */ static void connectCallback(s32, s32);
/* 80499d10 */ CoreControllerMgr();
public:
/* 805767a8 */ static CoreControllerMgr *sInstance;
/* 805767b0 */ static CoreController *(*sCoreControllerFactory)();
/* 805767b4 */ static void (*sConnectCallback)(s32, s32);
/* 805767b8 */ static bool sUnk;
/* 805767b4 */ static ConnectCallback sConnectCallback;
/* 805767b8 */ static bool sUseBuiltinWpadAllocator;
// /* 805767bc */ static sAllocator; // defined in cpp file
// Other Stuff thats autogen (buffers/sinit/etc)
+4 -2
View File
@@ -11,8 +11,10 @@ class TBuffer {
public:
// vtable 0x00
/* vt 0x08 */ virtual ~TBuffer() {
delete[] mBuffer;
mBuffer = nullptr;
if (mBuffer != nullptr) {
delete[] mBuffer;
mBuffer = nullptr;
}
}
/* vt 0x0C */ virtual void allocate(int n, int) {
mSize = n;