mirror of https://github.com/zeldaret/tp.git
87 lines
3.2 KiB
C++
87 lines
3.2 KiB
C++
#ifndef JUTEXCEPTION_H
|
|
#define JUTEXCEPTION_H
|
|
|
|
#include "JSystem/JKernel/JKRThread.h"
|
|
#include "JSystem/JUtility/JUTGamePad.h"
|
|
#include "Runtime.PPCEABI.H/__va_arg.h"
|
|
#include "dolphin/gx/GX.h"
|
|
#include "dolphin/os/OS.h"
|
|
#include "dolphin/types.h"
|
|
|
|
struct _GXRenderModeObj;
|
|
struct _GXGamma {};
|
|
|
|
struct JUTExternalFB {
|
|
/* 802E40CC */ JUTExternalFB(_GXRenderModeObj*, _GXGamma, void*, u32);
|
|
};
|
|
|
|
struct JUTDirectPrint {
|
|
/* 802E456C */ void changeFrameBuffer(void*, u16, u16);
|
|
};
|
|
|
|
class JUTException /* : public JKRThread */ {
|
|
public:
|
|
struct EInfoPage {};
|
|
|
|
// TODO: return types are probably wrong
|
|
/* 802E1D5C */ JUTException(JUTDirectPrint*);
|
|
/* 802E1E40 */ void create(JUTDirectPrint*);
|
|
/* 802E1FCC */ void errorHandler(u16, OSContext*, u32, u32);
|
|
/* 802E20C0 */ void panic_f_va(char const*, int, char const*, va_list);
|
|
/* 802E21FC */ static void panic_f(char const*, int, char const*, ...);
|
|
/* 802E227C */ void setFPException(u32);
|
|
/* 802E22C4 */ void showFloatSub(int, f32);
|
|
/* 802E2454 */ void showFloat(OSContext*);
|
|
/* 802E2578 */ void searchPartialModule(u32, u32*, u32*, u32*, u32*);
|
|
/* 802E26B0 */ void showStack(OSContext*);
|
|
/* 802E27B0 */ void showMainInfo(u16, OSContext*, u32, u32);
|
|
/* 802E2A84 */ void showGPR(OSContext*);
|
|
/* 802E2B44 */ void showMapInfo_subroutine(u32, bool);
|
|
/* 802E2CA0 */ void showGPRMap(OSContext*);
|
|
/* 802E2DAC */ void showSRR0Map(OSContext*);
|
|
/* 802E2E70 */ void printDebugInfo(JUTException::EInfoPage, u16, OSContext*, u32, u32);
|
|
/* 802E2F18 */ void isEnablePad() const;
|
|
/* 802E2F54 */ bool readPad(u32*, u32*);
|
|
/* 802E34C0 */ void printContext(u16, OSContext*, u32, u32);
|
|
/* 802E3980 */ static void waitTime(s32);
|
|
/* 802E3A08 */ void createFB();
|
|
/* 802E3AEC */ void setPreUserCallback(void (*)(u16, OSContext*, u32, u32));
|
|
/* 802E3AFC */ void setPostUserCallback(void (*)(u16, OSContext*, u32, u32));
|
|
/* 802E3B0C */ void appendMapFile(char const*);
|
|
/* 802E3BA0 */ void queryMapAddress(char*, u32, s32, u32*, u32*, char*, u32, bool, bool);
|
|
/* 802E3C90 */ void queryMapAddress_single(char*, u32, s32, u32*, u32*, char*, u32, bool, bool);
|
|
/* 802E3FEC */ void createConsole(void*, u32);
|
|
|
|
/* 802E40EC */ virtual ~JUTException();
|
|
/* 802E1EA8 */ virtual void run();
|
|
|
|
static JUTException* getManager() { return sErrorManager; }
|
|
void setTraceSuppress(u32 param_0) { mTraceSuppress = param_0; }
|
|
|
|
static u8 sMessageQueue[32];
|
|
static void* sCpuExpName[17];
|
|
static u8 sMapFileList[12 + 4 /* padding */];
|
|
static u8 sMessageBuffer[4 + 4 /* padding */];
|
|
static JUTException* sErrorManager;
|
|
static u8 sPreUserCallback[4];
|
|
static u8 sPostUserCallback[4];
|
|
static u8 sConsoleBuffer[4];
|
|
static u8 sConsoleBufferSize[4];
|
|
static u8 sConsole[4];
|
|
static u8 msr[4];
|
|
static u8 fpscr[4];
|
|
|
|
/* 0x00 */ JKRThread field_0x0; // should be inherited
|
|
/* 0x80 */ JUTDirectPrint* field_0x80;
|
|
/* 0x84 */ JUTGamePad* field_0x84;
|
|
/* 0x88 */ s32 field_0x88;
|
|
/* 0x8C */ s32 field_0x8c;
|
|
/* 0x90 */ s32 field_0x90;
|
|
/* 0x94 */ u32 mTraceSuppress;
|
|
/* 0x98 */ u32 field_0x98;
|
|
/* 0x9C */ u32 field_0x9c;
|
|
/* 0xA0 */ u32 field_0xa0;
|
|
};
|
|
|
|
#endif /* JUTEXCEPTION_H */
|