Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
pause_stats.c File Reference

Go to the source code of this file.

Data Structures

struct  StatsEntryData
 

Macros

#define NUMBER_OFFSET_Y   0
 
#define ROW_1_Y   51
 
#define ROW_2_Y   51
 
#define ROW_3_Y   85
 
#define ROW_4_Y   119
 
#define COL_A_X   25
 
#define COL_B_X   78
 
#define COL_C_X   105
 
#define POS_1_X   67
 
#define POS_2_X   106
 
#define STAR_POWER_X   132
 
#define COLLECTABLES_X   125
 
#define MINUTE   (60 * 60)
 
#define HOUR   (MINUTE * 60)
 

Enumerations

enum  {
  STAT_ICON_MARIO = 0 , STAT_ICON_BOOTS = 1 , STAT_ICON_HAMMER = 2 , STAT_ICON_COIN = 3 ,
  STAT_ICON_STAR_POINT = 4 , STAT_ICON_STAR_PIECE = 5 , STAT_ICON_CLOCK = 6 , STAT_ICON_HP = 7 ,
  STAT_ICON_FP = 8 , STAT_ICON_BP = 9 , STAT_ICON_STAR = 10 , STAT_ICON_TIMES = 11
}
 

Functions

void pause_stats_draw_contents (MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void pause_stats_init (MenuPanel *panel)
 
void pause_stats_handle_input (MenuPanel *panel)
 
void pause_stats_cleanup (MenuPanel *panel)
 

Variables

HudScriptgStatsMenuElements []
 
HudScriptgStatsBootsElements [] = { &HES_StatBoots0, &HES_StatBoots1, &HES_StatBoots2, &HES_StatBoots3 }
 
HudScriptgStatsHammerElements [] = { &HES_StatHammer0, &HES_StatHammer1, &HES_StatHammer2, &HES_StatHammer3 }
 
s32 gPauseStatsBootsMessages [] = { PAUSE_MSG_3B, PAUSE_MSG_3C, PAUSE_MSG_3D, PAUSE_MSG_3E }
 
s32 gPauseStatsHammerMessages [] = { PAUSE_MSG_3F, PAUSE_MSG_40, PAUSE_MSG_41, PAUSE_MSG_42 }
 
s8 gPauseStatsGridData []
 
StatsEntryData gStatsMenuEntries []
 
HudScriptgPauseStatsSPIncElements []
 
HudScriptgPauseStatsStarElements []
 
s32 D_8024F46C [] = { -1, 1, 2, 4, 5, 7, 8 }
 
MenuWindowBP gStatsMenuWindowBPs []
 
MenuPanel gPausePanelStats
 

Data Structure Documentation

◆ StatsEntryData

struct StatsEntryData
Data Fields
s32 cursorX
s32 cursorY
s32 baseMsgID

Macro Definition Documentation

◆ NUMBER_OFFSET_Y

#define NUMBER_OFFSET_Y   0

Definition at line 22 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ ROW_1_Y

#define ROW_1_Y   51

Definition at line 23 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ ROW_2_Y

#define ROW_2_Y   51

Definition at line 24 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ ROW_3_Y

#define ROW_3_Y   85

Definition at line 25 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ ROW_4_Y

#define ROW_4_Y   119

Definition at line 26 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ COL_A_X

#define COL_A_X   25

Definition at line 27 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ COL_B_X

#define COL_B_X   78

Definition at line 28 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ COL_C_X

#define COL_C_X   105

Definition at line 29 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ POS_1_X

#define POS_1_X   67

Definition at line 30 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ POS_2_X

#define POS_2_X   106

Definition at line 31 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ STAR_POWER_X

#define STAR_POWER_X   132

Definition at line 94 of file pause_stats.c.

◆ COLLECTABLES_X

#define COLLECTABLES_X   125

Definition at line 95 of file pause_stats.c.

◆ MINUTE

#define MINUTE   (60 * 60)

◆ HOUR

#define HOUR   (MINUTE * 60)

Enumeration Type Documentation

◆ anonymous enum

Enumerator
STAT_ICON_MARIO 
STAT_ICON_BOOTS 
STAT_ICON_HAMMER 
STAT_ICON_COIN 
STAT_ICON_STAR_POINT 
STAT_ICON_STAR_PIECE 
STAT_ICON_CLOCK 
STAT_ICON_HP 
STAT_ICON_FP 
STAT_ICON_BP 
STAT_ICON_STAR 
STAT_ICON_TIMES 

Definition at line 41 of file pause_stats.c.

41 {
49 STAT_ICON_HP = 7,
50 STAT_ICON_FP = 8,
51 STAT_ICON_BP = 9,
52 STAT_ICON_STAR = 10,
53 STAT_ICON_TIMES = 11,
54};
@ STAT_ICON_BP
Definition pause_stats.c:51
@ STAT_ICON_FP
Definition pause_stats.c:50
@ STAT_ICON_HAMMER
Definition pause_stats.c:44
@ STAT_ICON_STAR
Definition pause_stats.c:52
@ STAT_ICON_BOOTS
Definition pause_stats.c:43
@ STAT_ICON_HP
Definition pause_stats.c:49
@ STAT_ICON_TIMES
Definition pause_stats.c:53
@ STAT_ICON_CLOCK
Definition pause_stats.c:48
@ STAT_ICON_STAR_POINT
Definition pause_stats.c:46
@ STAT_ICON_STAR_PIECE
Definition pause_stats.c:47
@ STAT_ICON_COIN
Definition pause_stats.c:45
@ STAT_ICON_MARIO
Definition pause_stats.c:42

Function Documentation

◆ pause_stats_draw_contents()

void pause_stats_draw_contents ( MenuPanel * menu,
s32 baseX,
s32 baseY,
s32 width,
s32 height,
s32 opacity,
s32 darkening )

Definition at line 168 of file pause_stats.c.

168 {
171 s16 bootsLevel;
172 s16 hammerLevel;
173 s32 powHudElemID;
174 s32 powIncrements;
175 s32 powIncIdx;
176 s32 curIncrement;
178 s32 powBarIdx;
179 s32 boxWidth;
180 s16 level;
181 s32 frameCount;
182 s32 powFullBars;
183
184 // draw coin count
185 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_COIN], baseX + 143, baseY + 109);
189 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_TIMES], baseX + 248, baseY + 108);
191
192 // draw star point count
193 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_STAR_POINT], baseX + 143, baseY + 94);
197 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_TIMES], baseX + 248, baseY + 93);
199
200 // draw star piece count
201 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_STAR_PIECE], baseX + 143, baseY + 123);
205 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_TIMES], baseX + 248, baseY + 123);
207
208 // draw HP count
210 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_HP], baseX + 52, baseY + 57);
213 draw_number(gPlayerData.curHP, baseX + 78, baseY + 51, 1, 0, 255, 3);
216
217 // draw FP count
219 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_FP], baseX + 52, baseY + 92);
222 draw_number(gPlayerData.curFP, baseX + 78, baseY + 85, 1, MSG_PAL_WHITE, 255, 3);
225
226 // draw BP count
228 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_BP], baseX + 52, baseY + 126);
231 draw_number(gPlayerData.maxBP, baseX + 78, baseY + 119, 1, MSG_PAL_WHITE, 255, 3);
232
233 #define MINUTE (60 * 60)
234 #define HOUR (MINUTE * 60)
235
236 // draw play time
237 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_CLOCK], baseX + 143, baseY + 140);
241 if (frameCount >= (100 * HOUR)) {
242 frameCount = (100 * HOUR) - 1;
243 }
244 // draw hours
245 draw_number((frameCount / (10 * HOUR)) % 10, baseX + 237, baseY + 133 + NUMBER_OFFSET_Y, 1, MSG_PAL_STANDARD, 255, 2);
246 draw_number((frameCount / HOUR) % 10, baseX + 246, baseY + 133 + NUMBER_OFFSET_Y, 1, MSG_PAL_STANDARD, 255, 2);
249 // draw minutes
250 draw_number((frameCount / (10 * MINUTE)) % 6, baseX + 264, baseY + 133 + NUMBER_OFFSET_Y, 1, MSG_PAL_STANDARD, 255, 2);
251 draw_number((frameCount / MINUTE) % 10, baseX + 273, baseY + 133 + NUMBER_OFFSET_Y, 1, MSG_PAL_STANDARD, 255, 2);
252
253 bootsLevel = gPlayerData.bootsLevel;
254 hammerLevel = gPlayerData.hammerLevel;
255 level = gPlayerData.level;
256 draw_box(4, &gPauseWS_10, baseX + 7, baseY + 12, 0, level >= 10 ? 121 : 113, 17, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
257
258 // draw level
259#if !VERSION_IQUE
260 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_MARIO], baseX + 61, baseY + 21);
262#endif
265 draw_number(level, baseX + POS_2_X, baseY + 14 + NUMBER_OFFSET_Y, 1, MSG_PAL_WHITE, 255, 2);
266
267 bootsLevel++;
268 if (bootsLevel < 0) {
269 bootsLevel = 0;
270 }
271 if (bootsLevel > 3) {
272 bootsLevel = 3;
273 }
274
275 hammerLevel++;
276 if (hammerLevel < 0) {
277 hammerLevel = 0;
278 }
279 if (hammerLevel > 3) {
280 hammerLevel = 3;
281 }
282
285
286 // draw boots
287 hud_element_set_script(gPauseStatsIconIDs[STAT_ICON_BOOTS], gStatsBootsElements[bootsLevel]);
288 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_BOOTS], baseX + 163, baseY + 29);
291
292 // draw hammer
293 hud_element_set_script(gPauseStatsIconIDs[STAT_ICON_HAMMER], gStatsHammerElements[hammerLevel]);
294 hud_element_set_render_pos(gPauseStatsIconIDs[STAT_ICON_HAMMER], baseX + 163, baseY + 54);
297
298 // draw star power bar
301
303 curIncrement = 0;
304 powBarIdx = 0; // which bar of the power meter we're drawing
305 powIncIdx = 0; // which increment of the bar we're drawing
306 powHudElemID = gPauseStatsIconIDs[STAT_ICON_STAR];
307
308 // get number of full power increments
311 powIncrements = playerData->starPower % SP_PER_BAR; // get remainder in unfilled bar
312 powIncrements /= SP_PER_SEG; // subdivide unfilled bar into 8 segments (8 = 256/32)
313 powIncrements += powFullBars * 8; // add 8 increments per full bar
314
315 // draw filled bars
316 while (TRUE) {
318 break;
319 }
320
321 curIncrement++;
324 if (drawingFirst) {
327 } else {
329 }
330 powIncIdx++;
331
333 break;
334 }
335
336 curIncrement++;
339 if (drawingFirst) {
342 } else {
344 }
345 powIncIdx++;
346
348 break;
349 }
350
351 curIncrement++;
354 if (drawingFirst) {
357 } else {
359 }
360 powIncIdx++;
361
363 break;
364 }
365
366 curIncrement++;
369 if (drawingFirst) {
372 } else {
374 }
375 powIncIdx++;
376
378 break;
379 }
380
381 curIncrement++;
384 if (drawingFirst) {
387 } else {
389 }
390 powIncIdx++;
391
393 break;
394 }
395
396 curIncrement++;
399 if (drawingFirst) {
402 } else {
404 }
405 powIncIdx++;
406
408 break;
409 }
410
411 curIncrement++;
414 if (drawingFirst) {
417 } else {
419 }
420 powIncIdx++;
421
423 break;
424 }
425
426 curIncrement++;
429 if (drawingFirst) {
432 } else {
434 }
435 powIncIdx++;
436
437 powIncIdx = 0;
438 powBarIdx++;
440 break;
441 }
442 }
443
444 // get number of total power increments
445 powFullBars = playerData->maxStarPower;
447
448 // draw empty bars
449 while (TRUE) {
451 break;
452 }
453
454 if (powIncIdx == 0) {
455 curIncrement++;
458 if (drawingFirst) {
461 } else {
463 }
465 break;
466 }
467 powIncIdx++;
468 }
469
470 if (powIncIdx == 1) {
471 curIncrement++;
474 if (drawingFirst) {
477 } else {
479 }
480 powIncIdx++;
481
483 break;
484 }
485 }
486
487 if (powIncIdx == 2) {
488 curIncrement++;
491 if (drawingFirst) {
494 } else {
496 }
497 powIncIdx++;
498
500 break;
501 }
502 }
503
504 if (powIncIdx == 3) {
505 curIncrement++;
508 if (drawingFirst) {
511 } else {
513 }
514 powIncIdx++;
515
517 break;
518 }
519 }
520
521 if (powIncIdx == 4) {
522 curIncrement++;
525 if (drawingFirst) {
528 } else {
530 }
531 powIncIdx++;
532
534 break;
535 }
536 }
537
538 if (powIncIdx == 5) {
539 curIncrement++;
542 if (drawingFirst) {
545 } else {
547 }
548 powIncIdx++;
549
551 break;
552 }
553 }
554
555 if (powIncIdx == 6) {
556 curIncrement++;
559 if (drawingFirst) {
562 } else {
564 }
565 powIncIdx++;
566
568 break;
569 }
570 }
571
572 if (powIncIdx == 7) {
573 curIncrement++;
576 if (drawingFirst) {
579 } else {
581 }
582 powIncIdx++;
583
585 break;
586 }
587 }
588 powIncIdx = 0;
589 powBarIdx++;
590 }
591
592 if (gPauseMenuCurrentTab == 1) {
594
596 }
597}
BSS s32 PopupMenu_SelectedIndex
s32 b32
#define draw_msg
#define draw_box
@ MSG_PAL_WHITE
Definition enums.h:5404
@ MSG_PAL_STANDARD
Definition enums.h:5414
@ WIN_PAUSE_STATS
Definition enums.h:5273
void draw_number(s32 value, s32 x, s32 y, s32 variableWidthChars, s32 palette, s32 opacity, u16 style)
Definition msg.c:2223
HudScript HES_StatusStarEmpty
HudScript HES_StatusSPEmptyIncrement
void hud_element_draw_without_clipping(s32 id)
void hud_element_set_script(s32 id, HudScript *anim)
void hud_element_draw_next(s32 id)
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
s32 pause_get_menu_msg(s32 index)
Definition pause_gfx.c:583
@ PAUSE_MSG_LBL_TIME
@ PAUSE_MSG_LBL_STAR_PIECES
@ PAUSE_MSG_LBL_FP
@ PAUSE_MSG_LBL_HP
@ PAUSE_MSG_LBL_COINS
@ PAUSE_MSG_LEVEL
@ PAUSE_MSG_LBL_BP
@ PAUSE_MSG_SLASH
@ PAUSE_MSG_LBL_STAR_POINTS
@ PAUSE_MSG_MARIO
@ PAUSE_MSG_DOT
s8 gPauseMenuCurrentTab
Definition pause_main.c:28
void pause_draw_menu_label(s32 index, s32 x, s32 y)
Definition pause_gfx.c:587
void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY)
Definition pause_main.c:228
WindowStyleCustom gPauseWS_10
@ PAUSE_LBL_ENERGY
@ PAUSE_LBL_BOOTS
@ PAUSE_LBL_HAMMER
@ PAUSE_LBL_HP
@ PAUSE_LBL_STATS
@ PAUSE_LBL_BP
@ PAUSE_LBL_FP
#define ROW_1_Y
Definition pause_stats.c:23
#define NUMBER_OFFSET_Y
Definition pause_stats.c:22
s32 gPauseStatsHammerMessages[]
Definition pause_stats.c:79
#define HOUR
#define COL_C_X
Definition pause_stats.c:29
HudScript * gStatsBootsElements[]
Definition pause_stats.c:76
StatsEntryData gStatsMenuEntries[]
Definition pause_stats.c:98
#define ROW_4_Y
Definition pause_stats.c:26
#define COL_A_X
Definition pause_stats.c:27
s32 gPauseStatsBootsMessages[]
Definition pause_stats.c:78
#define POS_2_X
Definition pause_stats.c:31
#define POS_1_X
Definition pause_stats.c:30
HudScript * gPauseStatsStarElements[]
s32 D_8024F46C[]
#define MINUTE
#define COL_B_X
Definition pause_stats.c:28
#define ROW_3_Y
Definition pause_stats.c:25
#define ROW_2_Y
Definition pause_stats.c:24
HudScript * gStatsHammerElements[]
Definition pause_stats.c:77
HudScript * gPauseStatsSPIncElements[]
#define SCREEN_WIDTH
Definition macros.h:109
#define SCREEN_HEIGHT
Definition macros.h:110
#define SP_PER_SEG
Definition macros.h:103
#define SP_PER_BAR
Definition macros.h:102
PlayerData gPlayerData
Definition 77480.c:40

