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

Go to the source code of this file.

Macros

#define LINE_HEIGHT   13
 
#define WINDOW_KEY_WIDTH   280
 
#define ALREADY_PARTNER_HEIGHT   40
 
#define EMPTY_BAR_X   73
 
#define DIARY_PAGE_X   8
 
#define PARTNER_LIST_X1   85
 
#define PARTNER_LIST_X2   91
 
#define BADGE_PRICE_X   115
 
#define ITEM_PRICE_X   121
 
#define MENU_OFFSET_Y1   8
 
#define MENU_OFFSET_Y2   6
 
#define POPUP_PARTNER_WIDTH   100
 
#define POPUP_ITEM_X   26
 
#define POPUP_ITEMDIP_NUMBER_X   94
 
#define POPUP_ITEMDIP_X   114
 
#define POPUP_TRIPLE_DIP_X   6
 
#define POPUP_BADGE_X   27
 
#define POPUP_CHEST_X   4
 
#define POPUP_POSTCARD_X   6
 
#define POPUP_ITEM_KEY_X   27
 
#define POPUP_POSTOFFICE_X   8
 
#define X_800F4C1C   11
 

Enumerations

enum  PopupTypes {
  POPUP_TYPE_USE_ITEM , POPUP_TYPE_SWITCH_PARTNER , POPUP_TYPE_THROW_AWAY_ITEM , POPUP_TYPE_TRADE_FOR_BADGE ,
  POPUP_TYPE_UPGRADE_PARTNER , POPUP_TYPE_SELL_ITEM , POPUP_TYPE_CHECK_ITEM , POPUP_TYPE_CLAIM_ITEM ,
  POPUP_TYPE_READ_LETTER , POPUP_TYPE_TAKE_FROM_CHEST , POPUP_TYPE_READ_DIARY_PAGE , POPUP_TYPE_READ_POSTCARD ,
  POPUP_TYPE_USE_KEY
}
 

Functions

s8 status_bar_is_ignoring_changes (void)
 
