mirror of
https://github.com/zeldaret/ss
synced 2026-06-28 18:50:47 -04:00
db_exception
This commit is contained in:
@@ -1,14 +1,52 @@
|
||||
#ifndef NW4R_DB_CONSOLE_H
|
||||
#define NW4R_DB_CONSOLE_H
|
||||
|
||||
#include <common.h>
|
||||
#include <nw4r/ut/ut_TextWriterBase.h>
|
||||
|
||||
namespace nw4r {
|
||||
namespace db {
|
||||
|
||||
namespace detail {
|
||||
struct ConsoleHead {};
|
||||
typedef struct ConsoleHead {
|
||||
u8 *textBuf;
|
||||
u16 width;
|
||||
u16 height;
|
||||
u16 priority;
|
||||
u16 attr;
|
||||
u16 printTop;
|
||||
u16 printXPos;
|
||||
u16 ringTop;
|
||||
u32 ringTopLineCnt;
|
||||
s32 viewTopLine;
|
||||
s16 viewPosX;
|
||||
s16 viewPosY;
|
||||
u16 viewLines;
|
||||
bool isVisible;
|
||||
nw4r::ut::TextWriterBase<char> *writer;
|
||||
ConsoleHead *next;
|
||||
} ConsoleHead;
|
||||
|
||||
} // namespace detail
|
||||
|
||||
typedef detail::ConsoleHead *ConsoleHandle;
|
||||
|
||||
enum ConsoleOutputType {
|
||||
CONSOLE_OUTPUT_NONE = 0,
|
||||
CONSOLE_OUTPUT_DISPLAY = 1,
|
||||
CONSOLE_OUTPUT_TERMINAL = 2,
|
||||
CONSOLE_OUTPUT_ALL = CONSOLE_OUTPUT_DISPLAY | CONSOLE_OUTPUT_TERMINAL,
|
||||
};
|
||||
|
||||
ConsoleHandle Console_Create(void *arg, u16, u16, u16, u16, u16);
|
||||
ConsoleHandle Console_Destroy(ConsoleHandle console);
|
||||
void Console_DrawDirect(ConsoleHandle console);
|
||||
void Console_VFPrintf(ConsoleOutputType type, ConsoleHandle console, const char* format, va_list vlist);
|
||||
void Console_Printf(ConsoleHandle console, const char* format, ...);
|
||||
s32 Console_GetTotalLines(ConsoleHandle console);
|
||||
|
||||
} // namespace db
|
||||
} // namespace nw4r
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#ifndef NW4R_DB_EXCEPTION_H
|
||||
#define NW4R_DB_EXCEPTION_H
|
||||
|
||||
#include <nw4r/db/db_console.h>
|
||||
#include <rvl/OS.h>
|
||||
|
||||
|
||||
namespace nw4r {
|
||||
namespace db {
|
||||
|
||||
typedef struct {
|
||||
u16 error;
|
||||
OSContext *ctx;
|
||||
u32 dsisr;
|
||||
u32 dar;
|
||||
} ExceptionCallbackParam;
|
||||
|
||||
void Exception_Init();
|
||||
ConsoleHandle Exception_SetConsole(ConsoleHandle, const _GXRenderModeObj *);
|
||||
ConsoleHandle Exception_GetConsole();
|
||||
void Exception_SetUserCallback(bool (*)(ConsoleHandle, void *), void *);
|
||||
|
||||
} // namespace db
|
||||
} // namespace nw4r
|
||||
|
||||
#endif
|
||||
@@ -36,7 +36,7 @@ typedef enum {
|
||||
OS_ERR_MAX
|
||||
} OSErrorType;
|
||||
|
||||
typedef void (*OSErrorHandler)(u8 error, OSContext *ctx, u32 dsisr, u32 dar, ...);
|
||||
typedef void (*OSErrorHandler)(u16 error, OSContext *ctx, u32 dsisr, u32 dar);
|
||||
|
||||
extern OSErrorHandler __OSErrorTable[OS_ERR_MAX];
|
||||
extern u32 __OSFpscrEnableBits;
|
||||
|
||||
Reference in New Issue
Block a user