Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
debug_menu.h
Go to the documentation of this file.
1#include "common.h"
2#include "dx/config.h"
3#if DX_DEBUG_MENU || defined(DX_QUICK_LAUNCH_BATTLE)
4
5#ifdef _LANGUAGE_C_PLUS_PLUS
6extern "C" {
7#endif
8
9#define DX_DEBUG_DUMMY_ID 0xDEAD
10
11typedef enum DebugCheat {
12 DEBUG_CHEAT_GOD_MODE,
13 DEBUG_CHEAT_SPEED_MODE,
14 DEBUG_CHEAT_FLY,
15 DEBUG_CHEAT_IGNORE_WALLS,
16 DEBUG_CHEAT_HIGH_JUMP,
17} DebugCheat;
18
19void dx_debug_menu_main();
20void dx_debug_console_main();
21void dx_debug_draw_collision();
22
23b32 dx_debug_menu_is_open();
24b32 dx_debug_should_hide_models();
25b32 dx_debug_is_cheat_enabled(DebugCheat cheat);
26
27void dx_debug_set_map_info(char* mapName, s32 entryID);
28void dx_debug_set_battle_info(s32 battleID, char* stageName);
29
30void dx_debug_begin_battle_with_IDs(s16 battle, s16 stage);
31
32void dx_hashed_debug_printf(const char* filename, s32 line, const char* fmt, ...);
33
34#define debug_print(text) dx_hashed_debug_printf(__FILE__,__LINE__,text)
35#define debug_printf(fmt, args...) dx_hashed_debug_printf(__FILE__,__LINE__,fmt,##args)
36
37#define DebugPrint(text) Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), 0)
38#define DebugPrintf(args...) VFUNC(DebugPrintf, args)
39#define DebugFloatPrintf(args...) VFUNC(DebugFloatPrintf, args)
40
41API_CALLABLE(_dxDebugIntPrintf);
42#define DebugPrintf1(text) \
43 Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), 0, 0, 0, 0, 0, 0, 0)
44#define DebugPrintf2(text, a) \
45 Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), a, 0, 0, 0, 0, 0, 0)
46#define DebugPrintf3(text, a, b) \
47 Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, 0, 0, 0, 0, 0)
48#define DebugPrintf4(text, a, b, c) \
49 Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, 0, 0, 0, 0)
50#define DebugPrintf5(text, a, b, c, d) \
51 Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, d, 0, 0, 0)
52#define DebugPrintf6(text, a, b, c, d, e) \
53 Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, d, e, 0, 0)
54#define DebugPrintf7(text, a, b, c, d, e, f) \
55 Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, d, e, f, 0)
56#define DebugPrintf8(text, a, b, c, d, e, f, g) \
57 Call(_dxDebugIntPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, d, e, f, g)
58
59API_CALLABLE(_dxDebugFloatPrintf);
60#define DebugFloatPrintf1(text) \
61 Call(_dxDebugFloatPrintf, Ref(__FILE__), __LINE__, Ref(text), 0, 0, 0, 0, 0, 0, 0)
62#define DebugFloatPrintf2(text, a) \
63 Call(_dxDebugFloatPrintf, Ref(__FILE__), __LINE__, Ref(text), a, 0, 0, 0, 0, 0, 0)
64#define DebugFloatPrintf3(text, a, b) \
65 Call(_dxDebugFloatPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, 0, 0, 0, 0, 0)
66#define DebugFloatPrintf4(text, a, b, c) \
67 Call(_dxDebugFloatPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, 0, 0, 0, 0)
68#define DebugFloatPrintf5(text, a, b, c, d) \
69 Call(_dxDebugFloatPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, d, 0, 0, 0)
70#define DebugFloatPrintf6(text, a, b, c, d, e) \
71 Call(_dxDebugFloatPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, d, e, 0, 0)
72#define DebugFloatPrintf7(text, a, b, c, d, e, f) \
73 Call(_dxDebugFloatPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, d, e, f, 0)
74#define DebugFloatPrintf8(text, a, b, c, d, e, f, g) \
75 Call(_dxDebugFloatPrintf, Ref(__FILE__), __LINE__, Ref(text), a, b, c, d, e, f, g)
76
77#ifdef _LANGUAGE_C_PLUS_PLUS
78}
79#endif
80
81#endif
s32 b32