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

Go to the source code of this file.

Macros

#define TABS_CURSOR_OFFSET_X   (0)
 

Functions

void pause_tabs_draw_stats (MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void pause_tabs_draw_badges (MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void pause_tabs_draw_items (MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void pause_tabs_draw_party (MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void pause_tabs_draw_spirits (MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void pause_tabs_draw_map (MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void pause_tabs_draw_invis (MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void pause_tabs_init (MenuPanel *tab)
 
void pause_tabs_handle_input (MenuPanel *tab)
 
void pause_tabs_update (MenuPanel *tab)
 
void pause_tabs_cleanup (MenuPanel *tab)
 

Variables

MenuPanelgPausePanels []
 
HudScriptgPauseTabsHudScripts [][6]
 
s8 gPauseTabsGridData [] = { 0, 1, 2, 3, 4, 5 }
 
u8 gPauseTabsPanelIDs [] = { 1, 2, 3, 4, 5, 6 }
 
u8 gPauseTabsWindowIDs [] = { WIN_PAUSE_TAB_STATS, WIN_PAUSE_TAB_BADGES, WIN_PAUSE_TAB_ITEMS, WIN_PAUSE_TAB_PARTY, WIN_PAUSE_TAB_SPIRITS, WIN_PAUSE_TAB_MAP }
 
u8 gPauseTabsPageWindowIDs [] = { WIN_PAUSE_STATS, WIN_PAUSE_BADGES, WIN_PAUSE_ITEMS, WIN_PAUSE_PARTNERS, WIN_PAUSE_SPIRITS, WIN_PAUSE_MAP }
 
MenuWindowBP gPauseTabsWindowBPs []
 
s32 gPauseTabsCurrentTab = 0
 
s32 gPauseTabsMessages []
 
u8 gPauseTabsInterpTable [] = { 0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 }
 
s32 gPauseDoBasicWindowUpdate = TRUE
 
MenuPanel gPausePanelTabs
 

Macro Definition Documentation

◆ TABS_CURSOR_OFFSET_X

Function Documentation

◆ pause_tabs_draw_stats()

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

Definition at line 204 of file pause_tabs.c.

204 {
205 if (darkening != 0) {
207 hud_element_set_alpha(gPauseTabsHIDs[0], 255.0 - darkening * 0.5);
208 } else {
210 hud_element_set_alpha(gPauseTabsHIDs[0], 255);
211 }
212
213 hud_element_set_render_pos(gPauseTabsHIDs[0], baseX + 22, baseY + 7);
214 hud_element_draw_without_clipping(gPauseTabsHIDs[0]);
215 if (gPauseMenuCurrentTab == 0) {
218 }
219 }
220}
@ WIN_PAUSE_TAB_STATS
Definition enums.h:5267
void hud_element_set_alpha(s32 id, s32 opacity)
void hud_element_draw_without_clipping(s32 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_clear_flags(s32 id, s32 flags)
Turns off the given flags.
@ HUD_ELEMENT_FLAG_TRANSPARENT
Definition hud_element.h:76
s8 gPauseMenuCurrentTab
Definition pause_main.c:28
void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY)
Definition pause_main.c:228
#define TABS_CURSOR_OFFSET_X
Definition pause_tabs.c:6
u8 gPauseTabsWindowIDs[]
Definition pause_tabs.c:72

◆ pause_tabs_draw_badges()

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

Definition at line 222 of file pause_tabs.c.

222 {
223 if (darkening != 0) {
225 hud_element_set_alpha(gPauseTabsHIDs[1], 255.0 - darkening * 0.5);
226 } else {
228 hud_element_set_alpha(gPauseTabsHIDs[1], 255);
229 }
230
231 hud_element_set_render_pos(gPauseTabsHIDs[1], baseX + 22, baseY + 7);
232 hud_element_draw_without_clipping(gPauseTabsHIDs[1]);
233 if (gPauseMenuCurrentTab == 0) {
236 }
237 }
238}
@ WIN_PAUSE_TAB_BADGES
Definition enums.h:5268

◆ pause_tabs_draw_items()

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

Definition at line 240 of file pause_tabs.c.

240 {
241 if (darkening != 0) {
243 hud_element_set_alpha(gPauseTabsHIDs[2], 255.0 - darkening * 0.5);
244 } else {
246 hud_element_set_alpha(gPauseTabsHIDs[2], 255);
247 }
248
249 hud_element_set_render_pos(gPauseTabsHIDs[2], baseX + 22, baseY + 7);
250 hud_element_draw_without_clipping(gPauseTabsHIDs[2]);
251 if (gPauseMenuCurrentTab == 0) {
254 }
255 }
256}
@ WIN_PAUSE_TAB_ITEMS
Definition enums.h:5269

◆ pause_tabs_draw_party()

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

Definition at line 258 of file pause_tabs.c.

258 {
259 if (darkening != 0) {
261 hud_element_set_alpha(gPauseTabsHIDs[3], 255.0 - darkening * 0.5);
262 } else {
264 hud_element_set_alpha(gPauseTabsHIDs[3], 255);
265 }
266
267 hud_element_set_render_pos(gPauseTabsHIDs[3], baseX + 22, baseY + 7);
268 hud_element_draw_without_clipping(gPauseTabsHIDs[3]);
269 if (gPauseMenuCurrentTab == 0) {
272 }
273 }
274}
@ WIN_PAUSE_TAB_PARTY
Definition enums.h:5270

◆ pause_tabs_draw_spirits()

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

Definition at line 276 of file pause_tabs.c.

276 {
277 if (darkening != 0) {
279 hud_element_set_alpha(gPauseTabsHIDs[4], 255.0 - darkening * 0.5);
280 } else {
282 hud_element_set_alpha(gPauseTabsHIDs[4], 255);
283 }
284
285 hud_element_set_render_pos(gPauseTabsHIDs[4], baseX + 22, baseY + 7);
286 hud_element_draw_without_clipping(gPauseTabsHIDs[4]);
287 if (gPauseMenuCurrentTab == 0) {
290 }
291 }
292}
@ WIN_PAUSE_TAB_SPIRITS
Definition enums.h:5271

◆ pause_tabs_draw_map()

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

Definition at line 294 of file pause_tabs.c.

294 {
295 if (darkening != 0) {
297 hud_element_set_alpha(gPauseTabsHIDs[5], 255.0 - darkening * 0.5);
298 } else {
300 hud_element_set_alpha(gPauseTabsHIDs[5], 255);
301 }
302
303 hud_element_set_render_pos(gPauseTabsHIDs[5], baseX + 23, baseY + 7);
304 hud_element_draw_without_clipping(gPauseTabsHIDs[5]);
305 if (gPauseMenuCurrentTab == 0) {
308 }
309 }
310}
@ WIN_PAUSE_TAB_MAP
Definition enums.h:5272

◆ pause_tabs_draw_invis()

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

Definition at line 201 of file pause_tabs.c.

201 {
202}

◆ pause_tabs_init()

void pause_tabs_init ( MenuPanel * tab)

Definition at line 312 of file pause_tabs.c.

312 {
313 s32 i;
314
315 for (i = 0; i < ARRAY_COUNT(gPauseTabsHudScripts[0]); i++) {
317 hud_element_set_flags(gPauseTabsHIDs[i], HUD_ELEMENT_FLAG_80);
318 }
319
320 for (i = 0; i < ARRAY_COUNT(gPauseTabsWindowBPs); i++) {
321 gPauseTabsWindowBPs[i].tab = tab;
322 }
323
326 gPauseTabsHorizScrollPos = 0;
327 tab->initialized = TRUE;
328 gPauseTabsPreviousTab = 5;
329}
@ WIN_PAUSE_TAB_INVIS
Definition enums.h:5285
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.
@ HUD_ELEMENT_FLAG_80
Definition hud_element.h:78
MenuWindowBP gPauseTabsWindowBPs[]
Definition pause_tabs.c:74
HudScript * gPauseTabsHudScripts[][6]
Definition pause_tabs.c:49
#define ARRAY_COUNT(arr)
Definition macros.h:40
MenuPanel * tab
#define gCurrentLanguage
Definition variables.h:115
Window gWindows[64]
Definition windows.c:23

◆ pause_tabs_handle_input()

void pause_tabs_handle_input ( MenuPanel * tab)

Definition at line 331 of file pause_tabs.c.

331 {
332 Window* pauseWindows;
333 s32 x;
334
336 do {
337 if (--tab->col < 0) {
338 tab->col = 5;
339 if (gPauseTabsHorizScrollPos < 1800) {
340 gPauseTabsHorizScrollPos += 1800;
341 }
342 }
343 } while (gPausePanels[gPauseTabsPanelIDs[tab->col]]->initialized == FALSE);
344 }
345
347 do {
348 if (++tab->col >= 6) {
349 tab->col = 0;
350 if (gPauseTabsHorizScrollPos > 0) {
351 gPauseTabsHorizScrollPos -= 1800;
352 }
353 }
354 } while (gPausePanels[gPauseTabsPanelIDs[tab->col]]->initialized == FALSE);
355 }
356
357 if (tab->col != gPauseTabsCurrentTab) {
360
361 pauseWindows = &gWindows[WIN_PAUSE_TAB_STATS];
362 x = pauseWindows[tab->col].pos.x;
365 gPauseTabsPreviousTab = gPauseTabsCurrentTab;
368 }
369
373 }
374
377}
@ BUTTON_A
Definition enums.h:2790
@ BUTTON_R
Definition enums.h:2781
@ BUTTON_STICK_LEFT
Definition enums.h:2793
@ BUTTON_STICK_RIGHT
Definition enums.h:2794
@ BUTTON_Z
Definition enums.h:2788
@ SOUND_MENU_CHANGE_TAB
Definition enums.h:699
@ SOUND_MENU_NEXT
Definition enums.h:700
void replace_window_update(s32 idx, s8 arg1, WindowUpdateFunc pendingFunc)
Definition windows.c:426
s32 gPausePressedButtons
Definition pause_main.c:24
HudScript * gPauseCurrentDescIconScript
Definition pause_main.c:26
void pause_update_tab_inactive(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)
Definition pause_main.c:306
s32 pause_get_menu_msg(s32 index)
Definition pause_gfx.c:583
void pause_update_tab_active(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)
Definition pause_main.c:327
s32 gPauseHeldButtons
Definition pause_main.c:23
s32 gPauseCurrentDescMsg
Definition pause_main.c:25
s32 gPauseTabsMessages[]
Definition pause_tabs.c:175
MenuPanel * gPausePanels[]
Definition pause_main.c:47
u8 gPauseTabsPanelIDs[]
Definition pause_tabs.c:71
s32 gPauseTabsCurrentTab
Definition pause_tabs.c:174
void sfx_play_sound(s32 soundID)
Definition sfx.c:517

