2#include "message_ids.h"
6#define MAP_TITLE_WIDTH 220
9#define MAP_TITLE_WIDTH 180
25static f32 PauseMapCameraX;
26static f32 PauseMapCameraY;
27static s32 PauseMapMarioX;
28static s32 PauseMapMarioY;
29static f32 PauseMapTargetX;
30static f32 PauseMapTargetY;
31static s32 PauseMapCursorCurrentOption;
32static s32 PauseMapCursorCurrentOptionCopy;
33static s32 PauseMapSpacesInSnapRange;
38#include "world_map.inc.c"
40s32 PauseMapArrowWobble[] = { 0, 2, 3, 3, 4, 4, 4, 4, 3, 2, 1, 0 };
45 .pos = { .x = 3, .y = 16 },
103 for (i = 0; i < pathLength; i++) {
119 pause_draw_rect(x * 4, y * 4, (x + size) * 4, (y + size) * 4, 0, 0, 0, 0x400, 0x400);
122 pause_draw_rect(x * 4, y * 4, (x + size) * 4, (y + size) * 4, 0, 0, 0x200, 0x400, 0x400);
125 pause_draw_rect(x * 4, y * 4, (x + size) * 4, (y + size) * 4, 0, 0, 0x400, 0x400, 0x400);
128 pause_draw_rect(x * 4, y * 4, (x + size) * 4, (y + size) * 4, 0, 0, 0x600, 0x400, 0x400);
153 for (i = 0; i < 60; i++) {
154 if (4 * i + 4 < 111) {
167 if (4 * i + 4 >= 110) {
210 if (i != PauseMapCursorCurrentOption) {
229 for (
j = 0;
j < pathLength;
j++, path++) {
232 pause_draw_rect((
camX + 26 + posX + pathX - 8) * 4, (
camY + 22 + posY + pathY - 8) * 4, (
camX + 26 + posX + pathX + 8) * 4, (
camY + 22 + posY + pathY + 8) * 4, 1, 0, 0, 0x400, 0x400);
255 if (!(PauseMapCameraX < 0.0f)) {
260 if (!(PauseMapCameraX > -86.0f)) {
265 if (!(PauseMapCameraY < 0.0f)) {
270 if (!(PauseMapCameraY > -210.0f)) {
304 draw_box(0, &
gPauseWS_27,
baseX + 18,
baseY + 14, 0, 250, 126, opacity, darkening, 1.0f, 1.0f, 0, 0, 0, 0, 0, 0, width, height, 0);
312 if (PauseMapCursorCurrentOption != -1) {
334 PauseMapCursorCurrentOption = -1;
335 PauseMapSpacesInSnapRange = 0;
336 PauseMapCursorCurrentOptionCopy = -1;
352 PauseMapTargetX = PauseMapMarioX;
353 PauseMapTargetY = PauseMapMarioY;
355 PauseMapCameraX = 0.0f;
356 PauseMapCameraY = 0.0f;
357 PauseMapCameraX -= (
s32)(PauseMapTargetX + PauseMapCameraX - 117.0);
358 PauseMapCameraY -= (
s32)(PauseMapTargetY + PauseMapCameraY - 55.0);
360 if (PauseMapCameraX > 0) {
363 if (PauseMapCameraY > 0) {
367 if (PauseMapCameraX <= -86.0f) {
368 PauseMapCameraX = -85.0f;
370 if (PauseMapCameraY <= -210.0f) {
371 PauseMapCameraY = -209.0f;
398 if (PauseMapTargetX < 16.0f) {
399 PauseMapTargetX = 16.0f;
402 if (PauseMapTargetY < 8.0f) {
403 PauseMapTargetY = 8.0f;
406 if (PauseMapTargetX >= 316.0f) {
407 PauseMapTargetX = 315.0f;
410 if (PauseMapTargetY >= 308.0f) {
411 PauseMapTargetY = 307.0f;
414 xTemp = PauseMapTargetX + PauseMapCameraX - 117.0;
415 yTemp = PauseMapTargetY + PauseMapCameraY - 55.0;
418 PauseMapCameraX -=
xTemp - 53.0;
421 if (
xTemp <= -37.0) {
422 PauseMapCameraX -=
xTemp + 37.0;
426 PauseMapCameraY -=
yTemp - 15.0;
429 if (
yTemp <= -15.0) {
430 PauseMapCameraY -=
yTemp + 15.0;
433 if (PauseMapCameraX > 0.0f) {
434 PauseMapCameraX = 0.0f;
437 if (PauseMapCameraY > 0.0f) {
438 PauseMapCameraY = 0.0f;
441 if (PauseMapCameraX < -86.0f) {
442 PauseMapCameraX = -86.0f;
445 if (PauseMapCameraY < -210.0f) {
446 PauseMapCameraY = -210.0f;
456 if (PauseMapCursorCurrentOption == -1) {
475 PauseMapCursorCurrentOption = -1;
476 PauseMapSpacesInSnapRange = 0;
484 if (
sqSum < 400.0f) {
485 PauseMapSpacesInSnapRange++;
BSS s32 PopupMenu_SelectedIndex
s32 evt_get_variable(Evt *script, Bytecode var)
void setup_pause_menu_tab(MenuWindowBP *bpArray, s32 arraySize)
void hud_element_draw_without_clipping(s32 id)
HudElemID hud_element_create(HudScript *anim)
Creates a new HUD element and returns its ID.
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
void hud_element_set_flags(s32 id, s32 flags)
Turns on the given flags.
void hud_element_free(s32 id)
@ HUD_ELEMENT_FLAG_MANUAL_RENDER
HudScript * gPauseCurrentDescIconScript
WindowStyleCustom gPauseWS_26
WindowStyleCustom gPauseWS_27
void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY)
void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileIdx, s32 uls, s32 ult, s32 dsdx, s32 dtdy)
WindowStyleCustom gPauseWS_28
void pause_map_draw_border_arrows(s32 imageIndex, s32 x, s32 y)
HudScript * PauseMapHudScripts[]
void pause_map_update(MenuPanel *tab)
s32 PauseMapArrowWobble[]
void pause_map_handle_input(MenuPanel *tab)
void pause_map_calc_path_points(PauseMapSpace *space)
void pause_map_draw_title(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void pause_map_init(MenuPanel *tab)
void pause_map_cleanup(MenuPanel *tab)
void pause_map_draw_contents(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
MenuWindowBP PauseMapWindowBPs[]
void sfx_play_sound(s32 soundID)
GameStatus * gGameStatusPtr