void popup_menu_draw_menu_contents (s32 *userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void popup_menu_draw_title_contents (s32 *userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void func_800F48F4 (s32 *userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void func_800F4944 (s32 *userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
 
void func_800F4C1C (s32 *userData, s32 x, s32 y)
 
void popup_draw_cost_icon (s32 *userData, s32 x, s32 y)
 
void popup_draw_already_have_partner (s32 *userData, s32 x, s32 y)
 
void func_800F4D28 (s32 *userData, s32 x, s32 y)
 
void hide_popup_menu (void)
 
void destroy_popup_menu (void)
 
void func_800F16CC (void)
 
s32 popup_menu_update (void)
 
void create_standard_popup_menu (PopupMenu *popup)
 
void create_shop_popup_menu (PopupMenu *popup)
 
void create_battle_popup_menu (PopupMenu *popup)
 
void func_800F52BC (void)
 

Variables

HudScript HES_HandPointer
 
HudScript HES_StatusStarPiece
 
HudScript HES_GreenArrowDown
 
HudScript HES_GreenArrowUp
 
HudScript HES_EmptyBar
 
HudScript HES_PartnerRank1A
 
HudScript HES_PartnerRank1B
 
HudScript HES_PartnerRank2A
 
HudScript HES_PartnerRank2B
 
HudScriptD_80109890 [] = { &HES_PartnerRank1A, &HES_PartnerRank2A }
 
HudScriptD_80109898 [] = { &HES_PartnerRank1B, &HES_PartnerRank2B }
 
s16 PopupWorldStartX []
 
s16 PopupContentScissorWidths []
 
BSS s32 gPopupState
 
BSS s32 D_8010D644
 
BSS s32 PopupMenu_SelectedIndex
 
BSS s32 PopupMenu_PrevSelectedIndex
 
BSS s32 PopupMenu_Alpha
 
BSS s8 PopupMenu_FirstDisplayIndex
 
BSS s8 PopupMenu_LastDisplayIndex
 
BSS s8 PopupMenu_DisplayedEntryCount
 
BSS s16 D_8010D658
 
BSS s16 D_8010D65A
 
BSS s32 PopupMenu_EmptybarHEID
 
BSS s32 PopupMenu_TitleIconHEID
 
BSS s32 PopupMenu_TimesHEID
 
BSS s32 PopupMenu_PartnerLevelHEID
 
BSS s32 PopupMenu_CursorHEID
 
BSS s32 PopupMenu_UpArrowHEID
 
BSS s32 PopupMenu_DownArrowHEID
 
BSS s32 PopupMenu_EntryIconHEID
 
BSS s16 D_8010D67C
 
BSS s16 D_8010D67E
 
BSS s16 D_8010D680
 
BSS s16 D_8010D682
 
BSS s16 D_8010D684
 
BSS s16 D_8010D686
 
BSS s16 PopupMenu_StarPieceCounterPosX
 
BSS s16 PopupMenu_StarPieceCounterPosY
 
BSS s16 D_8010D68C
 
BSS s8 PopupNotBattle
 
BSS s8 PopupMenu_MaxDisplayableEntryCount
 
BSS s8 D_8010D690
 
BSS s8 D_8010D691
 
BSS s8 D_8010D692
 
BSS s8 D_8010D693
 
BSS s32 gPopupWorker
 
BSS s8 PopupNotDipping
 
BSS s8 PopupDipMode
 
BSS s8 PopupMenu_WasStatusBarIgnoringChanges
 
BSS PopupMenugPopupMenu
 
BSS MessagePrintStateD_8010D6A0
 
BSS s32 D_8010D6A4
 

Macro Definition Documentation

◆ LINE_HEIGHT

#define LINE_HEIGHT   13

Definition at line 5 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents(), and popup_menu_update().

◆ WINDOW_KEY_WIDTH

#define WINDOW_KEY_WIDTH   280

Definition at line 33 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ ALREADY_PARTNER_HEIGHT

#define ALREADY_PARTNER_HEIGHT   40

Definition at line 34 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ EMPTY_BAR_X

#define EMPTY_BAR_X   73

Definition at line 35 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ DIARY_PAGE_X

#define DIARY_PAGE_X   8

Definition at line 36 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ PARTNER_LIST_X1

#define PARTNER_LIST_X1   85

Definition at line 37 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ PARTNER_LIST_X2

#define PARTNER_LIST_X2   91

Definition at line 38 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ BADGE_PRICE_X

#define BADGE_PRICE_X   115

Definition at line 39 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ ITEM_PRICE_X

#define ITEM_PRICE_X   121

Definition at line 40 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ MENU_OFFSET_Y1

#define MENU_OFFSET_Y1   8

Definition at line 41 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ MENU_OFFSET_Y2

#define MENU_OFFSET_Y2   6

Definition at line 42 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ POPUP_PARTNER_WIDTH

#define POPUP_PARTNER_WIDTH   100

Definition at line 43 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents().

◆ POPUP_ITEM_X

#define POPUP_ITEM_X   26

Definition at line 1872 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ POPUP_ITEMDIP_NUMBER_X

#define POPUP_ITEMDIP_NUMBER_X   94

Definition at line 1873 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ POPUP_ITEMDIP_X

#define POPUP_ITEMDIP_X   114

Definition at line 1874 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ POPUP_TRIPLE_DIP_X

#define POPUP_TRIPLE_DIP_X   6

Definition at line 1875 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ POPUP_BADGE_X

#define POPUP_BADGE_X   27

Definition at line 1876 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ POPUP_CHEST_X

#define POPUP_CHEST_X   4

Definition at line 1877 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ POPUP_POSTCARD_X

#define POPUP_POSTCARD_X   6

Definition at line 1878 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ POPUP_ITEM_KEY_X

#define POPUP_ITEM_KEY_X   27

Definition at line 1879 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ POPUP_POSTOFFICE_X

#define POPUP_POSTOFFICE_X   8

Definition at line 1880 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_title_contents().

◆ X_800F4C1C

#define X_800F4C1C   11

Definition at line 2136 of file 8a860_len_3f30.c.

Referenced by func_800F4C1C().

Enumeration Type Documentation

◆ PopupTypes

enum PopupTypes
Enumerator
POPUP_TYPE_USE_ITEM 
POPUP_TYPE_SWITCH_PARTNER 
POPUP_TYPE_THROW_AWAY_ITEM 
POPUP_TYPE_TRADE_FOR_BADGE 
POPUP_TYPE_UPGRADE_PARTNER 
POPUP_TYPE_SELL_ITEM 
POPUP_TYPE_CHECK_ITEM 
POPUP_TYPE_CLAIM_ITEM 
POPUP_TYPE_READ_LETTER 
POPUP_TYPE_TAKE_FROM_CHEST 
POPUP_TYPE_READ_DIARY_PAGE 
POPUP_TYPE_READ_POSTCARD 
POPUP_TYPE_USE_KEY 

Definition at line 125 of file 8a860_len_3f30.c.

Function Documentation

◆ status_bar_is_ignoring_changes()

s8 status_bar_is_ignoring_changes ( void )

Definition at line 1512 of file inventory.c.

1512 {
1513 StatusBar* statusBar = &gStatusBar;
1514
1515 return statusBar->alwaysShown + statusBar->ignoreChanges;
1516}
StatusBar gStatusBar
Definition inventory.c:17

Referenced by create_battle_popup_menu(), create_shop_popup_menu(), and create_standard_popup_menu().

◆ popup_menu_draw_menu_contents()

void popup_menu_draw_menu_contents ( s32 * userData,
s32 baseX,
s32 baseY,
s32 width,
s32 height,
s32 opacity,
s32 darkening )

Definition at line 1389 of file 8a860_len_3f30.c.

1389 {
1390 s32 x, y;
1391 s32 x1, y1;
1392 s32 offset;
1393 s32 sp28;
1394 s32 dy;
1395 s32 i, j;
1396 s32 id;
1397 s32 msgPal;
1398 s32 a0;
1399 s32 v0;
1400 s32 t;
1401
1402 switch (gPopupState) {
1403 case POPUP_STATE_10:
1412 case POPUP_STATE_20:
1417 case POPUP_STATE_104:
1418 case POPUP_STATE_105:
1419 break;
1420 default:
1421 return;
1422 }
1423
1424 baseX += 2;
1425 baseY += 15;
1427 y1 = D_8010D658;
1428 dy = y - y1;
1429
1430 if (dy < 130) {
1431 dy *= 0.5;
1432 } else {
1433 dy = dy * 100 / 150;
1434 }
1435 if (dy != 0) {
1436 y1 += dy;
1437 } else {
1438 y1 = y;
1439 }
1440 D_8010D658 = y1;
1441 sp28 = -D_8010D658 / LINE_HEIGHT;
1442
1443 x = baseX;
1444 y = baseY;
1446 switch (gPopupMenu->popupType) {
1448#if VERSION_JP
1450#endif
1459 case POPUP_MENU_USEKEY:
1461 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 112, y1);
1462 break;
1465 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 90, y1);
1466 break;
1467#if !VERSION_JP
1469 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 160, y1);
1470 break;
1471#endif
1472 }
1473
1474 y = baseY + D_8010D658 + 8;
1476 y = baseY + D_8010D658 + 21;
1477 }
1479 hud_element_set_render_pos(id, baseX + EMPTY_BAR_X, y - 3);
1481 if (PopupMenu_MaxDisplayableEntryCount < gPopupMenu->numEntries) {
1483 }
1484 x = baseX;
1485 y = baseY + 2;
1488 y = baseY;
1489 y1++;
1490 }
1491
1492#if VERSION_JP
1493 switch (gPopupMenu->popupType) {
1502 case POPUP_MENU_USEKEY:
1504 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 112, y1);
1505 break;
1507 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 98, y1);
1508 break;
1510 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 144, y1);
1511 break;
1513 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 144, y1);
1514 break;
1516 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 140, y1);
1517 break;
1518 }
1519#else
1520 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + PopupContentScissorWidths[gPopupMenu->popupType], y1);
1521#endif
1522
1523 x = baseX + 32;
1524 y = baseY + D_8010D658 + 2;
1525 offset = 0;
1527 y = baseY + D_8010D658;
1528 offset = 2;
1529 }
1530
1531 t = 0;
1532 for (i = 0; i < gPopupMenu->numEntries; i++, t++) {
1533 if (sp28 - 1 > i || sp28 + PopupMenu_DisplayedEntryCount < i) {
1534 y += LINE_HEIGHT;
1535 if (i == 0) {
1536 y += offset;
1537 }
1538 } else {
1539 msgPal = D_8010D690;
1541 msgPal = MSG_PAL_STANDARD;
1542 }
1543 if (gPopupMenu->enabled[t] == 0) {
1544 msgPal = MSG_PAL_0B;
1545 }
1546 switch (gPopupMenu->popupType) {
1554 case POPUP_MENU_USEKEY:
1557 break;
1561 break;
1563 if (gPopupMenu->enabled[t] == 2) {
1564 msgPal = MSG_PAL_22;
1565 }
1567 break;
1569 if (gPopupMenu->value[t] != 0) {
1570 msgPal = MSG_PAL_0B;
1571 } else {
1572 msgPal = MSG_PAL_STANDARD;
1573 }
1575 draw_msg(MSG_Menus_00CD, x + DIARY_PAGE_X, y, PopupMenu_Alpha, msgPal, DRAW_MSG_STYLE_MENU);
1576 break;
1578 if (gPopupMenu->value[t] != 0) {
1579 msgPal = MSG_PAL_0B;
1580 } else {
1581 msgPal = MSG_PAL_STANDARD;
1582 }
1583 a0 = gPopupMenu->nameMsg[t];
1584 draw_msg(a0, x, y, PopupMenu_Alpha, msgPal, DRAW_MSG_STYLE_MENU);
1585 break;
1586 }
1587 switch (gPopupMenu->popupType) {
1590 for (j = 0; j < ARRAY_COUNT(D_80109890); j++) {
1592
1593 if (gPopupMenu->enabled[i]) {
1595 } else {
1597 }
1599 hud_element_set_render_pos(id, x + PARTNER_LIST_X1 + j * 13, y + 10);
1600 } else {
1601 hud_element_set_render_pos(id, x + PARTNER_LIST_X2 + j * 13, y + 10);
1602 }
1603 if (j < gPopupMenu->value[i]) {
1605 }
1606 }
1607 break;
1610 break;
1613 break;
1614 }
1615 y += LINE_HEIGHT;
1616 if (i == 0) {
1617 y += offset;
1618 }
1619 }
1620 }
1621
1622 x = baseX + 24;
1623 y = baseY + D_8010D658 + MENU_OFFSET_Y1;
1624 offset = 0;
1626 y = baseY + D_8010D658 + MENU_OFFSET_Y2;
1627 offset = 2;
1628 }
1629
1630 switch (gPopupMenu->popupType) {
1641 case POPUP_MENU_USEKEY:
1643 for (i = 0; i < gPopupMenu->numEntries; i++) {
1644 if (sp28 - 1 > i || sp28 + PopupMenu_DisplayedEntryCount < i) {
1645 y += LINE_HEIGHT;
1646 if (i == 0) {
1647 y += offset;
1648 }
1649 } else {
1654 hud_element_set_scale(id, 0.45f);
1656 y += LINE_HEIGHT;
1657 if (i == 0) {
1658 y += offset;
1659 }
1660 }
1661 }
1662 break;
1664 for (i = 0; i < gPopupMenu->numEntries; i++) {
1665 if (sp28 - 1 > i || sp28 + PopupMenu_DisplayedEntryCount < i) {
1666 y += LINE_HEIGHT;
1667 if (i == 0) {
1668 y += offset;
1669 }
1670 } else {
1675 hud_element_set_scale(id, 0.45f);
1677 y += LINE_HEIGHT;
1678 if (i == 0) {
1679 y += offset;
1680 }
1681 }
1682 }
1683 break;
1685 for (i = 0; i < gPopupMenu->numEntries; i++) {
1686 if (sp28 - 1 > i || sp28 + PopupMenu_DisplayedEntryCount < i) {
1687 y += LINE_HEIGHT;
1688 if (i == 0) {
1689 y += offset;
1690 }
1691 } else {
1696 hud_element_set_scale(id, 0.45f);
1698 y += LINE_HEIGHT;
1699 if (i == 0) {
1700 y += offset;
1701 }
1702 }
1703 }
1704 break;
1705 }
1706
1708 x = baseX + 8;
1709 y = baseY + 9 + v0;
1711
1713 y -= 2;
1714 }
1718
1719 x = baseX;
1720 y = baseY - 6;
1722 switch (gPopupMenu->popupType) {
1733 case POPUP_MENU_USEKEY:
1735 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + 112, y1);
1736 break;
1739 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x, y, x + POPUP_PARTNER_WIDTH, y1);
1740 break;
1741 }
1742
1743 switch (gPopupMenu->popupType) {
1744#if VERSION_JP
1746 offset = 31;
1747 break;
1749 offset = 32;
1750 break;
1752 offset = 31;
1753 break;
1754 default:
1755 offset = 31;
1756 break;
1760 offset = 31;
1761 break;
1762 case POPUP_MENU_USEKEY:
1763 offset = 31;
1764 break;
1766 offset = 13;
1767 break;
1769 offset = 21;
1770 break;
1773 offset = 14;
1774 break;
1775#else
1777 offset = 35;
1778 break;
1781 offset = 35;
1782 break;
1784 offset = 31;
1785 break;
1787 offset = 31;
1788 break;
1792 offset = 31;
1793 break;
1794 default:
1795 offset = 37;
1796 break;
1798 offset = 29;
1799 break;
1801 offset = 21;
1802 break;
1805 offset = 30;
1806 break;
1807#endif
1808 }
1809
1812 x = baseX + offset;
1813 y = baseY;
1814 hud_element_set_render_pos(id, x + 35, y - 1);
1817 }
1818
1819 if (PopupMenu_LastDisplayIndex < gPopupMenu->numEntries) {
1821 x = baseX + offset;
1822 y = baseY;
1824 hud_element_set_render_pos(id, x + 35, y + 5);
1827 }
1828}
BSS s8 D_8010D690
s16 PopupContentScissorWidths[]
#define DIARY_PAGE_X
BSS s32 PopupMenu_Alpha
#define BADGE_PRICE_X
#define MENU_OFFSET_Y1
#define EMPTY_BAR_X
#define PARTNER_LIST_X2
BSS s8 PopupMenu_FirstDisplayIndex
BSS s8 PopupMenu_DisplayedEntryCount
BSS s32 PopupMenu_PartnerLevelHEID
#define ITEM_PRICE_X
HudScript * D_80109890[]
BSS s32 PopupMenu_UpArrowHEID
#define LINE_HEIGHT
BSS s16 D_8010D658
BSS s32 PopupMenu_CursorHEID
#define PARTNER_LIST_X1
BSS s32 PopupMenu_EntryIconHEID
HudScript * D_80109898[]
BSS s32 gPopupState
BSS s32 PopupMenu_SelectedIndex
#define MENU_OFFSET_Y2
BSS s32 PopupMenu_DownArrowHEID
BSS PopupMenu * gPopupMenu
#define POPUP_PARTNER_WIDTH
BSS s8 PopupMenu_MaxDisplayableEntryCount
BSS s32 PopupMenu_EmptybarHEID
#define draw_msg
@ DRAW_MSG_STYLE_MENU
Definition enums.h:5385
@ DRAW_NUMBER_STYLE_MONOSPACE_RIGHT
Definition enums.h:5395
@ POPUP_MENU_TRADE_FOR_BADGE
Definition enums.h:3134
@ POPUP_MENU_READ_DIARY_PAGE
Definition enums.h:3141
@ POPUP_MENU_SELL_ITEM
Definition enums.h:3136
@ POPUP_MENU_CHECK_ITEM
Definition enums.h:3137
@ POPUP_MENU_POST_OFFICE
Definition enums.h:3144
@ POPUP_MENU_USE_ITEM
Definition enums.h:3131
@ POPUP_MENU_TAKE_FROM_CHEST
Definition enums.h:3140
@ POPUP_MENU_USEKEY
Definition enums.h:3143
@ POPUP_MENU_CLAIM_ITEM
Definition enums.h:3138
@ POPUP_MENU_READ_LETTER
Definition enums.h:3139
@ POPUP_MENU_UPGRADE_PARTNER
Definition enums.h:3135
@ POPUP_MENU_THROW_AWAY_ITEM
Definition enums.h:3133
@ POPUP_MENU_SWITCH_PARTNER
Definition enums.h:3132
@ POPUP_MENU_READ_POSTCARD
Definition enums.h:3142
@ MSG_PAL_22
Definition enums.h:5439
@ MSG_PAL_STANDARD
Definition enums.h:5415
@ MSG_PAL_0B
Definition enums.h:5416
@ POPUP_STATE_CHOSE_SWAP
Definition enums.h:3169
@ POPUP_STATE_MINUS_8
Definition enums.h:3171
@ POPUP_STATE_10
Definition enums.h:3152
@ POPUP_STATE_104
Definition enums.h:3162
@ POPUP_STATE_CHOSE_WORLD
Definition enums.h:3164
@ POPUP_STATE_ALREADY_HAVE_PARTNER_SHOW
Definition enums.h:3156
@ POPUP_STATE_105
Definition enums.h:3163
@ POPUP_STATE_CHOOSING
Definition enums.h:3151
@ POPUP_STATE_ALREADY_HAVE_PARTNER_BEGIN
Definition enums.h:3155
@ POPUP_STATE_CANCEL_DIP
Definition enums.h:3158
@ POPUP_STATE_CANCEL_DIP_DECLINE
Definition enums.h:3161
@ POPUP_STATE_CANCEL_DIP_AWAIT_CHOICE
Definition enums.h:3159
@ POPUP_STATE_CHOSE_BATTLE
Definition enums.h:3165
@ POPUP_STATE_MINUS_7
Definition enums.h:3170
@ POPUP_STATE_20
Definition enums.h:3154
@ POPUP_STATE_CANCEL_DIP_ACCEPT
Definition enums.h:3160
void set_message_int_var(s32 value, s32 index)
Definition msg.c:1550
void draw_number(s32 value, s32 x, s32 y, s32 variableWidthChars, s32 palette, s32 opacity, u16 style)
Definition msg.c:2223
void hud_element_set_scale(s32 index, f32 scale)
void hud_element_set_alpha(s32 id, s32 opacity)
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 userIndex[32]
s32 nameMsg[32]
HudScript * ptrIcon[32]
s32 value[32]
s32 enabled[32]
#define ARRAY_COUNT(arr)
Definition macros.h:40
Gfx * gMainGfxPos
Definition cam_main.c:15

