3#if DX_DEBUG_MENU || defined(DX_QUICK_LAUNCH_BATTLE)
102#define PRESSED(but) (DebugButtonsPress & (but))
103#define RELEASED(but) (DebugButtonsRelease & (but))
104#define HELD(but) (DebugButtonsHold & (but))
106#define INIT_HOLD_RATE 6
107#define SLOW_HOLD_RATE 4
108#define FAST_HOLD_RATE 2
116 if (hold->delay < 0) {
119 if (hold->triggers < 5) {
121 }
else if (hold->triggers < 15) {
146#define NAV_UP (PRESSED(BUTTON_D_UP) || DebugHoldU.delay == 0)
147#define NAV_DOWN (PRESSED(BUTTON_D_DOWN) || DebugHoldD.delay == 0)
148#define NAV_LEFT (PRESSED(BUTTON_D_LEFT) || DebugHoldL.delay == 0)
149#define NAV_RIGHT (PRESSED(BUTTON_D_RIGHT) || DebugHoldR.delay == 0)
153void dx_debug_draw_box(s32 posX, s32 posY, s32 sizeX, s32 sizeY,
int style, s32 opacity) {
155 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
NULL, 0,
NULL,
SCREEN_WIDTH,
SCREEN_HEIGHT,
NULL);
171 draw_msg((s32)
buf, posX, posY, 255, color, effect);
230 const s32
u = v < min ? min : v;
231 return u > max ? max :
u;
235 const s32
u = v < min ? v + (max - min + 1) : v;
236 return u > max ?
u - (max - min + 1) :
u;
257 cur += (1 + max - min);
260 cur -= (1 + max - min);
283 cur += (1 + max - min);
286 cur -= (1 + max - min);
293 if ((max %
nrows) != 0) {
349 s32 max = num->isHex ? 0xF : 9;
358 char* fmt = num->isHex ?
"%X" :
"%d";
374 out |= (num->digits[
idx] & 0xF);
390 for (
idx = num->size - 1;
idx >= 0;
idx--) {
391 num->digits[
idx] = (
in & 0xF);
395 for (
idx = num->size - 1;
idx >= 0;
idx--) {
396 num->digits[
idx] =
in % 10;
446#define DEBUG_ARROW_ANIM_RATE 6
714 for (i = 0; i <
ncols; i++) {
728 s32 numRows, numCols;
782 for (
j = 0;
j < numRows;
j++) {
785 char* name = maps[
idx].
id;
811 s32
idx, areaID, mapID;
908 es->scriptedBattle =
TRUE;
911 es->fadeOutAmount = 0;
912 es->substateDelay = 0;
979 char* fmt = (
idx == 4) ?
"%02X" :
"%X";
1057 .digits = { 0, 0, 0, 0 },
1124 s32 alpha = (
isSelected || level >= 0) ? 254 : 120;
1137 }
else if (level == 2) {
1185#define _MAX_INV_SIZE(a,b,c) MAX(MAX(ARRAY_COUNT(a), ARRAY_COUNT(b)), ARRAY_COUNT(c))
1215 for (
j = 2;
j >= 0;
j--) {
1225 for (
j = 0;
j < 3;
j++) {
1259 for (i = 0; i <
invSize; i++) {
1274 for (i = 0; i <
invSize; i++) {
1290 if (
menu->pos < 0) {
1311 for (i =
menu->startPos; i <=
menu->startPos + 9; i++) {
1341 if (
menu->startPos > 0) {
1544 .digits = { 0, 0, 0 },
1600 .digits = { 0, 0, 0 },
1716#define MAX_DEBUG_TRIS 1024
1779#define LESS(i, j) DebugTris[i].depth > DebugTris[j].depth
1780#define SWAP(i, j) temp = DebugTris[i], DebugTris[i] = DebugTris[j], DebugTris[j] = temp
1994#define DEBUG_CONSOLE_DEFAULT_TIMELEFT 60
1995#define DEBUG_CONSOLE_MSG_BUF_SIZE 85
2027 while ((
c = *filename++)) {
2098 char* filename = (
char*)*args++;
2100 char* fmt = (
char*)*args++;
2131 char* filename = (
char*)*args++;
2133 char* fmt = (
char*)*args++;
2162#define LESS(i, j) DebugConsole[i]->timeLeft > DebugConsole[j]->timeLeft
2163#define SWAP(i, j) temp = DebugConsole[i], DebugConsole[i] = DebugConsole[j], DebugConsole[j] = temp
2173 if (timeLeft < 20) {
2174 alpha =
round(254 * (timeLeft / 20.0f));
PartnerPopupProperties gPartnerPopupProperties[]
BSS s32 PopupMenu_SelectedIndex
BattleArea gBattleAreas[]
When updating this, make sure you also update:
#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)
int _Printf(outfun prout, char *arg, const char *fmt, va_list args)
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