◆ pause_tabs_update()

void pause_tabs_update ( MenuPanel * tab)

Definition at line 379 of file pause_tabs.c.

379 {
380 s32 absValue;
381 f32 delta;
382 f32 deltaBefore;
383 f32 f7;
384 void (*fpUpdateInactive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
385 f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
386 void (*fpUpdateActive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
387 f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
388 WindowUpdateFunc fpUpdate;
389 s32 i;
390 s32 flag;
391 s32 sgn;
392
393 deltaBefore = tab->col * 300 - gPauseTabsHorizScrollPos;
394 absValue = abs(deltaBefore);
395 sgn = sign(deltaBefore);
396
397 if (absValue >= 16) {
398 delta = absValue * 0.5;
399 if (delta > 32.0f) {
400 delta = 32.0f;
401 }
402 } else {
403 delta = gPauseTabsInterpTable[absValue];
404 }
405 delta = delta * sgn;
406
407 gPauseTabsHorizScrollPos += delta;
408
409 if ((gPauseTabsPreviousTab != 0 || tab->col != 5) && (gPauseTabsPreviousTab < tab->col || gPauseTabsPreviousTab == 5 && tab->col == 0)) {
410 fpUpdateActive = pause_update_page_active_1;
411 fpUpdateInactive = pause_update_page_inactive_1;
412 } else {
413 fpUpdateActive = pause_update_page_active_2;
414 fpUpdateInactive = pause_update_page_inactive_2;
415 }
416
417 flag = FALSE;
418 for (i = 0; i < ARRAY_COUNT(gPauseTabsPanelIDs); i++) {
419 if (gPausePanels[gPauseTabsPanelIDs[i]]->initialized && (gWindows[gPauseTabsPageWindowIDs[i]].flags & 8)) {
420 flag = TRUE;
421 break;
422 }
423 }
424
425 if (!flag) {
426 for (i = 0; i < ARRAY_COUNT(gPauseTabsPanelIDs); i++) {
427 if (gPausePanels[gPauseTabsPanelIDs[i]]->initialized) {
429 if (i != tab->col && (fpUpdate.func == pause_update_page_active_1 ||
430 fpUpdate.func == pause_update_page_active_2 ||
431 fpUpdate.func == basic_window_update ||
432 fpUpdate.i == 1)) {
433 set_window_update(gPauseTabsPageWindowIDs[i], (s32)fpUpdateInactive);
434 flag = TRUE;
435 }
436 }
437 }
438
439 if (!flag) {
444 fpUpdateActive = &basic_window_update;
446 }
447
448 set_window_update(gPauseTabsPageWindowIDs[tab->col], (s32)fpUpdateActive);
449 }
450 }
451 }
452}
s8 flags
Definition demo_api.c:15
s32 sign(s32 value)
Definition 43F0.c:375
void set_window_update(s32 panelID, s32)
Definition windows.c:434
void basic_window_update(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)
Definition windows.c:161
void pause_update_page_active_2(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)
Definition pause_main.c:369
void pause_update_page_inactive_2(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)
Definition pause_main.c:421
void pause_update_page_inactive_1(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)
Definition pause_main.c:405
void pause_update_page_active_1(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)
Definition pause_main.c:387
u8 gPauseTabsInterpTable[]
Definition pause_tabs.c:183
s32 gPauseDoBasicWindowUpdate
Definition pause_tabs.c:184
u8 gPauseTabsPageWindowIDs[]
Definition pause_tabs.c:73
WindowUpdateFunc fpUpdate
void(* func)(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)