Referenced by popup_menu_update().

◆ popup_menu_draw_title_contents()

void popup_menu_draw_title_contents ( s32 * userData,
s32 baseX,
s32 baseY,
s32 width,
s32 height,
s32 opacity,
s32 darkening )

Definition at line 1883 of file 8a860_len_3f30.c.

1885{
1886 switch (gPopupMenu->popupType) {
1892 switch (gPopupMenu->dipMode) {
1893 case 0:
1894#if VERSION_JP
1895 draw_msg(MSG_Menus_JP_004F, baseX + POPUP_ITEM_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1896#else
1897 draw_msg(MSG_Menus_Items, baseX + POPUP_ITEM_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1898#endif
1899 break;
1900 case 1:
1901 draw_msg(MSG_Menus_DoubleDip, baseX + 4, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1905 break;
1906 case 2:
1907 draw_msg(MSG_Menus_TripleDip, baseX + POPUP_TRIPLE_DIP_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1912 break;
1913 }
1914 break;
1916 draw_msg(MSG_MenuTip_0032, baseX + POPUP_BADGE_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1917 break;
1918#if VERSION_JP
1920 draw_msg(MSG_Menus_PartyMember, baseX + 20, baseY + 2, PopupMenu_Alpha, MSG_PAL_34, DRAW_MSG_STYLE_MENU);
1921 break;
1922#endif
1924 draw_msg(MSG_MenuTip_0033, baseX + 23, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1925 break;
1927 draw_msg(MSG_Menus_00D7, baseX + POPUP_CHEST_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1928 break;
1930 draw_msg(MSG_Menus_00CE, baseX + 8, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1931 break;
1933 draw_msg(MSG_Menus_00D0, baseX + POPUP_POSTCARD_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1934 break;
1935 case POPUP_MENU_USEKEY:
1936#if VERSION_JP
1937 draw_msg(MSG_Menus_KeyItems, baseX + POPUP_ITEM_KEY_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1938#else
1939 draw_msg(MSG_Menus_Items, baseX + POPUP_ITEM_KEY_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_32, DRAW_MSG_STYLE_MENU);
1940#endif
1941 break;
1943#if !VERSION_JP
1945#endif
1947 draw_msg(MSG_Menus_PartyMember, baseX + POPUP_POSTOFFICE_X, baseY + 2, PopupMenu_Alpha, MSG_PAL_34, DRAW_MSG_STYLE_MENU);
1948 break;
1949 }
1950}
#define POPUP_ITEMDIP_X
#define POPUP_POSTOFFICE_X
#define POPUP_TRIPLE_DIP_X
#define POPUP_BADGE_X
#define POPUP_ITEM_X
#define POPUP_POSTCARD_X
#define POPUP_CHEST_X
#define POPUP_ITEM_KEY_X
#define POPUP_ITEMDIP_NUMBER_X
@ DRAW_NUMBER_STYLE_ALIGN_RIGHT
drawn to the left of posX
Definition enums.h:5393
@ DRAW_NUMBER_STYLE_MONOSPACE
Definition enums.h:5394
@ MSG_PAL_34
Definition enums.h:5457
@ MSG_PAL_32
Definition enums.h:5455
@ DRAW_NUMBER_CHARSET_THIN
Definition enums.h:5401
s32 titleNumber

Referenced by popup_menu_update().

◆ func_800F48F4()

void func_800F48F4 ( s32 * userData,
s32 baseX,
s32 baseY,
s32 width,
s32 height,
s32 opacity,
s32 darkening )

Definition at line 1953 of file 8a860_len_3f30.c.

1953 {
1955}
s32 descMsg[32]

Referenced by popup_menu_update().

◆ func_800F4944()

void func_800F4944 ( s32 * userData,
s32 baseX,
s32 baseY,
s32 width,
s32 height,
s32 opacity,
s32 darkening )

Definition at line 1972 of file 8a860_len_3f30.c.

1972 {
1973 s32 msgWidth;
1974
1975#if VERSION_JP
1976 baseY += 6;
1977
1978 if (PopupNotBattle) {
1979 switch (gPopupMenu->popupType) {
1981 msgWidth = get_msg_width(MSG_Menus_0061, 0) + 18;
1982 baseX += 76 - (msgWidth / 2);
1983 draw_msg(MSG_Menus_0061, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
1984 break;
1986 msgWidth = get_msg_width(MSG_Menus_0063, 0) + 18;
1987 baseX += 76 - (msgWidth / 2);
1988 draw_msg(MSG_Menus_0063, baseX + 8, baseY + 2, 255, MSG_PAL_0F, 0);
1989 break;
1991 msgWidth = get_msg_width(MSG_Menus_0064, 0) + 18;
1992 baseX += 76 - (msgWidth / 2);
1993 draw_msg(MSG_Menus_0064, baseX + 4, baseY + 2, 255, MSG_PAL_0F, 0);
1994 break;
1996 msgWidth = get_msg_width(MSG_Menus_0070, 0) + 18;
1997 baseX += 76 - (msgWidth / 2);
1998 draw_msg(MSG_Menus_0070, baseX + 4, baseY + 2, 255, MSG_PAL_0F, 0);
1999 break;
2001 msgWidth = get_msg_width(MSG_Menus_006A, 0) + 18;
2002 baseX += 76 - (msgWidth / 2);
2003 draw_msg(MSG_Menus_006A, baseX + 4, baseY + 2, 255, MSG_PAL_0F, 0);
2004 break;
2006 msgWidth = get_msg_width(MSG_Menus_0065, 0) + 18;
2007 baseX += 76 - (msgWidth / 2);
2008 draw_msg(MSG_Menus_0065, baseX - 4, baseY + 2, 255, MSG_PAL_0F, 0);
2009 break;
2011 msgWidth = get_msg_width(MSG_Menus_0066, 0) + 18;
2012 baseX += 76 - (msgWidth / 2);
2013 draw_msg(MSG_Menus_0066, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
2014 break;
2016 msgWidth = get_msg_width(MSG_Menus_0067, 0) + 18;
2017 baseX += 76 - (msgWidth / 2);
2018 draw_msg(MSG_Menus_0067, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
2019 break;
2021 msgWidth = get_msg_width(MSG_Menus_JP_0081, 0) + 18;
2022 baseX += 76 - (msgWidth / 2);
2023 draw_msg(MSG_Menus_JP_0081, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
2024 break;
2026 msgWidth = get_msg_width(MSG_Menus_00D6, 0) + 18;
2027 baseX += 76 - (msgWidth / 2);
2028 draw_msg(MSG_Menus_00D6, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
2029 break;
2031 msgWidth = get_msg_width(MSG_Menus_006C, 0) + 18;
2032 baseX += 76 - (msgWidth / 2);
2033 draw_msg(MSG_Menus_006C, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
2034 break;
2036 msgWidth = get_msg_width(MSG_Menus_006D, 0) + 18;
2037 baseX += 76 - (msgWidth / 2);
2038 draw_msg(MSG_Menus_006D, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
2039 break;
2040 case POPUP_MENU_USEKEY:
2041 msgWidth = get_msg_width(MSG_Menus_0062, 0) + 18;
2042 baseX += 76 - (msgWidth / 2);
2043 draw_msg(MSG_Menus_0062, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
2044 break;
2046 msgWidth = get_msg_width(MSG_Menus_006F, 0) + 18;
2047 baseX += 76 - (msgWidth / 2);
2048 draw_msg(MSG_Menus_006F, baseX + 6, baseY + 2, 255, MSG_PAL_0F, 0);
2049 break;
2050 }
2051 }
2052#else
2053 baseY += 7;
2054
2055 if (PopupNotBattle) {
2056 switch (gPopupMenu->popupType) {
2058 msgWidth = get_msg_width(MSG_Menus_0061, 0);
2059 baseX += 72 - (msgWidth / 2);
2060 draw_msg(MSG_Menus_0061, baseX, baseY, 255, MSG_PAL_0F, 0);
2061 break;
2063 msgWidth = get_msg_width(MSG_Menus_0063, 0);
2064 baseX += 72 - (msgWidth / 2);
2065 draw_msg(MSG_Menus_0063, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
2066 break;
2068 msgWidth = get_msg_width(MSG_Menus_0064, 0);
2069 baseX += 72 - (msgWidth / 2);
2070 draw_msg(MSG_Menus_0064, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
2071 break;
2073 msgWidth = get_msg_width(MSG_Menus_0070, 0);
2074 baseX += 64 - (msgWidth / 2);
2075 draw_msg(MSG_Menus_0070, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
2076 break;
2078 msgWidth = get_msg_width(MSG_Menus_006A, 0);
2079 baseX += 68 - (msgWidth / 2);
2080 draw_msg(MSG_Menus_006A, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
2081 break;
2083 msgWidth = get_msg_width(MSG_Menus_0065, 0);
2084 baseX += 60 - (msgWidth / 2);
2085 draw_msg(MSG_Menus_0065, baseX, baseY, 255, MSG_PAL_0F, 0);
2086 break;
2088 msgWidth = get_msg_width(MSG_Menus_0066, 0);
2089 baseX += 72 - (msgWidth / 2);
2090 draw_msg(MSG_Menus_0066, baseX, baseY, 255, MSG_PAL_0F, 0);
2091 break;
2093 msgWidth = get_msg_width(MSG_Menus_0067, 0);
2094 baseX += 72 - (msgWidth / 2);
2095 draw_msg(MSG_Menus_0067, baseX, baseY, 255, MSG_PAL_0F, 0);
2096 break;
2098 msgWidth = get_msg_width(MSG_Menus_006F, 0);
2099 baseX += 72 - (msgWidth / 2);
2100 draw_msg(MSG_Menus_006F, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
2101 break;
2103 msgWidth = get_msg_width(MSG_Menus_006D, 0);
2104 baseX += 56 - (msgWidth / 2);
2105 draw_msg(MSG_Menus_006D, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
2106 break;
2108 msgWidth = get_msg_width(MSG_Menus_00D6, 0);
2109 baseX += 72 - (msgWidth / 2);
2110 draw_msg(MSG_Menus_00D6, baseX, baseY, 255, MSG_PAL_0F, 0);
2111 break;
2113 msgWidth = get_msg_width(MSG_Menus_006C, 0);
2114 baseX += 64 - (msgWidth / 2);
2115 draw_msg(MSG_Menus_006C, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
2116 break;
2118 msgWidth = get_msg_width(MSG_Menus_006D, 0);
2119 baseX += 64 - (msgWidth / 2);
2120 draw_msg(MSG_Menus_006D, baseX, baseY - 4, 255, MSG_PAL_0F, 0);
2121 break;
2122 case POPUP_MENU_USEKEY:
2123 msgWidth = get_msg_width(MSG_Menus_0062, 0);
2124 baseX += 72 - (msgWidth / 2);
2125 draw_msg(MSG_Menus_0062, baseX, baseY, 255, MSG_PAL_0F, 0);
2126 break;
2127 }
2128 }
2129#endif
2130}
BSS s8 PopupNotBattle
#define get_msg_width
@ MSG_PAL_0F
Definition enums.h:5420

Referenced by popup_menu_update().

◆ func_800F4C1C()

void func_800F4C1C ( s32 * userData,
s32 x,
s32 y )

Definition at line 2139 of file 8a860_len_3f30.c.

2139 {
2140 s32 xPos = x + X_800F4C1C;
2141 s32 yPos = y + 8;
2142 s32 msg;
2143
2144 if (PopupDipMode == 1) {
2145 msg = MSG_Menus_0068;
2146 } else {
2147 msg = MSG_Menus_0069;
2148 }
2149
2150#if VERSION_PAL
2151 if (get_msg_lines(msg) != 1) {
2152 yPos -= 4;
2153 }
2154#endif
2155 draw_msg(msg, xPos, yPos, 255, MSG_PAL_0F, 0);
2156}
BSS s8 PopupDipMode
#define X_800F4C1C
s32 get_msg_lines(s32 messageID)
Definition msg.c:1979

Referenced by popup_menu_update().

◆ popup_draw_cost_icon()

void popup_draw_cost_icon ( s32 * userData,
s32 x,
s32 y )

Definition at line 2158 of file 8a860_len_3f30.c.

2158 {
2159 s32 hudElement;
2160 s32 xPos;
2161 s32 yPos;
2162
2163 switch (gPopupMenu->popupType) {
2165 xPos = x + 16;
2166 hudElement = PopupMenu_TitleIconHEID;
2167 yPos = y + 16;
2168 break;
2169#if VERSION_JP
2171 draw_msg(MSG_Menus_006E, x + 7, y + 2, PopupMenu_Alpha, MSG_PAL_34, 1);
2172 return;
2173#endif
2175 xPos = x + 17;
2176 hudElement = PopupMenu_TitleIconHEID;
2177 yPos = y + 17;
2178 break;
2179 default:
2180 return;
2181 }
2182
2183 hud_element_set_render_pos(hudElement, xPos, yPos);
2185 hud_element_draw_clipped(hudElement);
2186}
BSS s32 PopupMenu_TitleIconHEID
void hud_element_draw_clipped(s32 id)

Referenced by popup_menu_update().

◆ popup_draw_already_have_partner()

void popup_draw_already_have_partner ( s32 * userData,
s32 x,
s32 y )

Definition at line 2188 of file 8a860_len_3f30.c.

2188 {
2189#if VERSION_JP
2190 draw_msg(MSG_Menus_006B, x + 11, y + 8, 255, MSG_PAL_0F, 0);
2191#else
2192 draw_msg(MSG_Menus_006B, x + 16, y + 2, 255, MSG_PAL_0F, 0);
2193#endif
2194}

Referenced by popup_menu_update().

◆ func_800F4D28()

void func_800F4D28 ( s32 * userData,
s32 x,
s32 y )

Definition at line 2196 of file 8a860_len_3f30.c.

2196 {
2197 s32 hudElement = PopupMenu_TitleIconHEID;
2198 PlayerData* playerData = &gPlayerData;
2199 s32 xPos = x + 14;
2200 s32 yPos = y + 9;
2201 s32 type;
2202
2204
2206 hud_element_set_render_pos(hudElement, xPos, yPos);
2207 } else {
2208 hud_element_set_render_pos(hudElement, xPos, y + 10);
2209 }
2210
2211 hud_element_draw_clipped(hudElement);
2212
2213 hudElement = PopupMenu_TimesHEID;
2214 hud_element_set_render_pos(hudElement, x + 26, y + 11);
2216 hud_element_draw_clipped(hudElement);
2217
2218 type = gPopupMenu->popupType;
2219 if (type == POPUP_TYPE_TRADE_FOR_BADGE) {
2221 }
2222}
BSS s32 PopupMenu_TimesHEID
PlayerData gPlayerData
Definition 77480.c:40

Referenced by popup_menu_update().

◆ hide_popup_menu()

void hide_popup_menu ( void )

Definition at line 150 of file 8a860_len_3f30.c.

150 {
151 if (PopupNotBattle) {
152 switch (gPopupMenu->popupType) {
166 break;
171 break;
172 }
174 } else {
175 switch (gPopupMenu->popupType) {
189 break;
194 break;
195 }
196 }
197
201 }
204 }
208 }
211}
BSS s32 D_8010D644
BSS s8 D_8010D692
@ WINDOW_UPDATE_HIDE
Definition enums.h:5312
@ WIN_CURRENCY_COUNTER
Definition enums.h:5261
@ WIN_POPUP_DESC
Definition enums.h:5260
@ WIN_POPUP_CONTENT
Definition enums.h:5255
@ WIN_POPUP_COST
Definition enums.h:5257
@ WIN_POPUP_PROMPT
Definition enums.h:5262
@ WIN_PARTNER_COST
Definition enums.h:5259
void basic_hidden_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:184
void set_window_update(s32 panelID, s32)
Definition windows.c:434

Referenced by btl_state_update_partner_menu(), btl_state_update_player_menu(), check_input_open_menus(), shop_update_item_select_popup(), and update_item_entity_pickup().

◆ destroy_popup_menu()

void destroy_popup_menu ( void )

Definition at line 213 of file 8a860_len_3f30.c.

213 {
219
223 }
224
228 }
229
232 }
233
236 }
237
247 }
249 }
250
252}
BSS s8 PopupMenu_WasStatusBarIgnoringChanges
@ CONTEXT_WORLD
Definition enums.h:3529
@ POPUP_STATE_MINUS_4
Definition enums.h:3167
void close_status_bar(void)
Definition inventory.c:1440
void status_bar_respond_to_changes(void)
Definition inventory.c:1508
void hud_element_free(s32 id)
GameStatus * gGameStatusPtr
Definition main_loop.c:32

Referenced by btl_state_update_partner_menu(), btl_state_update_player_menu(), check_input_open_menus(), popup_menu_update(), shop_close_item_select_popup(), and update_item_entity_pickup().

◆ func_800F16CC()

void func_800F16CC ( void )

Definition at line 254 of file 8a860_len_3f30.c.

254 {
255 if (PopupNotBattle) {
256 switch (gPopupMenu->popupType) {
269 break;
275 break;
281 break;
282 }
284 } else {
285 switch (gPopupMenu->popupType) {
297 break;
302 break;
307 break;
308 }
309 }
310
314 }
317 }
320 }
326
330 }
334 }
337 }
340 }
344}
@ WINDOW_UPDATE_SHOW
Definition enums.h:5311
@ SOUND_OPEN_POPUP_1
Definition enums.h:548
@ SOUND_OPEN_POPUP_2
Definition enums.h:549
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
HudScript HES_AnimatedHandPointer
void hud_element_set_tint(s32 id, s32 r, s32 g, s32 b)
void sfx_play_sound(s32 soundID)
Definition sfx.c:517

Referenced by btl_state_update_partner_menu(), and btl_state_update_player_menu().

◆ popup_menu_update()

s32 popup_menu_update ( void )

Definition at line 350 of file 8a860_len_3f30.c.

350 {
351 s32 posX;
352 s32 posY;
353 s32 width;
354 s32 height;
355 s32 elementID;
356 s32 cond;
357 s32 buttons;
358 s32 msgID;
359 s32 one;
360 s32 i;
361
362 s32 var_s5 = 0;
363 s32 var_s6 = 0; // maybe 6 before 5
364 s32 msgWidth;
365 s32 width2;
366 s32 posX2;
367
368 switch (gPopupState) {
369 case POPUP_STATE_INIT:
370#if VERSION_JP
371 D_8010D67C = 32;
372 D_8010D67E = 72;
373 D_8010D680 = 32;
375#else
376 D_8010D67C = 20;
377 D_8010D67E = 72;
378 D_8010D680 = 20;
379#endif
380 D_8010D682 = 186;
381 D_8010D684 = 16;
382 D_8010D686 = 88;
383#if !VERSION_JP
385#endif
387 if (PopupNotBattle) {
388#if VERSION_JP
389
390 switch (gPopupMenu->popupType) {
398 D_8010D67C += 144;
399 break;
401 D_8010D67C += 122;
402 break;
404 D_8010D67C += 134;
405 break;
407 D_8010D67C += 122;
408 break;
413 D_8010D67C += 160;
414 break;
415 }
416#else
418#endif
419 }
421#if VERSION_JP
422 D_8010D67E -= 10;
423#else
424 D_8010D67E = 62;
425#endif
426 }
427 D_8010D68C = 0;
428 elementID = hud_element_create(&HES_EmptyBar);
429 PopupMenu_EmptybarHEID = elementID;
431 hud_element_set_tint(elementID, 255, 255, 255);
434 }
435
436 one = POPUP_MENU_SWITCH_PARTNER; // required to match (why is 1 loaded so early?)
437 elementID = hud_element_create(gPopupMenu->ptrIcon[0]);
438 PopupMenu_EntryIconHEID = elementID;
439 hud_element_set_scale(elementID, 0.45f);
441
443 PopupMenu_CursorHEID = elementID;
445
447 PopupMenu_UpArrowHEID = elementID;
449
451 PopupMenu_DownArrowHEID = elementID;
453
456 elementID = PopupMenu_TitleIconHEID;
458 hud_element_set_tint(elementID, 255, 255, 255);
459 }
462 elementID = PopupMenu_TitleIconHEID;
464 hud_element_set_tint(elementID, 255, 255, 255);
465 }
468 elementID = PopupMenu_TitleIconHEID;
470 hud_element_set_tint(elementID, 255, 255, 255);
471 }
474 elementID = PopupMenu_TimesHEID;
476 hud_element_set_tint(elementID, 255, 255, 255);
477 }
480 elementID = PopupMenu_PartnerLevelHEID;
482 hud_element_set_tint(elementID, 255, 255, 255);
483 }
484
485 D_8010D65A = -200;
487 if (!PopupNotBattle) {
488 D_8010D644 = 1;
489 }
491
492 posX = D_8010D67C;
493 posY = D_8010D67E;
494
495#if VERSION_PAL
496 gPopupMenu->unk_338 = 0;
497 gPopupMenu->unk_340 = 0;
498
499 switch (gPopupMenu->popupType) {
501 gPopupMenu->unk_33C = MSG_Menus_0061;
502 switch (gPopupMenu->dipMode) {
503 case 0:
504 gPopupMenu->unk_330 = MSG_Menus_Items;
505 break;
506 case 1:
507 gPopupMenu->unk_330 = MSG_Menus_DoubleDip;
508 break;
509 case 2:
510 gPopupMenu->unk_330 = MSG_Menus_TripleDip;
511 break;
512 }
514 gPopupMenu->unk_330 = MSG_Menus_Items;
515 gPopupMenu->unk_33C = MSG_Menus_0064;
517 gPopupMenu->unk_330 = MSG_Menus_Items;
518 gPopupMenu->unk_33C = MSG_Menus_0066;
520 gPopupMenu->unk_330 = MSG_Menus_Items;
521 gPopupMenu->unk_33C = MSG_Menus_0067;
523 var_s6 = 145;
524 var_s5 = 145;
525 gPopupMenu->unk_33C = MSG_Menus_0062;
526 gPopupMenu->unk_330 = MSG_Menus_Items;
527 break;
529 var_s6 = 139;
530 var_s5 = 139;
531 gPopupMenu->unk_330 = MSG_Menus_PartyMember;
532 gPopupMenu->unk_338 = 1;
533 gPopupMenu->unk_33C = MSG_Menus_0063;
534 break;
536 var_s6 = 162;
537 var_s5 = 140;
538 gPopupMenu->unk_340 = -16;
539 gPopupMenu->unk_330 = MSG_MenuTip_0032;
540 gPopupMenu->unk_33C = MSG_Menus_0070;
541 break;
543 var_s6 = 146;
544 var_s5 = 140;
545 gPopupMenu->unk_340 = -8;
546 gPopupMenu->unk_330 = MSG_Menus_PartyMember;
547 gPopupMenu->unk_338 = 1;
548 gPopupMenu->unk_33C = MSG_Menus_006A;
549 break;
551 var_s6 = 167;
552 var_s5 = 145;
553 gPopupMenu->unk_340 = -24;
554 gPopupMenu->unk_330 = MSG_Menus_Items;
555 gPopupMenu->unk_33C = MSG_Menus_0065;
556 break;
558 var_s6 = 170;
559 var_s5 = 170;
560 gPopupMenu->unk_340 = -32;
561 gPopupMenu->unk_330 = MSG_MenuTip_0033;
562 gPopupMenu->unk_33C = MSG_Menus_006D;
563 break;
565 var_s6 = 145;
566 var_s5 = 145;
567 gPopupMenu->unk_330 = MSG_Menus_00D7;
568 gPopupMenu->unk_33C = MSG_Menus_00D6;
569 break;
571 var_s6 = 140;
572 var_s5 = 140;
573 gPopupMenu->unk_340 = -16;
574 gPopupMenu->unk_330 = MSG_Menus_00CE;
575 gPopupMenu->unk_33C = MSG_Menus_006C;
576 break;
578 var_s6 = 149;
579 var_s5 = 149;
580 gPopupMenu->unk_340 = -16;
581 gPopupMenu->unk_330 = MSG_Menus_00D0;
582 gPopupMenu->unk_33C = MSG_Menus_006D;
583 break;
585 var_s6 = 131;
586 var_s5 = 131;
587 gPopupMenu->unk_330 = MSG_Menus_PartyMember;
588 gPopupMenu->unk_338 = 1;
589 gPopupMenu->unk_33C = MSG_Menus_006F;
590 break;
591 }
592 msgWidth = get_msg_width(gPopupMenu->unk_330, 0);
593 width2 = msgWidth + (((var_s5 - msgWidth) * 2) / 5);
594 posX2 = (var_s5 - width2) / 2;
595 gPopupMenu->unk_334 = (width2 - msgWidth) / 2;
597 width2 = 125;
598 posX2 = (var_s5 - width2) / 2;
599 gPopupMenu->unk_334 = (80 - msgWidth) / 2;
600 }
603 if (gPopupMenu->unk_338 == 0) {
608 } else {
613 }
614#elif VERSION_JP
615 switch (gPopupMenu->popupType) {
626 break;
632 break;
638 break;
644 break;
650 break;
656 break;
662 break;
668 break;
674 break;
675 }
676#else
677 switch (gPopupMenu->popupType) {
684 if (gPopupMenu->dipMode == 0) {
686 } else {
688 }
691 break;
697 break;
703 break;
709 break;
715 break;
721 break;
727 break;
733 break;
739 break;
745 break;
746 }
747#endif
748
749#if VERSION_JP
750 switch (gPopupMenu->popupType) {
753 break;
756 break;
759 break;
760 }
761#else
762 switch (gPopupMenu->popupType) {
765 break;
768 break;
769 }
770#endif
771
776 }
777
778 do {
779 cond = FALSE;
786 }
787 } else {
788 cond = TRUE;
789 }
790 }
791 } while (cond);
792
797 {
798 posX = D_8010D680;
799 posY = D_8010D682;
801 }
802
803 posX = D_8010D684;
804 posY = D_8010D686;
805
806#if VERSION_PAL
807 height = 32;
808 if (get_msg_lines(gPopupMenu->unk_33C) == 2) {
809 height = 40;
810 }
811 set_window_properties(WIN_POPUP_PROMPT, posX, posY, gPopupMenu->unk_340 + 144, height, WINDOW_PRIORITY_20, func_800F4944, NULL, -1);
812#else
813 switch (gPopupMenu->popupType) {
814#if VERSION_JP
826 switch (gPopupMenu->dipMode) {
827 case 0:
829 break;
830 case 1:
832 break;
833 case 2:
835 break;
836 }
837 break;
840 break;
843 break;
846 break;
847#else
854 break;
859 break;
864 break;
867 break;
870 break;
873 break;
874#endif
875 }
876#endif
877
878 if (!PopupNotBattle) {
879 switch (gPopupMenu->popupType) {
891 break;
896 break;
901 break;
902 }
903 } else {
904 switch (gPopupMenu->popupType) {
917 break;
923 break;
929 break;
930 }
932 }
933
937 }
940 }
943 }
945 break;
947 if (D_8010D644 != 0) {
948 D_8010D644--;
949 } else {
951
952 // change selection on up input
955 {
957 }
958
959 // change selection on down input
961 ((PopupMenu_SelectedIndex < gPopupMenu->numEntries - 1) || (gGameStatusPtr->pressedButtons[0] & (BUTTON_STICK_DOWN | BUTTON_R))))
962 {
964 }
965
966 // wrap selected index
967 if (PopupMenu_SelectedIndex < 0) {
969 }
972 }
973
976 }
977
978 // ensure one option is displayed above the selected index, if applicable
979 // shift up to 4 entries at a time on list wrap
980 for (i = 0; i < 4; i++) {
985 }
986 }
987 }
988
989 // ensure one option is displayed after the selected index, if applicable
990 // shift up to 4 entries at a time on list wrap
991 for (i = 0; i < 4; i++) {
998 }
999 }
1000 }
1002 }
1003
1004 // make selection on A button input
1006 switch (gPopupMenu->popupType) {
1009 if (!PopupNotBattle) {
1011 } else {
1013 }
1014 break;
1017 if (!PopupNotBattle) {
1019 } else {
1021 }
1022 break;
1023 default:
1026 if (!PopupNotBattle) {
1028 } else {
1030 }
1031 break;
1032 }
1036 break;
1037 }
1040 }
1041 break;
1042 }
1043 } else {
1044 switch (gPopupMenu->popupType) {
1051 case POPUP_MENU_USEKEY:
1052 if (PopupNotBattle) {
1053 buttons = BUTTON_B | BUTTON_C_LEFT;
1054 } else {
1055 buttons = BUTTON_B;
1056 }
1057 break;
1060 if (PopupNotBattle) {
1061 buttons = BUTTON_B | BUTTON_C_RIGHT;
1062 } else {
1063 buttons = BUTTON_B;
1064 }
1065 break;
1071 buttons = BUTTON_B;
1072 break;
1073 default:
1074 buttons = 0;
1075 break;
1076 }
1077
1078 if (gGameStatusPtr->pressedButtons[0] & buttons) {
1080 if (PopupNotDipping) {
1081 if (!PopupNotBattle) {
1083 } else {
1085 }
1086 } else {
1087 if (PopupDipMode == 0) {
1089 } else {
1091 }
1092 }
1093 break;
1094 }
1095
1096 switch (gPopupMenu->popupType) {
1097 default:
1098 buttons = 0;
1099 break;
1101 buttons = BUTTON_C_RIGHT;
1102 break;
1104 buttons = BUTTON_C_LEFT;
1105 break;
1106 }
1107
1108 if (PopupNotBattle && (gGameStatusPtr->pressedButtons[0] & buttons)) {
1111 break;
1112 }
1113 }
1114 }
1115 break;
1126 }
1130 }
1133 }
1136 }
1138
1140 return PopupMenu_SelectedIndex + 1;
1143 return PopupMenu_SelectedIndex + 1;
1145 switch (gPopupMenu->popupType) {
1154 case POPUP_MENU_USEKEY:
1157 break;
1162 break;
1167 break;
1168 }
1173 return 255;
1178 return 255;
1181 return 255;
1185 return 255;
1186 case POPUP_STATE_10:
1187 D_8010D644--;
1188 if (D_8010D644 == 0) {
1191 return PopupMenu_SelectedIndex + 1;
1192 }
1193 break;
1194 case POPUP_STATE_20:
1195 D_8010D644++;
1196 if (D_8010D644 >= D_8010D692) {
1199 return PopupMenu_SelectedIndex + 1;
1200 }
1201 break;
1205 return 0;
1209 if (PopupNotBattle) {
1211 }
1212#if VERSION_PAL
1213 width = get_msg_width(MSG_Menus_006B, 0) + 32;
1214 if (get_msg_lines(MSG_Menus_006B) == 1) {
1215 posY = 76;
1216 } else {
1217 posY = 72;
1218 }
1219 set_window_properties(WIN_BTL_POPUP, 160 - (width / 2), posY, width, 40, WINDOW_PRIORITY_20, popup_draw_already_have_partner, NULL, -1);
1220#else
1221 width = get_msg_width(MSG_Menus_006B, 0) + 23;
1223#endif
1225 D_8010D644 = 60;
1227 return 0;
1230 D_8010D644 = 0;
1231 }
1232 if (D_8010D644 != 0) {
1233 D_8010D644--;
1234 return 0;
1235 }
1239 if (PopupNotBattle) {
1241 }
1244 break;
1252
1256 }
1260 }
1263 }
1266 }
1267
1268 switch (gPopupMenu->popupType) {
1277 case POPUP_MENU_USEKEY:
1280 break;
1285 break;
1290 break;
1291 }
1292
1294 if (PopupDipMode == 1) {
1295 msgID = MSG_Menus_0068;
1296 } else {
1297 msgID = MSG_Menus_0069;
1298 }
1299#if VERSION_PAL
1300 width = get_msg_width(msgID, 0) + 32;
1301 if (get_msg_lines(msgID) == 1) {
1302 height = 32;
1303 posY = 76;
1304 } else {
1305 height = 40;
1306 posY = 72;
1307 }
1308 set_window_properties(WIN_POPUP_PROMPT, 160 - (width / 2), posY, width, height, WINDOW_PRIORITY_19, func_800F4C1C, NULL, -1);
1309#else
1310 width = get_msg_width(msgID, 0) + 23;
1311 set_window_properties(WIN_POPUP_PROMPT, 160 - (width / 2), 76, width, 32, WINDOW_PRIORITY_19, func_800F4C1C, NULL, -1);
1312#endif
1314 D_8010D6A0 = msg_get_printer_for_msg(MSG_Choice_001D, &D_8010D6A4);
1317 break;
1319 if (D_8010D6A4 == 1) {
1321 switch (D_8010D6A0->curOption) {
1322 case 0:
1324 break;
1325 case 1:
1327 break;
1328 }
1329 }
1330 break;
1333 break;
1343 }
1347 }
1350 }
1353 }
1355
1356 switch (gPopupMenu->popupType) {
1365 case POPUP_MENU_USEKEY:
1368 break;
1373 break;
1378 break;
1379 }
1382 break;
1383 }
1385 return 0;
1386}
#define WINDOW_KEY_WIDTH
void popup_menu_draw_menu_contents(s32 *userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
HudScript HES_EmptyBar
void func_800F48F4(s32 *userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
BSS s16 D_8010D686
BSS s16 D_8010D68C
BSS s32 PopupMenu_PrevSelectedIndex
HudScript HES_HandPointer
void popup_menu_draw_title_contents(s32 *userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
void func_800F4944(s32 *userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening)
BSS s16 D_8010D684
BSS s16 PopupMenu_StarPieceCounterPosY
BSS s16 D_8010D67E
BSS MessagePrintState * D_8010D6A0
#define ALREADY_PARTNER_HEIGHT
HudScript HES_GreenArrowDown
BSS s8 PopupNotDipping
void destroy_popup_menu(void)
BSS s16 D_8010D682
void popup_draw_cost_icon(s32 *userData, s32 x, s32 y)
HudScript HES_GreenArrowUp
BSS s16 PopupMenu_StarPieceCounterPosX
void func_800F4C1C(s32 *userData, s32 x, s32 y)
BSS s16 D_8010D65A
BSS s32 gPopupWorker
BSS s8 PopupMenu_LastDisplayIndex
BSS s8 D_8010D691
void popup_draw_already_have_partner(s32 *userData, s32 x, s32 y)
BSS s32 D_8010D6A4
void func_800F4D28(s32 *userData, s32 x, s32 y)
BSS s16 D_8010D67C
HudScript HES_StatusStarPiece
BSS s16 D_8010D680
s16 PopupWorldStartX[]
u32 pressedButtons[4]
@ BUTTON_A
Definition enums.h:2790
@ BUTTON_R
Definition enums.h:2781
@ BUTTON_STICK_UP
Definition enums.h:2791
@ BUTTON_STICK_DOWN
Definition enums.h:2792
@ BUTTON_B
Definition enums.h:2789
@ BUTTON_C_RIGHT
Definition enums.h:2777
@ BUTTON_C_LEFT
Definition enums.h:2778
@ BUTTON_Z
Definition enums.h:2788
@ WINDOW_PRIORITY_21
Definition enums.h:3187
@ WINDOW_PRIORITY_19
Definition enums.h:3185
@ WINDOW_PRIORITY_20
Definition enums.h:3186
@ MSG_PAL_0D
Definition enums.h:5418
@ POPUP_RESULT_CANCEL
Definition enums.h:3178
@ POPUP_RESULT_CHOOSING
Definition enums.h:3177
@ POPUP_RESULT_INVALID
Definition enums.h:3175
@ POPUP_RESULT_SWAP_MENU
Definition enums.h:3176
@ SOUND_MENU_BACK
Definition enums.h:701
@ SOUND_MENU_CHANGE_SELECTION
Definition enums.h:698
@ SOUND_MENU_NEXT
Definition enums.h:700
@ SOUND_MENU_ERROR
Definition enums.h:933
@ POPUP_STATE_11
Definition enums.h:3153
@ POPUP_STATE_MINUS_3
Definition enums.h:3166
@ POPUP_STATE_INIT
Definition enums.h:3150
@ POPUP_STATE_ALREADY_HAVE_PARTNER_AWAIT
Definition enums.h:3157
@ POPUP_STATE_MINUS_5
Definition enums.h:3168
@ WIN_BTL_POPUP
Definition enums.h:5250
@ WIN_POPUP_TITLE_A
Definition enums.h:5256
@ WIN_POPUP_TITLE_B
Definition enums.h:5258
void msg_printer_set_origin_pos(MessagePrintState *msgPrintState, s32 x, s32 y)
Definition msg.c:1489
void free_worker(s32)
Definition worker.c:176
MessagePrintState * msg_get_printer_for_msg(s32 msgID, s32 *a1)
Definition msg.c:1424
void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, u8, void *drawContents, void *drawContentsArg, s8 parent)
Definition windows.c:373
HudScript HES_StatusCoin
HudScript HES_MenuTimes
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_DISABLED
Definition hud_element.h:74
@ HUD_ELEMENT_FLAG_80
Definition hud_element.h:80
@ HUD_ELEMENT_FLAG_DROP_SHADOW
@ HUD_ELEMENT_FLAG_FILTER_TEX
Definition hud_element.h:88

Referenced by create_battle_popup_menu(), create_shop_popup_menu(), create_standard_popup_menu(), and func_800F52BC().

◆ create_standard_popup_menu()

void create_standard_popup_menu ( PopupMenu * popup)

Definition at line 2224 of file 8a860_len_3f30.c.

2224 {
2225 PopupMenu* otherPopup;
2226 s8 entryCount;
2227 s32 initialPos;
2228 s32 numEntries;
2229
2233 gPopupMenu = popup;
2235 popup->dipMode = 0;
2236 popup->titleNumber = 0;
2237 PopupDipMode = 0;
2238 PopupNotDipping = TRUE;
2239 if (popup->popupType >= POPUP_MENU_DOUBLE_DIP) {
2241 PopupDipMode = 1;
2242 if (popup->popupType >= POPUP_MENU_DOUBLE_DIP) {
2244 PopupDipMode = 2;
2245 }
2246 PopupNotDipping = FALSE;
2247 }
2248
2249 PopupNotBattle = TRUE;
2252
2253 initialPos = gPopupMenu->initialPos;
2254 numEntries = gPopupMenu->numEntries;
2255 PopupMenu_SelectedIndex = initialPos;
2256 if (initialPos >= numEntries) {
2257 PopupMenu_SelectedIndex = numEntries - 1;
2258 }
2261
2262 entryCount = gPopupMenu->numEntries;
2263 PopupMenu_DisplayedEntryCount = entryCount;
2264 if (PopupMenu_MaxDisplayableEntryCount < entryCount) {
2266 }
2267
2271 }
2272
2273 PopupMenu_Alpha = 255;
2274 D_8010D691 = 4;
2275 D_8010D692 = 6;
2276 gPopupWorker = create_worker_frontUI((void (*) (void)) popup_menu_update, NULL);
2277}
s32 popup_menu_update(void)
s8 status_bar_is_ignoring_changes(void)
Definition inventory.c:1512
@ POPUP_MENU_DOUBLE_DIP
Definition enums.h:3145
void status_bar_ignore_changes(void)
Definition inventory.c:1497
void open_status_bar_quickly(void)
Definition inventory.c:1430
s32 create_worker_frontUI(void(*updateFunc)(void), void(*drawFunc)(void))
Definition worker.c:63

Referenced by check_input_open_menus(), and update_item_entity_pickup().

◆ create_shop_popup_menu()

void create_shop_popup_menu ( PopupMenu * popup)

Definition at line 2279 of file 8a860_len_3f30.c.

2279 {
2280 gPopupMenu = popup;
2281
2283 popup->dipMode = 0;
2284 popup->titleNumber = 0;
2286 PopupDipMode = 0;
2287 PopupNotDipping = TRUE;
2290 PopupDipMode = 1;
2293 PopupDipMode = 2;
2294 }
2295 PopupNotDipping = FALSE;
2296 }
2297
2298 PopupNotBattle = TRUE;
2304 }
2308
2311 }
2312
2316 }
2317
2318 PopupMenu_Alpha = 255;
2319 D_8010D691 = 4;
2320 D_8010D692 = 6;
2321 gPopupWorker = create_worker_frontUI((void (*) (void)) popup_menu_update, NULL);
2322}