◆ pause_stats_init()

void pause_stats_init ( MenuPanel * panel)

Definition at line 600 of file pause_stats.c.

600 {
601 s32 i;
602
603 for (i = 0; i < ARRAY_COUNT(gPauseStatsIconIDs); i++) {
604 gPauseStatsIconIDs[i] = hud_element_create(gStatsMenuElements[i]);
605 hud_element_set_flags(gPauseStatsIconIDs[i], HUD_ELEMENT_FLAG_80);
606 }
607
608 for (i = 0; i < ARRAY_COUNT(gStatsMenuWindowBPs); i++) {
610 }
611
613 panel->initialized = TRUE;
614}
void setup_pause_menu_tab(MenuWindowBP *bpArray, s32 arraySize)
Definition windows.c:461
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.
@ HUD_ELEMENT_FLAG_80
Definition hud_element.h:78
HudScript * gStatsMenuElements[]
Definition pause_stats.c:56
MenuWindowBP gStatsMenuWindowBPs[]
#define ARRAY_COUNT(arr)
Definition macros.h:40
MenuPanel * tab

◆ pause_stats_handle_input()

void pause_stats_handle_input ( MenuPanel * panel)

Definition at line 616 of file pause_stats.c.

616 {
617 s32 initialSelection = panel->selected;
620 s32 msgOffset;
621
623 while (TRUE) {
624 panel->col--;
625 if (panel->col < 0) {
626 panel->col = 0;
627 break;
628 } else if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
629 break;
630 }
631 }
632 }
633
635 while (TRUE) {
636 panel->col++;
637 if (panel->col >= panel->numCols) {
638 panel->col = panel->numCols - 1;
639 break;
640 } else if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
641 break;
642 }
643 }
644 }
645
647 while (TRUE) {
648 panel->row--;
649 if (panel->row < 0) {
650 panel->row = 0;
651 break;
652 } else if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
653 break;
654 }
655 }
656 }
657
659 while (TRUE) {
660 panel->row++;
661 if (panel->row >= panel->numRows) {
662 panel->row = panel->numRows - 1;
663 break;
664 } else if (panel->selected != MENU_PANEL_SELECTED_GRID_DATA(panel)) {
665 break;
666 }
667 }
668 }
669
671 if (panel->selected != initialSelection) {
673 }
674
675 msgOffset = 0;
678
679 bootsMsgIdx++;
680 if (bootsMsgIdx < 0) {
681 bootsMsgIdx = 0;
682 }
683 if (bootsMsgIdx > 3) {
684 bootsMsgIdx = 3;
685 }
686
687 hammerMsgIdx++;
688 if (hammerMsgIdx < 0) {
689 hammerMsgIdx = 0;
690 }
691 if (hammerMsgIdx > 3) {
692 hammerMsgIdx = 3;
693 }
694
695 switch (gStatsMenuEntries[panel->selected].baseMsgID) {
697 if (bootsMsgIdx > 1) {
699 }
700 break;
703 break;
706 msgOffset = 1;
707 }
708 break;
709 }
710
713
717 }
718}
@ BUTTON_STICK_UP
Definition enums.h:2791
@ BUTTON_STICK_DOWN
Definition enums.h:2792
@ BUTTON_STICK_LEFT
Definition enums.h:2793
@ BUTTON_STICK_RIGHT
Definition enums.h:2794
@ BUTTON_B
Definition enums.h:2789
@ SOUND_MENU_BACK
Definition enums.h:701
@ SOUND_MENU_CHANGE_SELECTION
Definition enums.h:698
s32 evt_get_variable(Evt *script, Bytecode var)
Definition evt.c:1689
s32 gPausePressedButtons
Definition pause_main.c:24
HudScript * gPauseCurrentDescIconScript
Definition pause_main.c:26
@ PAUSE_MSG_TIP_BOOTS_1
@ PAUSE_MSG_TIP_HAMMER_0
@ PAUSE_MSG_TIP_SECRETS
s32 gPauseHeldButtons
Definition pause_main.c:23
s32 gPauseCurrentDescMsg
Definition pause_main.c:25
void sfx_play_sound(s32 soundID)
Definition sfx.c:517
@ GF_Tutorial_GotStarPiece
#define MENU_PANEL_SELECTED_GRID_DATA(panel)
Definition macros.h:76