◆ pause_tabs_cleanup()

void pause_tabs_cleanup ( MenuPanel * tab)

Definition at line 454 of file pause_tabs.c.

454 {
455 s32 i;
456
457 for (i = 0; i < ARRAY_COUNT(gPauseTabsHIDs); i++) {
458 hud_element_free(gPauseTabsHIDs[i]);
459 }
460}
void hud_element_free(s32 id)

Variable Documentation

◆ gPausePanels

MenuPanel* gPausePanels[]
extern

Definition at line 47 of file pause_main.c.

47 {
50};
MenuPanel gPausePanelSpirits
MenuPanel gPausePanelMap
Definition pause_map.c:76
MenuPanel gPausePanelTabs
Definition pause_tabs.c:185
MenuPanel gPausePanelStats
MenuPanel gPausePanelItems
Definition pause_items.c:52
MenuPanel gPausePanelPartners
MenuPanel gPausePanelBadges

Referenced by pause_cleanup(), pause_handle_input(), pause_init(), pause_tabs_handle_input(), and pause_tabs_update().

◆ gPauseTabsHudScripts

HudScript* gPauseTabsHudScripts[][6]
Initial value:
= {
},
}
#define LANGUAGE_DEFAULT
Definition enums.h:6397
HudScript HES_HeaderMap
HudScript HES_HeaderParty
HudScript HES_HeaderSpirits
HudScript HES_HeaderStats
HudScript HES_HeaderItems
HudScript HES_HeaderBadges