Referenced by shop_open_item_select_popup().

◆ create_battle_popup_menu()

void create_battle_popup_menu ( PopupMenu * popup)

Definition at line 2324 of file 8a860_len_3f30.c.

2324 {
2325 gPopupMenu = popup;
2326
2328 D_8010D693 = popup->titleNumber;
2330 PopupDipMode = 0;
2331 PopupNotDipping = TRUE;
2334 PopupDipMode = 1;
2337 PopupDipMode = 2;
2338 }
2339 PopupNotDipping = FALSE;
2340 }
2341
2342 PopupNotBattle = FALSE;
2348 }
2352
2355 }
2356
2360 }
2361
2362 PopupMenu_Alpha = 255;
2363 D_8010D691 = 9;
2364 D_8010D692 = 2;
2365 gPopupWorker = create_worker_frontUI((void (*) (void)) popup_menu_update, NULL);
2366}
BSS s8 D_8010D693

Referenced by btl_state_update_partner_menu(), and btl_state_update_player_menu().

◆ func_800F52BC()

void func_800F52BC ( void )

Definition at line 2368 of file 8a860_len_3f30.c.

2368 {
2370}

Referenced by btl_state_update_partner_menu(), and btl_state_update_player_menu().

Variable Documentation

◆ HES_HandPointer