◆ pause_stats_cleanup()

void pause_stats_cleanup ( MenuPanel * panel)

Definition at line 720 of file pause_stats.c.

720 {
721 s32 i;
722
723 for (i = 0; i < ARRAY_COUNT(gPauseStatsIconIDs); i++) {
724 hud_element_free(gPauseStatsIconIDs[i]);
725 }
726}
void hud_element_free(s32 id)

Variable Documentation

◆ gStatsMenuElements

HudScript* gStatsMenuElements[]
Initial value:

Definition at line 56 of file pause_stats.c.

Referenced by pause_stats_init().

◆ gStatsBootsElements

Definition at line 76 of file pause_stats.c.

HudScript HES_StatBoots3
HudScript HES_StatBoots1
HudScript HES_StatBoots2

Referenced by pause_stats_draw_contents().

◆ gStatsHammerElements

Definition at line 77 of file pause_stats.c.

HudScript HES_StatHammer3
HudScript HES_StatHammer1
HudScript HES_StatHammer2

Referenced by pause_stats_draw_contents().

◆ gPauseStatsBootsMessages

s32 gPauseStatsBootsMessages[] = { PAUSE_MSG_3B, PAUSE_MSG_3C, PAUSE_MSG_3D, PAUSE_MSG_3E }

Definition at line 78 of file pause_stats.c.

