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(gPauseTabsIconIDs[0], 255.0 - darkening * 0.5);
208 } else {
210 hud_element_set_alpha(gPauseTabsIconIDs[0], 255);
211 }
212
213 hud_element_set_render_pos(gPauseTabsIconIDs[0], baseX + 22, baseY + 7);
214 hud_element_draw_without_clipping(gPauseTabsIconIDs[0]);
215 if (gPauseMenuCurrentTab == 0) {
218 }
219 }
220}
@ WIN_PAUSE_TAB_STATS
Definition enums.h:5268
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:78
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(gPauseTabsIconIDs[1], 255.0 - darkening * 0.5);
226 } else {
228 hud_element_set_alpha(gPauseTabsIconIDs[1], 255);
229 }
230
231 hud_element_set_render_pos(gPauseTabsIconIDs[1], baseX + 22, baseY + 7);
232 hud_element_draw_without_clipping(gPauseTabsIconIDs[1]);
233 if (gPauseMenuCurrentTab == 0) {
236 }
237 }
238}
@ WIN_PAUSE_TAB_BADGES
Definition enums.h:5269

◆ 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(gPauseTabsIconIDs[2], 255.0 - darkening * 0.5);
244 } else {
246 hud_element_set_alpha(gPauseTabsIconIDs[2], 255);
247 }
248
249 hud_element_set_render_pos(gPauseTabsIconIDs[2], baseX + 22, baseY + 7);
250 hud_element_draw_without_clipping(gPauseTabsIconIDs[2]);
251 if (gPauseMenuCurrentTab == 0) {
254 }
255 }
256}
@ WIN_PAUSE_TAB_ITEMS
Definition enums.h:5270

◆ 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(gPauseTabsIconIDs[3], 255.0 - darkening * 0.5);
262 } else {
264 hud_element_set_alpha(gPauseTabsIconIDs[3], 255);
265 }
266
267 hud_element_set_render_pos(gPauseTabsIconIDs[3], baseX + 22, baseY + 7);
268 hud_element_draw_without_clipping(gPauseTabsIconIDs[3]);
269 if (gPauseMenuCurrentTab == 0) {
272 }
273 }
274}
@ WIN_PAUSE_TAB_PARTY
Definition enums.h:5271

◆ 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(gPauseTabsIconIDs[4], 255.0 - darkening * 0.5);
280 } else {
282 hud_element_set_alpha(gPauseTabsIconIDs[4], 255);
283 }
284
285 hud_element_set_render_pos(gPauseTabsIconIDs[4], baseX + 22, baseY + 7);
286 hud_element_draw_without_clipping(gPauseTabsIconIDs[4]);
287 if (gPauseMenuCurrentTab == 0) {
290 }
291 }
292}
@ WIN_PAUSE_TAB_SPIRITS
Definition enums.h:5272

◆ 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(gPauseTabsIconIDs[5], 255.0 - darkening * 0.5);
298 } else {
300 hud_element_set_alpha(gPauseTabsIconIDs[5], 255);
301 }
302
303 hud_element_set_render_pos(gPauseTabsIconIDs[5], baseX + 23, baseY + 7);
304 hud_element_draw_without_clipping(gPauseTabsIconIDs[5]);
305 if (gPauseMenuCurrentTab == 0) {
308 }
309 }
310}
@ WIN_PAUSE_TAB_MAP
Definition enums.h:5273

◆ 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++) {
316 HudScript* hs;
317
318 //hs = gPauseTabsHudScripts[i];
320
321 gPauseTabsIconIDs[i] = hud_element_create(hs);
322 hud_element_set_flags(gPauseTabsIconIDs[i], HUD_ELEMENT_FLAG_80);
323 }
324
325 for (i = 0; i < ARRAY_COUNT(gPauseTabsWindowBPs); i++) {
326 gPauseTabsWindowBPs[i].tab = tab;
327 }
328
331 gPauseTabsHorizScrollPos = 0;
332 tab->initialized = TRUE;
333 gPauseTabsPreviousTab = 5;
334}
@ WIN_PAUSE_TAB_INVIS
Definition enums.h:5286
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:80
s32 HudScript[]
Definition hud_element.h:9
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 336 of file pause_tabs.c.

