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 },
94 s32 pathLength =
space->pathLength;
103 for (i = 0; i < pathLength; i++) {
104 s32
xThing = ((
x1 -
x2) * (i + 1)) / (pathLength + 1);
105 s32
yThing = ((
y1 -
y2) * (i + 1)) / (pathLength + 1);
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);
154 for (i = 0; i < 60; i++) {
155 if (4 * i + 4 < 111) {
168 if (4 * i + 4 >= 110) {
211 if (i != PauseMapCursorCurrentOption) {
230 for (
j = 0;
j < pathLength;
j++, path++) {
233 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);
256 if (!(PauseMapCameraX < 0.0f)) {
261 if (!(PauseMapCameraX > -86.0f)) {
266 if (!(PauseMapCameraY < 0.0f)) {
271 if (!(PauseMapCameraY > -210.0f)) {
305 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);
313 if (PauseMapCursorCurrentOption != -1) {
335 PauseMapCursorCurrentOption = -1;
336 PauseMapSpacesInSnapRange = 0;
337 PauseMapCursorCurrentOptionCopy = -1;
353 PauseMapTargetX = PauseMapMarioX;
354 PauseMapTargetY = PauseMapMarioY;
356 PauseMapCameraX = 0.0f;
357 PauseMapCameraY = 0.0f;
358 PauseMapCameraX -= (s32)(PauseMapTargetX + PauseMapCameraX - 117.0);
359 PauseMapCameraY -= (s32)(PauseMapTargetY + PauseMapCameraY - 55.0);
361 if (PauseMapCameraX > 0) {
364 if (PauseMapCameraY > 0) {
368 if (PauseMapCameraX <= -86.0f) {
369 PauseMapCameraX = -85.0f;
371 if (PauseMapCameraY <= -210.0f) {
372 PauseMapCameraY = -209.0f;
399 if (PauseMapTargetX < 16.0f) {
400 PauseMapTargetX = 16.0f;
403 if (PauseMapTargetY < 8.0f) {
404 PauseMapTargetY = 8.0f;
407 if (PauseMapTargetX >= 316.0f) {
408 PauseMapTargetX = 315.0f;
411 if (PauseMapTargetY >= 308.0f) {
412 PauseMapTargetY = 307.0f;
415 xTemp = PauseMapTargetX + PauseMapCameraX - 117.0;
416 yTemp = PauseMapTargetY + PauseMapCameraY - 55.0;
419 PauseMapCameraX -=
xTemp - 53.0;
422 if (
xTemp <= -37.0) {
423 PauseMapCameraX -=
xTemp + 37.0;
427 PauseMapCameraY -=
yTemp - 15.0;
430 if (
yTemp <= -15.0) {
431 PauseMapCameraY -=
yTemp + 15.0;
434 if (PauseMapCameraX > 0.0f) {
435 PauseMapCameraX = 0.0f;
438 if (PauseMapCameraY > 0.0f) {
439 PauseMapCameraY = 0.0f;
442 if (PauseMapCameraX < -86.0f) {
443 PauseMapCameraX = -86.0f;
446 if (PauseMapCameraY < -210.0f) {
447 PauseMapCameraY = -210.0f;
457 if (PauseMapCursorCurrentOption == -1) {
476 PauseMapCursorCurrentOption = -1;
477 PauseMapSpacesInSnapRange = 0;
485 if (
sqSum < 400.0f) {
486 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)
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
s32 hud_element_create(HudScript *anim)
Creates a new HUD element and returns its ID.
void hud_element_set_flags(s32 id, s32 flags)
Turns on the given flags.
void hud_element_free(s32 id)
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