@ PAUSE_MSG_3E
@ PAUSE_MSG_3D
@ PAUSE_MSG_3C
@ PAUSE_MSG_3B

Referenced by pause_stats_draw_contents().

◆ gPauseStatsHammerMessages

s32 gPauseStatsHammerMessages[] = { PAUSE_MSG_3F, PAUSE_MSG_40, PAUSE_MSG_41, PAUSE_MSG_42 }

Definition at line 79 of file pause_stats.c.

@ PAUSE_MSG_3F
@ PAUSE_MSG_40
@ PAUSE_MSG_41
@ PAUSE_MSG_42

Referenced by pause_stats_draw_contents().

◆ gPauseStatsGridData

s8 gPauseStatsGridData[]
Initial value:
= {
0, 4,
1, 5,
1, 6,
2, 7,
2, 8,
3, 9,
3, 10
}

Definition at line 80 of file pause_stats.c.

80 {
81 0, 4,
82 1, 5,
83 1, 6,
84 2, 7,
85 2, 8,
86 3, 9,
87 3, 10
88};

◆ gStatsMenuEntries

StatsEntryData gStatsMenuEntries[]
Initial value:
= {
{ .cursorX = 9, .cursorY = 20, .baseMsgID = PAUSE_MSG_TIP_CONTROLS },
{ .cursorX = 17, .cursorY = 55, .baseMsgID = PAUSE_MSG_TIP_HP },
{ .cursorX = 17, .cursorY = 90, .baseMsgID = PAUSE_MSG_TIP_FP },
{ .cursorX = 17, .cursorY = 124, .baseMsgID = PAUSE_MSG_TIP_BP },
{ .cursorX = 138, .cursorY = 28, .baseMsgID = PAUSE_MSG_TIP_BOOTS_1 },
{ .cursorX = 138, .cursorY = 53, .baseMsgID = PAUSE_MSG_TIP_HAMMER_0 },
{ .cursorX = 132 , .cursorY = 76, .baseMsgID = PAUSE_MSG_TIP_STAR_POWER },
{ .cursorX = 125 , .cursorY = 91, .baseMsgID = PAUSE_MSG_TIP_STAR_POINTS },
{ .cursorX = 125 , .cursorY = 106, .baseMsgID = PAUSE_MSG_TIP_COINS },
{ .cursorX = 125 , .cursorY = 121, .baseMsgID = PAUSE_MSG_TIP_SECRETS },
{ .cursorX = 125 , .cursorY = 138, .baseMsgID = PAUSE_MSG_TIP_TIME },
}
@ PAUSE_MSG_TIP_BP
@ PAUSE_MSG_TIP_FP
@ PAUSE_MSG_TIP_STAR_POINTS
@ PAUSE_MSG_TIP_TIME
@ PAUSE_MSG_TIP_HP
@ PAUSE_MSG_TIP_CONTROLS
@ PAUSE_MSG_TIP_STAR_POWER
@ PAUSE_MSG_TIP_COINS

