2#if DX_DEBUG_MENU || defined(DX_QUICK_LAUNCH_BATTLE)
101#define PRESSED(but) (DebugButtonsPress & (but))
102#define RELEASED(but) (DebugButtonsRelease & (but))
103#define HELD(but) (DebugButtonsHold & (but))
105#define INIT_HOLD_RATE 6
106#define SLOW_HOLD_RATE 4
107#define FAST_HOLD_RATE 2
115 if (hold->delay < 0) {
118 if (hold->triggers < 5) {
120 }
else if (hold->triggers < 15) {
145#define NAV_UP (PRESSED(BUTTON_D_UP) || DebugHoldU.delay == 0)
146#define NAV_DOWN (PRESSED(BUTTON_D_DOWN) || DebugHoldD.delay == 0)
147#define NAV_LEFT (PRESSED(BUTTON_D_LEFT) || DebugHoldL.delay == 0)
148#define NAV_RIGHT (PRESSED(BUTTON_D_RIGHT) || DebugHoldR.delay == 0)
152void dx_debug_draw_box(s32 posX, s32 posY, s32 sizeX, s32 sizeY,
int style, s32 opacity) {
154 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
NULL, 0,
NULL,
SCREEN_WIDTH,
SCREEN_HEIGHT,
NULL);
170 draw_msg((s32)
buf, posX, posY, 255, color, effect);
229 const s32
u = v < min ? min : v;
230 return u > max ? max :
u;
234 const s32
u = v < min ? v + (max - min + 1) : v;
235 return u > max ?
u - (max - min + 1) :
u;
256 cur += (1 + max - min);
259 cur -= (1 + max - min);
282 cur += (1 + max - min);
285 cur -= (1 + max - min);
292 if ((max %
nrows) != 0) {
348 s32 max = num->isHex ? 0xF : 9;
357 char* fmt = num->isHex ?
"%X" :
"%d";
373 out |= (num->digits[
idx] & 0xF);
389 for (
idx = num->size - 1;
idx >= 0;
idx--) {
390 num->digits[
idx] = (
in & 0xF);
394 for (
idx = num->size - 1;
idx >= 0;
idx--) {
395 num->digits[
idx] =
in % 10;
445#define DEBUG_ARROW_ANIM_RATE 6
713 for (i = 0; i <
ncols; i++) {
727 s32 numRows, numCols;
781 for (
j = 0;
j < numRows;
j++) {
784 char* name = maps[
idx].
id;
810 s32
idx, areaID, mapID;
907 es->scriptedBattle =
TRUE;
910 es->fadeOutAmount = 0;
911 es->substateDelay = 0;
978 char* fmt = (
idx == 4) ?
"%02X" :
"%X";
1056 .digits = { 0, 0, 0, 0 },
1123 s32 alpha = (
isSelected || level >= 0) ? 254 : 120;
1136 }
else if (level == 2) {
1184#define _MAX_INV_SIZE(a,b,c) MAX(MAX(ARRAY_COUNT(a), ARRAY_COUNT(b)), ARRAY_COUNT(c))
1214 for (
j = 2;
j >= 0;
j--) {
1224 for (
j = 0;
j < 3;
j++) {
1258 for (i = 0; i <
invSize; i++) {
1273 for (i = 0; i <
invSize; i++) {
1289 if (
menu->pos < 0) {
1310 for (i =
menu->startPos; i <=
menu->startPos + 9; i++) {
1340 if (
menu->startPos > 0) {
1543 .digits = { 0, 0, 0 },
1599 .digits = { 0, 0, 0 },
1715#define MAX_DEBUG_TRIS 1024
1778#define LESS(i, j) DebugTris[i].depth > DebugTris[j].depth
1779#define SWAP(i, j) temp = DebugTris[i], DebugTris[i] = DebugTris[j], DebugTris[j] = temp
1993#define DEBUG_CONSOLE_DEFAULT_TIMELEFT 60
1994#define DEBUG_CONSOLE_MSG_BUF_SIZE 85
2026 while ((
c = *filename++)) {
2097 char* filename = (
char*)*args++;
2099 char* fmt = (
char*)*args++;
2130 char* filename = (
char*)*args++;
2132 char* fmt = (
char*)*args++;
2161#define LESS(i, j) DebugConsole[i]->timeLeft > DebugConsole[j]->timeLeft
2162#define SWAP(i, j) temp = DebugConsole[i], DebugConsole[i] = DebugConsole[j], DebugConsole[j] = temp
2172 if (timeLeft < 20) {
2173 alpha =
round(254 * (timeLeft / 20.0f));
PartnerPopupProperties gPartnerPopupProperties[]
BSS s32 PopupMenu_SelectedIndex
BattleArea gBattleAreas[]
#define ASSERT(condition)
@ MSG_READ_FUNC_RESTORE_COLOR
@ MSG_READ_FUNC_SAVE_COLOR
@ DEBUG_CONTACT_CANT_TOUCH
@ COLLIDER_FLAG_IGNORE_PLAYER
@ ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT
@ SOUND_STAR_PIECE_BOUNCE
@ SOUND_UNUSED_STAR_SPIRIT_APPEARS
@ SOUND_STAR_POINT_PICKUP
@ ENCOUNTER_STATE_PRE_BATTLE
b32 fio_load_game(s32 saveSlot)
void fio_save_game(s32 saveSlot)
s32 evt_get_variable(Evt *script, Bytecode var)
s32 play_ambient_sounds(s32 fadeInTime, s32 fadeOutTime)
void partner_disable_input(void)
void set_map_transition_effect(ScreenTransition)
s32 disable_player_input(void)
void open_status_bar_quickly(void)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
f32 evt_get_float_variable(Evt *script, Bytecode var)
void set_game_mode(s32 modeID)
void dma_load_msg(u32 msgID, void *dest)
EncounterStatus gCurrentEncounter
void sfx_stop_sound(s32 soundID)
void sfx_play_sound(s32 soundID)
#define QSORT(Q_N, Q_LESS, Q_SWAP)
#define PANIC_MSG(msg, args...)
AreaConfig gAreas[29]
Zero-terminated.
u8 dx_ascii_char_to_msg(char in)
u8 * dx_string_to_msg(u8 *msg, const char *str)
PlayerStatus * gPlayerStatusPtr
CollisionStatus gCollisionStatus
GameStatus * gGameStatusPtr
PlayerStatus gPlayerStatus
CollisionData gCollisionData
b32 EncounterStateChanged