diff options
Diffstat (limited to 'src/item_menu.c')
-rwxr-xr-x | src/item_menu.c | 83 |
1 files changed, 40 insertions, 43 deletions
diff --git a/src/item_menu.c b/src/item_menu.c index 80035b945..de4d82e9b 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -41,7 +41,6 @@ #include "shop.h" #include "sound.h" #include "sprite.h" -#include "string.h" #include "strings.h" #include "string_util.h" #include "task.h" @@ -87,7 +86,7 @@ u16 BagGetQuantityByPocketPosition(u8, u16); void BagDestroyPocketSwitchArrowPair(void); void TaskCloseBagMenu_2(u8); u8 AddItemMessageWindow(u8); -void BagMenu_RemoveBagItemMessageindow(u8); +void BagMenu_RemoveBagItemMessageWindow(u8); void set_callback3_to_bag(u8); void PrintItemDepositAmount(u8, s16); static u8 BagMenu_AddWindow(u8); @@ -510,7 +509,6 @@ EWRAM_DATA u16 gSpecialVar_ItemId = 0; static EWRAM_DATA struct TempWallyStruct *sTempWallyBag = 0; extern u8 *const gPocketNamesStringsTable[]; -extern u8* gReturnToXStringsTable[]; extern const u8 EventScript_SelectWithoutRegisteredItem[]; extern const u16 gUnknown_0860F074[]; @@ -531,7 +529,7 @@ void CB2_BagMenuFromBattle(void) if (!InBattlePyramid()) GoToBagMenu(ITEMMENULOCATION_BATTLE, POCKETS_COUNT, CB2_SetUpReshowBattleScreenAfterMenu2); else - GoToBattlePyramidBagMenu(1, CB2_SetUpReshowBattleScreenAfterMenu2); + GoToBattlePyramidBagMenu(PYRAMIDBAG_LOC_BATTLE, CB2_SetUpReshowBattleScreenAfterMenu2); } // Choosing berry to plant @@ -595,8 +593,8 @@ void GoToBagMenu(u8 location, u8 pocket, void ( *postExitMenuMainCallback2)()) gBagMenu->pocketSwitchDisabled = TRUE; gBagMenu->exitCallback = NULL; gBagMenu->itemOriginalLocation = 0xFF; - gBagMenu->pocketScrollArrowsTask = 0xFF; - gBagMenu->pocketSwitchArrowsTask = 0xFF; + gBagMenu->pocketScrollArrowsTask = TASK_NONE; + gBagMenu->pocketSwitchArrowsTask = TASK_NONE; memset(gBagMenu->spriteId, 0xFF, sizeof(gBagMenu->spriteId)); memset(gBagMenu->windowPointers, 0xFF, 10); SetMainCallback2(CB2_Bag); @@ -628,7 +626,6 @@ void CB2_Bag(void) bool8 SetupBagMenu(void) { - u32 index; u8 taskId; switch (gMain.state) @@ -709,7 +706,7 @@ bool8 SetupBagMenu(void) gMain.state++; break; case 16: - sub_80D4FAC(); + CreateItemMenuSwapLine(); gMain.state++; break; case 17: @@ -722,11 +719,11 @@ bool8 SetupBagMenu(void) gMain.state++; break; case 19: - BlendPalettes(0xFFFFFFFF, 16, 0); + BlendPalettes(PALETTES_ALL, 16, 0); gMain.state++; break; case 20: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); gPaletteFade.bufferTransferDisabled = FALSE; gMain.state++; break; @@ -743,7 +740,7 @@ void BagMenu_InitBGs(void) ResetVramOamAndBgCntRegs(); memset(gBagMenu->tilemapBuffer, 0, 0x800); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, sBgTemplates_ItemMenu, 3); + InitBgsFromTemplates(0, sBgTemplates_ItemMenu, ARRAY_COUNT(sBgTemplates_ItemMenu)); SetBgTilemapBuffer(2, gBagMenu->tilemapBuffer); ResetAllBgsCoordinates(); ScheduleBgCopyTilemapToVram(2); @@ -789,7 +786,7 @@ bool8 LoadBagMenu_Graphics(void) gBagMenu->graphicsLoadState++; break; default: - LoadListMenuArrowsGfx(); + LoadListMenuSwapLineGfx(); gBagMenu->graphicsLoadState = 0; return TRUE; } @@ -866,7 +863,7 @@ void GetItemName(s8 *dest, u16 itemId) } break; case BERRIES_POCKET: - ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_CHERI_BERRY + 1, STR_CONV_MODE_LEADING_ZEROS, 2); + ConvertIntToDecimalStringN(gStringVar1, itemId - FIRST_BERRY_INDEX + 1, STR_CONV_MODE_LEADING_ZEROS, 2); CopyItemName(itemId, gStringVar2); StringExpandPlaceholders(dest, gText_NumberVar1Clear7Var2); break; @@ -949,7 +946,7 @@ void BagMenu_PrintDescription(int itemIndex) } else { - StringCopy(gStringVar1, gReturnToXStringsTable[gBagPositionStruct.location]); + StringCopy(gStringVar1, gBagMenu_ReturnToStrings[gBagPositionStruct.location]); StringExpandPlaceholders(gStringVar4, gText_ReturnToVar1); str = gStringVar4; } @@ -973,7 +970,7 @@ void BagMenu_PrintCursor(u8 y, u8 colorIndex) void CreatePocketScrollArrowPair(void) { - if (gBagMenu->pocketScrollArrowsTask == 0xFF) + if (gBagMenu->pocketScrollArrowsTask == TASK_NONE) gBagMenu->pocketScrollArrowsTask = AddScrollIndicatorArrowPairParameterized( SCROLL_ARROW_UP, 172, @@ -987,26 +984,26 @@ void CreatePocketScrollArrowPair(void) void BagDestroyPocketScrollArrowPair(void) { - if (gBagMenu->pocketScrollArrowsTask != 0xFF) + if (gBagMenu->pocketScrollArrowsTask != TASK_NONE) { RemoveScrollIndicatorArrowPair(gBagMenu->pocketScrollArrowsTask); - gBagMenu->pocketScrollArrowsTask = 0xFF; + gBagMenu->pocketScrollArrowsTask = TASK_NONE; } BagDestroyPocketSwitchArrowPair(); } void CreatePocketSwitchArrowPair(void) { - if (gBagMenu->pocketSwitchDisabled != TRUE && gBagMenu->pocketSwitchArrowsTask == 0xFF) + if (gBagMenu->pocketSwitchDisabled != TRUE && gBagMenu->pocketSwitchArrowsTask == TASK_NONE) gBagMenu->pocketSwitchArrowsTask = AddScrollIndicatorArrowPair(&sBagScrollArrowsTemplate, &gBagPositionStruct.unk6); } void BagDestroyPocketSwitchArrowPair(void) { - if (gBagMenu->pocketSwitchArrowsTask != 0xFF) + if (gBagMenu->pocketSwitchArrowsTask != TASK_NONE) { RemoveScrollIndicatorArrowPair(gBagMenu->pocketSwitchArrowsTask); - gBagMenu->pocketSwitchArrowsTask = 0xFF; + gBagMenu->pocketSwitchArrowsTask = TASK_NONE; } } @@ -1020,7 +1017,7 @@ void FreeBagItemListBuffers(void) void Task_FadeAndCloseBagMenu(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = TaskCloseBagMenu_2; } @@ -1117,7 +1114,7 @@ void BagMenu_InitListsMenu(u8 taskId) s16* data = gTasks[taskId].data; u16* scrollPos = &gBagPositionStruct.scrollPosition[gBagPositionStruct.pocket]; u16* cursorPos = &gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]; - BagMenu_RemoveBagItemMessageindow(4); + BagMenu_RemoveBagItemMessageWindow(4); DestroyListMenuTask(data[0], scrollPos, cursorPos); UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); @@ -1375,7 +1372,7 @@ void BagMenu_SwapItems(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_MoveVar1Where); FillWindowPixelBuffer(1, PIXEL_FILL(0)); BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0); - sub_80D4FEC(data[1]); + UpdateItemMenuSwapLinePos(data[1]); BagDestroyPocketSwitchArrowPair(); BagMenu_PrintCursor_(data[0], 2); gTasks[taskId].func = Task_HandleSwappingItemsInput; @@ -1398,8 +1395,8 @@ static void Task_HandleSwappingItemsInput(u8 taskId) { input = ListMenu_ProcessInput(data[0]); ListMenuGetScrollAndRow(data[0], &gBagPositionStruct.scrollPosition[gBagPositionStruct.pocket], &gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]); - sub_80D4FC8(0); - sub_80D4FEC(gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]); + SetItemMenuSwapLineInvisibility(FALSE); + UpdateItemMenuSwapLinePos(gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]); switch (input) { case LIST_NOTHING_CHOSEN: @@ -1437,7 +1434,7 @@ void sub_81AC498(u8 taskId) gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]--; LoadBagItemListBuffers(gBagPositionStruct.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos); - sub_80D4FC8(1); + SetItemMenuSwapLineInvisibility(TRUE); CreatePocketSwitchArrowPair(); gTasks[taskId].func = Task_BagMenu_HandleInput; } @@ -1455,12 +1452,12 @@ void sub_81AC590(u8 taskId) gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]--; LoadBagItemListBuffers(gBagPositionStruct.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos); - sub_80D4FC8(1); + SetItemMenuSwapLineInvisibility(TRUE); CreatePocketSwitchArrowPair(); gTasks[taskId].func = Task_BagMenu_HandleInput; } -void OpenContextMenu(u8 unused) +static void OpenContextMenu(u8 unused) { switch (gBagPositionStruct.location) { @@ -1606,8 +1603,8 @@ void sub_81ACAF8(u8 a) void sub_81ACB54(u8 a, u8 b, u8 c) { - sub_8198DBC(a, 7, 8, 1, 0x38, b, c, sItemMenuActions, gBagMenu->contextMenuItemsPtr); - sub_8199944(a, 0x38, b, c, 0); + PrintMenuActionGrid(a, 7, 8, 1, 0x38, b, c, sItemMenuActions, gBagMenu->contextMenuItemsPtr); + InitMenuActionGrid(a, 0x38, b, c, 0); } void Task_ItemContext_FieldOrBattle(u8 taskId) @@ -1722,7 +1719,7 @@ void ItemMenu_UseOutOfBattle(u8 taskId) if (ItemId_GetFieldFunc(gSpecialVar_ItemId)) { BagMenu_RemoveSomeWindow(); - if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == 1) + if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == ITEM_USE_PARTY_MENU) BagMenu_PrintThereIsNoPokemon(taskId); else { @@ -1852,7 +1849,7 @@ void ItemMenu_Register(u8 taskId) void ItemMenu_Give(u8 taskId) { BagMenu_RemoveSomeWindow(); - if (!itemid_80BF6D8_mail_related(gSpecialVar_ItemId)) + if (!IsWritingMailAllowed(gSpecialVar_ItemId)) { DisplayItemMessage(taskId, 1, gText_CantWriteMail, sub_81AD350); } @@ -1927,7 +1924,7 @@ void CB2_ReturnToBagMenuPocket(void) void Task_ItemContext_FieldGive(u8 taskId) { - if (!itemid_80BF6D8_mail_related(gSpecialVar_ItemId)) + if (!IsWritingMailAllowed(gSpecialVar_ItemId)) { DisplayItemMessage(taskId, 1, gText_CantWriteMail, sub_81AD350); } @@ -1973,7 +1970,7 @@ bool8 UseRegisteredKeyItemOnField(void) { ScriptContext2_Enable(); FreezeObjectEvents(); - sub_808B864(); + PlayerFreeze(); sub_808BCF4(); gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem; taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1Ptr->registeredItem), 8); @@ -2037,7 +2034,7 @@ void BagMenu_CancelSell(u8 taskId) s16* data = gTasks[taskId].data; RemoveMoneyWindow(); - BagMenu_RemoveBagItemMessageindow(4); + BagMenu_RemoveBagItemMessageWindow(4); BagMenu_PrintCursor_(data[0], 0); set_callback3_to_bag(taskId); } @@ -2072,7 +2069,7 @@ static void Task_SellHowManyDialogueHandleInput(u8 taskId) BagMenu_PrintCursor_(data[0], 0); RemoveMoneyWindow(); BagMenu_RemoveWindow(8); - BagMenu_RemoveBagItemMessageindow(4); + BagMenu_RemoveBagItemMessageWindow(4); set_callback3_to_bag(taskId); } } @@ -2392,7 +2389,7 @@ u8 sub_81AE124(u8 which) u8 BagMenu_AddWindow(u8 which) { u8 *ptr = &gBagMenu->windowPointers[which]; - if (*ptr == 0xFF) + if (*ptr == WINDOW_NONE) { *ptr = AddWindow(&sContextMenuWindowTemplates[which]); DrawStdFrameWithCustomTileAndPalette(*ptr, 0, 1, 14); @@ -2404,35 +2401,35 @@ u8 BagMenu_AddWindow(u8 which) void BagMenu_RemoveWindow(u8 which) { u8 *ptr = &gBagMenu->windowPointers[which]; - if (*ptr != 0xFF) + if (*ptr != WINDOW_NONE) { ClearStdWindowAndFrameToTransparent(*ptr, FALSE); ClearWindowTilemap(*ptr); RemoveWindow(*ptr); ScheduleBgCopyTilemapToVram(1); - *ptr = 0xFF; + *ptr = WINDOW_NONE; } } u8 AddItemMessageWindow(u8 which) { u8 *ptr = &gBagMenu->windowPointers[which]; - if (*ptr == 0xFF) + if (*ptr == WINDOW_NONE) *ptr = AddWindow(&sContextMenuWindowTemplates[which]); return *ptr; } -void BagMenu_RemoveBagItemMessageindow(u8 which) +void BagMenu_RemoveBagItemMessageWindow(u8 which) { u8 *ptr = &gBagMenu->windowPointers[which]; - if (*ptr != 0xFF) + if (*ptr != WINDOW_NONE) { ClearDialogWindowAndFrameToTransparent(*ptr, FALSE); // This ClearWindowTilemap call is redundant, since ClearDialogWindowAndFrameToTransparent already calls it. ClearWindowTilemap(*ptr); RemoveWindow(*ptr); ScheduleBgCopyTilemapToVram(1); - *ptr = 0xFF; + *ptr = WINDOW_NONE; } } |