HudScript HES_HandPointer
extern

Definition at line 727 of file global_hud_scripts.c.

Referenced by popup_menu_update().

◆ HES_StatusStarPiece

HudScript HES_StatusStarPiece
extern

Definition at line 787 of file global_hud_scripts.c.

787 {
790 hs_Loop
791 hs_SetCI(12, ui_status_star_piece_0)
792 hs_SetCI(4, ui_status_star_piece_1)
793 hs_SetCI(12, ui_status_star_piece_2)
794 hs_SetCI(4, ui_status_star_piece_1)
796 hs_End
797};
#define hs_SetTileSize(size)
#define hs_SetVisible
#define hs_End
#define hs_Restart
#define hs_Loop
#define hs_SetCI(time, name)
@ HUD_ELEMENT_SIZE_16x16
Definition hud_element.h:46

Referenced by popup_menu_update().

◆ HES_GreenArrowDown

HudScript HES_GreenArrowDown
extern

Definition at line 1866 of file global_hud_scripts.c.

1866 {
1868 hs_SetCustomSize(16, 8)
1869 hs_Loop
1871 hs_SetCI(9, ui_green_arrow_down)
1873 hs_SetCI(6, ui_green_arrow_down)
1875 hs_End
1876};
#define hs_SetCustomSize(arg0, arg1)
@ HUD_ELEMENT_FLAG_200000
Definition hud_element.h:94
#define hs_ClearFlags(arg0)
#define hs_SetFlags(arg0)

