Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JUTAssert.h
Go to the documentation of this file.
1#ifndef JUTASSERT_H
2#define JUTASSERT_H
3
4#include <dolphin/os.h>
5
6#if DEBUG
7#define JUT_SHOW_ASSERT(LINE, COND) JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, #COND)
8
9#define JUT_ASSERT(LINE, COND) \
10 (COND) ? (void)0 : (JUT_SHOW_ASSERT(LINE, COND), OSPanic(__FILE__, LINE, "Halt"));
11
12#define JUT_ASSERT_MSG(LINE, COND, MSG) \
13 (COND) ? (void)0 : (JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, MSG), OSPanic(__FILE__, LINE, "Halt"));
14
15#define JUT_ASSERT_MSG_F(LINE, COND, MSG, ...) \
16 (COND) ? (void)0 : (JUTAssertion::showAssert_f(JUTAssertion::getSDevice(), __FILE__, LINE, MSG, __VA_ARGS__), OSPanic(__FILE__, LINE, "Halt"));
17
18#define J3D_PANIC(LINE, COND, MSG) ((COND) != 0 || (OSPanic(__FILE__, LINE, MSG), 0));
19
20#define JUT_PANIC(LINE, TEXT) \
21 JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, TEXT); \
22 OSPanic(__FILE__, LINE, "Halt");
23
24#define JUT_PANIC_F(LINE, MSG, ...) \
25 JUTAssertion::showAssert_f(JUTAssertion::getSDevice(), __FILE__, LINE, MSG, __VA_ARGS__); \
26 OSPanic(__FILE__, LINE, "Halt");
27
28#define JUT_WARN_DEVICE(LINE, DEVICE, ...) \
29 JUTAssertion::setWarningMessage_f(DEVICE, __FILE__, LINE, __VA_ARGS__); \
30
31#define JUT_WARN(LINE, ...) \
32 JUT_WARN_DEVICE(LINE, JUTAssertion::getSDevice(), __VA_ARGS__)
33
34#define JUT_LOG(LINE, ...) \
35 JUTAssertion::setLogMessage_f(JUTAssertion::getSDevice(), __FILE__, LINE, __VA_ARGS__)
36
37#define JUT_SET_CONFIRM(LINE, COND) \
38 JUTAssertion::setConfirmMessage(JUTAssertion::getSDevice(), __FILE__, LINE, COND, #COND)
39
40#define JUT_CONFIRM(LINE, COND) \
41 JUT_SET_CONFIRM(LINE, COND)
42
43#else
44#define JUT_ASSERT(...) (void)0;
45#define JUT_ASSERT_MSG(...) (void)0;
46#define JUT_ASSERT_MSG_F(...) (void)0;
47#define J3D_PANIC(...) (void)0;
48#define JUT_PANIC(...)
49#define JUT_PANIC_F(...)
50#define JUT_WARN_DEVICE(...)
51#define JUT_WARN(...)
52#define JUT_LOG(...)
53#define JUT_CONFIRM(...)
54#endif
55
56namespace JUTAssertion {
57 void create();
59 void flushMessage();
61 void setVisible(bool);
62 void setMessageCount(int);
63
65 void showAssert_f(u32 device, const char* file, int line, const char* msg, ...);
66 void showAssert_f_va(u32 device, const char* file, int line, const char* msg, va_list args);
67 void setWarningMessage_f(u32 device, char * file, int line, const char * fmt, ...);
68 void setWarningMessage_f_va(u32 device, const char* file, int line, const char* msg, va_list args);
69 void setLogMessage_f(u32 device, char* file, int line, const char* fmt, ...);
70 void setConfirmMessage(u32 param_1, char* file, int line, bool param_4, const char* msg);
71
72 inline void showAssert(u32 device, const char* file, int line, const char* msg) {
73 showAssert_f(device, file, line, "%s", msg);
74 }
75
76 inline void setWarningMessage(u32 device, char* file, int line, const char* msg) {
77 setWarningMessage_f(device, file, line, "%s", msg);
78 }
79};
80
81#endif /* JUTASSERT_H */
unsigned long u32
Definition types.h:12
Definition JUTAssert.cpp:10
void setWarningMessage_f(u32 device, char *file, int line, const char *msg,...)
Definition JUTAssert.cpp:159
void showAssert_f_va(u32 device, const char *file, int line, const char *msg, va_list args)
Definition JUTAssert.cpp:89
u32 flush_subroutine()
Definition JUTAssert.cpp:28
void setMessageCount(int msg_count)
Definition JUTAssert.cpp:204
void showAssert(u32 device, const char *file, int line, const char *msg)
Definition JUTAssert.h:72
void flushMessage_dbPrint()
Definition JUTAssert.cpp:55
void showAssert_f(u32 device, const char *file, int line, const char *msg,...)
Definition JUTAssert.cpp:127
void create()
Definition JUTAssert.cpp:12
void setWarningMessage_f_va(u32 device, const char *file, int line, const char *msg, va_list args)
Definition JUTAssert.cpp:136
void flushMessage()
Definition JUTAssert.cpp:44
void setConfirmMessage(u32 param_1, char *file, int line, bool param_4, const char *msg)
Definition JUTAssert.cpp:72
u32 getSDevice()
Definition JUTAssert.cpp:68
void setWarningMessage(u32 device, char *file, int line, const char *msg)
Definition JUTAssert.h:76
void setVisible(bool visible)
Definition JUTAssert.cpp:200
void setLogMessage_f(u32 device, char *file, int line, const char *msg,...)
Definition JUTAssert.cpp:191