Definition at line 49 of file pause_tabs.c.

49 {
53 },
54#if VERSION_PAL
55 [LANGUAGE_DE] = {
56 &HES_HeaderStats_de, &HES_HeaderBadges_de, &HES_HeaderItems_de,
57 &HES_HeaderParty_de, &HES_HeaderSpirits_de, &HES_HeaderMap_de
58 },
59 [LANGUAGE_FR] = {
60 &HES_HeaderStats_fr, &HES_HeaderBadges_fr, &HES_HeaderItems_fr,
61 &HES_HeaderParty_fr, &HES_HeaderSpirits_fr, &HES_HeaderMap_fr
62 },
63 [LANGUAGE_ES] = {
64 &HES_HeaderStats_es, &HES_HeaderBadges_es, &HES_HeaderItems_es,
65 &HES_HeaderParty_es, &HES_HeaderSpirits_es, &HES_HeaderMap_es
66 },
67#endif
68};
@ LANGUAGE_DE
Definition enums.h:6400
@ LANGUAGE_ES
Definition enums.h:6402
@ LANGUAGE_FR
Definition enums.h:6401

Referenced by pause_tabs_init().

◆ gPauseTabsGridData

s8 gPauseTabsGridData[] = { 0, 1, 2, 3, 4, 5 }

Definition at line 70 of file pause_tabs.c.

70{ 0, 1, 2, 3, 4, 5 };

◆ gPauseTabsPanelIDs

u8 gPauseTabsPanelIDs[] = { 1, 2, 3, 4, 5, 6 }