Referenced by popup_menu_update().

◆ HES_GreenArrowUp

HudScript HES_GreenArrowUp
extern

Definition at line 1878 of file global_hud_scripts.c.

1878 {
1880 hs_SetCustomSize(16, 8)
1881 hs_Loop
1883 hs_SetCI(9, ui_green_arrow_up)
1885 hs_SetCI(6, ui_green_arrow_up)
1887 hs_End
1888};

Referenced by popup_menu_update().

◆ HES_EmptyBar

HudScript HES_EmptyBar
extern

Definition at line 1900 of file global_hud_scripts.c.

Referenced by popup_menu_update().

◆ HES_PartnerRank1A

HudScript HES_PartnerRank1A
extern

Definition at line 2583 of file global_hud_scripts.c.

◆ HES_PartnerRank1B

HudScript HES_PartnerRank1B
extern

Definition at line 2585 of file global_hud_scripts.c.

◆ HES_PartnerRank2A

HudScript HES_PartnerRank2A
extern

Definition at line 2587 of file global_hud_scripts.c.

◆ HES_PartnerRank2B

HudScript HES_PartnerRank2B
extern

Definition at line 2589 of file global_hud_scripts.c.

◆ D_80109890

Definition at line 17 of file 8a860_len_3f30.c.

HudScript HES_PartnerRank1A
HudScript HES_PartnerRank2A