Definition at line 98 of file pause_stats.c.

98 {
99 { .cursorX = 9, .cursorY = 20, .baseMsgID = PAUSE_MSG_TIP_CONTROLS },
100 { .cursorX = 17, .cursorY = 55, .baseMsgID = PAUSE_MSG_TIP_HP },
101 { .cursorX = 17, .cursorY = 90, .baseMsgID = PAUSE_MSG_TIP_FP },
102 { .cursorX = 17, .cursorY = 124, .baseMsgID = PAUSE_MSG_TIP_BP },
103 { .cursorX = 138, .cursorY = 28, .baseMsgID = PAUSE_MSG_TIP_BOOTS_1 },
104 { .cursorX = 138, .cursorY = 53, .baseMsgID = PAUSE_MSG_TIP_HAMMER_0 },
105 { .cursorX = STAR_POWER_X, .cursorY = 76, .baseMsgID = PAUSE_MSG_TIP_STAR_POWER },
106 { .cursorX = COLLECTABLES_X, .cursorY = 91, .baseMsgID = PAUSE_MSG_TIP_STAR_POINTS },
107 { .cursorX = COLLECTABLES_X, .cursorY = 106, .baseMsgID = PAUSE_MSG_TIP_COINS },
108 { .cursorX = COLLECTABLES_X, .cursorY = 121, .baseMsgID = PAUSE_MSG_TIP_SECRETS },
109 { .cursorX = COLLECTABLES_X, .cursorY = 138, .baseMsgID = PAUSE_MSG_TIP_TIME },
110};
#define STAR_POWER_X
Definition pause_stats.c:94
#define COLLECTABLES_X
Definition pause_stats.c:95