Definition at line 71 of file pause_tabs.c.

71{ 1, 2, 3, 4, 5, 6 };

Referenced by pause_tabs_handle_input(), and pause_tabs_update().

◆ gPauseTabsWindowIDs

◆ gPauseTabsPageWindowIDs

Definition at line 73 of file pause_tabs.c.

@ WIN_PAUSE_MAP
Definition enums.h:5283
@ WIN_PAUSE_PARTNERS
Definition enums.h:5276
@ WIN_PAUSE_ITEMS
Definition enums.h:5275
@ WIN_PAUSE_SPIRITS
Definition enums.h:5281
@ WIN_PAUSE_BADGES
Definition enums.h:5274
@ WIN_PAUSE_STATS
Definition enums.h:5273

Referenced by pause_tabs_update().

◆ gPauseTabsWindowBPs

MenuWindowBP gPauseTabsWindowBPs[]

Definition at line 74 of file pause_tabs.c.

74 {
75 {
76 .windowID = WIN_PAUSE_TAB_STATS,
77 .unk_01 = 0,
78 .pos = { .x = 0, .y = 7 },
79 .width = 43,
80 .height = 15,
81 .priority = WINDOW_PRIORITY_64,
82 .fpDrawContents = pause_tabs_draw_stats,
83 .tab = NULL,
84 .parentID = WIN_PAUSE_MAIN,
85 .fpUpdate = { WINDOW_UPDATE_SHOW },
86 .extraFlags = 0,
87 .style = { .customStyle = &gPauseWS_3 }
88 },
89 {
90 .windowID = WIN_PAUSE_TAB_BADGES,
91 .unk_01 = 0,
92 .pos = { .x = 0, .y = 7 },
93 .width = 43,
94 .height = 15,
95 .priority = WINDOW_PRIORITY_0,
96 .fpDrawContents = pause_tabs_draw_badges,
97 .tab = NULL,
98 .parentID = WIN_PAUSE_MAIN,
99 .fpUpdate = { .func = pause_update_tab_default },
100 .extraFlags = 0,
101 .style = { .customStyle = &gPauseWS_4 }
102 },
103 {
104 .windowID = WIN_PAUSE_TAB_ITEMS,
105 .unk_01 = 0,
106 .pos = { .x = 0, .y = 7 },
107 .width = 43,
108 .height = 15,
109 .priority = WINDOW_PRIORITY_0,
110 .fpDrawContents = pause_tabs_draw_items,
111 .tab = NULL,
112 .parentID = WIN_PAUSE_MAIN,
113 .fpUpdate = { .func = pause_update_tab_default },
114 .extraFlags = 0,
115 .style = { .customStyle = &gPauseWS_5 }
116 },
117 {
118 .windowID = WIN_PAUSE_TAB_PARTY,
119 .unk_01 = 0,
120 .pos = { .x = 0, .y = 7 },
121 .width = 43,
122 .height = 15,
123 .priority = WINDOW_PRIORITY_0,
124 .fpDrawContents = pause_tabs_draw_party,
125 .tab = NULL,
126 .parentID = WIN_PAUSE_MAIN,
127 .fpUpdate = { .func = pause_update_tab_default },
128 .extraFlags = 0,
129 .style = { .customStyle = &gPauseWS_6 }
130 },
131 {
132 .windowID = WIN_PAUSE_TAB_SPIRITS,
133 .unk_01 = 0,
134 .pos = { .x = 0, .y = 7 },
135 .width = 43,
136 .height = 15,
137 .priority = WINDOW_PRIORITY_0,
138 .fpDrawContents = pause_tabs_draw_spirits,
139 .tab = NULL,
140 .parentID = WIN_PAUSE_MAIN,
141 .fpUpdate = { .func = pause_update_tab_default },
142 .extraFlags = 0,
143 .style = { .customStyle = &gPauseWS_7 }
144 },
145 {
146 .windowID = WIN_PAUSE_TAB_MAP,
147 .unk_01 = 0,
148 .pos = { .x = 0, .y = 7 },
149 .width = 43,
150 .height = 15,
151 .priority = WINDOW_PRIORITY_0,
152 .fpDrawContents = pause_tabs_draw_map,
153 .tab = NULL,
154 .parentID = WIN_PAUSE_MAIN,
155 .fpUpdate = { .func = pause_update_tab_default },
156 .extraFlags = 0,
157 .style = { .customStyle = &gPauseWS_8 }
158 },
159 {
160 .windowID = WIN_PAUSE_TAB_INVIS,
161 .unk_01 = 0,
162 .pos = { .x = 8, .y = 8 },
163 .width = 16,
164 .height = 16,
165 .priority = WINDOW_PRIORITY_64,
166 .fpDrawContents = pause_tabs_draw_invis,
167 .tab = NULL,
168 .parentID = WIN_NONE,
169 .fpUpdate = { WINDOW_UPDATE_SHOW },
170 .extraFlags = 0,
171 .style = { .customStyle = &gPauseWS_9 }
172 }
173};
@ WINDOW_PRIORITY_64
Definition enums.h:3188
@ WINDOW_PRIORITY_0
Definition enums.h:3182
@ WINDOW_UPDATE_SHOW
Definition enums.h:5310
@ WIN_PAUSE_MAIN
Definition enums.h:5262
@ WIN_NONE
Definition enums.h:5239
WindowStyleCustom gPauseWS_5
WindowStyleCustom gPauseWS_6
WindowStyleCustom gPauseWS_4
WindowStyleCustom gPauseWS_3
void pause_update_tab_default(s32 windowIndex, s32 *flags, s32 *posX, s32 *posY, s32 *posZ, f32 *scaleX, f32 *scaleY, f32 *rotX, f32 *rotY, f32 *rotZ, s32 *darkening, s32 *opacity)
Definition pause_main.c:289
WindowStyleCustom gPauseWS_7
WindowStyleCustom gPauseWS_9
WindowStyleCustom gPauseWS_8
void pause_tabs_draw_map(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
Definition pause_tabs.c:294
void pause_tabs_draw_badges(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
Definition pause_tabs.c:222
void pause_tabs_draw_stats(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
Definition pause_tabs.c:204
void pause_tabs_draw_spirits(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
Definition pause_tabs.c:276
void pause_tabs_draw_items(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
Definition pause_tabs.c:240
void pause_tabs_draw_invis(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
Definition pause_tabs.c:201
void pause_tabs_draw_party(MenuPanel *menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
Definition pause_tabs.c:258

Referenced by pause_tabs_init().

◆ gPauseTabsCurrentTab

s32 gPauseTabsCurrentTab = 0

Definition at line 174 of file pause_tabs.c.

Referenced by pause_tabs_handle_input().

◆ gPauseTabsMessages

s32 gPauseTabsMessages[]

◆ gPauseTabsInterpTable

u8 gPauseTabsInterpTable[] = { 0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 }

Definition at line 183 of file pause_tabs.c.

183{ 0, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8 };

Referenced by pause_tabs_update().

◆ gPauseDoBasicWindowUpdate

s32 gPauseDoBasicWindowUpdate = TRUE

Definition at line 184 of file pause_tabs.c.

Referenced by pause_tabs_update().

◆ gPausePanelTabs

MenuPanel gPausePanelTabs
Initial value:
= {
.initialized = FALSE,
.col = 0,
.row = 0,
.selected = 0,
.state = 0,
.numCols = 6,
.numRows = 1,
.numPages = 0,
.gridData = gPauseTabsGridData,
.fpInit = pause_tabs_init,
.fpHandleInput = pause_tabs_handle_input,
.fpUpdate = pause_tabs_update,
.fpCleanup = pause_tabs_cleanup
}
s8 gPauseTabsGridData[]
Definition pause_tabs.c:70
void pause_tabs_cleanup(MenuPanel *tab)
Definition pause_tabs.c:454
void pause_tabs_handle_input(MenuPanel *tab)
Definition pause_tabs.c:331
void pause_tabs_update(MenuPanel *tab)
Definition pause_tabs.c:379
void pause_tabs_init(MenuPanel *tab)
Definition pause_tabs.c:312

Definition at line 185 of file pause_tabs.c.

185 {
186 .initialized = FALSE,
187 .col = 0,
188 .row = 0,
189 .selected = 0,
190 .state = 0,
191 .numCols = 6,
192 .numRows = 1,
193 .numPages = 0,
194 .gridData = gPauseTabsGridData,
195 .fpInit = pause_tabs_init,
196 .fpHandleInput = pause_tabs_handle_input,
197 .fpUpdate = pause_tabs_update,
198 .fpCleanup = pause_tabs_cleanup
199};