3#if DX_DEBUG_MENU || defined(DX_QUICK_LAUNCH_BATTLE)
5#ifdef _LANGUAGE_C_PLUS_PLUS
9#define DX_DEBUG_DUMMY_ID 0xDEAD
11typedef enum DebugCheat {
13 DEBUG_CHEAT_SPEED_MODE,
15 DEBUG_CHEAT_IGNORE_WALLS,
16 DEBUG_CHEAT_HIGH_JUMP,
19void dx_debug_menu_main();
20void dx_debug_console_main();
21void dx_debug_draw_collision();
23b32 dx_debug_menu_is_open();
24b32 dx_debug_should_hide_models();
25b32 dx_debug_is_cheat_enabled(DebugCheat cheat);
27void dx_debug_set_map_info(
char* mapName, s32 entryID);
28void dx_debug_set_battle_info(s32 battleID,
char* stageName);
30void dx_debug_begin_battle_with_IDs(s16 battle, s16 stage);
32void dx_hashed_debug_printf(
const char* filename, s32 line,
const char* fmt, ...);
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)
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)
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)
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)
77#ifdef _LANGUAGE_C_PLUS_PLUS