Referenced by pause_stats_draw_contents(), and pause_stats_handle_input().

◆ gPauseStatsSPIncElements

HudScript* gPauseStatsSPIncElements[]

◆ gPauseStatsStarElements

HudScript* gPauseStatsStarElements[]
Initial value:
HudScript HES_StatusStar2
HudScript HES_StatusStar3
HudScript HES_StatusStar7
HudScript HES_StatusStar5
HudScript HES_StatusStar6
HudScript HES_StatusStar4

Definition at line 120 of file pause_stats.c.

Referenced by pause_stats_draw_contents().

◆ D_8024F46C

s32 D_8024F46C[] = { -1, 1, 2, 4, 5, 7, 8 }

Definition at line 123 of file pause_stats.c.

123{ -1, 1, 2, 4, 5, 7, 8 };

Referenced by pause_stats_draw_contents().

◆ gStatsMenuWindowBPs

MenuWindowBP gStatsMenuWindowBPs[]
Initial value:
= {
{
.windowID = WIN_PAUSE_STATS,
.unk_01 = 0,
.pos = { .x = 3, .y = 16 },
.width = 289,
.height = 154,
.priority = WINDOW_PRIORITY_0,
.fpDrawContents = &pause_stats_draw_contents,
.tab = NULL,
.parentID = WIN_PAUSE_MAIN,
.fpUpdate = { WINDOW_UPDATE_HIDE },
.extraFlags = 0,
.style = { .customStyle = &gPauseWS_12 }
}
}
@ WINDOW_PRIORITY_0
Definition enums.h:3182
@ WINDOW_UPDATE_HIDE
Definition enums.h:5311
@ WIN_PAUSE_MAIN
Definition enums.h:5262
WindowStyleCustom gPauseWS_12
void pause_stats_draw_contents(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)

