diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/item.h | 4 | ||||
-rw-r--r-- | include/item_menu.h | 70 | ||||
-rw-r--r-- | include/item_menu_icons.h | 2 | ||||
-rw-r--r-- | include/menu.h | 8 | ||||
-rw-r--r-- | include/menu_helpers.h | 4 |
5 files changed, 53 insertions, 35 deletions
diff --git a/include/constants/item.h b/include/constants/item.h index a5c34418d..3277f2379 100644 --- a/include/constants/item.h +++ b/include/constants/item.h @@ -16,5 +16,9 @@ #define KEYITEMS_POCKET 4 #define POCKETS_COUNT 5 +// The TM/HM pocket is the largest pocket, so the maximum amount of items +// in a pocket is its count + 1 for the cancel option +#define MAX_POCKET_ITEMS (BAG_TMHM_COUNT + 1) + #endif // GUARD_ITEM_CONSTANTS_H diff --git a/include/item_menu.h b/include/item_menu.h index 089bff6cf..9930ccd4f 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -4,19 +4,35 @@ #include "item.h" #include "menu_helpers.h" -#define RETURN_LOCATION_FIELD 0 -#define RETURN_LOCATION_BATTLE 1 -#define RETURN_LOCATION_POKEMON_LIST 2 -#define RETURN_LOCATION_SHOP 3 -#define RETURN_LOCATION_FIELD_2 4 -#define RETURN_LOCATION_FIELD_3 5 -#define RETURN_LOCATION_PC 6 -#define RETURN_LOCATION_FIELD_4 7 -#define RETURN_LOCATION_FIELD_5 8 -#define RETURN_LOCATION_FIELD_6 9 -#define RETURN_LOCATION_BATTLE_2 10 -#define RETURN_LOCATION_PC_2 11 -#define RETURN_LOCATION_UNCHANGED 12 +#define ITEMMENULOCATION_FIELD 0 +#define ITEMMENULOCATION_BATTLE 1 +#define ITEMMENULOCATION_PARTY 2 +#define ITEMMENULOCATION_SHOP 3 +#define ITEMMENULOCATION_BERRY_TREE 4 +#define ITEMMENULOCATION_BERRY_BLENDER_CRUSH 5 +#define ITEMMENULOCATION_ITEMPC 6 +#define ITEMMENULOCATION_FAVOR_LADY 7 +#define ITEMMENULOCATION_QUIZ_LADY 8 +#define ITEMMENULOCATION_APPRENTICE 9 +#define ITEMMENULOCATION_WALLY 10 +#define ITEMMENULOCATION_PCBOX 11 +#define ITEMMENULOCATION_LAST 12 + +#define ITEMMENUACTION_USE 0 +#define ITEMMENUACTION_TOSS 1 +#define ITEMMENUACTION_REGISTER 2 +#define ITEMMENUACTION_GIVE 3 +#define ITEMMENUACTION_CANCEL 4 +#define ITEMMENUACTION_BATTLE_USE 5 +#define ITEMMENUACTION_CHECK 6 +#define ITEMMENUACTION_WALK 7 +#define ITEMMENUACTION_DESELECT 8 +#define ITEMMENUACTION_CHECK_TAG 9 +#define ITEMMENUACTION_CONFIRM 10 +#define ITEMMENUACTION_SHOW 11 +#define ITEMMENUACTION_GIVE_2 12 +#define ITEMMENUACTION_CONFIRM_2 13 +#define ITEMMENUACTION_DUMMY 14 // Exported type declarations struct BagStruct @@ -33,29 +49,27 @@ extern struct BagStruct gBagPositionStruct; struct BagMenuStruct { - void (*mainCallback2)(void); + void (*exitCallback)(void); u8 tilemapBuffer[0x800]; u8 spriteId[12]; u8 windowPointers[7]; u8 unk817; u8 unk818; u8 unk819; - u8 unk81A; - u8 unk81B:4; - u8 unk81B_1:2; - u8 unk81B_3:1; + u8 itemOriginalLocation; + u8 pocketSwitchDisabled:4; + u8 itemIconSlot:2; + u8 inhibitItemDescriptionPrint:1; u8 hideCloseBagText:1; u8 filler3[2]; - u8 unk81E; - u8 unk81F; - const u8* unk820; - u8 unk824; - u8 unk825; - u8 filler[2]; - u8 unk828; + u8 pocketScrollArrowsTask; + u8 pocketSwitchArrowsTask; + const u8* contextMenuItemsPtr; + u8 contextMenuItemsBuffer[4]; + u8 contextMenuNumItems; u8 numItemStacks[POCKETS_COUNT]; u8 numShownItems[6]; - s16 unk834; + s16 graphicsLoadState; u8 filler4[0xE]; u8 pocketNameBuffer[32][32]; u8 filler2[4]; @@ -68,11 +82,11 @@ extern struct BagMenuStruct *gBagMenu; extern u16 gSpecialVar_ItemId; // Exported ROM declarations -void sub_81AAC14(void); +void CB2_GoToItemDepositMenu(void); void FavorLadyOpenBagMenu(void); void QuizLadyOpenBagMenu(void); void ApprenticeOpenBagMenu(void); -void sub_81AABB0(void); +void CB2_BagMenuFromBattle(void); void SetInitialScrollAndCursorPositions(u8 pocketId); void CB2_ReturnToBagMenuPocket(void); void CB2_BagMenuFromStartMenu(void); diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index 50f0d5544..75e9100d2 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -10,7 +10,7 @@ extern const struct CompressedSpritePalette gBerryCheckCirclePaletteTable; void RemoveBagSprite(u8 id); void AddBagVisualSprite(u8 bagPocketId); void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets); -void ShakeBagVisual(void); +void ShakeBagSprite(void); void AddSwitchPocketRotatingBallSprite(s16 rotationDirection); void AddBagItemIconSprite(u16 itemId, u8 id); void RemoveBagItemIconSprite(u8 id); diff --git a/include/menu.h b/include/menu.h index 4a19f55b0..20eda0fce 100644 --- a/include/menu.h +++ b/include/menu.h @@ -49,16 +49,16 @@ void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram); void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); -void schedule_bg_copy_tilemap_to_vram(u8 bgNum); +void ScheduleBgCopyTilemapToVram(u8 bgNum); void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs); u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 initialCursorPos); u8 Menu_GetCursorPos(void); s8 Menu_ProcessInput(void); s8 Menu_ProcessInputNoWrap(void); void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); -void reset_temp_tile_data_buffers(void); -void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); -bool8 free_temp_tile_data_buffers_if_possible(void); +void ResetTempTileDataBuffers(void); +void *DecompressAndCopyTileDataToVram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); +bool8 FreeTempTileDataBuffersIfPossible(void); struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 442f4a063..4557ebbb1 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -30,8 +30,8 @@ u8 GetLRKeysPressed(void); u8 GetLRKeysPressedAndHeld(void); bool8 sub_8122148(u16 itemId); bool8 itemid_80BF6D8_mail_related(u16 itemId); -bool8 sub_81221AC(void); -bool8 sub_81221EC(void); +bool8 MenuHelpers_LinkSomething(void); +bool8 MenuHelpers_CallLinkSomething(void); void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount); void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems); void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4); |