diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2021-04-22 18:49:54 -0400 |
---|---|---|
committer | GriffinR <griffin.g.richards@gmail.com> | 2021-04-23 15:07:36 -0400 |
commit | 8c820878bfa91e7a00953e02a5e93847c5428468 (patch) | |
tree | 5dc0314e99ac0172f122991e2d94b8d51fe74306 /include | |
parent | f823cd224fcc24c756fc66c229fb4cb24e60638d (diff) |
Document Battle Pyramid Bag
Diffstat (limited to 'include')
-rw-r--r-- | include/battle_pyramid_bag.h | 54 | ||||
-rw-r--r-- | include/menu.h | 4 | ||||
-rw-r--r-- | include/menu_helpers.h | 2 | ||||
-rw-r--r-- | include/strings.h | 3 |
4 files changed, 44 insertions, 19 deletions
diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h index df111b939..de571714c 100644 --- a/include/battle_pyramid_bag.h +++ b/include/battle_pyramid_bag.h @@ -3,48 +3,72 @@ #include "list_menu.h" -struct PyramidBagResources +enum { + PYRAMIDBAG_LOC_FIELD, + PYRAMIDBAG_LOC_BATTLE, + PYRAMIDBAG_LOC_PARTY, + PYRAMIDBAG_LOC_CHOOSE_TOSS, + PYRAMIDBAG_LOC_PREV, +}; + +enum { + PBAG_SPRITE_BAG, + PBAG_SPRITE_ITEM_ICON, + PBAG_SPRITE_ITEM_ICON_ALT, + PBAG_SPRITE_SWAP_LINE_START, // Swap line consists of 8 sprites + PBAG_SPRITE_SWAP_LINE_2, + PBAG_SPRITE_SWAP_LINE_3, + PBAG_SPRITE_SWAP_LINE_4, + PBAG_SPRITE_SWAP_LINE_5, + PBAG_SPRITE_SWAP_LINE_6, + PBAG_SPRITE_SWAP_LINE_7, + PBAG_SPRITE_SWAP_LINE_END, + PBAG_SPRITE_COUNT +}; +#define NUM_SWAP_LINE_SPRITES (1 + PBAG_SPRITE_SWAP_LINE_END - PBAG_SPRITE_SWAP_LINE_START) + +struct PyramidBagMenu { - void (*callback2)(void); - u8 tilemapBuffer[0x800]; - u8 itemsSpriteIds[PYRAMID_BAG_ITEMS_COUNT + 1]; + void (*exitCallback)(void); + u8 tilemapBuffer[BG_SCREEN_SIZE]; + u8 spriteIds[PBAG_SPRITE_COUNT]; u8 windowIds[5]; - u8 unk814; - u8 unk815; + u8 toSwapPos; + bool8 isAltIcon; // Two item icons loaded at a time. Tracks which to show next u8 scrollIndicatorsTaskId; const u8 *menuActionIds; - u8 filler81C[0x820 - 0x81C]; + u8 unused1[4]; u8 menuActionsCount; u8 listMenuCount; u8 listMenuMaxShown; struct ListMenuItem bagListItems[PYRAMID_BAG_ITEMS_COUNT + 1]; u8 itemStrings[PYRAMID_BAG_ITEMS_COUNT + 1][ITEM_NAME_LENGTH + 10]; s16 state; - u8 filler986[0x98C - 0x986]; + u8 unused2[4]; }; -struct PyramidBagCursorData +struct PyramidBagMenuState { void (*callback)(void); - u8 unk4; + u8 location; u16 cursorPosition; u16 scrollPosition; }; -extern struct PyramidBagResources *gPyramidBagResources; -extern struct PyramidBagCursorData gPyramidBagCursorData; +extern struct PyramidBagMenu *gPyramidBagMenu; +extern struct PyramidBagMenuState gPyramidBagMenuState; void InitBattlePyramidBagCursorPosition(void); void CB2_PyramidBagMenuFromStartMenu(void); void CB2_ReturnToPyramidBagMenu(void); -void sub_81C5924(void); -void sub_81C59BC(void); +void UpdatePyramidBagList(void); +void UpdatePyramidBagCursorPos(void); void sub_81C4EFC(void); void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void)); void Task_CloseBattlePyramidBagMessage(u8 taskId); void TryStoreHeldItemsInPyramidBag(void); void ChooseItemsToTossFromPyramidBag(void); -void CloseBattlePyramidBagAndSetCallback(u8 taskId); +void CloseBattlePyramidBag(u8 taskId); void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId)); #endif // GUARD_BATTLE_PYRAMID_BAG_H diff --git a/include/menu.h b/include/menu.h index c9d8e374d..07e00eb73 100644 --- a/include/menu.h +++ b/include/menu.h @@ -90,8 +90,8 @@ void *malloc_and_decompress(const void *src, u32 *sizeOut); u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); -void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8); -u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos); +void PrintMenuActionGrid(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8); +u8 InitMenuActionGrid(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos); u8 ChangeListMenuCursorPosition(s8 deltaX, s8 deltaY); u8 GetStartMenuWindowId(void); void ListMenuLoadStdPalAt(u8, u8); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index c4401354b..9909437a2 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -29,7 +29,7 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1); u8 GetLRKeysPressed(void); u8 GetLRKeysPressedAndHeld(void); bool8 sub_8122148(u16 itemId); -bool8 itemid_80BF6D8_mail_related(u16 itemId); +bool8 IsWritingMailAllowed(u16 itemId); bool8 MenuHelpers_LinkSomething(void); bool8 MenuHelpers_CallLinkSomething(void); void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount); diff --git a/include/strings.h b/include/strings.h index 8880f3a5c..04283db0e 100644 --- a/include/strings.h +++ b/include/strings.h @@ -982,7 +982,8 @@ extern const u8 gText_RibbonsVar1[]; extern const u8 gText_OneDash[]; extern const u8 gText_TwoDashes[]; -extern const u8 *const gReturnToXStringsTable2[]; +extern const u8 *const gBagMenu_ReturnToStrings[]; +extern const u8 *const gPyramidBagMenu_ReturnToStrings[]; extern const u8 gText_NumPlayerLink[]; extern const u8 gText_ConfirmLinkWhenPlayersReady[]; |