Referenced by popup_menu_draw_menu_contents(), and popup_menu_update().

◆ D_80109898

Definition at line 18 of file 8a860_len_3f30.c.

HudScript HES_PartnerRank1B
HudScript HES_PartnerRank2B

Referenced by popup_menu_draw_menu_contents().

◆ PopupWorldStartX

◆ PopupContentScissorWidths

◆ gPopupState

◆ D_8010D644

BSS s32 D_8010D644

Definition at line 83 of file 8a860_len_3f30.c.

Referenced by hide_popup_menu(), and popup_menu_update().

◆ PopupMenu_SelectedIndex

◆ PopupMenu_PrevSelectedIndex

BSS s32 PopupMenu_PrevSelectedIndex

◆ PopupMenu_Alpha

◆ PopupMenu_FirstDisplayIndex

◆ PopupMenu_LastDisplayIndex

BSS s8 PopupMenu_LastDisplayIndex

◆ PopupMenu_DisplayedEntryCount

◆ D_8010D658

BSS s16 D_8010D658

Definition at line 90 of file 8a860_len_3f30.c.

Referenced by popup_menu_draw_menu_contents(), and popup_menu_update().

◆ D_8010D65A

BSS s16 D_8010D65A

Definition at line 91 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ PopupMenu_EmptybarHEID

