summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/party_menu.h95
-rw-r--r--src/data/party_menu.h240
-rw-r--r--src/data/pokemon/tutor_learnsets.h6
-rw-r--r--src/party_menu.c1142
4 files changed, 748 insertions, 735 deletions
diff --git a/include/party_menu.h b/include/party_menu.h
index edd5efc92..e2aee442f 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -17,60 +17,71 @@ struct PartyMenu
u8 action;
u16 bagItem;
s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos
- s16 learnMoveState; // data2, used only as a learn move state
+ s16 learnMoveState;
};
extern struct PartyMenu gPartyMenu;
-extern u8 gPartyMenuUseExitCallback;
+extern bool8 gPartyMenuUseExitCallback;
extern u8 gSelectedMonPartyId;
-extern u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2];
-extern void (*gItemUseCB)(u8 taskId, TaskFunc func);
+extern MainCallback gPostMenuFieldCallback;
extern u8 gSelectedOrderFromParty[3];
+extern u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2];
-bool8 FieldCallback_PrepareFadeInFromMenu(void);
-bool8 MonKnowsMove(struct Pokemon *, u16);
-void sub_81B58A8(void);
-void DoWallyTutorialBagMenu(void);
-u8 GetAilmentFromStatus(u32 status);
-u16 ItemIdToBattleMoveId(u16 itemId);
-void ItemUseCB_TMHM(u8 taskId, TaskFunc func);
-void CB2_ShowPartyMenuForItemUse(void);
-void CB2_ChooseMonToGiveItem(void);
-void CB2_GiveHoldItem(void);
+extern void (*gItemUseCB)(u8, TaskFunc);
+
+void InitPartyMenu(u8 menuType, u8 layout, u8 partyAction, bool8 keepCursorPos, u8 messageId, TaskFunc task, MainCallback callback);
+void AnimatePartySlot(u8 slot, u8 animNum);
+bool8 IsMultiBattle(void);
u8 GetCursorSelectionMonId(void);
-void ChooseMonForDaycare(void);
-void AnimatePartySlot(u8 monId, u8 a1);
-void DisplayPartyMenuStdMessage(u32);
+u8 GetPartyMenuType(void);
void Task_HandleChooseMonInput(u8 taskId);
-void PartyMenuModifyHP(u8 taskId, u8 a1, s8 a2, s16 amount, TaskFunc followupFunc);
u8 *GetMonNickname(struct Pokemon *mon, u8 *dest);
-u8 DisplayPartyMenuMessage(const u8 * src, u8 a1);
+u8 DisplayPartyMenuMessage(const u8 *str, bool8 keepOpen);
bool8 IsPartyMenuTextPrinterActive(void);
-void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback);
-void ItemUseCB_Medicine(u8 taskId, TaskFunc followUpFunc);
-void ItemUseCB_PPRecovery(u8 taskId, TaskFunc followUpFunc);
-void ItemUseCB_PPUp(u8 taskId, TaskFunc followUpFunc);
-void ItemUseCB_RareCandy(u8 taskId, TaskFunc followUpFunc);
-void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc followUpFunc);
-void ItemUseCB_SacredAsh(u8 taskId, TaskFunc followUpFunc);
-void sub_81279E0(void);
-void ItemUseCB_MedicineStep(u8 taskId, TaskFunc followUpFunc);
-u8 GetItemEffectType(u16 itemId);
-u8 GetPartyIdFromBattlePartyId(u8);
-void BufferBattlePartyCurrentOrder(void);
-void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 multiplayerFlag);
-void OpenPartyMenuInBattle(void);
-void SwitchPartyOrderLinkMulti(u8 battlerId, u8 unk, u8 arrayIndex);
-bool8 IsMultiBattle(void);
-void CB2_ChooseMonToGiveItem(void);
+void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 hpDifference, TaskFunc task);
+u8 GetAilmentFromStatus(u32 status);
+u8 GetMonAilment(struct Pokemon *mon);
+void DisplayPartyMenuStdMessage(u32 stringId);
+void LoadHeldItemIcons(void);
void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty);
-void ChooseMonToGiveMailFromMailbox(void);
+void SpriteCB_BounceConfirmCancelButton(u8 spriteId, u8 spriteId2, u8 animNum);
+void CB2_SelectBagItemToGive(void);
+void CB2_GiveHoldItem(void);
+bool8 FieldCallback_PrepareFadeInFromMenu(void);
+void CB2_ReturnToPartyMenuFromFlyMap(void);
+void sub_8124C1C(const u8 *healLocCtrlData);
+void CB2_ShowPartyMenuForItemUse(void);
+void ItemUseCB_Medicine(u8 taskId, TaskFunc func);
+void ItemUseCB_MedicineStep(u8 taskId, TaskFunc func);
+void ItemUseCB_PPRecovery(u8 taskId, UNUSED TaskFunc func);
+void ItemUseCB_PPUp(u8 taskId, UNUSED TaskFunc func);
+u16 ItemIdToBattleMoveId(u16 item);
+bool8 IsMoveHm(u16 move);
+bool8 MonKnowsMove(struct Pokemon *mon, u16 move);
+void ItemUseCB_TMHM(u8 taskId, UNUSED TaskFunc func);
+void ItemUseCB_RareCandy(u8 taskId, TaskFunc func);
+void ItemUseCB_SacredAsh(u8 taskId, UNUSED TaskFunc func);
+void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc func);
+u8 GetItemEffectType(u16 item);
void CB2_PartyMenuFromStartMenu(void);
-void ShowPartyMenuToShowcaseMultiBattleParty(void);
-void SwitchPartyMonSlots(u8 slot, u8 slot2);
-void LoadHeldItemIcons(void);
-void OpenPartyMenuInTutorialBattle(u8 partyAction);
+void CB2_ChooseMonToGiveItem(void);
+void ChooseMonToGiveMailFromMailbox(void);
+void InitChooseHalfPartyForBattle(u8 a1);
void ClearSelectedPartyOrder(void);
-void CB2_SelectBagItemToGive(void);
+void sub_81277F4(u8 menuType, MainCallback callback);
+void ChooseMonForMoveTutor(void);
+void ChooseMonForWirelessMinigame(void);
+void OpenPartyMenuInTutorialBattle(u8 partyAction);
+void OpenPartyMenuInBattle(void);
+void ChooseMonForInBattleItem(void);
+void sub_81279E0(void);
+void BufferBattlePartyCurrentOrder(void);
+void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId);
+void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2);
+void SwitchPartyMonSlots(u8 slot, u8 slot2);
+u8 GetPartyIdFromBattlePartyId(u8 battlePartyId);
+void ShowPartyMenuToShowcaseMultiBattleParty(void);
+void ChooseMonForDaycare(void);
+void ChoosePartyMonByMenuType(u8 menuType);
#endif // GUARD_PARTY_MENU_H
diff --git a/src/data/party_menu.h b/src/data/party_menu.h
index c00fe3613..fa74d1ad8 100644
--- a/src/data/party_menu.h
+++ b/src/data/party_menu.h
@@ -1,4 +1,4 @@
-const struct BgTemplate sPartyMenuBgTemplates[] =
+static const struct BgTemplate sPartyMenuBgTemplates[] =
{
{
.bg = 0,
@@ -35,7 +35,7 @@ enum
PARTY_BOX_RIGHT_COLUMN,
};
-const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
+static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
{
[PARTY_BOX_LEFT_COLUMN] =
{
@@ -67,7 +67,7 @@ const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
},
};
-const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
+static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
{
[PARTY_LAYOUT_SINGLE] =
{
@@ -107,10 +107,10 @@ const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
},
};
-const u32 sConfirmButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_confirm_button.bin");
-const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_cancel_button.bin");
+static const u32 sConfirmButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_confirm_button.bin");
+static const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_cancel_button.bin");
-const u8 sFontColorTable[][3] =
+static const u8 sFontColorTable[][3] =
{
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_DARK_GREY}, // Default
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_GREEN}, // Unused
@@ -120,7 +120,7 @@ const u8 sFontColorTable[][3] =
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, // Unused
};
-const struct WindowTemplate sSinglePartyMenuWindowTemplate[] =
+static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] =
{
{
.bg = 0,
@@ -185,10 +185,10 @@ const struct WindowTemplate sSinglePartyMenuWindowTemplate[] =
.paletteNum = 14,
.baseBlock = 0x1DF,
},
- DUMMY_WIN_TEMPLATE
+ DUMMY_WIN_TEMPLATE,
};
-const struct WindowTemplate sDoublePartyMenuWindowTemplate[] =
+static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] =
{
{
.bg = 0,
@@ -253,10 +253,10 @@ const struct WindowTemplate sDoublePartyMenuWindowTemplate[] =
.paletteNum = 14,
.baseBlock = 0x1DF,
},
- DUMMY_WIN_TEMPLATE
+ DUMMY_WIN_TEMPLATE,
};
-const struct WindowTemplate sMultiPartyMenuWindowTemplate[] =
+static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] =
{
{
.bg = 0,
@@ -324,7 +324,7 @@ const struct WindowTemplate sMultiPartyMenuWindowTemplate[] =
DUMMY_WIN_TEMPLATE
};
-const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] =
+static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] =
{
{
.bg = 0,
@@ -383,7 +383,7 @@ const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] =
DUMMY_WIN_TEMPLATE
};
-const struct WindowTemplate sCancelButtonWindowTemplate =
+static const struct WindowTemplate sCancelButtonWindowTemplate =
{
.bg = 0,
.tilemapLeft = 24,
@@ -394,7 +394,7 @@ const struct WindowTemplate sCancelButtonWindowTemplate =
.baseBlock = 0x1C7,
};
-const struct WindowTemplate sMultiCancelButtonWindowTemplate =
+static const struct WindowTemplate sMultiCancelButtonWindowTemplate =
{
.bg = 0,
.tilemapLeft = 24,
@@ -405,7 +405,7 @@ const struct WindowTemplate sMultiCancelButtonWindowTemplate =
.baseBlock = 0x1C7,
};
-const struct WindowTemplate sConfirmButtonWindowTemplate =
+static const struct WindowTemplate sConfirmButtonWindowTemplate =
{
.bg = 0,
.tilemapLeft = 24,
@@ -416,7 +416,7 @@ const struct WindowTemplate sConfirmButtonWindowTemplate =
.baseBlock = 0x1D3,
};
-const struct WindowTemplate sDefaultPartyMsgWindowTemplate =
+static const struct WindowTemplate sDefaultPartyMsgWindowTemplate =
{
.bg = 2,
.tilemapLeft = 1,
@@ -427,7 +427,7 @@ const struct WindowTemplate sDefaultPartyMsgWindowTemplate =
.baseBlock = 0x24F,
};
-const struct WindowTemplate sDoWhatWithMonMsgWindowTemplate =
+static const struct WindowTemplate sDoWhatWithMonMsgWindowTemplate =
{
.bg = 2,
.tilemapLeft = 1,
@@ -438,7 +438,7 @@ const struct WindowTemplate sDoWhatWithMonMsgWindowTemplate =
.baseBlock = 0x279,
};
-const struct WindowTemplate sDoWhatWithItemMsgWindowTemplate =
+static const struct WindowTemplate sDoWhatWithItemMsgWindowTemplate =
{
.bg = 2,
.tilemapLeft = 1,
@@ -449,7 +449,7 @@ const struct WindowTemplate sDoWhatWithItemMsgWindowTemplate =
.baseBlock = 0x299,
};
-const struct WindowTemplate sDoWhatWithMailMsgWindowTemplate =
+static const struct WindowTemplate sDoWhatWithMailMsgWindowTemplate =
{
.bg = 2,
.tilemapLeft = 1,
@@ -460,7 +460,7 @@ const struct WindowTemplate sDoWhatWithMailMsgWindowTemplate =
.baseBlock = 0x299,
};
-const struct WindowTemplate sWhichMoveMsgWindowTemplate =
+static const struct WindowTemplate sWhichMoveMsgWindowTemplate =
{
.bg = 2,
.tilemapLeft = 1,
@@ -471,7 +471,7 @@ const struct WindowTemplate sWhichMoveMsgWindowTemplate =
.baseBlock = 0x299,
};
-const struct WindowTemplate sItemGiveTakeWindowTemplate =
+static const struct WindowTemplate sItemGiveTakeWindowTemplate =
{
.bg = 2,
.tilemapLeft = 22,
@@ -482,7 +482,7 @@ const struct WindowTemplate sItemGiveTakeWindowTemplate =
.baseBlock = 0x373,
};
-const struct WindowTemplate sMailReadTakeWindowTemplate =
+static const struct WindowTemplate sMailReadTakeWindowTemplate =
{
.bg = 2,
.tilemapLeft = 19,
@@ -493,7 +493,7 @@ const struct WindowTemplate sMailReadTakeWindowTemplate =
.baseBlock = 0x373,
};
-const struct WindowTemplate sMoveSelectWindowTemplate =
+static const struct WindowTemplate sMoveSelectWindowTemplate =
{
.bg = 2,
.tilemapLeft = 18,
@@ -504,7 +504,7 @@ const struct WindowTemplate sMoveSelectWindowTemplate =
.baseBlock = 0x2BF,
};
-const struct WindowTemplate sPartyMenuYesNoWindowTemplate =
+static const struct WindowTemplate sPartyMenuYesNoWindowTemplate =
{
.bg = 2,
.tilemapLeft = 21,
@@ -515,7 +515,7 @@ const struct WindowTemplate sPartyMenuYesNoWindowTemplate =
.baseBlock = 0x2BF,
};
-const struct WindowTemplate sLevelUpStatsWindowTemplate =
+static const struct WindowTemplate sLevelUpStatsWindowTemplate =
{
.bg = 2,
.tilemapLeft = 19,
@@ -526,7 +526,7 @@ const struct WindowTemplate sLevelUpStatsWindowTemplate =
.baseBlock = 0x2BF,
};
-const struct WindowTemplate gUnknown_845A170 =
+static const struct WindowTemplate gUnknown_845A170 =
{
.bg = 2,
.tilemapLeft = 2,
@@ -537,7 +537,7 @@ const struct WindowTemplate gUnknown_845A170 =
.baseBlock = 0x1DF,
};
-const struct WindowTemplate gUnknown_845A178 =
+static const struct WindowTemplate gUnknown_845A178 =
{
.bg = 2,
.tilemapLeft = 0,
@@ -548,7 +548,7 @@ const struct WindowTemplate gUnknown_845A178 =
.baseBlock = 0x373,
};
-const u8 sMainSlotTileNums[] =
+static const u8 sMainSlotTileNums[] =
{
24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
@@ -559,7 +559,7 @@ const u8 sMainSlotTileNums[] =
46, 47, 47, 47, 47, 47, 47, 47, 47, 48,
};
-const u8 sMainSlotTileNums_Egg[] =
+static const u8 sMainSlotTileNums_Egg[] =
{
24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
@@ -570,7 +570,7 @@ const u8 sMainSlotTileNums_Egg[] =
46, 47, 47, 47, 47, 47, 47, 47, 47, 48,
};
-const u8 sOtherSlotsTileNums[] =
+static const u8 sOtherSlotsTileNums[] =
{
43, 44, 44, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 44, 44, 45, 49, 33,
@@ -580,7 +580,7 @@ const u8 sOtherSlotsTileNums[] =
56, 56, 56, 57,
};
-const u8 sOtherSlotsTileNums_Egg[] =
+static const u8 sOtherSlotsTileNums_Egg[] =
{
43, 44, 44, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 44, 44, 45, 49, 33,
@@ -590,7 +590,7 @@ const u8 sOtherSlotsTileNums_Egg[] =
56, 56, 56, 57,
};
-const u8 sEmptySlotTileNums[] =
+static const u8 sEmptySlotTileNums[] =
{
21, 22, 22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 23, 30, 0,
@@ -600,49 +600,49 @@ const u8 sEmptySlotTileNums[] =
38, 38, 38, 39,
};
-const u8 sGenderPalOffsets[] = {11, 12};
+static const u8 sGenderPalOffsets[] = {11, 12};
-const u8 sHPBarPalOffsets[] = {9, 10};
+static const u8 sHPBarPalOffsets[] = {9, 10};
-const u8 sPartyBoxPalOffsets1[] = {4, 5, 6};
+static const u8 sPartyBoxPalOffsets1[] = {4, 5, 6};
-const u8 sPartyBoxPalOffsets2[] = {1, 7, 8};
+static const u8 sPartyBoxPalOffsets2[] = {1, 7, 8};
-const u8 sGenderMalePalIds[] = {59, 60};
+static const u8 sGenderMalePalIds[] = {59, 60};
-const u8 sGenderFemalePalIds[] = {75, 76};
+static const u8 sGenderFemalePalIds[] = {75, 76};
-const u8 sHPBarGreenPalIds[] = {57, 58};
+static const u8 sHPBarGreenPalIds[] = {57, 58};
-const u8 sHPBarYellowPalIds[] = {73, 74};
+static const u8 sHPBarYellowPalIds[] = {73, 74};
-const u8 sHPBarRedPalIds[] = {89, 90};
+static const u8 sHPBarRedPalIds[] = {89, 90};
-const u8 sPartyBoxEmptySlotPalIds1[] = {52, 53, 54};
+static const u8 sPartyBoxEmptySlotPalIds1[] = {52, 53, 54};
-const u8 sPartyBoxMultiPalIds1[] = {68, 69, 70};
+static const u8 sPartyBoxMultiPalIds1[] = {68, 69, 70};
-const u8 sPartyBoxFaintedPalIds1[] = {84, 85, 86};
+static const u8 sPartyBoxFaintedPalIds1[] = {84, 85, 86};
-const u8 sPartyBoxCurrSelectionPalIds1[] = {116, 117, 118};
+static const u8 sPartyBoxCurrSelectionPalIds1[] = {116, 117, 118};
-const u8 sPartyBoxCurrSelectionMultiPalIds[] = {132, 133, 134};
+static const u8 sPartyBoxCurrSelectionMultiPalIds[] = {132, 133, 134};
-const u8 sPartyBoxCurrSelectionFaintedPalIds[] = {148, 149, 150};
+static const u8 sPartyBoxCurrSelectionFaintedPalIds[] = {148, 149, 150};
-const u8 sPartyBoxSelectedForActionPalIds1[] = {100, 101, 102};
+static const u8 sPartyBoxSelectedForActionPalIds1[] = {100, 101, 102};
-const u8 sPartyBoxEmptySlotPalIds2[] = {49, 55, 56};
+static const u8 sPartyBoxEmptySlotPalIds2[] = {49, 55, 56};
-const u8 sPartyBoxMultiPalIds2[] = {65, 71, 72};
+static const u8 sPartyBoxMultiPalIds2[] = {65, 71, 72};
-const u8 sPartyBoxFaintedPalIds2[] = {81, 87, 88};
+static const u8 sPartyBoxFaintedPalIds2[] = {81, 87, 88};
-const u8 sPartyBoxCurrSelectionPalIds2[] = {97, 103, 104};
+static const u8 sPartyBoxCurrSelectionPalIds2[] = {97, 103, 104};
-const u8 sPartyBoxSelectedForActionPalIds2[] = {161, 167, 168};
+static const u8 sPartyBoxSelectedForActionPalIds2[] = {161, 167, 168};
-const u8 *const sActionStringTable[] =
+static const u8 *const sActionStringTable[] =
{
[PARTY_MSG_CHOOSE_MON] = gText_ChoosePokemon,
[PARTY_MSG_CHOOSE_MON_OR_CANCEL] = gText_ChoosePokemonCancel,
@@ -673,7 +673,7 @@ const u8 *const sActionStringTable[] =
[PARTY_MSG_DO_WHAT_WITH_MAIL] = gText_DoWhatWithMail,
};
-const u8 *const sDescriptionStringTable[] =
+static const u8 *const sDescriptionStringTable[] =
{
[PARTYBOX_DESC_NO_USE] = gText_NoUse,
[PARTYBOX_DESC_ABLE_3] = gText_Able,
@@ -687,7 +687,7 @@ const u8 *const sDescriptionStringTable[] =
[PARTYBOX_DESC_LEARNED] = gText_Learned,
};
-const u8 *const sHMDescriptionTable[] =
+static const u8 *const sHMDescriptionTable[] =
{
gText_LightUpDarkness,
gText_CutATreeOrGrass,
@@ -703,10 +703,10 @@ const u8 *const sHMDescriptionTable[] =
gText_LureWildPokemon,
};
-const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp");
-const u16 sHeldItemPalette[] = INCBIN_U16("graphics/interface/hold_icons.gbapal");
+static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp");
+static const u16 sHeldItemPalette[] = INCBIN_U16("graphics/interface/hold_icons.gbapal");
-const struct OamData sOamData_HeldItem =
+static const struct OamData sOamData_HeldItem =
{
.y = 0,
.affineMode = 0,
@@ -723,38 +723,38 @@ const struct OamData sOamData_HeldItem =
.affineParam = 0,
};
-const union AnimCmd sSpriteAnim_HeldItem[] =
+static const union AnimCmd sSpriteAnim_HeldItem[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END
};
-const union AnimCmd sSpriteAnim_HeldMail[] =
+static const union AnimCmd sSpriteAnim_HeldMail[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END
};
-const union AnimCmd *const sSpriteAnimTable_HeldItem[] =
+static const union AnimCmd *const sSpriteAnimTable_HeldItem[] =
{
sSpriteAnim_HeldItem,
sSpriteAnim_HeldMail,
};
-const struct SpriteSheet sSpriteSheet_HeldItem =
+static const struct SpriteSheet sSpriteSheet_HeldItem =
{
- sHeldItemGfx, sizeof(sHeldItemGfx), 0xd750
+ sHeldItemGfx, sizeof(sHeldItemGfx), 0xD750
};
-const struct SpritePalette sSpritePalette_HeldItem =
+static const struct SpritePalette sSpritePalette_HeldItem =
{
- sHeldItemPalette, 0xd750
+ sHeldItemPalette, 0xD750
};
-const struct SpriteTemplate sSpriteTemplate_HeldItem =
+static const struct SpriteTemplate sSpriteTemplate_HeldItem =
{
- 0xd750,
- 0xd750,
+ 0xD750,
+ 0xD750,
&sOamData_HeldItem,
sSpriteAnimTable_HeldItem,
NULL,
@@ -762,7 +762,7 @@ const struct SpriteTemplate sSpriteTemplate_HeldItem =
SpriteCallbackDummy,
};
-const struct OamData sOamData_MenuPokeball =
+static const struct OamData sOamData_MenuPokeball =
{
.y = 0,
.affineMode = 0,
@@ -779,36 +779,36 @@ const struct OamData sOamData_MenuPokeball =
.affineParam = 0,
};
-const union AnimCmd sPokeballAnim_Closed[] =
+static const union AnimCmd sPokeballAnim_Closed[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END
};
-const union AnimCmd sPokeballAnim_Open[] =
+static const union AnimCmd sPokeballAnim_Open[] =
{
ANIMCMD_FRAME(16, 0),
ANIMCMD_END
};
-const union AnimCmd *const sSpriteAnimTable_MenuPokeball[] =
+static const union AnimCmd *const sSpriteAnimTable_MenuPokeball[] =
{
sPokeballAnim_Closed,
sPokeballAnim_Open,
};
-const struct CompressedSpriteSheet sSpriteSheet_MenuPokeball =
+static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeball =
{
gPartyMenuPokeball_Gfx, 0x400, 0x04b0
};
-const struct CompressedSpritePalette sSpritePalette_MenuPokeball =
+static const struct CompressedSpritePalette sSpritePalette_MenuPokeball =
{
gPartyMenuPokeball_Pal, 0x04b0
};
// Used for the pokeball sprite on each party slot / Cancel button
-const struct SpriteTemplate sSpriteTemplate_MenuPokeball =
+static const struct SpriteTemplate sSpriteTemplate_MenuPokeball =
{
.tileTag = 0x04b0,
.paletteTag = 0x04b0,
@@ -819,7 +819,7 @@ const struct SpriteTemplate sSpriteTemplate_MenuPokeball =
.callback = SpriteCallbackDummy,
};
-const struct OamData sOamData_MenuPokeballSmall =
+static const struct OamData sOamData_MenuPokeballSmall =
{
.y = 0,
.affineMode = 0,
@@ -836,44 +836,44 @@ const struct OamData sOamData_MenuPokeballSmall =
.affineParam = 0,
};
-const union AnimCmd sSmallPokeballAnim_Closed[] =
+static const union AnimCmd sSmallPokeballAnim_Closed[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END
};
-const union AnimCmd sSmallPokeballAnim_Open[] =
+static const union AnimCmd sSmallPokeballAnim_Open[] =
{
ANIMCMD_FRAME(4, 0),
ANIMCMD_END
};
-const union AnimCmd sSmallPokeballAnim_Blank1[] =
+static const union AnimCmd sSmallPokeballAnim_Blank1[] =
{
ANIMCMD_FRAME(8, 0),
ANIMCMD_END
};
-const union AnimCmd sSmallPokeballAnim_Blank2[] =
+static const union AnimCmd sSmallPokeballAnim_Blank2[] =
{
ANIMCMD_FRAME(12, 0),
ANIMCMD_END
};
-const union AnimCmd sSmallPokeballAnim_Blank3[] =
+static const union AnimCmd sSmallPokeballAnim_Blank3[] =
{
ANIMCMD_FRAME(16, 0),
ANIMCMD_END
};
-const union AnimCmd sSmallPokeballAnim_Blank4[] =
+static const union AnimCmd sSmallPokeballAnim_Blank4[] =
{
ANIMCMD_FRAME(20, 0),
ANIMCMD_END
};
// The blanks below are never used. See SpriteCB_BounceConfirmCancelButton, where they were intended to be used
-const union AnimCmd *const sSpriteAnimTable_MenuPokeballSmall[] =
+static const union AnimCmd *const sSpriteAnimTable_MenuPokeballSmall[] =
{
sSmallPokeballAnim_Closed,
sSmallPokeballAnim_Open,
@@ -883,13 +883,13 @@ const union AnimCmd *const sSpriteAnimTable_MenuPokeballSmall[] =
sSmallPokeballAnim_Blank4,
};
-const struct CompressedSpriteSheet sSpriteSheet_MenuPokeballSmall =
+static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeballSmall =
{
gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1
};
// Used for the pokeball sprite next to Cancel and Confirm when both are present, otherwise sSpriteTemplate_MenuPokeball is used
-const struct SpriteTemplate sSpriteTemplate_MenuPokeballSmall =
+static const struct SpriteTemplate sSpriteTemplate_MenuPokeballSmall =
{
.tileTag = 1201,
.paletteTag = 1200,
@@ -900,7 +900,7 @@ const struct SpriteTemplate sSpriteTemplate_MenuPokeballSmall =
.callback = SpriteCallbackDummy,
};
-const struct OamData sOamData_StatusCondition =
+static const struct OamData sOamData_StatusCondition =
{
.y = 0,
.affineMode = 0,
@@ -917,55 +917,55 @@ const struct OamData sOamData_StatusCondition =
.affineParam = 0,
};
-const union AnimCmd sSpriteAnim_StatusPoison[] =
+static const union AnimCmd sSpriteAnim_StatusPoison[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END
};
-const union AnimCmd sSpriteAnim_StatusParalyzed[] =
+static const union AnimCmd sSpriteAnim_StatusParalyzed[] =
{
ANIMCMD_FRAME(4, 0),
ANIMCMD_END
};
-const union AnimCmd sSpriteAnim_StatusSleep[] =
+static const union AnimCmd sSpriteAnim_StatusSleep[] =
{
ANIMCMD_FRAME(8, 0),
ANIMCMD_END
};
-const union AnimCmd sSpriteAnim_StatusFrozen[] =
+static const union AnimCmd sSpriteAnim_StatusFrozen[] =
{
ANIMCMD_FRAME(12, 0),
ANIMCMD_END
};
-const union AnimCmd sSpriteAnim_StatusBurn[] =
+static const union AnimCmd sSpriteAnim_StatusBurn[] =
{
ANIMCMD_FRAME(16, 0),
ANIMCMD_END
};
-const union AnimCmd sSpriteAnim_StatusPokerus[] =
+static const union AnimCmd sSpriteAnim_StatusPokerus[] =
{
ANIMCMD_FRAME(20, 0),
ANIMCMD_END
};
-const union AnimCmd sSpriteAnim_StatusFaint[] =
+static const union AnimCmd sSpriteAnim_StatusFaint[] =
{
ANIMCMD_FRAME(24, 0),
ANIMCMD_END
};
-const union AnimCmd sSpriteAnim_Blank[] =
+static const union AnimCmd sSpriteAnim_Blank[] =
{
ANIMCMD_FRAME(28, 0),
ANIMCMD_END
};
-const union AnimCmd *const sSpriteTemplate_StatusCondition[] =
+static const union AnimCmd *const sSpriteTemplate_StatusCondition[] =
{
sSpriteAnim_StatusPoison,
sSpriteAnim_StatusParalyzed,
@@ -977,17 +977,17 @@ const union AnimCmd *const sSpriteTemplate_StatusCondition[] =
sSpriteAnim_Blank,
};
-const struct CompressedSpriteSheet sSpriteSheet_StatusIcons =
+static const struct CompressedSpriteSheet sSpriteSheet_StatusIcons =
{
gStatusGfx_Icons, 0x400, 1202
};
-const struct CompressedSpritePalette sSpritePalette_StatusIcons =
+static const struct CompressedSpritePalette sSpritePalette_StatusIcons =
{
gStatusPal_Icons, 1202
};
-const struct SpriteTemplate sSpriteTemplate_StatusIcons =
+static const struct SpriteTemplate sSpriteTemplate_StatusIcons =
{
.tileTag = 1202,
.paletteTag = 1202,
@@ -998,7 +998,7 @@ const struct SpriteTemplate sSpriteTemplate_StatusIcons =
.callback = SpriteCallbackDummy,
};
-const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] =
+static const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] =
{
FALSE,
TRUE,
@@ -1009,7 +1009,7 @@ const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] =
FALSE,
};
-const u16 sTMHMMoves_Duplicate[] =
+static const u16 sTMHMMoves_Duplicate[] =
{
MOVE_FOCUS_PUNCH,
MOVE_DRAGON_CLAW,
@@ -1111,7 +1111,7 @@ enum
FIELD_MOVE_END,
};
-struct
+static struct
{
const u8 *text;
TaskFunc func;
@@ -1149,18 +1149,18 @@ struct
[MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCB_FieldMove},
};
-const u8 sPartyMenuAction_SummarySwitchCancel[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1};
-const u8 sPartyMenuAction_ShiftSummaryCancel[] = {MENU_SHIFT, MENU_SUMMARY, MENU_CANCEL1};
-const u8 sPartyMenuAction_SendOutSummaryCancel[] = {MENU_SEND_OUT, MENU_SUMMARY, MENU_CANCEL1};
-const u8 sPartyMenuAction_SummaryCancel[] = {MENU_SUMMARY, MENU_CANCEL1};
-const u8 sPartyMenuAction_EnterSummaryCancel[] = {MENU_ENTER, MENU_SUMMARY, MENU_CANCEL1};
-const u8 sPartyMenuAction_NoEntrySummaryCancel[] = {MENU_NO_ENTRY, MENU_SUMMARY, MENU_CANCEL1};
-const u8 sPartyMenuAction_StoreSummaryCancel[] = {MENU_STORE, MENU_SUMMARY, MENU_CANCEL1};
-const u8 sPartyMenuAction_GiveTakeItemCancel[] = {MENU_GIVE, MENU_TAKE_ITEM, MENU_CANCEL2};
-const u8 sPartyMenuAction_ReadTakeMailCancel[] = {MENU_READ, MENU_TAKE_MAIL, MENU_CANCEL2};
-const u8 sPartyMenuAction_RegisterSummaryCancel[] = {MENU_REGISTER, MENU_SUMMARY, MENU_CANCEL1};
-const u8 sPartyMenuAction_TradeSummaryCancel1[] = {MENU_TRADE1, MENU_SUMMARY, MENU_CANCEL1};
-const u8 sPartyMenuAction_TradeSummaryCancel2[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_SummarySwitchCancel[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1};
+static const u8 sPartyMenuAction_ShiftSummaryCancel[] = {MENU_SHIFT, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_SendOutSummaryCancel[] = {MENU_SEND_OUT, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_SummaryCancel[] = {MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_EnterSummaryCancel[] = {MENU_ENTER, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_NoEntrySummaryCancel[] = {MENU_NO_ENTRY, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_StoreSummaryCancel[] = {MENU_STORE, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_GiveTakeItemCancel[] = {MENU_GIVE, MENU_TAKE_ITEM, MENU_CANCEL2};
+static const u8 sPartyMenuAction_ReadTakeMailCancel[] = {MENU_READ, MENU_TAKE_MAIL, MENU_CANCEL2};
+static const u8 sPartyMenuAction_RegisterSummaryCancel[] = {MENU_REGISTER, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_TradeSummaryCancel1[] = {MENU_TRADE1, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_TradeSummaryCancel2[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1};
// IDs for the action lists that appear when a party mon is selected
enum
@@ -1180,7 +1180,7 @@ enum
ACTIONS_SPIN_TRADE,
};
-const u8 *const sPartyMenuActions[] =
+static const u8 *const sPartyMenuActions[] =
{
[ACTIONS_NONE] = NULL,
[ACTIONS_SWITCH] = sPartyMenuAction_SummarySwitchCancel,
@@ -1197,7 +1197,7 @@ const u8 *const sPartyMenuActions[] =
[ACTIONS_SPIN_TRADE] = sPartyMenuAction_TradeSummaryCancel2,
};
-const u8 sPartyMenuActionCounts[] =
+static const u8 sPartyMenuActionCounts[] =
{
[ACTIONS_NONE] = 0,
[ACTIONS_SWITCH] = NELEMS(sPartyMenuAction_SummarySwitchCancel),
@@ -1214,13 +1214,13 @@ const u8 sPartyMenuActionCounts[] =
[ACTIONS_SPIN_TRADE] = NELEMS(sPartyMenuAction_TradeSummaryCancel2),
};
-const u16 sFieldMoves[] =
+static const u16 sFieldMoves[] =
{
MOVE_FLASH, MOVE_CUT, MOVE_FLY, MOVE_STRENGTH, MOVE_SURF, MOVE_ROCK_SMASH, MOVE_WATERFALL, MOVE_TELEPORT,
MOVE_DIG, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, FIELD_MOVE_END // this may be misuse of enum. same in emerald
};
-struct
+static struct
{
bool8 (*fieldMoveFunc)(void);
u8 msgId;
@@ -1240,7 +1240,7 @@ struct
[FIELD_MOVE_SWEET_SCENT] = {SetUpFieldMove_SweetScent, PARTY_MSG_CANT_USE_HERE},
};
-const u8 *const sUnionRoomTradeMessages[] =
+static const u8 *const sUnionRoomTradeMessages[] =
{
[UR_TRADE_MSG_NOT_MON_PARTNER_WANTS - 1] = gText_NotPkmnOtherTrainerWants,
[UR_TRADE_MSG_NOT_EGG - 1] = gText_ThatIsntAnEgg,
@@ -1253,7 +1253,7 @@ const u8 *const sUnionRoomTradeMessages[] =
[UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 - 1] = gText_CantTradeWithTrainer,
};
-const u16 sTMHMMoves[] =
+static const u16 sTMHMMoves[] =
{
MOVE_FOCUS_PUNCH,
MOVE_DRAGON_CLAW,
diff --git a/src/data/pokemon/tutor_learnsets.h b/src/data/pokemon/tutor_learnsets.h
index 3f2fbf6a0..afd3814a5 100644
--- a/src/data/pokemon/tutor_learnsets.h
+++ b/src/data/pokemon/tutor_learnsets.h
@@ -1,4 +1,4 @@
-const u16 sTutorMoves[TUTOR_MOVE_COUNT] =
+static const u16 sTutorMoves[TUTOR_MOVE_COUNT] =
{
[TUTOR_MOVE_MEGA_PUNCH] = MOVE_MEGA_PUNCH,
[TUTOR_MOVE_SWORDS_DANCE] = MOVE_SWORDS_DANCE,
@@ -17,9 +17,9 @@ const u16 sTutorMoves[TUTOR_MOVE_COUNT] =
[TUTOR_MOVE_SUBSTITUTE] = MOVE_SUBSTITUTE,
};
-#define TUTOR(move) (1u << (TUTOR_##move))
+#define TUTOR(move) (1 << (TUTOR_##move))
-const u16 sTutorLearnsets[] =
+static const u16 sTutorLearnsets[] =
{
[SPECIES_NONE] = 0,
diff --git a/src/party_menu.c b/src/party_menu.c
index 5bee1442e..6f543ca9c 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -138,274 +138,274 @@ struct PartyMenuBox
u8 statusSpriteId;
};
-void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
-void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
-void CursorCB_Summary(u8 taskId);
-void CursorCB_Switch(u8 taskId);
-void CursorCB_Cancel1(u8 taskId);
-void CursorCB_Item(u8 taskId);
-void CursorCB_Give(u8 taskId);
-void CursorCB_TakeItem(u8 taskId);
-void CursorCB_Mail(u8 taskId);
-void CursorCB_Read(u8 taskId);
-void CursorCB_TakeMail(u8 taskId);
-void CursorCB_Cancel2(u8 taskId);
-void CursorCB_SendMon(u8 taskId);
-void CursorCB_Enter(u8 taskId);
-void CursorCB_NoEntry(u8 taskId);
-void CursorCB_Store(u8 taskId);
-void CursorCB_Register(u8 taskId);
-void CursorCB_Trade1(u8 taskId);
-void CursorCB_Trade2(u8 taskId);
-void CursorCB_FieldMove(u8 taskId);
-bool8 SetUpFieldMove_Fly(void);
-bool8 SetUpFieldMove_Waterfall(void);
-bool8 SetUpFieldMove_Surf(void);
-void CB2_InitPartyMenu(void);
-void ResetPartyMenu(void);
-bool8 ShowPartyMenu(void);
-void SetPartyMonsAllowedInMinigame(void);
-void ExitPartyMenu(void);
-bool8 CreatePartyMonSpritesLoop(void);
-bool8 AllocPartyMenuBg(void);
-bool8 AllocPartyMenuBgGfx(void);
-void InitPartyMenuWindows(u8 layout);
-void InitPartyMenuBoxes(u8 layout);
-void LoadPartyMenuPokeballGfx(void);
-void LoadPartyMenuAilmentGfx(void);
-bool8 RenderPartyMenuBoxes(void);
-void CreateCancelConfirmPokeballSprites(void);
-void CreateCancelConfirmWindows(bool8 chooseHalf);
-void Task_ExitPartyMenu(u8 taskId);
-void FreePartyPointers(void);
-void PartyPaletteBufferCopy(u8 offset);
-void DisplayPartyPokemonDataForMultiBattle(u8 slot);
-void DisplayPartyPokemonDataForChooseHalf(u8 slot);
-bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot);
-void DisplayPartyPokemonData(u8 slot);
-void DisplayPartyPokemonDataForWirelessMinigame(u8 slot);
-void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags);
-void DrawEmptySlot(u8 windowId);
-void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
-void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
-void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
-void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
-void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
-void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox);
-void DisplayPartyPokemonDescriptionText(u8 stringId, struct PartyMenuBox *menuBox, u8 c);
-bool8 GetBattleEntryEligibility(struct Pokemon *mon);
-bool8 IsMonAllowedInMinigame(u8 slot);
-void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 item, u8 tutor);
-u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor);
-void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, const u8 *align);
-void DisplayPartyPokemonLevel(u8 level, struct PartyMenuBox *menuBox);
-void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox);
-void DisplayPartyPokemonHP(u16 hp, struct PartyMenuBox *menuBox);
-void DisplayPartyPokemonMaxHP(u16 maxhp, struct PartyMenuBox *menuBox);
-void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox);
-void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, struct PartyMenuBox *menuBox, u8 priority, bool32 handleDeoxys);
-void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox);
-void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox *menuBox);
-void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct PartyMenuBox *menuBox);
-void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox, u32 slot);
-void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
-void CreatePartyMonPokeballSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
-void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
-void CreateCancelConfirmPokeballSprites(void);
-void DrawCancelConfirmButtons(void);
-u8 CreatePokeballButtonSprite(u8 x, u8 y);
-u8 CreateSmallPokeballButtonSprite(u8 x, u8 y);
-u8 GetPartyBoxPaletteFlags(u8 slot, u8 animNum);
-void AnimateSelectedPartyIcon(u8 spriteId, u8 animNum);
-void PartyMenuStartSpriteAnim(u8 spriteId, u8 animNum);
-void Task_ClosePartyMenuAndSetCB2(u8 taskId);
-void UpdatePartyToFieldOrder(void);
-s8 *GetCurrentPartySlotPtr(void);
-u16 PartyMenuButtonHandler(s8 *slotPtr);
-void HandleChooseMonSelection(u8 taskId, s8 *slotPtr);
-void HandleChooseMonCancel(u8 taskId, s8 *slotPtr);
-void MoveCursorToConfirm(void);
-bool8 IsSelectedMonNotEgg(u8 *slotPtr);
-void TryTutorSelectedMon(u8 taskId);
-void TryGiveMailToSelectedMon(u8 taskId);
-void SwitchSelectedMons(u8 taskId);
-void TryEnterMonForMinigame(u8 taskId, u8 slot);
-void Task_TryCreateSelectionWindow(u8 taskId);
-void TryGiveItemOrMailToSelectedMon(u8 taskId);
-void PartyMenuRemoveWindow(u8 *ptr);
-void CB2_SetUpExitToBattleScreen(void);
-void Task_ClosePartyMenuAfterText(u8 taskId);
-void FinishTwoMonAction(u8 taskId);
-void CancelParticipationPrompt(u8 taskId);
-void DisplayCancelChooseMonYesNo(u8 taskId);
-void Task_CancelChooseMonYesNo(u8 taskId);
-void Task_HandleCancelChooseMonYesNoInput(u8 taskId);
-void PartyMenuDisplayYesNoMenu(void);
-void Task_ReturnToChooseMonAfterText(u8 taskId);
-void UpdateCurrentPartySelection(s8 *slotPtr, s8 movementDir);
-void UpdatePartySelectionSingleLayout(s8 *slotPtr, s8 movementDir);
-void UpdatePartySelectionDoubleLayout(s8 *slotPtr, s8 movementDir);
-s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir);
-void Task_PrintAndWaitForText(u8 taskId);
-void PartyMenuPrintText(const u8 *text);
-void sub_8124B60(struct Pokemon *mon, u16 item, u16 item2);
-bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon);
-bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *mon);
-void Task_CancelParticipationYesNo(u8 taskId);
-void Task_HandleCancelParticipationYesNoInput(u8 taskId);
-void Task_TryCreateSelectionWindow(u8 taskId);
-u16 GetTutorMove(u8 tutor);
-bool8 CanLearnTutorMove(u16 species, u8 tutor);
-void CreateSelectionWindow(void);
-bool8 ShouldUseChooseMonText(void);
-void UpdatePartyMonHPBar(u8 spriteId, struct Pokemon *mon);
-void SpriteCB_UpdatePartyMonIcon(struct Sprite *sprite);
-void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite);
-void SpriteCB_HeldItem(struct Sprite *sprite);
-void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
-void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox);
-void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail);
-void SetPartyMonAilmentGfx(struct Pokemon *mon, struct PartyMenuBox *menuBox);
-void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox);
-void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId);
-u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *mon);
-u8 GetPartySlotEntryStatus(s8 slot);
-void Task_HandleSelectionMenuInput(u8 taskId);
-void CB2_ShowPokemonSummaryScreen(void);
-void CB2_ReturnToPartyMenuFromSummaryScreen(void);
-void UpdatePartyToBattleOrder(void);
-void SlidePartyMenuBoxOneStep(u8 taskId);
-void Task_SlideSelectedSlotsOffscreen(u8 taskId);
-void SwitchPartyMon(void);
-void Task_SlideSelectedSlotsOnscreen(u8 taskId);
-void CB2_WriteMailToGiveMon(void);
-void Task_SwitchHoldItemsPrompt(u8 taskId);
-void Task_GiveHoldItem(u8 taskId);
-void Task_UpdateHeldItemSprite(u8 taskId);
-void Task_HandleSwitchItemsYesNoInput(u8 taskId);
-void Task_SwitchItemsYesNo(u8 taskId);
-void Task_WriteMailToGiveMonAfterText(u8 taskId);
-void CB2_ReturnToPartyMenuFromWritingMail(void);
-void CB2_ReturnToPartyMenuFromWritingMail(void);
-void Task_DisplayGaveMailFromPartyMessage(u8 taskId);
-void CB2_ReadHeldMail(void);
-void CB2_ReturnToPartyMenuFromReadingMail(void);
-void Task_SendMailToPCYesNo(u8 taskId);
-void Task_HandleSendMailToPCYesNoInput(u8 taskId);
-void Task_LoseMailMessageYesNo(u8 taskId);
-void Task_HandleLoseMailMessageYesNoInput(u8 taskId);
-bool8 TrySwitchInPokemon(void);
-void DisplayCantUseFlashMessage(void);
-void DisplayCantUseSurfMessage(void);
-void Task_CancelAfterAorBPress(u8 taskId);
-void DisplayFieldMoveExitAreaMessage(u8 taskId);
-void Task_FieldMoveExitAreaYesNo(u8 taskId);
-void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId);
-void Task_FieldMoveWaitForFade(u8 taskId);
-u16 GetFieldMoveMonSpecies(void);
-u8 GetPartyLayoutFromBattleType(void);
-void Task_SetSacredAshCB(u8 taskId);
-void CB2_ReturnToBagMenu(void);
-u8 GetPartyIdFromBattleSlot(u8 slot);
-void Task_DisplayHPRestoredMessage(u8 taskId);
-void SetSelectedMoveForPPItem(u8 taskId);
-void ReturnToUseOnWhichMon(u8 taskId);
-void TryUsePPItem(u8 taskId);
-void ItemUseCB_LearnedMove(u8 taskId, UNUSED TaskFunc func);
-void Task_LearnedMove(u8 taskId);
-void Task_ReplaceMoveYesNo(u8 taskId);
-void Task_DoLearnedMoveFanfareAfterText(u8 taskId);
-void Task_TryLearningNextMove(u8 taskId);
-void Task_LearnNextMoveOrClosePartyMenu(u8 taskId);
-void Task_HandleReplaceMoveYesNoInput(u8 taskId);
-void StopLearningMovePrompt(u8 taskId);
-void Task_ShowSummaryScreenToForgetMove(u8 taskId);
-void CB2_ShowSummaryScreenToForgetMove(void);
-void CB2_ReturnToPartyMenuWhileLearningMove(void);
-void Task_ReturnToPartyMenuWhileLearningMove(u8 taskId);
-void DisplayPartyMenuForgotMoveMessage(u8 taskId);
-void Task_PartyMenuReplaceMove(u8 taskId);
-void Task_StopLearningMoveYesNo(u8 taskId);
-void Task_HandleStopLearningMoveYesNoInput(u8 taskId);
-void Task_TryLearningNextMoveAfterText(u8 taskId);
-void ItemUseCB_RareCandyStep(u8 taskId, UNUSED TaskFunc func);
-void Task_DisplayLevelUpStatsPg1(u8 taskId);
-void Task_DisplayLevelUpStatsPg2(u8 taskId);
-void UpdateMonDisplayInfoAfterRareCandy(u8 slot, struct Pokemon *mon);
-void DisplayLevelUpStatsPg1(u8 taskId);
-void DisplayLevelUpStatsPg2(u8 taskId);
-void Task_TryLearnNewMoves(u8 taskId);
-void PartyMenuTryEvolution(u8 taskId);
-void DisplayMonNeedsToReplaceMove(u8 taskId);
-void DisplayMonLearnedMove(u8 taskId, u16 move);
-void Task_SacredAshDisplayHPRestored(u8 taskId);
-void Task_SacredAshLoop(u8 taskId);
-void UseSacredAsh(u8 taskId);
-void CB2_ReturnToBerryPouchMenu(void);
-void CB2_ReturnToTMCaseMenu(void);
-void GiveItemOrMailToSelectedMon(u8 taskId);
-void RemoveItemToGiveFromBag(u16 item);
-void DisplayItemMustBeRemovedFirstMessage(u8 taskId);
-void CB2_WriteMailToGiveMonFromBag(void);
-void GiveItemToSelectedMon(u8 taskId);
-void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8 taskId);
-void Task_SwitchItemsFromBagYesNo(u8 taskId);
-void CB2_ReturnToPartyOrBagMenuFromWritingMail(void);
-bool8 ReturnGiveItemToBagOrPC(u16 item);
-void Task_DisplayGaveMailFromBagMessage(u8 taskId);
-void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId);
-void Task_ValidateChosenHalfParty(u8 taskId);
-bool8 HasPartySlotAlreadyBeenSelected(u8 slot);
-void Task_ContinueChoosingHalfParty(u8 taskId);
-void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId);
-void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId);
-void Task_InitMultiPartnerPartySlideIn(u8 taskId);
-void Task_WaitAfterMultiPartnerPartySlideIn(u8 taskId);
-void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId);
-void Task_MultiPartnerPartySlideIn(u8 taskId);
-bool8 CB2_FadeFromPartyMenu(void);
-void Task_PartyMenuWaitForFade(u8 taskId);
-void sub_8120C6C(u8 taskId);
-void sub_8120CA8(u8 taskId);
-void sub_8120CD8(u8 taskId);
-void sub_8120D08(u8 taskId);
-void sub_8120D40(u8 taskId);
-void sub_8120D7C(u8 taskId);
-void sub_8120DAC(u8 taskId);
-void sub_8120DE0(u8 taskId);
-void sub_8120E1C(u8 taskId);
-void sub_8120E58(u8 taskId);
-void sub_8120EE0(u8 taskId);
-void sub_8120FF0(u8 taskId);
-bool8 sub_8120F78(u8 taskId);
-void sub_8120FB0(void);
-void sub_8122084(u8 windowId, const u8 *str);
-u8 sub_81220D4(void);
-void sub_8122110(u8 windowId);
-void sub_812358C(void);
-void sub_8124BB0(struct Pokemon *mon, u8 fieldMove);
-void sub_8124DE0(void);
-void sub_8124E48(void);
-void sub_812580C(u8 taskId);
-void sub_8125898(u8 taskId, UNUSED TaskFunc func);
-void sub_8125F4C(u8 taskId, UNUSED TaskFunc func);
-void sub_8125F5C(u8 taskId);
-void sub_8126BD4(void);
-bool8 sub_8126C24(void);
-
-EWRAM_DATA struct PartyMenuInternal *sPartyMenuInternal = NULL;
+static void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
+static void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
+static void CursorCB_Summary(u8 taskId);
+static void CursorCB_Switch(u8 taskId);
+static void CursorCB_Cancel1(u8 taskId);
+static void CursorCB_Item(u8 taskId);
+static void CursorCB_Give(u8 taskId);
+static void CursorCB_TakeItem(u8 taskId);
+static void CursorCB_Mail(u8 taskId);
+static void CursorCB_Read(u8 taskId);
+static void CursorCB_TakeMail(u8 taskId);
+static void CursorCB_Cancel2(u8 taskId);
+static void CursorCB_SendMon(u8 taskId);
+static void CursorCB_Enter(u8 taskId);
+static void CursorCB_NoEntry(u8 taskId);
+static void CursorCB_Store(u8 taskId);
+static void CursorCB_Register(u8 taskId);
+static void CursorCB_Trade1(u8 taskId);
+static void CursorCB_Trade2(u8 taskId);
+static void CursorCB_FieldMove(u8 taskId);
+static bool8 SetUpFieldMove_Fly(void);
+static bool8 SetUpFieldMove_Waterfall(void);
+static bool8 SetUpFieldMove_Surf(void);
+static void CB2_InitPartyMenu(void);
+static void ResetPartyMenu(void);
+static bool8 ShowPartyMenu(void);
+static void SetPartyMonsAllowedInMinigame(void);
+static void ExitPartyMenu(void);
+static bool8 CreatePartyMonSpritesLoop(void);
+static bool8 AllocPartyMenuBg(void);
+static bool8 AllocPartyMenuBgGfx(void);
+static void InitPartyMenuWindows(u8 layout);
+static void InitPartyMenuBoxes(u8 layout);
+static void LoadPartyMenuPokeballGfx(void);
+static void LoadPartyMenuAilmentGfx(void);
+static bool8 RenderPartyMenuBoxes(void);
+static void CreateCancelConfirmPokeballSprites(void);
+static void CreateCancelConfirmWindows(bool8 chooseHalf);
+static void Task_ExitPartyMenu(u8 taskId);
+static void FreePartyPointers(void);
+static void PartyPaletteBufferCopy(u8 offset);
+static void DisplayPartyPokemonDataForMultiBattle(u8 slot);
+static void DisplayPartyPokemonDataForChooseHalf(u8 slot);
+static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot);
+static void DisplayPartyPokemonData(u8 slot);
+static void DisplayPartyPokemonDataForWirelessMinigame(u8 slot);
+static void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags);
+static void DrawEmptySlot(u8 windowId);
+static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
+static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
+static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
+static void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
+static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c);
+static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox);
+static void DisplayPartyPokemonDescriptionText(u8 stringId, struct PartyMenuBox *menuBox, u8 c);
+static bool8 GetBattleEntryEligibility(struct Pokemon *mon);
+static bool8 IsMonAllowedInMinigame(u8 slot);
+static void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 item, u8 tutor);
+static u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor);
+static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, const u8 *align);
+static void DisplayPartyPokemonLevel(u8 level, struct PartyMenuBox *menuBox);
+static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox);
+static void DisplayPartyPokemonHP(u16 hp, struct PartyMenuBox *menuBox);
+static void DisplayPartyPokemonMaxHP(u16 maxhp, struct PartyMenuBox *menuBox);
+static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox);
+static void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, struct PartyMenuBox *menuBox, u8 priority, bool32 handleDeoxys);
+static void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox);
+static void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox *menuBox);
+static void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct PartyMenuBox *menuBox);
+static void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox, u32 slot);
+static void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
+static void CreatePartyMonPokeballSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
+static void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
+static void CreateCancelConfirmPokeballSprites(void);
+static void DrawCancelConfirmButtons(void);
+static u8 CreatePokeballButtonSprite(u8 x, u8 y);
+static u8 CreateSmallPokeballButtonSprite(u8 x, u8 y);
+static u8 GetPartyBoxPaletteFlags(u8 slot, u8 animNum);
+static void AnimateSelectedPartyIcon(u8 spriteId, u8 animNum);
+static void PartyMenuStartSpriteAnim(u8 spriteId, u8 animNum);
+static void Task_ClosePartyMenuAndSetCB2(u8 taskId);
+static void UpdatePartyToFieldOrder(void);
+static s8 *GetCurrentPartySlotPtr(void);
+static u16 PartyMenuButtonHandler(s8 *slotPtr);
+static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr);
+static void HandleChooseMonCancel(u8 taskId, s8 *slotPtr);
+static void MoveCursorToConfirm(void);
+static bool8 IsSelectedMonNotEgg(u8 *slotPtr);
+static void TryTutorSelectedMon(u8 taskId);
+static void TryGiveMailToSelectedMon(u8 taskId);
+static void SwitchSelectedMons(u8 taskId);
+static void TryEnterMonForMinigame(u8 taskId, u8 slot);
+static void Task_TryCreateSelectionWindow(u8 taskId);
+static void TryGiveItemOrMailToSelectedMon(u8 taskId);
+static void PartyMenuRemoveWindow(u8 *ptr);
+static void CB2_SetUpExitToBattleScreen(void);
+static void Task_ClosePartyMenuAfterText(u8 taskId);
+static void FinishTwoMonAction(u8 taskId);
+static void CancelParticipationPrompt(u8 taskId);
+static void DisplayCancelChooseMonYesNo(u8 taskId);
+static void Task_CancelChooseMonYesNo(u8 taskId);
+static void Task_HandleCancelChooseMonYesNoInput(u8 taskId);
+static void PartyMenuDisplayYesNoMenu(void);
+static void Task_ReturnToChooseMonAfterText(u8 taskId);
+static void UpdateCurrentPartySelection(s8 *slotPtr, s8 movementDir);
+static void UpdatePartySelectionSingleLayout(s8 *slotPtr, s8 movementDir);
+static void UpdatePartySelectionDoubleLayout(s8 *slotPtr, s8 movementDir);
+static s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir);
+static void Task_PrintAndWaitForText(u8 taskId);
+static void PartyMenuPrintText(const u8 *text);
+static void sub_8124B60(struct Pokemon *mon, u16 item, u16 item2);
+static bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon);
+static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *mon);
+static void Task_CancelParticipationYesNo(u8 taskId);
+static void Task_HandleCancelParticipationYesNoInput(u8 taskId);
+static void Task_TryCreateSelectionWindow(u8 taskId);
+static u16 GetTutorMove(u8 tutor);
+static bool8 CanLearnTutorMove(u16 species, u8 tutor);
+static void CreateSelectionWindow(void);
+static bool8 ShouldUseChooseMonText(void);
+static void UpdatePartyMonHPBar(u8 spriteId, struct Pokemon *mon);
+static void SpriteCB_UpdatePartyMonIcon(struct Sprite *sprite);
+static void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite);
+static void SpriteCB_HeldItem(struct Sprite *sprite);
+static void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
+static void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox);
+static void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail);
+static void SetPartyMonAilmentGfx(struct Pokemon *mon, struct PartyMenuBox *menuBox);
+static void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox);
+static void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId);
+static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *mon);
+static u8 GetPartySlotEntryStatus(s8 slot);
+static void Task_HandleSelectionMenuInput(u8 taskId);
+static void CB2_ShowPokemonSummaryScreen(void);
+static void CB2_ReturnToPartyMenuFromSummaryScreen(void);
+static void UpdatePartyToBattleOrder(void);
+static void SlidePartyMenuBoxOneStep(u8 taskId);
+static void Task_SlideSelectedSlotsOffscreen(u8 taskId);
+static void SwitchPartyMon(void);
+static void Task_SlideSelectedSlotsOnscreen(u8 taskId);
+static void CB2_WriteMailToGiveMon(void);
+static void Task_SwitchHoldItemsPrompt(u8 taskId);
+static void Task_GiveHoldItem(u8 taskId);
+static void Task_UpdateHeldItemSprite(u8 taskId);
+static void Task_HandleSwitchItemsYesNoInput(u8 taskId);
+static void Task_SwitchItemsYesNo(u8 taskId);
+static void Task_WriteMailToGiveMonAfterText(u8 taskId);
+static void CB2_ReturnToPartyMenuFromWritingMail(void);
+static void CB2_ReturnToPartyMenuFromWritingMail(void);
+static void Task_DisplayGaveMailFromPartyMessage(u8 taskId);
+static void CB2_ReadHeldMail(void);
+static void CB2_ReturnToPartyMenuFromReadingMail(void);
+static void Task_SendMailToPCYesNo(u8 taskId);
+static void Task_HandleSendMailToPCYesNoInput(u8 taskId);
+static void Task_LoseMailMessageYesNo(u8 taskId);
+static void Task_HandleLoseMailMessageYesNoInput(u8 taskId);
+static bool8 TrySwitchInPokemon(void);
+static void DisplayCantUseFlashMessage(void);
+static void DisplayCantUseSurfMessage(void);
+static void Task_CancelAfterAorBPress(u8 taskId);
+static void DisplayFieldMoveExitAreaMessage(u8 taskId);
+static void Task_FieldMoveExitAreaYesNo(u8 taskId);
+static void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId);
+static void Task_FieldMoveWaitForFade(u8 taskId);
+static u16 GetFieldMoveMonSpecies(void);
+static u8 GetPartyLayoutFromBattleType(void);
+static void Task_SetSacredAshCB(u8 taskId);
+static void CB2_ReturnToBagMenu(void);
+static u8 GetPartyIdFromBattleSlot(u8 slot);
+static void Task_DisplayHPRestoredMessage(u8 taskId);
+static void SetSelectedMoveForPPItem(u8 taskId);
+static void ReturnToUseOnWhichMon(u8 taskId);
+static void TryUsePPItem(u8 taskId);
+static void ItemUseCB_LearnedMove(u8 taskId, UNUSED TaskFunc func);
+static void Task_LearnedMove(u8 taskId);
+static void Task_ReplaceMoveYesNo(u8 taskId);
+static void Task_DoLearnedMoveFanfareAfterText(u8 taskId);
+static void Task_TryLearningNextMove(u8 taskId);
+static void Task_LearnNextMoveOrClosePartyMenu(u8 taskId);
+static void Task_HandleReplaceMoveYesNoInput(u8 taskId);
+static void StopLearningMovePrompt(u8 taskId);
+static void Task_ShowSummaryScreenToForgetMove(u8 taskId);
+static void CB2_ShowSummaryScreenToForgetMove(void);
+static void CB2_ReturnToPartyMenuWhileLearningMove(void);
+static void Task_ReturnToPartyMenuWhileLearningMove(u8 taskId);
+static void DisplayPartyMenuForgotMoveMessage(u8 taskId);
+static void Task_PartyMenuReplaceMove(u8 taskId);
+static void Task_StopLearningMoveYesNo(u8 taskId);
+static void Task_HandleStopLearningMoveYesNoInput(u8 taskId);
+static void Task_TryLearningNextMoveAfterText(u8 taskId);
+static void ItemUseCB_RareCandyStep(u8 taskId, UNUSED TaskFunc func);
+static void Task_DisplayLevelUpStatsPg1(u8 taskId);
+static void Task_DisplayLevelUpStatsPg2(u8 taskId);
+static void UpdateMonDisplayInfoAfterRareCandy(u8 slot, struct Pokemon *mon);
+static void DisplayLevelUpStatsPg1(u8 taskId);
+static void DisplayLevelUpStatsPg2(u8 taskId);
+static void Task_TryLearnNewMoves(u8 taskId);
+static void PartyMenuTryEvolution(u8 taskId);
+static void DisplayMonNeedsToReplaceMove(u8 taskId);
+static void DisplayMonLearnedMove(u8 taskId, u16 move);
+static void Task_SacredAshDisplayHPRestored(u8 taskId);
+static void Task_SacredAshLoop(u8 taskId);
+static void UseSacredAsh(u8 taskId);
+static void CB2_ReturnToBerryPouchMenu(void);
+static void CB2_ReturnToTMCaseMenu(void);
+static void GiveItemOrMailToSelectedMon(u8 taskId);
+static void RemoveItemToGiveFromBag(u16 item);
+static void DisplayItemMustBeRemovedFirstMessage(u8 taskId);
+static void CB2_WriteMailToGiveMonFromBag(void);
+static void GiveItemToSelectedMon(u8 taskId);
+static void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8 taskId);
+static void Task_SwitchItemsFromBagYesNo(u8 taskId);
+static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void);
+static bool8 ReturnGiveItemToBagOrPC(u16 item);
+static void Task_DisplayGaveMailFromBagMessage(u8 taskId);
+static void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId);
+static void Task_ValidateChosenHalfParty(u8 taskId);
+static bool8 HasPartySlotAlreadyBeenSelected(u8 slot);
+static void Task_ContinueChoosingHalfParty(u8 taskId);
+static void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId);
+static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId);
+static void Task_InitMultiPartnerPartySlideIn(u8 taskId);
+static void Task_WaitAfterMultiPartnerPartySlideIn(u8 taskId);
+static void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId);
+static void Task_MultiPartnerPartySlideIn(u8 taskId);
+static bool8 CB2_FadeFromPartyMenu(void);
+static void Task_PartyMenuWaitForFade(u8 taskId);
+static void sub_8120C6C(u8 taskId);
+static void sub_8120CA8(u8 taskId);
+static void sub_8120CD8(u8 taskId);
+static void sub_8120D08(u8 taskId);
+static void sub_8120D40(u8 taskId);
+static void sub_8120D7C(u8 taskId);
+static void sub_8120DAC(u8 taskId);
+static void sub_8120DE0(u8 taskId);
+static void sub_8120E1C(u8 taskId);
+static void sub_8120E58(u8 taskId);
+static void sub_8120EE0(u8 taskId);
+static void sub_8120FF0(u8 taskId);
+static bool8 sub_8120F78(u8 taskId);
+static void sub_8120FB0(void);
+static void sub_8122084(u8 windowId, const u8 *str);
+static u8 sub_81220D4(void);
+static void sub_8122110(u8 windowId);
+static void sub_812358C(void);
+static void sub_8124BB0(struct Pokemon *mon, u8 fieldMove);
+static void sub_8124DE0(void);
+static void sub_8124E48(void);
+static void sub_812580C(u8 taskId);
+static void sub_8125898(u8 taskId, UNUSED TaskFunc func);
+static void sub_8125F4C(u8 taskId, UNUSED TaskFunc func);
+static void sub_8125F5C(u8 taskId);
+static void sub_8126BD4(void);
+static bool8 sub_8126C24(void);
+
+static EWRAM_DATA struct PartyMenuInternal *sPartyMenuInternal = NULL;
EWRAM_DATA struct PartyMenu gPartyMenu = {0};
-EWRAM_DATA struct PartyMenuBox *sPartyMenuBoxes = NULL;
-EWRAM_DATA u8 *sPartyBgGfxTilemap = NULL;
-EWRAM_DATA u8 *sPartyBgTilemapBuffer = NULL;
+static EWRAM_DATA struct PartyMenuBox *sPartyMenuBoxes = NULL;
+static EWRAM_DATA u8 *sPartyBgGfxTilemap = NULL;
+static EWRAM_DATA u8 *sPartyBgTilemapBuffer = NULL;
EWRAM_DATA bool8 gPartyMenuUseExitCallback = FALSE;
EWRAM_DATA u8 gSelectedMonPartyId = 0;
EWRAM_DATA MainCallback gPostMenuFieldCallback = NULL;
-EWRAM_DATA u16 *sSlot1TilemapBuffer = NULL; // for switching party slots
-EWRAM_DATA u16 *sSlot2TilemapBuffer = NULL;
-EWRAM_DATA struct Pokemon *sSacredAshQuestLogMonBackup = NULL;
+static EWRAM_DATA u16 *sSlot1TilemapBuffer = NULL; // for switching party slots
+static EWRAM_DATA u16 *sSlot2TilemapBuffer = NULL;
+static EWRAM_DATA struct Pokemon *sSacredAshQuestLogMonBackup = NULL;
EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0};
-EWRAM_DATA u16 sPartyMenuItemId = ITEM_NONE;
+static EWRAM_DATA u16 sPartyMenuItemId = ITEM_NONE;
ALIGNED(4) EWRAM_DATA u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2] = {0}; // bits 0-3 are the current pos of Slot 1, 4-7 are Slot 2, and so on
void (*gItemUseCB)(u8, TaskFunc);
@@ -452,7 +452,7 @@ void InitPartyMenu(u8 menuType, u8 layout, u8 partyAction, bool8 keepCursorPos,
}
}
-void CB2_UpdatePartyMenu(void)
+static void CB2_UpdatePartyMenu(void)
{
RunTasks();
AnimateSprites();
@@ -461,14 +461,14 @@ void CB2_UpdatePartyMenu(void)
UpdatePaletteFade();
}
-void VBlankCB_PartyMenu(void)
+static void VBlankCB_PartyMenu(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
-void CB2_InitPartyMenu(void)
+static void CB2_InitPartyMenu(void)
{
while (TRUE)
{
@@ -477,7 +477,7 @@ void CB2_InitPartyMenu(void)
}
}
-bool8 ShowPartyMenu(void)
+static bool8 ShowPartyMenu(void)
{
switch (gMain.state)
{
@@ -602,7 +602,7 @@ bool8 ShowPartyMenu(void)
return FALSE;
}
-void ExitPartyMenu(void)
+static void ExitPartyMenu(void)
{
BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK);
CreateTask(Task_ExitPartyMenu, 0);
@@ -610,7 +610,7 @@ void ExitPartyMenu(void)
SetMainCallback2(CB2_UpdatePartyMenu);
}
-void Task_ExitPartyMenu(u8 taskId)
+static void Task_ExitPartyMenu(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -620,7 +620,7 @@ void Task_ExitPartyMenu(u8 taskId)
}
}
-void ResetPartyMenu(void)
+static void ResetPartyMenu(void)
{
sPartyMenuInternal = NULL;
sPartyBgTilemapBuffer = NULL;
@@ -628,7 +628,7 @@ void ResetPartyMenu(void)
sPartyBgGfxTilemap = NULL;
}
-bool8 AllocPartyMenuBg(void)
+static bool8 AllocPartyMenuBg(void)
{
ResetAllBgsCoordinatesAndBgCntRegs();
sPartyBgTilemapBuffer = Alloc(0x800);
@@ -647,7 +647,7 @@ bool8 AllocPartyMenuBg(void)
return TRUE;
}
-bool8 AllocPartyMenuBgGfx(void)
+static bool8 AllocPartyMenuBgGfx(void)
{
u32 sizeout;
@@ -696,14 +696,14 @@ bool8 AllocPartyMenuBgGfx(void)
return FALSE;
}
-void PartyPaletteBufferCopy(u8 offset)
+static void PartyPaletteBufferCopy(u8 offset)
{
offset *= 16;
CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferUnfaded[offset], 32);
CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferFaded[offset], 32);
}
-void FreePartyPointers(void)
+static void FreePartyPointers(void)
{
if (sPartyMenuInternal)
Free(sPartyMenuInternal);
@@ -716,7 +716,7 @@ void FreePartyPointers(void)
FreeAllWindowBuffers();
}
-void InitPartyMenuBoxes(u8 layout)
+static void InitPartyMenuBoxes(u8 layout)
{
u8 i;
@@ -735,7 +735,7 @@ void InitPartyMenuBoxes(u8 layout)
sPartyMenuBoxes[1].infoRects = &sPartyBoxInfoRects[PARTY_BOX_LEFT_COLUMN];
}
-void RenderPartyMenuBox(u8 slot)
+static void RenderPartyMenuBox(u8 slot)
{
if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE && slot >= MULTI_PARTY_SIZE)
{
@@ -772,7 +772,7 @@ void RenderPartyMenuBox(u8 slot)
}
}
-void DisplayPartyPokemonData(u8 slot)
+static void DisplayPartyPokemonData(u8 slot)
{
if (GetMonData(&gPlayerParty[slot], MON_DATA_IS_EGG))
{
@@ -791,7 +791,7 @@ void DisplayPartyPokemonData(u8 slot)
}
}
-void DisplayPartyPokemonDescriptionData(u8 slot, u8 stringId)
+static void DisplayPartyPokemonDescriptionData(u8 slot, u8 stringId)
{
struct Pokemon *mon = &gPlayerParty[slot];
@@ -805,7 +805,7 @@ void DisplayPartyPokemonDescriptionData(u8 slot, u8 stringId)
DisplayPartyPokemonDescriptionText(stringId, &sPartyMenuBoxes[slot], 0);
}
-void DisplayPartyPokemonDataForChooseHalf(u8 slot)
+static void DisplayPartyPokemonDataForChooseHalf(u8 slot)
{
u8 i;
struct Pokemon *mon = &gPlayerParty[slot];
@@ -834,7 +834,7 @@ void DisplayPartyPokemonDataForChooseHalf(u8 slot)
}
}
-void DisplayPartyPokemonDataForWirelessMinigame(u8 slot)
+static void DisplayPartyPokemonDataForWirelessMinigame(u8 slot)
{
if (IsMonAllowedInMinigame(slot) == TRUE)
DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE);
@@ -843,7 +843,7 @@ void DisplayPartyPokemonDataForWirelessMinigame(u8 slot)
}
// Returns TRUE if teaching move or cant evolve with item (i.e. description data is shown), FALSE otherwise
-bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
+static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
{
struct Pokemon *currentPokemon = &gPlayerParty[slot];
u16 item = gSpecialVar_ItemId;
@@ -876,7 +876,7 @@ bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
return TRUE;
}
-void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 item, u8 tutor)
+static void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 item, u8 tutor)
{
switch (CanMonLearnTMTutor(&gPlayerParty[slot], item, tutor))
{
@@ -893,7 +893,7 @@ void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 item, u8 tutor)
}
}
-void DisplayPartyPokemonDataForMultiBattle(u8 slot)
+static void DisplayPartyPokemonDataForMultiBattle(u8 slot)
{
struct PartyMenuBox *menuBox = &sPartyMenuBoxes[slot];
u8 actualSlot = slot - (3);
@@ -918,7 +918,7 @@ void DisplayPartyPokemonDataForMultiBattle(u8 slot)
}
}
-bool8 RenderPartyMenuBoxes(void)
+static bool8 RenderPartyMenuBoxes(void)
{
RenderPartyMenuBox(sPartyMenuInternal->data[0]);
if (++sPartyMenuInternal->data[0] == PARTY_SIZE)
@@ -927,12 +927,12 @@ bool8 RenderPartyMenuBoxes(void)
return FALSE;
}
-u8 *GetPartyMenuBgTile(u16 tileId)
+static u8 *GetPartyMenuBgTile(u16 tileId)
{
return &sPartyBgGfxTilemap[tileId << 5];
}
-void CreatePartyMonSprites(u8 slot)
+static void CreatePartyMonSprites(u8 slot)
{
u8 actualSlot;
@@ -962,7 +962,7 @@ void CreatePartyMonSprites(u8 slot)
}
}
-bool8 CreatePartyMonSpritesLoop(void)
+static bool8 CreatePartyMonSpritesLoop(void)
{
CreatePartyMonSprites(sPartyMenuInternal->data[0]);
if (++sPartyMenuInternal->data[0] == PARTY_SIZE)
@@ -971,7 +971,7 @@ bool8 CreatePartyMonSpritesLoop(void)
return FALSE;
}
-void CreateCancelConfirmPokeballSprites(void)
+static void CreateCancelConfirmPokeballSprites(void)
{
if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE)
{
@@ -1039,7 +1039,7 @@ void AnimatePartySlot(u8 slot, u8 animNum)
ScheduleBgCopyTilemapToVram(1);
}
-u8 GetPartyBoxPaletteFlags(u8 slot, u8 animNum)
+static u8 GetPartyBoxPaletteFlags(u8 slot, u8 animNum)
{
u8 palFlags = 0;
@@ -1062,7 +1062,7 @@ u8 GetPartyBoxPaletteFlags(u8 slot, u8 animNum)
return palFlags;
}
-void DrawCancelConfirmButtons(void)
+static void DrawCancelConfirmButtons(void)
{
CopyToBgTilemapBufferRect_ChangePalette(1, sConfirmButton_Tilemap, 23, 16, 7, 2, 17);
CopyToBgTilemapBufferRect_ChangePalette(1, sCancelButton_Tilemap, 23, 18, 7, 2, 17);
@@ -1077,7 +1077,7 @@ bool8 IsMultiBattle(void)
return FALSE;
}
-void SwapPartyPokemon(struct Pokemon *mon1, struct Pokemon *mon2)
+static void SwapPartyPokemon(struct Pokemon *mon1, struct Pokemon *mon2)
{
struct Pokemon *buffer = Alloc(sizeof(struct Pokemon));
@@ -1087,13 +1087,13 @@ void SwapPartyPokemon(struct Pokemon *mon1, struct Pokemon *mon2)
Free(buffer);
}
-void Task_ClosePartyMenu(u8 taskId)
+static void Task_ClosePartyMenu(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK);
gTasks[taskId].func = Task_ClosePartyMenuAndSetCB2;
}
-void Task_ClosePartyMenuAndSetCB2(u8 taskId)
+static void Task_ClosePartyMenuAndSetCB2(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -1143,7 +1143,7 @@ void Task_HandleChooseMonInput(u8 taskId)
}
}
-s8 *GetCurrentPartySlotPtr(void)
+static s8 *GetCurrentPartySlotPtr(void)
{
if (gPartyMenu.action == PARTY_ACTION_SWITCH || gPartyMenu.action == PARTY_ACTION_SOFTBOILED)
return &gPartyMenu.slotId2;
@@ -1151,7 +1151,7 @@ s8 *GetCurrentPartySlotPtr(void)
return &gPartyMenu.slotId;
}
-void HandleChooseMonSelection(u8 taskId, s8 *slotPtr)
+static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr)
{
if (*slotPtr == PARTY_SIZE)
{
@@ -1220,7 +1220,7 @@ void HandleChooseMonSelection(u8 taskId, s8 *slotPtr)
}
}
-bool8 IsSelectedMonNotEgg(u8 *slotPtr)
+static bool8 IsSelectedMonNotEgg(u8 *slotPtr)
{
if (GetMonData(&gPlayerParty[*slotPtr], MON_DATA_IS_EGG) == TRUE)
{
@@ -1230,7 +1230,7 @@ bool8 IsSelectedMonNotEgg(u8 *slotPtr)
return TRUE;
}
-void HandleChooseMonCancel(u8 taskId, s8 *slotPtr)
+static void HandleChooseMonCancel(u8 taskId, s8 *slotPtr)
{
switch (gPartyMenu.action)
{
@@ -1264,7 +1264,7 @@ void HandleChooseMonCancel(u8 taskId, s8 *slotPtr)
}
}
-void DisplayCancelChooseMonYesNo(u8 taskId)
+static void DisplayCancelChooseMonYesNo(u8 taskId)
{
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
StringExpandPlaceholders(gStringVar4, gUnknown_84176CF);
@@ -1272,7 +1272,7 @@ void DisplayCancelChooseMonYesNo(u8 taskId)
gTasks[taskId].func = Task_CancelChooseMonYesNo;
}
-void Task_CancelChooseMonYesNo(u8 taskId)
+static void Task_CancelChooseMonYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -1281,7 +1281,7 @@ void Task_CancelChooseMonYesNo(u8 taskId)
}
}
-void Task_HandleCancelChooseMonYesNoInput(u8 taskId)
+static void Task_HandleCancelChooseMonYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
@@ -1300,7 +1300,7 @@ void Task_HandleCancelChooseMonYesNoInput(u8 taskId)
}
}
-u16 PartyMenuButtonHandler(s8 *slotPtr)
+static u16 PartyMenuButtonHandler(s8 *slotPtr)
{
s8 movementDir;
@@ -1346,7 +1346,7 @@ u16 PartyMenuButtonHandler(s8 *slotPtr)
return JOY_NEW(A_BUTTON | B_BUTTON);
}
-void UpdateCurrentPartySelection(s8 *slotPtr, s8 movementDir)
+static void UpdateCurrentPartySelection(s8 *slotPtr, s8 movementDir)
{
s8 newSlotId = *slotPtr;
u8 layout = gPartyMenu.layout;
@@ -1363,7 +1363,7 @@ void UpdateCurrentPartySelection(s8 *slotPtr, s8 movementDir)
}
}
-void UpdatePartySelectionSingleLayout(s8 *slotPtr, s8 movementDir)
+static void UpdatePartySelectionSingleLayout(s8 *slotPtr, s8 movementDir)
{
// PARTY_SIZE + 1 is Cancel, PARTY_SIZE is Confirm
switch (movementDir)
@@ -1428,7 +1428,7 @@ void UpdatePartySelectionSingleLayout(s8 *slotPtr, s8 movementDir)
}
}
-void UpdatePartySelectionDoubleLayout(s8 *slotPtr, s8 movementDir)
+static void UpdatePartySelectionDoubleLayout(s8 *slotPtr, s8 movementDir)
{
// PARTY_SIZE + 1 is Cancel, PARTY_SIZE is Confirm
// newSlot is used temporarily as a movement direction during its later assignment
@@ -1526,7 +1526,7 @@ void UpdatePartySelectionDoubleLayout(s8 *slotPtr, s8 movementDir)
}
}
-s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir)
+static s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir)
{
while (TRUE)
{
@@ -1556,7 +1556,7 @@ u8 DisplayPartyMenuMessage(const u8 *str, bool8 keepOpen)
return taskId;
}
-void Task_PrintAndWaitForText(u8 taskId)
+static void Task_PrintAndWaitForText(u8 taskId)
{
if (RunTextPrinters_CheckActive(6) != TRUE)
{
@@ -1576,7 +1576,7 @@ bool8 IsPartyMenuTextPrinterActive(void)
return FuncIsActiveTask(Task_PrintAndWaitForText);
}
-void Task_WaitForLinkAndReturnToChooseMon(u8 taskId)
+static void Task_WaitForLinkAndReturnToChooseMon(u8 taskId)
{
if (sub_80BF748() != TRUE)
{
@@ -1585,7 +1585,7 @@ void Task_WaitForLinkAndReturnToChooseMon(u8 taskId)
}
}
-void Task_ReturnToChooseMonAfterText(u8 taskId)
+static void Task_ReturnToChooseMonAfterText(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -1603,7 +1603,7 @@ void Task_ReturnToChooseMonAfterText(u8 taskId)
}
}
-void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen, u8 a4)
+static void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen, u8 a4)
{
if (!a4)
ItemUse_SetQuestLogEvent(5, mon, item, 0xFFFF);
@@ -1618,7 +1618,7 @@ void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen, u
ScheduleBgCopyTilemapToVram(2);
}
-void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
+static void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
{
ItemUse_SetQuestLogEvent(8, mon, item, 0xFFFF);
GetMonNickname(mon, gStringVar1);
@@ -1628,7 +1628,7 @@ void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
ScheduleBgCopyTilemapToVram(2);
}
-void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
+static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
{
GetMonNickname(mon, gStringVar1);
CopyItemName(item, gStringVar2);
@@ -1637,7 +1637,7 @@ void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item, bool8
ScheduleBgCopyTilemapToVram(2);
}
-void DisplaySwitchedHeldItemMessage(u16 item, u16 item2, bool8 keepOpen)
+static void DisplaySwitchedHeldItemMessage(u16 item, u16 item2, bool8 keepOpen)
{
sub_8124B60(&gPlayerParty[gPartyMenu.slotId], item2, item);
CopyItemName(item, gStringVar1);
@@ -1647,7 +1647,7 @@ void DisplaySwitchedHeldItemMessage(u16 item, u16 item2, bool8 keepOpen)
ScheduleBgCopyTilemapToVram(2);
}
-void GiveItemToMon(struct Pokemon *mon, u16 item)
+static void GiveItemToMon(struct Pokemon *mon, u16 item)
{
u8 itemBytes[2];
@@ -1661,7 +1661,7 @@ void GiveItemToMon(struct Pokemon *mon, u16 item)
SetMonData(mon, MON_DATA_HELD_ITEM, itemBytes);
}
-u8 TryTakeMonItem(struct Pokemon *mon)
+static u8 TryTakeMonItem(struct Pokemon *mon)
{
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
@@ -1674,7 +1674,7 @@ u8 TryTakeMonItem(struct Pokemon *mon)
return 2;
}
-void BufferBagFullCantTakeItemMessage(u16 itemId)
+static void BufferBagFullCantTakeItemMessage(u16 itemId)
{
const u8 *string;
@@ -1701,7 +1701,7 @@ void BufferBagFullCantTakeItemMessage(u16 itemId)
#define tPartyId data[4]
#define tStartHP data[5]
-void Task_PartyMenuModifyHP(u8 taskId)
+static void Task_PartyMenuModifyHP(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -1733,7 +1733,9 @@ void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 hpDifference, Tas
SetTaskFuncWithFollowupFunc(taskId, Task_PartyMenuModifyHP, task);
}
-void ResetHPTaskData(u8 taskId, u8 caseId, u32 hp)
+// The usage of hp in this function is mostly nonsense
+// Because caseId is always passed 0, none of the other cases ever occur
+static void ResetHPTaskData(u8 taskId, u8 caseId, u32 hp)
{
s16 *data = gTasks[taskId].data;
@@ -1797,7 +1799,7 @@ u8 GetMonAilment(struct Pokemon *mon)
return AILMENT_NONE;
}
-void SetPartyMonsAllowedInMinigame(void)
+static void SetPartyMonsAllowedInMinigame(void)
{
u16 *ptr;
@@ -1820,7 +1822,7 @@ void SetPartyMonsAllowedInMinigame(void)
}
}
-bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon)
+static bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon)
{
if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && IsSpeciesAllowedInPokemonJump(GetMonData(mon, MON_DATA_SPECIES)))
return TRUE;
@@ -1828,21 +1830,21 @@ bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon)
}
-bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *mon)
+static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *mon)
{
if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_DODRIO)
return TRUE;
return FALSE;
}
-bool8 IsMonAllowedInMinigame(u8 slot)
+static bool8 IsMonAllowedInMinigame(u8 slot)
{
if (!((gPartyMenu.data1 >> slot) & 1))
return FALSE;
return TRUE;
}
-void TryEnterMonForMinigame(u8 taskId, u8 slot)
+static void TryEnterMonForMinigame(u8 taskId, u8 slot)
{
if (IsMonAllowedInMinigame(slot) == TRUE)
{
@@ -1859,14 +1861,14 @@ void TryEnterMonForMinigame(u8 taskId, u8 slot)
}
}
-void CancelParticipationPrompt(u8 taskId)
+static void CancelParticipationPrompt(u8 taskId)
{
DisplayPartyMenuMessage(gText_CancelParticipation, TRUE);
ScheduleBgCopyTilemapToVram(2);
gTasks[taskId].func = Task_CancelParticipationYesNo;
}
-void Task_CancelParticipationYesNo(u8 taskId)
+static void Task_CancelParticipationYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -1875,7 +1877,7 @@ void Task_CancelParticipationYesNo(u8 taskId)
}
}
-void Task_HandleCancelParticipationYesNoInput(u8 taskId)
+static void Task_HandleCancelParticipationYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
@@ -1892,7 +1894,7 @@ void Task_HandleCancelParticipationYesNoInput(u8 taskId)
}
}
-u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor)
+static u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor)
{
u16 move;
@@ -1923,7 +1925,7 @@ u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor)
return CAN_LEARN_MOVE;
}
-u16 GetTutorMove(u8 tutor)
+static u16 GetTutorMove(u8 tutor)
{
switch (tutor)
{
@@ -1938,7 +1940,7 @@ u16 GetTutorMove(u8 tutor)
}
}
-bool8 CanLearnTutorMove(u16 species, u8 tutor)
+static bool8 CanLearnTutorMove(u16 species, u8 tutor)
{
switch (tutor)
{
@@ -1965,31 +1967,31 @@ bool8 CanLearnTutorMove(u16 species, u8 tutor)
}
}
-void sub_8120C3C(u8 taskId)
+static void sub_8120C3C(u8 taskId)
{
if (!gPaletteFade.active)
gTasks[taskId].func = sub_8120C6C;
}
-void sub_8120C6C(u8 taskId)
+static void sub_8120C6C(u8 taskId)
{
BeginNormalPaletteFade(0xFFFF1FFF, 4, 0, 6, RGB_BLACK);
gTasks[taskId].func = sub_8120CA8;
}
-void sub_8120CA8(u8 taskId)
+static void sub_8120CA8(u8 taskId)
{
if (!gPaletteFade.active)
gTasks[taskId].func = sub_8120CD8;
}
-void sub_8120CD8(u8 taskId)
+static void sub_8120CD8(u8 taskId)
{
gTasks[taskId].data[0] = sub_81220D4();
gTasks[taskId].func = sub_8120D08;
}
-void sub_8120D08(u8 taskId)
+static void sub_8120D08(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -1997,19 +1999,19 @@ void sub_8120D08(u8 taskId)
gTasks[taskId].func = sub_8120D40;
}
-void sub_8120D40(u8 taskId)
+static void sub_8120D40(u8 taskId)
{
BeginNormalPaletteFade(0xFFFF0008, 4, 6, 0, RGB_BLACK);
gTasks[taskId].func = sub_8120D7C;
}
-void sub_8120D7C(u8 taskId)
+static void sub_8120D7C(u8 taskId)
{
if (!gPaletteFade.active)
gTasks[taskId].func = sub_8120DAC;
}
-void sub_8120DAC(u8 taskId)
+static void sub_8120DAC(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2017,7 +2019,7 @@ void sub_8120DAC(u8 taskId)
gTasks[taskId].func = sub_8120DE0;
}
-void sub_8120DE0(u8 taskId)
+static void sub_8120DE0(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2028,13 +2030,13 @@ void sub_8120DE0(u8 taskId)
}
}
-void sub_8120E1C(u8 taskId)
+static void sub_8120E1C(u8 taskId)
{
BeginNormalPaletteFade(0x0000FFF7, 4, 6, 0, RGB_BLACK);
gTasks[taskId].func = sub_8120E58;
}
-void sub_8120E58(u8 taskId)
+static void sub_8120E58(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -2048,7 +2050,7 @@ void sub_8120E58(u8 taskId)
}
}
-void sub_8120EBC(u8 taskId)
+static void sub_8120EBC(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2056,7 +2058,7 @@ void sub_8120EBC(u8 taskId)
gTasks[taskId].func = sub_8120EE0;
}
-void sub_8120EE0(u8 taskId)
+static void sub_8120EE0(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2080,7 +2082,7 @@ void sub_8120EE0(u8 taskId)
}
}
-bool8 sub_8120F78(u8 taskId)
+static bool8 sub_8120F78(u8 taskId)
{
if (JOY_NEW(B_BUTTON))
{
@@ -2091,7 +2093,7 @@ bool8 sub_8120F78(u8 taskId)
return FALSE;
}
-void sub_8120FB0(void)
+static void sub_8120FB0(void)
{
FreeRestoreBattleData();
LoadPlayerParty();
@@ -2099,7 +2101,7 @@ void sub_8120FB0(void)
SetMainCallback2(CB2_ReturnToTeachyTV);
}
-void sub_8120FCC(u8 taskId)
+static void sub_8120FCC(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2107,7 +2109,7 @@ void sub_8120FCC(u8 taskId)
gTasks[taskId].func = sub_8120FF0;
}
-void sub_8120FF0(u8 taskId)
+static void sub_8120FF0(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2125,7 +2127,7 @@ void sub_8120FF0(u8 taskId)
}
}
-void InitPartyMenuWindows(u8 layout)
+static void InitPartyMenuWindows(u8 layout)
{
u8 i;
@@ -2153,7 +2155,7 @@ void InitPartyMenuWindows(u8 layout)
LoadPalette(stdpal_get(0), 0xE0, 0x20);
}
-void CreateCancelConfirmWindows(bool8 chooseHalf)
+static void CreateCancelConfirmWindows(bool8 chooseHalf)
{
u8 confirmWindowId;
u8 cancelWindowId;
@@ -2194,12 +2196,12 @@ void CreateCancelConfirmWindows(bool8 chooseHalf)
}
}
-u16 *GetPartyMenuPalBufferPtr(u8 paletteId)
+static u16 *GetPartyMenuPalBufferPtr(u8 paletteId)
{
return &sPartyMenuInternal->palBuffer[paletteId];
}
-void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, u8 width, u8 height)
+static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, u8 width, u8 height)
{
u8 *pixels = AllocZeroed(height * width * 32);
u8 i, j;
@@ -2214,7 +2216,7 @@ void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, u8 widt
}
}
-void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
+static void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
{
if (width == 0 && height == 0)
{
@@ -2227,7 +2229,7 @@ void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 he
BlitBitmapToPartyWindow(windowId, sMainSlotTileNums_Egg, 10, x, y, width, height);
}
-void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
+static void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
{
if (width == 0 && height == 0)
{
@@ -2240,7 +2242,7 @@ void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 h
BlitBitmapToPartyWindow(windowId, sOtherSlotsTileNums_Egg, 18, x, y, width, height);
}
-void DrawEmptySlot(u8 windowId)
+static void DrawEmptySlot(u8 windowId)
{
BlitBitmapToPartyWindow(windowId, sEmptySlotTileNums, 18, 0, 0, 18, 3);
}
@@ -2252,7 +2254,7 @@ void DrawEmptySlot(u8 windowId)
LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palNum, 2); \
}
-void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags)
+static void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags)
{
u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
@@ -2325,12 +2327,12 @@ void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags)
}
}
-void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, const u8 *align)
+static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, const u8 *align)
{
AddTextPrinterParameterized3(windowId, 0, align[0], align[1], sFontColorTable[color], 0, str);
}
-void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
+static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
u8 nickname[POKEMON_NAME_LENGTH + 1];
@@ -2343,7 +2345,7 @@ void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox *menuB
}
}
-void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
+static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
@@ -2359,7 +2361,7 @@ void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct PartyMenuBox *men
}
}
-void DisplayPartyPokemonLevel(u8 level, struct PartyMenuBox *menuBox)
+static void DisplayPartyPokemonLevel(u8 level, struct PartyMenuBox *menuBox)
{
ConvertIntToDecimalStringN(gStringVar2, level, STR_CONV_MODE_LEFT_ALIGN, 3);
StringCopy(gStringVar1, gText_Lv);
@@ -2367,7 +2369,7 @@ void DisplayPartyPokemonLevel(u8 level, struct PartyMenuBox *menuBox)
DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[4]);
}
-void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
+static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
u8 nickname[POKEMON_NAME_LENGTH + 1];
@@ -2377,7 +2379,7 @@ void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct PartyMenu
DisplayPartyPokemonGender(GetMonGender(mon), GetMonData(mon, MON_DATA_SPECIES), nickname, menuBox);
}
-void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox)
+static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox)
{
u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
@@ -2400,7 +2402,7 @@ void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct Part
}
}
-void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
+static void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
@@ -2411,7 +2413,7 @@ void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBo
}
}
-void DisplayPartyPokemonHP(u16 hp, struct PartyMenuBox *menuBox)
+static void DisplayPartyPokemonHP(u16 hp, struct PartyMenuBox *menuBox)
{
u8 *strOut = ConvertIntToDecimalStringN(gStringVar1, hp, STR_CONV_MODE_RIGHT_ALIGN, 3);
@@ -2420,7 +2422,7 @@ void DisplayPartyPokemonHP(u16 hp, struct PartyMenuBox *menuBox)
DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[12]);
}
-void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
+static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
@@ -2431,7 +2433,7 @@ void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct PartyMenuBox *men
}
}
-void DisplayPartyPokemonMaxHP(u16 maxhp, struct PartyMenuBox *menuBox)
+static void DisplayPartyPokemonMaxHP(u16 maxhp, struct PartyMenuBox *menuBox)
{
ConvertIntToDecimalStringN(gStringVar2, maxhp, STR_CONV_MODE_RIGHT_ALIGN, 3);
StringCopy(gStringVar1, gText_Slash);
@@ -2439,13 +2441,13 @@ void DisplayPartyPokemonMaxHP(u16 maxhp, struct PartyMenuBox *menuBox)
DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[16]);
}
-void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox)
+static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
DisplayPartyPokemonHPBar(GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP), menuBox);
}
-void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox)
+static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox)
{
u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
u8 hpFraction;
@@ -2478,7 +2480,7 @@ void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox)
CopyWindowToVram(menuBox->windowId, 2);
}
-void DisplayPartyPokemonDescriptionText(u8 stringId, struct PartyMenuBox *menuBox, u8 c)
+static void DisplayPartyPokemonDescriptionText(u8 stringId, struct PartyMenuBox *menuBox, u8 c)
{
if (c != 0)
menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->descTextLeft >> 3, menuBox->infoRects->descTextTop >> 3, menuBox->infoRects->descTextWidth >> 3, menuBox->infoRects->descTextHeight >> 3, TRUE);
@@ -2486,7 +2488,7 @@ void DisplayPartyPokemonDescriptionText(u8 stringId, struct PartyMenuBox *menuBo
AddTextPrinterParameterized3(menuBox->windowId, 1, menuBox->infoRects->descTextLeft, menuBox->infoRects->descTextTop, sFontColorTable[0], 0, sDescriptionStringTable[stringId]);
}
-void PartyMenuRemoveWindow(u8 *ptr)
+static void PartyMenuRemoveWindow(u8 *ptr)
{
if (*ptr != 0xFF)
{
@@ -2540,7 +2542,7 @@ void DisplayPartyMenuStdMessage(u32 stringId)
}
}
-bool8 ShouldUseChooseMonText(void)
+static bool8 ShouldUseChooseMonText(void)
{
struct Pokemon *party = gPlayerParty;
u8 i;
@@ -2558,7 +2560,7 @@ bool8 ShouldUseChooseMonText(void)
return FALSE;
}
-u8 DisplaySelectionWindow(u8 windowType)
+static u8 DisplaySelectionWindow(u8 windowType)
{
struct WindowTemplate window;
u8 cursorDimension;
@@ -2597,39 +2599,39 @@ u8 DisplaySelectionWindow(u8 windowType)
return sPartyMenuInternal->windowId[0];
}
-void PartyMenuPrintText(const u8 *text)
+static void PartyMenuPrintText(const u8 *text)
{
DrawStdFrameWithCustomTileAndPalette(6, FALSE, 0x4F, 13);
gTextFlags.canABSpeedUpPrint = TRUE;
AddTextPrinterParameterized2(6, 2, text, GetTextSpeedSetting(), 0, 2, 1, 3);
}
-void PartyMenuDisplayYesNoMenu(void)
+static void PartyMenuDisplayYesNoMenu(void)
{
CreateYesNoMenu(&sPartyMenuYesNoWindowTemplate, 2, 0, 2, 0x4F, 13, 0);
}
-u8 CreateLevelUpStatsWindow(void)
+static u8 CreateLevelUpStatsWindow(void)
{
sPartyMenuInternal->windowId[0] = AddWindow(&sLevelUpStatsWindowTemplate);
DrawStdFrameWithCustomTileAndPalette(sPartyMenuInternal->windowId[0], FALSE, 0x4F, 13);
return sPartyMenuInternal->windowId[0];
}
-void RemoveLevelUpStatsWindow(void)
+static void RemoveLevelUpStatsWindow(void)
{
ClearWindowTilemap(sPartyMenuInternal->windowId[0]);
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
}
-void sub_8122084(u8 windowId, const u8 *str)
+static void sub_8122084(u8 windowId, const u8 *str)
{
StringExpandPlaceholders(gStringVar4, str);
gTextFlags.canABSpeedUpPrint = TRUE;
AddTextPrinterParameterized2(windowId, 4, gStringVar4, GetTextSpeedSetting(), 0, 2, 1, 3);
}
-bool8 sub_81220D4(void)
+static bool8 sub_81220D4(void)
{
u8 windowId = AddWindow(&gUnknown_845A170);
@@ -2639,7 +2641,7 @@ bool8 sub_81220D4(void)
return windowId;
}
-void sub_8122110(u8 windowId)
+static void sub_8122110(u8 windowId)
{
ClearWindowTilemap(windowId);
ClearDialogWindowAndFrameToTransparent(windowId, FALSE);
@@ -2647,7 +2649,7 @@ void sub_8122110(u8 windowId)
ScheduleBgCopyTilemapToVram(2);
}
-void sub_8122138(u8 action)
+static void sub_8122138(u8 action)
{
u8 attr;
struct PartyMenuInternal *ptr = sPartyMenuInternal;
@@ -2674,7 +2676,7 @@ void sub_8122138(u8 action)
}
}
-void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox, u32 slot)
+static void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox, u32 slot)
{
bool32 handleDeoxys = TRUE;
u16 species2;
@@ -2687,7 +2689,7 @@ void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox,
UpdatePartyMonHPBar(menuBox->monSpriteId, mon);
}
-void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, struct PartyMenuBox *menuBox, u8 priority, bool32 handleDeoxys)
+static void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, struct PartyMenuBox *menuBox, u8 priority, bool32 handleDeoxys)
{
if (species != SPECIES_NONE)
{
@@ -2696,7 +2698,7 @@ void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, struct PartyMen
}
}
-void UpdateHPBar(u8 spriteId, u16 hp, u16 maxhp)
+static void UpdateHPBar(u8 spriteId, u16 hp, u16 maxhp)
{
switch (GetHPBarLevel(hp, maxhp))
{
@@ -2718,12 +2720,12 @@ void UpdateHPBar(u8 spriteId, u16 hp, u16 maxhp)
}
}
-void UpdatePartyMonHPBar(u8 spriteId, struct Pokemon *mon)
+static void UpdatePartyMonHPBar(u8 spriteId, struct Pokemon *mon)
{
UpdateHPBar(spriteId, GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP));
}
-void AnimateSelectedPartyIcon(u8 spriteId, u8 animNum)
+static void AnimateSelectedPartyIcon(u8 spriteId, u8 animNum)
{
gSprites[spriteId].data[0] = 0;
if (animNum == 0)
@@ -2748,7 +2750,7 @@ void AnimateSelectedPartyIcon(u8 spriteId, u8 animNum)
}
}
-void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite)
+static void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite)
{
u8 animCmd = UpdateMonIconFrame(sprite);
@@ -2761,12 +2763,12 @@ void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite)
}
}
-void SpriteCB_UpdatePartyMonIcon(struct Sprite *sprite)
+static void SpriteCB_UpdatePartyMonIcon(struct Sprite *sprite)
{
UpdateMonIconFrame(sprite);
}
-void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
+static void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
@@ -2775,7 +2777,7 @@ void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menu
}
}
-void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox)
+static void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox)
{
if (species != SPECIES_NONE)
{
@@ -2785,12 +2787,12 @@ void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct Par
}
}
-void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
+static void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
ShowOrHideHeldItemSprite(GetMonData(mon, MON_DATA_HELD_ITEM), menuBox);
}
-void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox)
+static void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox)
{
if (item == ITEM_NONE)
{
@@ -2838,7 +2840,7 @@ void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichPart
}
}
-void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail)
+static void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail)
{
u8 subpriority = gSprites[spriteId].subpriority;
u8 newSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, 250, 170, subpriority - 1);
@@ -2851,7 +2853,7 @@ void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail)
gSprites[newSpriteId].callback(&gSprites[newSpriteId]);
}
-void SpriteCB_HeldItem(struct Sprite *sprite)
+static void SpriteCB_HeldItem(struct Sprite *sprite)
{
u8 otherSpriteId = sprite->data[7];
@@ -2867,13 +2869,13 @@ void SpriteCB_HeldItem(struct Sprite *sprite)
}
}
-void CreatePartyMonPokeballSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
+static void CreatePartyMonPokeballSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
menuBox->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, menuBox->spriteCoords[6], menuBox->spriteCoords[7], 8);
}
-void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox *menuBox)
+static void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox *menuBox)
{
if (species != SPECIES_NONE)
{
@@ -2883,7 +2885,7 @@ void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox
}
// For Cancel when Confirm isnt present
-u8 CreatePokeballButtonSprite(u8 x, u8 y)
+static u8 CreatePokeballButtonSprite(u8 x, u8 y)
{
u8 spriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, x, y, 8);
@@ -2892,12 +2894,12 @@ u8 CreatePokeballButtonSprite(u8 x, u8 y)
}
// For Confirm and Cancel when both are present
-u8 CreateSmallPokeballButtonSprite(u8 x, u8 y)
+static u8 CreateSmallPokeballButtonSprite(u8 x, u8 y)
{
return CreateSprite(&sSpriteTemplate_MenuPokeballSmall, x, y, 8);
}
-void PartyMenuStartSpriteAnim(u8 spriteId, u8 animNum)
+static void PartyMenuStartSpriteAnim(u8 spriteId, u8 animNum)
{
StartSpriteAnim(&gSprites[spriteId], animNum);
}
@@ -2922,14 +2924,14 @@ void SpriteCB_BounceConfirmCancelButton(u8 spriteId, u8 spriteId2, u8 animNum)
}
}
-void LoadPartyMenuPokeballGfx(void)
+static void LoadPartyMenuPokeballGfx(void)
{
LoadCompressedSpriteSheet(&sSpriteSheet_MenuPokeball);
LoadCompressedSpriteSheet(&sSpriteSheet_MenuPokeballSmall);
LoadCompressedSpritePalette(&sSpritePalette_MenuPokeball);
}
-void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
+static void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
@@ -2938,7 +2940,7 @@ void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox *menuBo
}
}
-void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct PartyMenuBox *menuBox)
+static void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct PartyMenuBox *menuBox)
{
if (species != SPECIES_NONE)
{
@@ -2948,12 +2950,12 @@ void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct Part
}
}
-void SetPartyMonAilmentGfx(struct Pokemon *mon, struct PartyMenuBox *menuBox)
+static void SetPartyMonAilmentGfx(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
UpdatePartyMonAilmentGfx(GetMonAilment(mon), menuBox);
}
-void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox)
+static void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox)
{
switch (status)
{
@@ -2968,13 +2970,13 @@ void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox)
}
}
-void LoadPartyMenuAilmentGfx(void)
+static void LoadPartyMenuAilmentGfx(void)
{
LoadCompressedSpriteSheet(&sSpriteSheet_StatusIcons);
LoadCompressedSpritePalette(&sSpritePalette_StatusIcons);
}
-void SetPartyMonSelectionActions(struct Pokemon *mons, u8 slotId, u8 action)
+static void SetPartyMonSelectionActions(struct Pokemon *mons, u8 slotId, u8 action)
{
u8 i;
@@ -2990,7 +2992,7 @@ void SetPartyMonSelectionActions(struct Pokemon *mons, u8 slotId, u8 action)
}
}
-void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId)
+static void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId)
{
u8 i, j;
@@ -3017,7 +3019,7 @@ void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId)
AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_CANCEL1);
}
-u8 GetPartyMenuActionsType(struct Pokemon *mon)
+static u8 GetPartyMenuActionsType(struct Pokemon *mon)
{
u32 actionType;
@@ -3071,7 +3073,7 @@ u8 GetPartyMenuActionsType(struct Pokemon *mon)
return actionType;
}
-void CreateSelectionWindow(void)
+static void CreateSelectionWindow(void)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
@@ -3082,14 +3084,14 @@ void CreateSelectionWindow(void)
DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_MON);
}
-void Task_TryCreateSelectionWindow(u8 taskId)
+static void Task_TryCreateSelectionWindow(u8 taskId)
{
CreateSelectionWindow();
gTasks[taskId].data[0] = 0xFF;
gTasks[taskId].func = Task_HandleSelectionMenuInput;
}
-void Task_HandleSelectionMenuInput(u8 taskId)
+static void Task_HandleSelectionMenuInput(u8 taskId)
{
if (!gPaletteFade.active && sub_80BF748() != TRUE)
{
@@ -3120,28 +3122,28 @@ void Task_HandleSelectionMenuInput(u8 taskId)
}
}
-void CursorCB_Summary(u8 taskId)
+static void CursorCB_Summary(u8 taskId)
{
PlaySE(SE_SELECT);
sPartyMenuInternal->exitCallback = CB2_ShowPokemonSummaryScreen;
Task_ClosePartyMenu(taskId);
}
-void CB2_ShowPokemonSummaryScreen(void)
+static void CB2_ShowPokemonSummaryScreen(void)
{
if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE)
UpdatePartyToBattleOrder();
ShowPokemonSummaryScreen(gPlayerParty, gPartyMenu.slotId, gPlayerPartyCount - 1, CB2_ReturnToPartyMenuFromSummaryScreen, 0);
}
-void CB2_ReturnToPartyMenuFromSummaryScreen(void)
+static void CB2_ReturnToPartyMenuFromSummaryScreen(void)
{
gPaletteFade.bufferTransferDisabled = TRUE;
gPartyMenu.slotId = GetLastViewedMonIndex();
InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_DO_WHAT_WITH_MON, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback);
}
-void CursorCB_Switch(u8 taskId)
+static void CursorCB_Switch(u8 taskId)
{
PlaySE(SE_SELECT);
gPartyMenu.action = PARTY_ACTION_SWITCH;
@@ -3166,7 +3168,7 @@ void CursorCB_Switch(u8 taskId)
#define tSlot1SlideDir data[10]
#define tSlot2SlideDir data[11]
-void SwitchSelectedMons(u8 taskId)
+static void SwitchSelectedMons(u8 taskId)
{
s16 *data = gTasks[taskId].data;
u8 windowIds[2];
@@ -3214,7 +3216,7 @@ void SwitchSelectedMons(u8 taskId)
}
// returns FALSE if the slot has slid fully offscreen / back onscreen
-bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newWidth)
+static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newWidth)
{
if ((x + width) < 0)
return FALSE;
@@ -3238,7 +3240,7 @@ bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newWidth)
return TRUE;
}
-void MoveAndBufferPartySlot(const void *rectSrc, s16 x, s16 y, s16 width, s16 height, s16 dir)
+static void MoveAndBufferPartySlot(const void *rectSrc, s16 x, s16 y, s16 width, s16 height, s16 dir)
{
// The use of the dimension parameters here is a mess
u8 leftMove, newX, newWidth; // leftMove is used as a srcX, newX is used as both x and srcHeight, newWidth is used as both width and destY
@@ -3251,7 +3253,7 @@ void MoveAndBufferPartySlot(const void *rectSrc, s16 x, s16 y, s16 width, s16 he
}
}
-void MovePartyMenuBoxSprites(struct PartyMenuBox *menuBox, s16 offset)
+static void MovePartyMenuBoxSprites(struct PartyMenuBox *menuBox, s16 offset)
{
gSprites[menuBox->pokeballSpriteId].pos2.x += offset * 8;
gSprites[menuBox->itemSpriteId].pos2.x += offset * 8;
@@ -3259,7 +3261,7 @@ void MovePartyMenuBoxSprites(struct PartyMenuBox *menuBox, s16 offset)
gSprites[menuBox->statusSpriteId].pos2.x += offset * 8;
}
-void SlidePartyMenuBoxSpritesOneStep(u8 taskId)
+static void SlidePartyMenuBoxSpritesOneStep(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -3269,7 +3271,7 @@ void SlidePartyMenuBoxSpritesOneStep(u8 taskId)
MovePartyMenuBoxSprites(&sPartyMenuBoxes[gPartyMenu.slotId2], tSlot2SlideDir);
}
-void SlidePartyMenuBoxOneStep(u8 taskId)
+static void SlidePartyMenuBoxOneStep(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -3280,7 +3282,7 @@ void SlidePartyMenuBoxOneStep(u8 taskId)
ScheduleBgCopyTilemapToVram(0);
}
-void Task_SlideSelectedSlotsOffscreen(u8 taskId)
+static void Task_SlideSelectedSlotsOffscreen(u8 taskId)
{
s16 *data = gTasks[taskId].data;
u16 slidingSlotPositions[2];
@@ -3309,7 +3311,7 @@ void Task_SlideSelectedSlotsOffscreen(u8 taskId)
}
}
-void Task_SlideSelectedSlotsOnscreen(u8 taskId)
+static void Task_SlideSelectedSlotsOnscreen(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -3339,7 +3341,7 @@ void Task_SlideSelectedSlotsOnscreen(u8 taskId)
}
}
-void SwitchMenuBoxSprites(u8 *spriteIdPtr1, u8 *spriteIdPtr2)
+static void SwitchMenuBoxSprites(u8 *spriteIdPtr1, u8 *spriteIdPtr2)
{
u8 spriteIdBuffer = *spriteIdPtr1;
u16 xBuffer1, yBuffer1, xBuffer2, yBuffer2;
@@ -3360,7 +3362,7 @@ void SwitchMenuBoxSprites(u8 *spriteIdPtr1, u8 *spriteIdPtr2)
gSprites[*spriteIdPtr2].pos2.y = yBuffer2;
}
-void SwitchPartyMon(void)
+static void SwitchPartyMon(void)
{
struct PartyMenuBox *menuBoxes[2];
struct Pokemon *mon1, *mon2;
@@ -3381,7 +3383,7 @@ void SwitchPartyMon(void)
SwitchMenuBoxSprites(&menuBoxes[0]->statusSpriteId, &menuBoxes[1]->statusSpriteId);
}
-void sub_812358C(void)
+static void sub_812358C(void)
{
u16 *buffer = Alloc(2 * sizeof(u16));
@@ -3392,7 +3394,7 @@ void sub_812358C(void)
}
// Finish switching mons or using Softboiled
-void FinishTwoMonAction(u8 taskId)
+static void FinishTwoMonAction(u8 taskId)
{
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
gPartyMenu.action = PARTY_ACTION_CHOOSE_MON;
@@ -3416,7 +3418,7 @@ void FinishTwoMonAction(u8 taskId)
#undef tSlot1SlideDir
#undef tSlot2SlideDir
-void CursorCB_Cancel1(u8 taskId)
+static void CursorCB_Cancel1(u8 taskId)
{
PlaySE(SE_SELECT);
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
@@ -3428,7 +3430,7 @@ void CursorCB_Cancel1(u8 taskId)
gTasks[taskId].func = Task_HandleChooseMonInput;
}
-void CursorCB_Item(u8 taskId)
+static void CursorCB_Item(u8 taskId)
{
PlaySE(SE_SELECT);
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
@@ -3440,7 +3442,7 @@ void CursorCB_Item(u8 taskId)
gTasks[taskId].func = Task_HandleSelectionMenuInput;
}
-void CursorCB_Give(u8 taskId)
+static void CursorCB_Give(u8 taskId)
{
PlaySE(SE_SELECT);
sPartyMenuInternal->exitCallback = CB2_SelectBagItemToGive;
@@ -3481,7 +3483,7 @@ void CB2_GiveHoldItem(void)
}
}
-void Task_GiveHoldItem(u8 taskId)
+static void Task_GiveHoldItem(u8 taskId)
{
u16 item;
@@ -3495,7 +3497,7 @@ void Task_GiveHoldItem(u8 taskId)
}
}
-void Task_SwitchHoldItemsPrompt(u8 taskId)
+static void Task_SwitchHoldItemsPrompt(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -3504,7 +3506,7 @@ void Task_SwitchHoldItemsPrompt(u8 taskId)
}
}
-void Task_SwitchItemsYesNo(u8 taskId)
+static void Task_SwitchItemsYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -3513,7 +3515,7 @@ void Task_SwitchItemsYesNo(u8 taskId)
}
}
-void Task_HandleSwitchItemsYesNoInput(u8 taskId)
+static void Task_HandleSwitchItemsYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
@@ -3551,7 +3553,7 @@ void Task_HandleSwitchItemsYesNoInput(u8 taskId)
}
}
-void Task_WriteMailToGiveMonAfterText(u8 taskId)
+static void Task_WriteMailToGiveMonAfterText(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -3560,7 +3562,7 @@ void Task_WriteMailToGiveMonAfterText(u8 taskId)
}
}
-void CB2_WriteMailToGiveMon(void)
+static void CB2_WriteMailToGiveMon(void)
{
u8 mail = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL);
@@ -3569,7 +3571,7 @@ void CB2_WriteMailToGiveMon(void)
CB2_ReturnToPartyMenuFromWritingMail);
}
-void CB2_ReturnToPartyMenuFromWritingMail(void)
+static void CB2_ReturnToPartyMenuFromWritingMail(void)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
@@ -3591,7 +3593,7 @@ void CB2_ReturnToPartyMenuFromWritingMail(void)
}
// Nearly redundant with Task_DisplayGaveMailFromBagMessgae
-void Task_DisplayGaveMailFromPartyMessage(u8 taskId)
+static void Task_DisplayGaveMailFromPartyMessage(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -3603,7 +3605,7 @@ void Task_DisplayGaveMailFromPartyMessage(u8 taskId)
}
}
-void Task_UpdateHeldItemSprite(u8 taskId)
+static void Task_UpdateHeldItemSprite(u8 taskId)
{
s8 slotId = gPartyMenu.slotId;
@@ -3614,7 +3616,7 @@ void Task_UpdateHeldItemSprite(u8 taskId)
}
}
-void CursorCB_TakeItem(u8 taskId)
+static void CursorCB_TakeItem(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
@@ -3641,7 +3643,7 @@ void CursorCB_TakeItem(u8 taskId)
gTasks[taskId].func = Task_UpdateHeldItemSprite;
}
-void CursorCB_Mail(u8 taskId)
+static void CursorCB_Mail(u8 taskId)
{
PlaySE(SE_SELECT);
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
@@ -3653,25 +3655,25 @@ void CursorCB_Mail(u8 taskId)
gTasks[taskId].func = Task_HandleSelectionMenuInput;
}
-void CursorCB_Read(u8 taskId)
+static void CursorCB_Read(u8 taskId)
{
PlaySE(SE_SELECT);
sPartyMenuInternal->exitCallback = CB2_ReadHeldMail;
Task_ClosePartyMenu(taskId);
}
-void CB2_ReadHeldMail(void)
+static void CB2_ReadHeldMail(void)
{
ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL)], CB2_ReturnToPartyMenuFromReadingMail, 1);
}
-void CB2_ReturnToPartyMenuFromReadingMail(void)
+static void CB2_ReturnToPartyMenuFromReadingMail(void)
{
gPaletteFade.bufferTransferDisabled = TRUE;
InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_DO_WHAT_WITH_MON, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback);
}
-void CursorCB_TakeMail(u8 taskId)
+static void CursorCB_TakeMail(u8 taskId)
{
PlaySE(SE_SELECT);
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
@@ -3680,7 +3682,7 @@ void CursorCB_TakeMail(u8 taskId)
gTasks[taskId].func = Task_SendMailToPCYesNo;
}
-void Task_SendMailToPCYesNo(u8 taskId)
+static void Task_SendMailToPCYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -3689,7 +3691,7 @@ void Task_SendMailToPCYesNo(u8 taskId)
}
}
-void Task_HandleSendMailToPCYesNoInput(u8 taskId)
+static void Task_HandleSendMailToPCYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
@@ -3715,7 +3717,7 @@ void Task_HandleSendMailToPCYesNoInput(u8 taskId)
}
}
-void Task_LoseMailMessageYesNo(u8 taskId)
+static void Task_LoseMailMessageYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -3724,7 +3726,7 @@ void Task_LoseMailMessageYesNo(u8 taskId)
}
}
-void Task_HandleLoseMailMessageYesNoInput(u8 taskId)
+static void Task_HandleLoseMailMessageYesNoInput(u8 taskId)
{
u16 item;
@@ -3754,7 +3756,7 @@ void Task_HandleLoseMailMessageYesNoInput(u8 taskId)
}
}
-void CursorCB_Cancel2(u8 taskId)
+static void CursorCB_Cancel2(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
@@ -3768,7 +3770,7 @@ void CursorCB_Cancel2(u8 taskId)
gTasks[taskId].func = Task_HandleSelectionMenuInput;
}
-void CursorCB_SendMon(u8 taskId)
+static void CursorCB_SendMon(u8 taskId)
{
PlaySE(SE_SELECT);
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
@@ -3785,7 +3787,7 @@ void CursorCB_SendMon(u8 taskId)
}
}
-void CursorCB_Enter(u8 taskId)
+static void CursorCB_Enter(u8 taskId)
{
u8 maxBattlers;
u8 i;
@@ -3822,14 +3824,14 @@ void CursorCB_Enter(u8 taskId)
gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
-void MoveCursorToConfirm(void)
+static void MoveCursorToConfirm(void)
{
AnimatePartySlot(gPartyMenu.slotId, 0);
gPartyMenu.slotId = PARTY_SIZE;
AnimatePartySlot(gPartyMenu.slotId, 1);
}
-void CursorCB_NoEntry(u8 taskId)
+static void CursorCB_NoEntry(u8 taskId)
{
u8 i;
@@ -3865,7 +3867,7 @@ void CursorCB_NoEntry(u8 taskId)
gTasks[taskId].func = Task_HandleChooseMonInput;
}
-void CursorCB_Store(u8 taskId)
+static void CursorCB_Store(u8 taskId)
{
PlaySE(SE_SELECT);
gSpecialVar_0x8004 = gPartyMenu.slotId;
@@ -3873,7 +3875,7 @@ void CursorCB_Store(u8 taskId)
}
// Register mon for the Trading Board in Union Room
-void CursorCB_Register(u8 taskId)
+static void CursorCB_Register(u8 taskId)
{
u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES2);
u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
@@ -3900,7 +3902,7 @@ void CursorCB_Register(u8 taskId)
gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
-void CursorCB_Trade1(u8 taskId)
+static void CursorCB_Trade1(u8 taskId)
{
u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES2);
u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
@@ -3926,11 +3928,11 @@ void CursorCB_Trade1(u8 taskId)
// Spin Trade (based on the translation of the Japanese trade prompt)
// Not implemented, and normally unreachable because PARTY_MENU_TYPE_SPIN_TRADE is never used
-void CursorCB_Trade2(u8 taskId)
+static void CursorCB_Trade2(u8 taskId)
{
}
-void CursorCB_FieldMove(u8 taskId)
+static void CursorCB_FieldMove(u8 taskId)
{
u8 fieldMove = sPartyMenuInternal->actions[Menu_GetCursorPos()] - MENU_FIELD_MOVES;
const struct MapHeader *mapHeader;
@@ -4009,13 +4011,13 @@ void CursorCB_FieldMove(u8 taskId)
}
}
-void DisplayFieldMoveExitAreaMessage(u8 taskId)
+static void DisplayFieldMoveExitAreaMessage(u8 taskId)
{
DisplayPartyMenuMessage(gStringVar4, TRUE);
gTasks[taskId].func = Task_FieldMoveExitAreaYesNo;
}
-void Task_FieldMoveExitAreaYesNo(u8 taskId)
+static void Task_FieldMoveExitAreaYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -4024,7 +4026,7 @@ void Task_FieldMoveExitAreaYesNo(u8 taskId)
}
}
-void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId)
+static void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
@@ -4051,7 +4053,7 @@ bool8 FieldCallback_PrepareFadeInFromMenu(void)
return TRUE;
}
-void Task_FieldMoveWaitForFade(u8 taskId)
+static void Task_FieldMoveWaitForFade(u8 taskId)
{
if (IsWeatherNotFadingIn() == TRUE)
{
@@ -4061,18 +4063,18 @@ void Task_FieldMoveWaitForFade(u8 taskId)
}
}
-u16 GetFieldMoveMonSpecies(void)
+static u16 GetFieldMoveMonSpecies(void)
{
return GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
}
-void Task_CancelAfterAorBPress(u8 taskId)
+static void Task_CancelAfterAorBPress(u8 taskId)
{
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
CursorCB_Cancel1(taskId);
}
-void DisplayCantUseFlashMessage(void)
+static void DisplayCantUseFlashMessage(void)
{
if (FlagGet(FLAG_SYS_FLASH_ACTIVE) == TRUE)
DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_IN_USE);
@@ -4080,13 +4082,13 @@ void DisplayCantUseFlashMessage(void)
DisplayPartyMenuStdMessage(PARTY_MSG_CANT_USE_HERE);
}
-void FieldCallback_Surf(void)
+static void FieldCallback_Surf(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
FieldEffectStart(FLDEFF_USE_SURF);
}
-bool8 SetUpFieldMove_Surf(void)
+static bool8 SetUpFieldMove_Surf(void)
{
s16 x, y;
@@ -4102,7 +4104,7 @@ bool8 SetUpFieldMove_Surf(void)
return FALSE;
}
-void DisplayCantUseSurfMessage(void)
+static void DisplayCantUseSurfMessage(void)
{
s16 x, y;
@@ -4124,7 +4126,7 @@ void DisplayCantUseSurfMessage(void)
}
}
-bool8 SetUpFieldMove_Fly(void)
+static bool8 SetUpFieldMove_Fly(void)
{
if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE)
return TRUE;
@@ -4137,13 +4139,13 @@ void CB2_ReturnToPartyMenuFromFlyMap(void)
InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, TRUE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ReturnToFieldWithOpenMenu);
}
-void FieldCallback_Waterfall(void)
+static void FieldCallback_Waterfall(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
FieldEffectStart(FLDEFF_USE_WATERFALL);
}
-bool8 SetUpFieldMove_Waterfall(void)
+static bool8 SetUpFieldMove_Waterfall(void)
{
s16 x, y;
@@ -4157,7 +4159,7 @@ bool8 SetUpFieldMove_Waterfall(void)
return FALSE;
}
-void sub_8124B60(struct Pokemon *mon, u16 item, u16 item2)
+static void sub_8124B60(struct Pokemon *mon, u16 item, u16 item2)
{
u16 *ptr = Alloc(4 * sizeof(u16));
@@ -4178,7 +4180,7 @@ struct FieldMoveWarpParams
u8 regionMapSectionId;
};
-void sub_8124BB0(struct Pokemon *mon, u8 fieldMove)
+static void sub_8124BB0(struct Pokemon *mon, u8 fieldMove)
{
struct FieldMoveWarpParams *ptr = Alloc(sizeof(*ptr));
@@ -4279,28 +4281,28 @@ void CB2_ShowPartyMenuForItemUse(void)
InitPartyMenu(menuType, partyLayout, PARTY_ACTION_USE_ITEM, TRUE, msgId, task, callback);
}
-void CB2_ReturnToBagMenu(void)
+static void CB2_ReturnToBagMenu(void)
{
GoToBagMenu(11, 3, NULL);
}
-void CB2_ReturnToTMCaseMenu(void)
+static void CB2_ReturnToTMCaseMenu(void)
{
InitTMCase(5, NULL, 0xFF);
}
-void CB2_ReturnToBerryPouchMenu(void)
+static void CB2_ReturnToBerryPouchMenu(void)
{
InitBerryPouch(BERRYPOUCH_NA, NULL, 0xFF);
}
-void sub_8124DC0(u8 taskId)
+static void sub_8124DC0(u8 taskId)
{
sPartyMenuInternal->exitCallback = sub_8124DE0;
Task_ClosePartyMenu(taskId);
}
-void sub_8124DE0(void)
+static void sub_8124DE0(void)
{
if (CheckIfItemIsTMHMOrEvolutionStone(gSpecialVar_ItemId) == 2) // Evolution stone
{
@@ -4315,7 +4317,7 @@ void sub_8124DE0(void)
}
}
-void sub_8124E48(void)
+static void sub_8124E48(void)
{
if (ItemId_GetPocket(gSpecialVar_ItemId) == POCKET_TM_CASE
&& sub_811D178() == 1)
@@ -4332,7 +4334,7 @@ void sub_8124E48(void)
}
}
-void sub_8124EFC(void)
+static void sub_8124EFC(void)
{
if (sub_811D178() == 1)
{
@@ -4354,7 +4356,7 @@ void sub_8124EFC(void)
}
}
-void Task_SetSacredAshCB(u8 taskId)
+static void Task_SetSacredAshCB(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -4364,7 +4366,7 @@ void Task_SetSacredAshCB(u8 taskId)
}
}
-bool8 IsHPRecoveryItem(u16 item)
+static bool8 IsHPRecoveryItem(u16 item)
{
const u8 *effect;
@@ -4378,7 +4380,7 @@ bool8 IsHPRecoveryItem(u16 item)
return FALSE;
}
-void GetMedicineItemEffectMessage(u16 item)
+static void GetMedicineItemEffectMessage(u16 item)
{
switch (GetItemEffectType(item))
{
@@ -4443,21 +4445,21 @@ void GetMedicineItemEffectMessage(u16 item)
}
}
-bool8 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item)
+static bool8 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item)
{
if (GetItemEffectType(item) == ITEM_EFFECT_HP_EV && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA)
return FALSE;
return TRUE;
}
-bool8 IsItemFlute(u16 item)
+static bool8 IsItemFlute(u16 item)
{
if (item == ITEM_BLUE_FLUTE || item == ITEM_RED_FLUTE || item == ITEM_YELLOW_FLUTE)
return TRUE;
return FALSE;
}
-bool8 ExecuteTableBasedItemEffect_(u8 partyMonIndex, u16 item, u8 monMoveIndex)
+static bool8 ExecuteTableBasedItemEffect_(u8 partyMonIndex, u16 item, u8 monMoveIndex)
{
if (gMain.inBattle)
return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, GetPartyIdFromBattleSlot(partyMonIndex), monMoveIndex);
@@ -4565,7 +4567,7 @@ void ItemUseCB_MedicineStep(u8 taskId, TaskFunc func)
}
}
-void Task_DisplayHPRestoredMessage(u8 taskId)
+static void Task_DisplayHPRestoredMessage(u8 taskId)
{
GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
@@ -4575,7 +4577,7 @@ void Task_DisplayHPRestoredMessage(u8 taskId)
gTasks[taskId].func = Task_ClosePartyMenuAfterText;
}
-void Task_ClosePartyMenuAfterText(u8 taskId)
+static void Task_ClosePartyMenuAfterText(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -4585,7 +4587,7 @@ void Task_ClosePartyMenuAfterText(u8 taskId)
}
}
-void ShowMoveSelectWindow(u8 slot)
+static void ShowMoveSelectWindow(u8 slot)
{
u8 i;
u8 moveCount = 0;
@@ -4610,7 +4612,7 @@ void ShowMoveSelectWindow(u8 slot)
ScheduleBgCopyTilemapToVram(2);
}
-void Task_HandleWhichMoveInput(u8 taskId)
+static void Task_HandleWhichMoveInput(u8 taskId)
{
s8 input = Menu_ProcessInput();
@@ -4655,7 +4657,7 @@ void ItemUseCB_PPRecovery(u8 taskId, UNUSED TaskFunc func)
}
}
-void SetSelectedMoveForPPItem(u8 taskId)
+static void SetSelectedMoveForPPItem(u8 taskId)
{
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
gPartyMenu.data1 = Menu_GetCursorPos();
@@ -4665,7 +4667,7 @@ void SetSelectedMoveForPPItem(u8 taskId)
sub_812580C(taskId);
}
-void ReturnToUseOnWhichMon(u8 taskId)
+static void ReturnToUseOnWhichMon(u8 taskId)
{
gTasks[taskId].func = Task_HandleChooseMonInput;
sPartyMenuInternal->exitCallback = NULL;
@@ -4673,7 +4675,7 @@ void ReturnToUseOnWhichMon(u8 taskId)
DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON);
}
-void sub_812580C(u8 taskId)
+static void sub_812580C(u8 taskId)
{
bool8 noEffect = PokemonItemUseNoEffect(&gPlayerParty[gPartyMenu.slotId],
gSpecialVar_ItemId,
@@ -4694,7 +4696,7 @@ void sub_812580C(u8 taskId)
}
}
-void sub_8125898(u8 taskId, UNUSED TaskFunc func)
+static void sub_8125898(u8 taskId, UNUSED TaskFunc func)
{
u16 move;
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
@@ -4712,7 +4714,7 @@ void sub_8125898(u8 taskId, UNUSED TaskFunc func)
gTasks[taskId].func = Task_ClosePartyMenuAfterText;
}
-void TryUsePPItem(u8 taskId)
+static void TryUsePPItem(u8 taskId)
{
u16 move = MOVE_NONE;
s16 *moveSlot = &gPartyMenu.data1;
@@ -4781,14 +4783,14 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move)
return FALSE;
}
-void DisplayLearnMoveMessage(const u8 *str)
+static void DisplayLearnMoveMessage(const u8 *str)
{
StringExpandPlaceholders(gStringVar4, str);
DisplayPartyMenuMessage(gStringVar4, TRUE);
ScheduleBgCopyTilemapToVram(2);
}
-void DisplayLearnMoveMessageAndClose(u8 taskId, const u8 *str)
+static void DisplayLearnMoveMessageAndClose(u8 taskId, const u8 *str)
{
DisplayLearnMoveMessage(str);
gTasks[taskId].func = Task_ClosePartyMenuAfterText;
@@ -4830,12 +4832,12 @@ void ItemUseCB_TMHM(u8 taskId, UNUSED TaskFunc func)
}
}
-void ItemUseCB_LearnedMove(u8 taskId, UNUSED TaskFunc func)
+static void ItemUseCB_LearnedMove(u8 taskId, UNUSED TaskFunc func)
{
Task_LearnedMove(taskId);
}
-void Task_LearnedMove(u8 taskId)
+static void Task_LearnedMove(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
s16 *move = &gPartyMenu.data1;
@@ -4855,7 +4857,7 @@ void Task_LearnedMove(u8 taskId)
gTasks[taskId].func = Task_DoLearnedMoveFanfareAfterText;
}
-void Task_DoLearnedMoveFanfareAfterText(u8 taskId)
+static void Task_DoLearnedMoveFanfareAfterText(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -4864,7 +4866,7 @@ void Task_DoLearnedMoveFanfareAfterText(u8 taskId)
}
}
-void Task_LearnNextMoveOrClosePartyMenu(u8 taskId)
+static void Task_LearnNextMoveOrClosePartyMenu(u8 taskId)
{
if (IsFanfareTaskInactive() && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)))
{
@@ -4879,7 +4881,7 @@ void Task_LearnNextMoveOrClosePartyMenu(u8 taskId)
}
}
-void Task_ReplaceMoveYesNo(u8 taskId)
+static void Task_ReplaceMoveYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -4888,7 +4890,7 @@ void Task_ReplaceMoveYesNo(u8 taskId)
}
}
-void Task_HandleReplaceMoveYesNoInput(u8 taskId)
+static void Task_HandleReplaceMoveYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
@@ -4905,7 +4907,7 @@ void Task_HandleReplaceMoveYesNoInput(u8 taskId)
}
}
-void Task_ShowSummaryScreenToForgetMove(u8 taskId)
+static void Task_ShowSummaryScreenToForgetMove(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -4914,12 +4916,12 @@ void Task_ShowSummaryScreenToForgetMove(u8 taskId)
}
}
-void CB2_ShowSummaryScreenToForgetMove(void)
+static void CB2_ShowSummaryScreenToForgetMove(void)
{
ShowSelectMovePokemonSummaryScreen(gPlayerParty, gPartyMenu.slotId, gPlayerPartyCount - 1, CB2_ReturnToPartyMenuWhileLearningMove, gPartyMenu.data1);
}
-void CB2_ReturnToPartyMenuWhileLearningMove(void)
+static void CB2_ReturnToPartyMenuWhileLearningMove(void)
{
u8 moveIdx = GetMoveSlotToReplace();
u16 move;
@@ -4938,7 +4940,7 @@ void CB2_ReturnToPartyMenuWhileLearningMove(void)
}
}
-void Task_ReturnToPartyMenuWhileLearningMove(u8 taskId)
+static void Task_ReturnToPartyMenuWhileLearningMove(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -4949,12 +4951,12 @@ void Task_ReturnToPartyMenuWhileLearningMove(u8 taskId)
}
}
-void sub_8125F4C(u8 taskId, UNUSED TaskFunc func)
+static void sub_8125F4C(u8 taskId, UNUSED TaskFunc func)
{
sub_8125F5C(taskId);
}
-void sub_8125F5C(u8 taskId)
+static void sub_8125F5C(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u8 moveIdx = GetMoveSlotToReplace();
@@ -4968,7 +4970,7 @@ void sub_8125F5C(u8 taskId)
Task_LearnedMove(taskId);
}
-void DisplayPartyMenuForgotMoveMessage(u8 taskId)
+static void DisplayPartyMenuForgotMoveMessage(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 move = GetMonData(mon, MON_DATA_MOVE1 + GetMoveSlotToReplace());
@@ -4979,7 +4981,7 @@ void DisplayPartyMenuForgotMoveMessage(u8 taskId)
gTasks[taskId].func = Task_PartyMenuReplaceMove;
}
-void Task_PartyMenuReplaceMove(u8 taskId)
+static void Task_PartyMenuReplaceMove(u8 taskId)
{
struct Pokemon *mon;
u16 move;
@@ -4994,7 +4996,7 @@ void Task_PartyMenuReplaceMove(u8 taskId)
}
}
-void StopLearningMovePrompt(u8 taskId)
+static void StopLearningMovePrompt(u8 taskId)
{
StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]);
StringExpandPlaceholders(gStringVar4, gText_StopLearningMove2);
@@ -5003,7 +5005,7 @@ void StopLearningMovePrompt(u8 taskId)
gTasks[taskId].func = Task_StopLearningMoveYesNo;
}
-void Task_StopLearningMoveYesNo(u8 taskId)
+static void Task_StopLearningMoveYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -5012,7 +5014,7 @@ void Task_StopLearningMoveYesNo(u8 taskId)
}
}
-void Task_HandleStopLearningMoveYesNoInput(u8 taskId)
+static void Task_HandleStopLearningMoveYesNoInput(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
@@ -5046,7 +5048,7 @@ void Task_HandleStopLearningMoveYesNoInput(u8 taskId)
}
}
-void Task_TryLearningNextMoveAfterText(u8 taskId)
+static void Task_TryLearningNextMoveAfterText(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
Task_TryLearningNextMove(taskId);
@@ -5077,7 +5079,7 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc func)
}
}
-void ItemUseCB_RareCandyStep(u8 taskId, UNUSED TaskFunc func)
+static void ItemUseCB_RareCandyStep(u8 taskId, UNUSED TaskFunc func)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
struct PartyMenuInternal *ptr = sPartyMenuInternal;
@@ -5101,7 +5103,7 @@ void ItemUseCB_RareCandyStep(u8 taskId, UNUSED TaskFunc func)
gTasks[taskId].func = Task_DisplayLevelUpStatsPg1;
}
-void UpdateMonDisplayInfoAfterRareCandy(u8 slot, struct Pokemon *mon)
+static void UpdateMonDisplayInfoAfterRareCandy(u8 slot, struct Pokemon *mon)
{
SetPartyMonAilmentGfx(mon, &sPartyMenuBoxes[slot]);
if (gSprites[sPartyMenuBoxes[slot].statusSpriteId].invisible)
@@ -5114,7 +5116,7 @@ void UpdateMonDisplayInfoAfterRareCandy(u8 slot, struct Pokemon *mon)
ScheduleBgCopyTilemapToVram(0);
}
-void Task_DisplayLevelUpStatsPg1(u8 taskId)
+static void Task_DisplayLevelUpStatsPg1(u8 taskId)
{
if (WaitFanfare(FALSE) && IsPartyMenuTextPrinterActive() != TRUE && (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)))
{
@@ -5124,7 +5126,7 @@ void Task_DisplayLevelUpStatsPg1(u8 taskId)
}
}
-void Task_DisplayLevelUpStatsPg2(u8 taskId)
+static void Task_DisplayLevelUpStatsPg2(u8 taskId)
{
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
{
@@ -5134,7 +5136,7 @@ void Task_DisplayLevelUpStatsPg2(u8 taskId)
}
}
-void DisplayLevelUpStatsPg1(u8 taskId)
+static void DisplayLevelUpStatsPg1(u8 taskId)
{
s16 *arrayPtr = sPartyMenuInternal->data;
@@ -5144,7 +5146,7 @@ void DisplayLevelUpStatsPg1(u8 taskId)
ScheduleBgCopyTilemapToVram(2);
}
-void DisplayLevelUpStatsPg2(u8 taskId)
+static void DisplayLevelUpStatsPg2(u8 taskId)
{
s16 *arrayPtr = sPartyMenuInternal->data;
@@ -5153,7 +5155,7 @@ void DisplayLevelUpStatsPg2(u8 taskId)
ScheduleBgCopyTilemapToVram(2);
}
-void Task_TryLearnNewMoves(u8 taskId)
+static void Task_TryLearnNewMoves(u8 taskId)
{
u16 learnMove;
@@ -5180,7 +5182,7 @@ void Task_TryLearnNewMoves(u8 taskId)
}
}
-void Task_TryLearningNextMove(u8 taskId)
+static void Task_TryLearningNextMove(u8 taskId)
{
u16 result = MonTryLearningNewMove(&gPlayerParty[gPartyMenu.slotId], FALSE);
@@ -5200,7 +5202,7 @@ void Task_TryLearningNextMove(u8 taskId)
}
}
-void PartyMenuTryEvolution(u8 taskId)
+static void PartyMenuTryEvolution(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 targetSpecies = GetEvolutionTargetSpecies(mon, 0, 0);
@@ -5218,7 +5220,7 @@ void PartyMenuTryEvolution(u8 taskId)
}
}
-void DisplayMonNeedsToReplaceMove(u8 taskId)
+static void DisplayMonNeedsToReplaceMove(u8 taskId)
{
GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringCopy(gStringVar2, gMoveNames[gMoveToLearn]);
@@ -5229,7 +5231,7 @@ void DisplayMonNeedsToReplaceMove(u8 taskId)
gTasks[taskId].func = Task_ReplaceMoveYesNo;
}
-void DisplayMonLearnedMove(u8 taskId, u16 move)
+static void DisplayMonLearnedMove(u8 taskId, u16 move)
{
GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringCopy(gStringVar2, gMoveNames[move]);
@@ -5252,7 +5254,7 @@ void ItemUseCB_SacredAsh(u8 taskId, UNUSED TaskFunc func)
UseSacredAsh(taskId);
}
-void UseSacredAsh(u8 taskId)
+static void UseSacredAsh(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 hp;
@@ -5282,7 +5284,7 @@ void UseSacredAsh(u8 taskId)
sPartyMenuInternal->tHadEffect = TRUE;
}
-void Task_SacredAshLoop(u8 taskId)
+static void Task_SacredAshLoop(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -5316,7 +5318,7 @@ void Task_SacredAshLoop(u8 taskId)
}
}
-void Task_SacredAshDisplayHPRestored(u8 taskId)
+static void Task_SacredAshDisplayHPRestored(u8 taskId)
{
GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
@@ -5348,7 +5350,7 @@ void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc func)
}
}
-void sub_8126BD4(void)
+static void sub_8126BD4(void)
{
gCB2_AfterEvolution = gPartyMenu.exitCallback;
ExecuteTableBasedItemEffect_(gPartyMenu.slotId, gSpecialVar_ItemId, 0);
@@ -5356,7 +5358,7 @@ void sub_8126BD4(void)
RemoveBagItem(gSpecialVar_ItemId, 1);
}
-bool8 sub_8126C24(void)
+static bool8 sub_8126C24(void)
{
if (!IsNationalPokedexEnabled()
&& GetEvolutionTargetSpecies(&gPlayerParty[gPartyMenu.slotId], 2, gSpecialVar_ItemId) > KANTO_DEX_COUNT)
@@ -5429,7 +5431,7 @@ u8 GetItemEffectType(u16 item)
return ITEM_EFFECT_NONE;
}
-void TryTutorSelectedMon(u8 taskId)
+static void TryTutorSelectedMon(u8 taskId)
{
struct Pokemon *mon;
s16 *move;
@@ -5490,7 +5492,7 @@ void CB2_ChooseMonToGiveItem(void)
gPartyMenu.bagItem = gSpecialVar_ItemId;
}
-void TryGiveItemOrMailToSelectedMon(u8 taskId)
+static void TryGiveItemOrMailToSelectedMon(u8 taskId)
{
sPartyMenuItemId = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_HELD_ITEM);
if (sPartyMenuItemId == ITEM_NONE)
@@ -5508,7 +5510,7 @@ void TryGiveItemOrMailToSelectedMon(u8 taskId)
}
}
-void GiveItemOrMailToSelectedMon(u8 taskId)
+static void GiveItemOrMailToSelectedMon(u8 taskId)
{
if (ItemIsMail(gPartyMenu.bagItem))
{
@@ -5522,7 +5524,7 @@ void GiveItemOrMailToSelectedMon(u8 taskId)
}
}
-void GiveItemToSelectedMon(u8 taskId)
+static void GiveItemToSelectedMon(u8 taskId)
{
u16 item;
@@ -5536,7 +5538,7 @@ void GiveItemToSelectedMon(u8 taskId)
}
}
-void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8 taskId)
+static void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8 taskId)
{
s8 slot = gPartyMenu.slotId;
@@ -5547,7 +5549,7 @@ void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8 taskId)
}
}
-void CB2_WriteMailToGiveMonFromBag(void)
+static void CB2_WriteMailToGiveMonFromBag(void)
{
u8 mail;
@@ -5556,7 +5558,7 @@ void CB2_WriteMailToGiveMonFromBag(void)
DoEasyChatScreen(EASY_CHAT_TYPE_MAIL, gSaveBlock1Ptr->mail[mail].words, CB2_ReturnToPartyOrBagMenuFromWritingMail);
}
-void CB2_ReturnToPartyOrBagMenuFromWritingMail(void)
+static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
@@ -5577,7 +5579,7 @@ void CB2_ReturnToPartyOrBagMenuFromWritingMail(void)
}
}
-void Task_DisplayGaveMailFromBagMessage(u8 taskId)
+static void Task_DisplayGaveMailFromBagMessage(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -5589,7 +5591,7 @@ void Task_DisplayGaveMailFromBagMessage(u8 taskId)
}
}
-void Task_SwitchItemsFromBagYesNo(u8 taskId)
+static void Task_SwitchItemsFromBagYesNo(u8 taskId)
{
if (IsPartyMenuTextPrinterActive() != TRUE)
{
@@ -5598,7 +5600,7 @@ void Task_SwitchItemsFromBagYesNo(u8 taskId)
}
}
-void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId)
+static void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId)
{
u16 item;
@@ -5635,14 +5637,14 @@ void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId)
}
}
-void DisplayItemMustBeRemovedFirstMessage(u8 taskId)
+static void DisplayItemMustBeRemovedFirstMessage(u8 taskId)
{
DisplayPartyMenuMessage(gText_RemoveMailBeforeItem, TRUE);
ScheduleBgCopyTilemapToVram(2);
gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
}
-void RemoveItemToGiveFromBag(u16 item)
+static void RemoveItemToGiveFromBag(u16 item)
{
if (gPartyMenu.action == PARTY_ACTION_GIVE_PC_ITEM) // Unused, never occurs
RemovePCItem(item, 1);
@@ -5652,7 +5654,7 @@ void RemoveItemToGiveFromBag(u16 item)
// Returns FALSE if there was no space to return the item
// but there always should be, and the return is ignored in all uses
-bool8 ReturnGiveItemToBagOrPC(u16 item)
+static bool8 ReturnGiveItemToBagOrPC(u16 item)
{
if (gPartyMenu.action == PARTY_ACTION_GIVE_ITEM)
return AddBagItem(item, 1);
@@ -5665,7 +5667,7 @@ void ChooseMonToGiveMailFromMailbox(void)
InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_GIVE_MAILBOX_MAIL, FALSE, PARTY_MSG_GIVE_TO_WHICH_MON, Task_HandleChooseMonInput, Mailbox_ReturnToMailListAfterDeposit);
}
-void TryGiveMailToSelectedMon(u8 taskId)
+static void TryGiveMailToSelectedMon(u8 taskId)
{
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
struct MailStruct *mail;
@@ -5686,11 +5688,11 @@ void TryGiveMailToSelectedMon(u8 taskId)
gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
}
-void InitChooseHalfPartyForBattle(u8 maxBattlers)
+void InitChooseHalfPartyForBattle(u8 a1)
{
ClearSelectedPartyOrder();
InitPartyMenu(PARTY_MENU_TYPE_CHOOSE_HALF, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, gMain.savedCallback);
- gPartyMenu.unk_8_6 = maxBattlers;
+ gPartyMenu.unk_8_6 = a1;
gPartyMenu.task = Task_ValidateChosenHalfParty;
}
@@ -5699,7 +5701,7 @@ void ClearSelectedPartyOrder(void)
memset(gSelectedOrderFromParty, 0, sizeof(gSelectedOrderFromParty));
}
-u8 GetPartySlotEntryStatus(s8 slot)
+static u8 GetPartySlotEntryStatus(s8 slot)
{
if (GetBattleEntryEligibility(&gPlayerParty[slot]) == FALSE)
return 2;
@@ -5709,7 +5711,7 @@ u8 GetPartySlotEntryStatus(s8 slot)
}
#ifdef NONMATCHING
-bool8 GetBattleEntryEligibility(struct Pokemon *mon)
+static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
{
u16 species;
u16 i = 0;
@@ -5744,7 +5746,7 @@ bool8 GetBattleEntryEligibility(struct Pokemon *mon)
}
#else
NAKED
-bool8 GetBattleEntryEligibility(struct Pokemon *mon)
+static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
{
asm_unified("push {r4,r5,lr}\n\
adds r4, r0, 0\n\
@@ -5832,7 +5834,7 @@ bool8 GetBattleEntryEligibility(struct Pokemon *mon)
}
#endif
-u8 CheckBattleEntriesAndGetMessage(void)
+static u8 CheckBattleEntriesAndGetMessage(void)
{
u8 i, j;
struct Pokemon *party = gPlayerParty;
@@ -5864,7 +5866,7 @@ u8 CheckBattleEntriesAndGetMessage(void)
return 0xFF;
}
-bool8 HasPartySlotAlreadyBeenSelected(u8 slot)
+static bool8 HasPartySlotAlreadyBeenSelected(u8 slot)
{
u8 i;
@@ -5874,7 +5876,7 @@ bool8 HasPartySlotAlreadyBeenSelected(u8 slot)
return FALSE;
}
-void Task_ValidateChosenHalfParty(u8 taskId)
+static void Task_ValidateChosenHalfParty(u8 taskId)
{
u8 msgId = CheckBattleEntriesAndGetMessage();
@@ -5900,7 +5902,7 @@ void Task_ValidateChosenHalfParty(u8 taskId)
}
}
-void Task_ContinueChoosingHalfParty(u8 taskId)
+static void Task_ContinueChoosingHalfParty(u8 taskId)
{
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
{
@@ -5951,7 +5953,7 @@ void ChooseMonForWirelessMinigame(void)
InitPartyMenu(PARTY_MENU_TYPE_MINIGAME, PARTY_LAYOUT_SINGLE, PARTY_ACTION_MINIGAME, FALSE, PARTY_MSG_CHOOSE_MON_OR_CANCEL, Task_HandleChooseMonInput, CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
-u8 GetPartyLayoutFromBattleType(void)
+static u8 GetPartyLayoutFromBattleType(void)
{
if (IsDoubleBattle() == FALSE)
return PARTY_LAYOUT_SINGLE;
@@ -6034,7 +6036,7 @@ void sub_81279E0(void)
UpdatePartyToBattleOrder();
}
-u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *mon)
+static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *mon)
{
if (GetMonData(&gPlayerParty[1], MON_DATA_SPECIES) == SPECIES_NONE || GetMonData(mon, MON_DATA_IS_EGG))
return ACTIONS_SUMMARY_ONLY;
@@ -6044,7 +6046,7 @@ u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *mon)
return ACTIONS_SHIFT;
}
-bool8 TrySwitchInPokemon(void)
+static bool8 TrySwitchInPokemon(void)
{
u8 slot = GetCursorSelectionMonId();
u8 newSlot;
@@ -6109,7 +6111,7 @@ void BufferBattlePartyCurrentOrder(void)
BufferBattlePartyOrder(gBattlePartyCurrentOrder, GetPlayerFlankId());
}
-void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId)
+static void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId)
{
u8 partyIds[PARTY_SIZE];
s32 i, j;
@@ -6169,7 +6171,7 @@ void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId)
}
// when GetBattlerSide(battlerId) == B_SIDE_PLAYER, this function is identical the one above
-void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId)
+static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId)
{
u8 partyIndexes[PARTY_SIZE];
s32 i, j;
@@ -6247,7 +6249,7 @@ void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2)
for (i = j = 0; i < 3; ++j, ++i)
{
partyIds[j] = partyBattleOrder[i] >> 4;
- j++;
+ ++j;
partyIds[j] = partyBattleOrder[i] & 0xF;
}
partyIdBuffer = partyIds[slot2];
@@ -6270,7 +6272,7 @@ void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2)
}
}
-u8 GetPartyIdFromBattleSlot(u8 slot)
+static u8 GetPartyIdFromBattleSlot(u8 slot)
{
u8 modResult = slot & 1;
u8 retVal;
@@ -6283,7 +6285,7 @@ u8 GetPartyIdFromBattleSlot(u8 slot)
return retVal;
}
-void SetPartyIdAtBattleSlot(u8 slot, u8 setVal)
+static void SetPartyIdAtBattleSlot(u8 slot, u8 setVal)
{
bool32 modResult = slot & 1;
@@ -6322,7 +6324,7 @@ u8 GetPartyIdFromBattlePartyId(u8 battlePartyId)
return 0;
}
-void UpdatePartyToBattleOrder(void)
+static void UpdatePartyToBattleOrder(void)
{
struct Pokemon *partyBuffer = Alloc(sizeof(gPlayerParty));
u8 i;
@@ -6333,7 +6335,7 @@ void UpdatePartyToBattleOrder(void)
Free(partyBuffer);
}
-void UpdatePartyToFieldOrder(void)
+static void UpdatePartyToFieldOrder(void)
{
struct Pokemon *partyBuffer = Alloc(sizeof(gPlayerParty));
u8 i;
@@ -6345,7 +6347,7 @@ void UpdatePartyToFieldOrder(void)
}
// not used
-void SwitchAliveMonIntoLeadSlot(void)
+static void SwitchAliveMonIntoLeadSlot(void)
{
u8 i;
struct Pokemon *mon;
@@ -6364,7 +6366,7 @@ void SwitchAliveMonIntoLeadSlot(void)
}
}
-void CB2_SetUpExitToBattleScreen(void)
+static void CB2_SetUpExitToBattleScreen(void)
{
CB2_SetUpReshowBattleScreenAfterMenu();
SetMainCallback2(SetCB2ToReshowScreenAfterMenu);
@@ -6377,7 +6379,7 @@ void ShowPartyMenuToShowcaseMultiBattleParty(void)
#define tXPos data[0]
-void Task_InitMultiPartnerPartySlideIn(u8 taskId)
+static void Task_InitMultiPartnerPartySlideIn(u8 taskId)
{
// The first slide step also sets the sprites offscreen
gTasks[taskId].tXPos = 256;
@@ -6386,7 +6388,7 @@ void Task_InitMultiPartnerPartySlideIn(u8 taskId)
gTasks[taskId].func = Task_MultiPartnerPartySlideIn;
}
-void Task_MultiPartnerPartySlideIn(u8 taskId)
+static void Task_MultiPartnerPartySlideIn(u8 taskId)
{
s16 *data = gTasks[taskId].data;
u8 i;
@@ -6408,7 +6410,7 @@ void Task_MultiPartnerPartySlideIn(u8 taskId)
}
}
-void Task_WaitAfterMultiPartnerPartySlideIn(u8 taskId)
+static void Task_WaitAfterMultiPartnerPartySlideIn(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -6417,13 +6419,13 @@ void Task_WaitAfterMultiPartnerPartySlideIn(u8 taskId)
Task_ClosePartyMenu(taskId);
}
-void MoveMultiPartyMenuBoxSprite(u8 spriteId, s16 x)
+static void MoveMultiPartyMenuBoxSprite(u8 spriteId, s16 x)
{
if (x >= 0)
gSprites[spriteId].pos2.x = x;
}
-void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId)
+static void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId)
{
s16 *data = gTasks[taskId].data;
u8 i;
@@ -6455,14 +6457,14 @@ void ChoosePartyMonByMenuType(u8 menuType)
InitPartyMenu(menuType, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ReturnToField);
}
-bool8 CB2_FadeFromPartyMenu(void)
+static bool8 CB2_FadeFromPartyMenu(void)
{
sub_807DC00();
CreateTask(Task_PartyMenuWaitForFade, 10);
return TRUE;
}
-void Task_PartyMenuWaitForFade(u8 taskId)
+static void Task_PartyMenuWaitForFade(u8 taskId)
{
if (IsWeatherNotFadingIn())
{