Definition at line 132 of file pause_stats.c.

132 {
133 {
134 .windowID = WIN_PAUSE_STATS,
135 .unk_01 = 0,
136 .pos = { .x = 3, .y = 16 },
137 .width = 289,
138 .height = 154,
139 .priority = WINDOW_PRIORITY_0,
140 .fpDrawContents = &pause_stats_draw_contents,
141 .tab = NULL,
142 .parentID = WIN_PAUSE_MAIN,
143 .fpUpdate = { WINDOW_UPDATE_HIDE },
144 .extraFlags = 0,
145 .style = { .customStyle = &gPauseWS_12 }
146 }
147};

Referenced by pause_stats_init().

◆ gPausePanelStats

MenuPanel gPausePanelStats
Initial value:
= {
.initialized = FALSE,
.col = 0,
.row = 0,
.selected = 0,
.state = 0,
.numCols = 2,
.numRows = 7,
.numPages = 0,
.gridData = gPauseStatsGridData,
.fpInit = &pause_stats_init,
.fpHandleInput = &pause_stats_handle_input,
.fpUpdate = NULL,
.fpCleanup = &pause_stats_cleanup
}
void pause_stats_cleanup(MenuPanel *panel)
void pause_stats_init(MenuPanel *panel)
void pause_stats_handle_input(MenuPanel *panel)
s8 gPauseStatsGridData[]
Definition pause_stats.c:80

Definition at line 149 of file pause_stats.c.

149 {
150 .initialized = FALSE,
151 .col = 0,
152 .row = 0,
153 .selected = 0,
154 .state = 0,
155 .numCols = 2,
156 .numRows = 7,
157 .numPages = 0,
158 .gridData = gPauseStatsGridData,
159 .fpInit = &pause_stats_init,
160 .fpHandleInput = &pause_stats_handle_input,
161 .fpUpdate = NULL,
162 .fpCleanup = &pause_stats_cleanup
163};