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, MSG, __VA_ARGS__);
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(u32 device, const char * file, int line, const char * assertion);
66 void showAssert_f(u32 device, const char* file, int line, const char* msg, ...);
67 void setWarningMessage_f(u32 device, char * file, int line, const char * fmt, ...);
68 void setLogMessage_f(u32 device, char* file, int line, const char* fmt, ...);
69 void setConfirmMessage(u32 param_1, char* file, int line, bool param_4, const char* msg);
70};
71
72extern bool sAssertVisible;
73
74#endif /* JUTASSERT_H */
bool sAssertVisible
Definition JUTAssert.cpp:10
unsigned long u32
Definition types.h:12
Definition JUTAssert.cpp:12
void setWarningMessage_f(u32 device, char *file, int line, const char *msg,...)
Definition JUTAssert.cpp:160
u32 flush_subroutine()
Definition JUTAssert.cpp:30
void setMessageCount(int msg_count)
Definition JUTAssert.cpp:201
void showAssert(u32 device, const char *file, int line, const char *msg)
Definition JUTAssert.cpp:133
void flushMessage_dbPrint()
Definition JUTAssert.cpp:57
void showAssert_f(u32 device, const char *file, int line, const char *msg,...)
Definition JUTAssert.cpp:126
void create()
Definition JUTAssert.cpp:14
void flushMessage()
Definition JUTAssert.cpp:46
void setConfirmMessage(u32 param_1, char *file, int line, bool param_4, const char *msg)
Definition JUTAssert.cpp:74
u32 getSDevice()
Definition JUTAssert.cpp:70
void setVisible(bool visible)
Definition JUTAssert.cpp:197
void setLogMessage_f(u32 device, char *file, int line, const char *msg,...)
Definition JUTAssert.cpp:190