336 {
337 Window* pauseWindows;
338 s32 x;
339
341 do {
342 if (--tab->col < 0) {
343 tab->col = 5;
344 if (gPauseTabsHorizScrollPos < 1800) {
345 gPauseTabsHorizScrollPos += 1800;
346 }
347 }
348 } while (gPausePanels[gPauseTabsPanelIDs[tab->col]]->initialized == FALSE);
349 }
350
352 do {
353 if (++tab->col >= 6) {
354 tab->col = 0;
355 if (gPauseTabsHorizScrollPos > 0) {
356 gPauseTabsHorizScrollPos -= 1800;
357 }
358 }
359 } while (gPausePanels[gPauseTabsPanelIDs[tab->col]]->initialized == FALSE);
360 }
361
362 if (tab->col != gPauseTabsCurrentTab) {
365
366 pauseWindows = &gWindows[WIN_PAUSE_TAB_STATS];
367 x = pauseWindows[tab->col].pos.x;
370 gPauseTabsPreviousTab = gPauseTabsCurrentTab;
373 }
374
378 }
379
382}
@ 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 384 of file pause_tabs.c.

384 {
385 s32 absValue;
386 f32 delta;
387 f32 deltaBefore;
388 f32 f7;
389 void (*fpUpdateInactive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
390 f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
391 void (*fpUpdateActive)(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY,
392 f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity);
393 WindowUpdateFunc fpUpdate;
394 s32 i;
395 s32 flag;
396 s32 sgn;
397
398 deltaBefore = tab->col * 300 - gPauseTabsHorizScrollPos;
399 absValue = abs(deltaBefore);
400 sgn = sign(deltaBefore);
401
402 if (absValue >= 16) {
403 delta = absValue * 0.5;
404 if (delta > 32.0f) {
405 delta = 32.0f;
406 }
407 } else {
408 delta = gPauseTabsInterpTable[absValue];
409 }
410 delta = delta * sgn;
411
412 gPauseTabsHorizScrollPos += delta;
413
414 if ((gPauseTabsPreviousTab != 0 || tab->col != 5) && (gPauseTabsPreviousTab < tab->col || gPauseTabsPreviousTab == 5 && tab->col == 0)) {
415 fpUpdateActive = pause_update_page_active_1;
416 fpUpdateInactive = pause_update_page_inactive_1;
417 } else {
418 fpUpdateActive = pause_update_page_active_2;
419 fpUpdateInactive = pause_update_page_inactive_2;
420 }
421
422 flag = FALSE;
423 for (i = 0; i < ARRAY_COUNT(gPauseTabsPanelIDs); i++) {
424 if (gPausePanels[gPauseTabsPanelIDs[i]]->initialized && (gWindows[gPauseTabsPageWindowIDs[i]].flags & 8)) {
425 flag = TRUE;
426 break;
427 }
428 }
429
430 if (!flag) {
431 for (i = 0; i < ARRAY_COUNT(gPauseTabsPanelIDs); i++) {
432 if (gPausePanels[gPauseTabsPanelIDs[i]]->initialized) {
434 if (i != tab->col && (fpUpdate.func == pause_update_page_active_1 ||
435 fpUpdate.func == pause_update_page_active_2 ||
436 fpUpdate.func == basic_window_update ||
437 fpUpdate.i == 1)) {
438 set_window_update(gPauseTabsPageWindowIDs[i], (s32)fpUpdateInactive);
439 flag = TRUE;
440 }
441 }
442 }
443
444 if (!flag) {
449 fpUpdateActive = &basic_window_update;
451 }
452
453 set_window_update(gPauseTabsPageWindowIDs[tab->col], (s32)fpUpdateActive);
454 }
455 }
456 }
457}
s8 flags
Definition demo_api.c:15
s32 sign(s32 value)
Definition 43F0.c:376
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 459 of file pause_tabs.c.

459 {
460 s32 i;
461
462 for (i = 0; i < ARRAY_COUNT(gPauseTabsIconIDs); i++) {
463 hud_element_free(gPauseTabsIconIDs[i]);
464 }
465}
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:6398
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:6401
@ LANGUAGE_ES
Definition enums.h:6403
@ LANGUAGE_FR
Definition enums.h:6402

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:5284
@ WIN_PAUSE_PARTNERS
Definition enums.h:5277
@ WIN_PAUSE_ITEMS
Definition enums.h:5276
@ WIN_PAUSE_SPIRITS
Definition enums.h:5282
@ WIN_PAUSE_BADGES
Definition enums.h:5275
@ WIN_PAUSE_STATS
Definition enums.h:5274

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:5311
@ WIN_PAUSE_MAIN
Definition enums.h:5263
@ WIN_NONE
Definition enums.h:5240
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:459
void pause_tabs_handle_input(MenuPanel *tab)
Definition pause_tabs.c:336
void pause_tabs_update(MenuPanel *tab)
Definition pause_tabs.c:384
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};