BSS s32 PopupMenu_EmptybarHEID

◆ PopupMenu_TitleIconHEID

BSS s32 PopupMenu_TitleIconHEID

◆ PopupMenu_TimesHEID

BSS s32 PopupMenu_TimesHEID

◆ PopupMenu_PartnerLevelHEID

BSS s32 PopupMenu_PartnerLevelHEID

◆ PopupMenu_CursorHEID

BSS s32 PopupMenu_CursorHEID

◆ PopupMenu_UpArrowHEID

BSS s32 PopupMenu_UpArrowHEID

◆ PopupMenu_DownArrowHEID

BSS s32 PopupMenu_DownArrowHEID

◆ PopupMenu_EntryIconHEID

BSS s32 PopupMenu_EntryIconHEID

◆ D_8010D67C

BSS s16 D_8010D67C

Definition at line 100 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ D_8010D67E

BSS s16 D_8010D67E

Definition at line 101 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ D_8010D680

BSS s16 D_8010D680

Definition at line 102 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ D_8010D682

BSS s16 D_8010D682

Definition at line 103 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ D_8010D684

BSS s16 D_8010D684

Definition at line 104 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ D_8010D686

BSS s16 D_8010D686

Definition at line 105 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ PopupMenu_StarPieceCounterPosX

BSS s16 PopupMenu_StarPieceCounterPosX

Definition at line 106 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ PopupMenu_StarPieceCounterPosY

BSS s16 PopupMenu_StarPieceCounterPosY

Definition at line 107 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ D_8010D68C

BSS s16 D_8010D68C

Definition at line 108 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ PopupNotBattle

◆ PopupMenu_MaxDisplayableEntryCount

◆ D_8010D690

BSS s8 D_8010D690

◆ D_8010D691

◆ D_8010D692

◆ D_8010D693

BSS s8 D_8010D693

Definition at line 114 of file 8a860_len_3f30.c.

Referenced by create_battle_popup_menu().

◆ gPopupWorker

◆ PopupNotDipping

◆ PopupDipMode

◆ PopupMenu_WasStatusBarIgnoringChanges

BSS s8 PopupMenu_WasStatusBarIgnoringChanges

◆ gPopupMenu

◆ D_8010D6A0

BSS MessagePrintState* D_8010D6A0

Definition at line 120 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().

◆ D_8010D6A4

BSS s32 D_8010D6A4

Definition at line 121 of file 8a860_len_3f30.c.

Referenced by popup_menu_update().