Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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#ifdef DEBUG
7#define JUT_ASSERT(LINE, COND) \
8 (COND) ? (void)0 : (JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, #COND), OSPanic(__FILE__, LINE, "Halt"));
9
10#define JUT_ASSERT_MSG(LINE, COND, MSG) \
11 (COND) ? (void)0 : (JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, MSG), OSPanic(__FILE__, LINE, "Halt"));
12
13#define JUT_PANIC(LINE, TEXT) \
14 JUTAssertion::showAssert(JUTAssertion::getSDevice(), __FILE__, LINE, TEXT); \
15 OSPanic(__FILE__, LINE, "Halt");
16
17#define JUT_WARN(LINE, ...) \
18 JUTAssertion::setWarningMessage_f(JUTAssertion::getSDevice(), __FILE__, LINE, __VA_ARGS__); \
19
20#define JUT_WARN_1(LINE, ...) \
21 JUTAssertion::setWarningMessage_f(1, __FILE__, LINE, __VA_ARGS__); \
22
23#define JUT_LOG(LINE, ...) \
24 JUTAssertion::setLogMessage_f(JUTAssertion::getSDevice(), __FILE__, LINE, __VA_ARGS__)
25
26#define JUT_CONFIRM(LINE, COND) \
27 JUTAssertion::setConfirmMessage(JUTAssertion::getSDevice(), __FILE__, LINE, COND, #COND)
28
29#else
30#define JUT_ASSERT(...) (void)0;
31#define JUT_ASSERT_MSG(...) (void)0;
32#define JUT_PANIC(...)
33#define JUT_WARN(...)
34#define JUT_WARN_1(...)
35#define JUT_LOG(...)
36#define JUT_CONFIRM(...)
37#endif
38
39namespace JUTAssertion {
40 /* 802E495C */ void create();
41 /* 802E4960 */ u32 flush_subroutine();
42 /* 802E499C */ void flushMessage();
43 /* 802E4A54 */ void flushMessage_dbPrint();
44 /* 802E4C34 */ void setVisible(bool);
45 /* 802E4C3C */ void setMessageCount(int);
46
48 void showAssert(u32 device, const char * file, int line, const char * assertion);
49 void setWarningMessage_f(u32 device, char * file, int line, const char * fmt, ...);
50 void setLogMessage_f(u32 device, char* file, int line, const char* fmt, ...);
51 void setConfirmMessage(u32 param_1, char* file, int line, bool param_4, const char* msg);
52};
53
54extern bool sAssertVisible;
55
56#endif /* JUTASSERT_H */
bool sAssertVisible
Definition JUTAssert.cpp:14
Definition JUTAssert.cpp:16
void setWarningMessage_f(u32 device, char *file, int line, const char *msg,...)
Definition JUTAssert.cpp:179
u32 flush_subroutine()
Definition JUTAssert.cpp:43
void setMessageCount(int msg_count)
Definition JUTAssert.cpp:225
void showAssert(u32 device, const char *file, int line, const char *msg)
Definition JUTAssert.cpp:150
void flushMessage_dbPrint()
Definition JUTAssert.cpp:72
void create()
Definition JUTAssert.cpp:19
void flushMessage()
Definition JUTAssert.cpp:60
void setConfirmMessage(u32 param_1, char *file, int line, bool param_4, const char *msg)
Definition JUTAssert.cpp:90
u32 getSDevice()
Definition JUTAssert.cpp:85
void setVisible(bool visible)
Definition JUTAssert.cpp:219
void setLogMessage_f(u32 device, char *file, int line, const char *msg,...)
Definition JUTAssert.cpp:211
int const char * msg
Definition os.h:193
int line
Definition os.h:193
unsigned long u32
Definition types.h:9