Merge pull request #863 from GriffinRichards/doc-partymenu
Document party menu
This commit is contained in:
@@ -248,8 +248,8 @@ void nullsub_21(void);
|
||||
void PlayerHandleGetRawMonData(void);
|
||||
void sub_80587B0(void);
|
||||
void sub_805CC00(struct Sprite *sprite);
|
||||
void SetCB2ToReshowScreenAfterMenu(void);
|
||||
void SetCB2ToReshowScreenAfterMenu2(void);
|
||||
void CB2_SetUpReshowBattleScreenAfterMenu(void);
|
||||
void CB2_SetUpReshowBattleScreenAfterMenu2(void);
|
||||
void c3_0802FDF4(u8 taskId);
|
||||
void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused);
|
||||
void ActionSelectionDestroyCursorAt(u8 cursorPos);
|
||||
|
||||
@@ -77,20 +77,20 @@ void sub_803B3AC(void); // unused
|
||||
void sub_803B598(void); // unused
|
||||
void BattleTurnPassed(void);
|
||||
u8 IsRunningFromBattleImpossible(void);
|
||||
void sub_803BDA0(u8 battlerId);
|
||||
void SwitchPartyOrder(u8 battlerId);
|
||||
void SwapTurnOrder(u8 id1, u8 id2);
|
||||
u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves);
|
||||
void RunBattleScriptCommands_PopCallbacksStack(void);
|
||||
void RunBattleScriptCommands(void);
|
||||
bool8 TryRunFromBattle(u8 battlerId);
|
||||
|
||||
extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3];
|
||||
extern struct UnknownPokemonStruct4 gMultiPartnerParty[MULTI_PARTY_SIZE];
|
||||
|
||||
extern const struct SpriteTemplate gUnknown_0831AC88;
|
||||
extern const struct OamData gOamData_831ACA8;
|
||||
extern const struct OamData gOamData_831ACB0;
|
||||
extern const u8 gTypeEffectiveness[336];
|
||||
extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1];
|
||||
extern const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1];
|
||||
extern const struct TrainerMoney gTrainerMoneyTable[];
|
||||
extern const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1];
|
||||
extern const u8 *const gAbilityDescriptionPointers[];
|
||||
|
||||
@@ -36,13 +36,13 @@ extern struct PyramidBagCursorData gPyramidBagCursorData;
|
||||
|
||||
void InitBattlePyramidBagCursorPosition(void);
|
||||
void CB2_PyramidBagMenuFromStartMenu(void);
|
||||
void sub_81C4F84(void);
|
||||
void CB2_ReturnToPyramidBagMenu(void);
|
||||
void sub_81C5924(void);
|
||||
void sub_81C59BC(void);
|
||||
void sub_81C4EFC(void);
|
||||
void sub_81C4F98(u8 a0, void (*callback)(void));
|
||||
void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void));
|
||||
void sub_81C6714(u8 taskId);
|
||||
void sub_81C6A94(void);
|
||||
void TryStoreHeldItemsInPyramidBag(void);
|
||||
void sub_81C4F24(void);
|
||||
void sub_81C5B14(u8 taskId);
|
||||
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId));
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
void AllocateBattleResources(void);
|
||||
void FreeBattleResources(void);
|
||||
void AdjustFriendshipOnBattleFaint(u8 battler);
|
||||
void sub_80571DC(u8 battler, u8 arg1);
|
||||
void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1);
|
||||
u32 sub_805725C(u8 battler);
|
||||
|
||||
#endif // GUARD_BATTLE_UTIL_H
|
||||
|
||||
@@ -4,16 +4,17 @@
|
||||
#define FRONTIER_CHALLENGE(facility, mode) ((facility << 8) + mode)
|
||||
|
||||
// Battle Frontier facility ids.
|
||||
#define FRONTIER_FACILITY_TOWER 0
|
||||
#define FRONTIER_FACILITY_DOME 1
|
||||
#define FRONTIER_FACILITY_PALACE 2
|
||||
#define FRONTIER_FACILITY_ARENA 3
|
||||
#define FRONTIER_FACILITY_FACTORY 4
|
||||
#define FRONTIER_FACILITY_PIKE 5
|
||||
#define FRONTIER_FACILITY_PYRAMID 6
|
||||
#define NUM_FRONTIER_FACILITIES 7
|
||||
#define FRONTIER_FACILITY_TOWER 0
|
||||
#define FRONTIER_FACILITY_DOME 1
|
||||
#define FRONTIER_FACILITY_PALACE 2
|
||||
#define FRONTIER_FACILITY_ARENA 3
|
||||
#define FRONTIER_FACILITY_FACTORY 4
|
||||
#define FRONTIER_FACILITY_PIKE 5
|
||||
#define FRONTIER_FACILITY_PYRAMID 6
|
||||
#define NUM_FRONTIER_FACILITIES 7
|
||||
// The multiplayer battle colosseum rooms re-use VAR_FRONTIER_FACILITY.
|
||||
#define FRONTIER_FACILITY_DOUBLE_COLOSSEUM 9
|
||||
#define FACILITY_UNION_ROOM 8
|
||||
#define FACILITY_MULTI_OR_EREADER 9 // Direct Corner multi battles, multi battle with Steven, and e-Reader battles
|
||||
|
||||
#define TENT_VERDANTURF 2
|
||||
#define TENT_FALLARBOR 3
|
||||
|
||||
@@ -16,4 +16,10 @@
|
||||
#define CONTEST_CATEGORY_TOUGH 4
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
|
||||
#define CANT_ENTER_CONTEST 0
|
||||
#define CAN_ENTER_CONTEST_EQUAL_RANK 1
|
||||
#define CAN_ENTER_CONTEST_HIGH_RANK 2
|
||||
#define CANT_ENTER_CONTEST_EGG 3
|
||||
#define CANT_ENTER_CONTEST_FAINTED 4
|
||||
|
||||
#endif // GUARD_CONSTANTS_CONTEST_H
|
||||
|
||||
@@ -968,7 +968,7 @@
|
||||
#define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS 0x39D
|
||||
#define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA 0x39E
|
||||
#define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA 0x39F
|
||||
#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO 0x3A0
|
||||
#define FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO 0x3A0
|
||||
#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 0x3A1
|
||||
#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 0x3A2
|
||||
#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3
|
||||
@@ -1637,6 +1637,6 @@
|
||||
#define FLAG_DONT_TRANSITION_MUSIC 0x4001
|
||||
#define FLAG_SPECIAL_FLAG_0x4002 0x4002
|
||||
#define FLAG_SPECIAL_FLAG_0x4003 0x4003
|
||||
#define FLAG_SPECIAL_FLAG_0x4004 0x4004
|
||||
#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG 0x4004
|
||||
|
||||
#endif // GUARD_CONSTANTS_FLAGS_H
|
||||
|
||||
@@ -54,6 +54,8 @@
|
||||
|
||||
#define TRAINER_ID_LENGTH 4
|
||||
#define PARTY_SIZE 6
|
||||
#define FRONTIER_PARTY_SIZE 3
|
||||
#define MULTI_PARTY_SIZE PARTY_SIZE / 2
|
||||
#define MAX_MON_MOVES 4
|
||||
|
||||
// string lengths
|
||||
|
||||
@@ -98,8 +98,8 @@
|
||||
#define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8))
|
||||
#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8))
|
||||
#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8))
|
||||
#define MAP_FALLARBOR_TOWN_HOUSE1 (6 | (5 << 8))
|
||||
#define MAP_FALLARBOR_TOWN_HOUSE2 (7 | (5 << 8))
|
||||
#define MAP_FALLARBOR_TOWN_COZMOS_HOUSE (6 | (5 << 8))
|
||||
#define MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE (7 | (5 << 8))
|
||||
|
||||
// Map Group 6
|
||||
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8))
|
||||
|
||||
@@ -10,13 +10,6 @@
|
||||
#define AILMENT_PKRS 6
|
||||
#define AILMENT_FNT 7
|
||||
|
||||
#define PARTY_CHOOSE_MON 0
|
||||
#define PARTY_MUST_CHOOSE_MON 1
|
||||
#define PARTY_CANT_SWITCH 2
|
||||
#define PARTY_USE_ITEM_ON 3
|
||||
#define PARTY_ABILITY_PREVENTS 4
|
||||
#define PARTY_GIVE_ITEM 5
|
||||
|
||||
#define TUTOR_MOVE_MEGA_PUNCH 0
|
||||
#define TUTOR_MOVE_SWORDS_DANCE 1
|
||||
#define TUTOR_MOVE_MEGA_KICK 2
|
||||
@@ -49,4 +42,91 @@
|
||||
#define TUTOR_MOVE_FURY_CUTTER 29
|
||||
#define TUTOR_MOVE_COUNT 30
|
||||
|
||||
#define PARTY_LAYOUT_SINGLE 0
|
||||
#define PARTY_LAYOUT_DOUBLE 1
|
||||
#define PARTY_LAYOUT_MULTI 2
|
||||
#define PARTY_LAYOUT_MULTI_SHOWCASE 3 // The layout during the screen that appears just before a multi battle
|
||||
#define PARTY_LAYOUT_COUNT 4
|
||||
#define KEEP_PARTY_LAYOUT 0xFF
|
||||
|
||||
#define PARTY_MENU_TYPE_FIELD 0
|
||||
#define PARTY_MENU_TYPE_IN_BATTLE 1
|
||||
#define PARTY_MENU_TYPE_CONTEST 2
|
||||
#define PARTY_MENU_TYPE_CHOOSE_MON 3
|
||||
#define PARTY_MENU_TYPE_CHOOSE_HALF 4 // multi battles, eReader battles, and some battle facilities
|
||||
#define PARTY_MENU_TYPE_MULTI_SHOWCASE 5
|
||||
#define PARTY_MENU_TYPE_DAYCARE 6
|
||||
#define PARTY_MENU_TYPE_MOVE_RELEARNER 7
|
||||
#define PARTY_MENU_TYPE_UNION_ROOM_REGISTER 8 // trading board
|
||||
#define PARTY_MENU_TYPE_UNION_ROOM_TRADE 9 // trading board
|
||||
#define PARTY_MENU_TYPE_SPIN_TRADE 10 // Unused beta for Gen IV's Spin Trade
|
||||
#define PARTY_MENU_TYPE_MINIGAME 11
|
||||
#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS 12
|
||||
|
||||
#define PARTY_ACTION_CHOOSE_MON 0
|
||||
#define PARTY_ACTION_SEND_OUT 1
|
||||
#define PARTY_ACTION_CANT_SWITCH 2
|
||||
#define PARTY_ACTION_USE_ITEM 3
|
||||
#define PARTY_ACTION_ABILITY_PREVENTS 4
|
||||
#define PARTY_ACTION_GIVE_ITEM 5
|
||||
#define PARTY_ACTION_GIVE_PC_ITEM 6 // Unused. Not possible to give non-mail items directly from PC
|
||||
#define PARTY_ACTION_GIVE_MAILBOX_MAIL 7
|
||||
#define PARTY_ACTION_SWITCH 8
|
||||
#define PARTY_ACTION_SWITCHING 9
|
||||
#define PARTY_ACTION_SOFTBOILED 10
|
||||
#define PARTY_ACTION_CHOOSE_AND_CLOSE 11
|
||||
#define PARTY_ACTION_MOVE_TUTOR 12
|
||||
#define PARTY_ACTION_MINIGAME 13
|
||||
#define PARTY_ACTION_REUSABLE_ITEM 14 // Unused. The only reusable items are handled separately
|
||||
|
||||
// IDs for DisplayPartyMenuStdMessage, to display the message at the bottom of the party menu
|
||||
#define PARTY_MSG_CHOOSE_MON 0
|
||||
#define PARTY_MSG_CHOOSE_MON_OR_CANCEL 1
|
||||
#define PARTY_MSG_CHOOSE_MON_AND_CONFIRM 2
|
||||
#define PARTY_MSG_MOVE_TO_WHERE 3
|
||||
#define PARTY_MSG_TEACH_WHICH_MON 4
|
||||
#define PARTY_MSG_USE_ON_WHICH_MON 5
|
||||
#define PARTY_MSG_GIVE_TO_WHICH_MON 6
|
||||
#define PARTY_MSG_NOTHING_TO_CUT 7
|
||||
#define PARTY_MSG_CANT_SURF_HERE 8
|
||||
#define PARTY_MSG_ALREADY_SURFING 9
|
||||
#define PARTY_MSG_CURRENT_TOO_FAST 10
|
||||
#define PARTY_MSG_ENJOY_CYCLING 11
|
||||
#define PARTY_MSG_ALREADY_IN_USE 12
|
||||
#define PARTY_MSG_CANT_USE_HERE 13
|
||||
#define PARTY_MSG_NO_MON_FOR_BATTLE 14
|
||||
#define PARTY_MSG_CHOOSE_MON_2 15
|
||||
#define PARTY_MSG_NOT_ENOUGH_HP 16
|
||||
#define PARTY_MSG_X_MONS_ARE_NEEDED 17
|
||||
#define PARTY_MSG_MONS_CANT_BE_SAME 18
|
||||
#define PARTY_MSG_NO_SAME_HOLD_ITEMS 19
|
||||
#define PARTY_MSG_UNUSED 20
|
||||
#define PARTY_MSG_DO_WHAT_WITH_MON 21
|
||||
#define PARTY_MSG_RESTORE_WHICH_MOVE 22
|
||||
#define PARTY_MSG_BOOST_PP_WHICH_MOVE 23
|
||||
#define PARTY_MSG_DO_WHAT_WITH_ITEM 24
|
||||
#define PARTY_MSG_DO_WHAT_WITH_MAIL 25
|
||||
#define PARTY_MSG_ALREADY_HOLDING_ONE 26
|
||||
#define PARTY_MSG_NONE 127
|
||||
|
||||
// IDs for DisplayPartyPokemonDescriptionText, to display a message in the party pokemon's box
|
||||
#define PARTYBOX_DESC_NO_USE 0
|
||||
#define PARTYBOX_DESC_ABLE_3 1
|
||||
#define PARTYBOX_DESC_FIRST 2
|
||||
#define PARTYBOX_DESC_SECOND 3
|
||||
#define PARTYBOX_DESC_THIRD 4
|
||||
#define PARTYBOX_DESC_FOURTH 5
|
||||
#define PARTYBOX_DESC_ABLE 6
|
||||
#define PARTYBOX_DESC_NOT_ABLE 7
|
||||
#define PARTYBOX_DESC_ABLE_2 8
|
||||
#define PARTYBOX_DESC_NOT_ABLE_2 9
|
||||
#define PARTYBOX_DESC_LEARNED 10
|
||||
#define PARTYBOX_DESC_HAVE 11
|
||||
#define PARTYBOX_DESC_DONT_HAVE 12
|
||||
|
||||
#define SELECTWINDOW_ACTIONS 0
|
||||
#define SELECTWINDOW_ITEM 1
|
||||
#define SELECTWINDOW_MAIL 2
|
||||
#define SELECTWINDOW_MOVES 3
|
||||
|
||||
#endif // GUARD_CONSTANTS_PARTY_MENU_H
|
||||
|
||||
@@ -184,7 +184,6 @@
|
||||
#define OT_ID_PRESET 1
|
||||
#define OT_ID_RANDOM_NO_SHINY 2
|
||||
|
||||
|
||||
#define MON_GIVEN_TO_PARTY 0
|
||||
#define MON_GIVEN_TO_PC 1
|
||||
#define MON_CANT_GIVE 2
|
||||
@@ -193,6 +192,9 @@
|
||||
#define PLAYER_HAS_ONE_MON 1
|
||||
#define PLAYER_HAS_ONE_USABLE_MON 2
|
||||
|
||||
#define MON_ALREADY_KNOWS_MOVE 0xFFFE
|
||||
#define MON_HAS_MAX_MOVES 0xFFFF
|
||||
|
||||
#define MON_MALE 0x00
|
||||
#define MON_FEMALE 0xFE
|
||||
#define MON_GENDERLESS 0xFF
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
#define READY_FINISH_TRADE 1
|
||||
#define FINISH_TRADE 2
|
||||
|
||||
// Return values for CanTradeSelectedMon and CanTradeSelectedPartyMenuMon
|
||||
// Return values for CanTradeSelectedMon and CanSpinTradeMon
|
||||
#define CAN_TRADE_MON 0
|
||||
#define CANT_TRADE_LAST_MON 1
|
||||
#define CANT_TRADE_NATIONAL 2
|
||||
#define CANT_TRADE_EGG 3
|
||||
#define CANT_TRADE_EGG_YET 3
|
||||
#define CANT_TRADE_INVALID_MON 4
|
||||
#define CANT_TRADE_EGG2 5
|
||||
#define CANT_TRADE_EGG_YET2 5
|
||||
|
||||
// Return values for CheckValidityOfTradeMons
|
||||
#define PLAYER_MON_INVALID 0
|
||||
|
||||
@@ -466,7 +466,7 @@ void CB2_StartContest(void);
|
||||
void sub_80DA8C8(u8 partyIndex);
|
||||
void sub_80DAB8C(u8 contestType, u8 rank);
|
||||
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
|
||||
u8 sub_80DAE0C(struct Pokemon *pkmn);
|
||||
u8 GetContestEntryEligibility(struct Pokemon *pkmn);
|
||||
void sub_80DB09C(u8 contestCategory);
|
||||
bool8 IsSpeciesNotUnown(u16 species);
|
||||
bool8 Contest_IsMonsTurnDisabled(u8 a);
|
||||
|
||||
@@ -12,7 +12,7 @@ extern bool8 (*gFieldCallback2)(void);
|
||||
u32 FieldEffectStart(u8);
|
||||
bool8 FieldEffectActiveListContains(u8 id);
|
||||
void FieldEffectActiveListClear(void);
|
||||
void sub_80B69DC(void);
|
||||
void ReturnToFieldFromFlyMapSelect(void);
|
||||
u8 AddNewGameBirchObject(s16, s16, u8);
|
||||
void FieldEffectStop(struct Sprite *sprite, u8 id);
|
||||
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
|
||||
|
||||
@@ -28,8 +28,8 @@ bool8 sub_80E1584(void);
|
||||
|
||||
// soft-boiled
|
||||
bool8 SetUpFieldMove_SoftBoiled(void);
|
||||
void sub_81615A8(u8 taskId);
|
||||
void sub_8161560(u8 taskId);
|
||||
void Task_TryUseSoftboiledOnPartyMon(u8 taskId);
|
||||
void ChooseMonForSoftboiled(u8 taskId);
|
||||
|
||||
// flash
|
||||
bool8 SetUpFieldMove_Flash(void);
|
||||
|
||||
@@ -220,7 +220,7 @@ struct Apprentice
|
||||
u8 lvlMode:2; // + 1
|
||||
u8 field_1;
|
||||
u8 number;
|
||||
struct ApprenticeMon party[3];
|
||||
struct ApprenticeMon party[MULTI_PARTY_SIZE];
|
||||
u16 easyChatWords[6];
|
||||
u8 playerId[TRAINER_ID_LENGTH];
|
||||
u8 playerName[PLAYER_NAME_LENGTH];
|
||||
@@ -282,7 +282,7 @@ struct BattleTowerEReaderTrainer
|
||||
/*0x10*/ u16 greeting[6];
|
||||
/*0x1C*/ u16 farewellPlayerLost[6];
|
||||
/*0x28*/ u16 farewellPlayerWon[6];
|
||||
/*0x34*/ struct BattleTowerPokemon party[3];
|
||||
/*0x34*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE];
|
||||
/*0xB8*/ u32 checksum;
|
||||
};
|
||||
|
||||
@@ -329,7 +329,7 @@ struct BattleFrontier
|
||||
/*0xCA9*/ u8 field_CA9_d:1; // 0x20
|
||||
/*0xCA9*/ u8 field_CA9_e:1; // 0x40
|
||||
/*0xCA9*/ u8 field_CA9_f:1; // 0x80
|
||||
/*0xCAA*/ u16 selectedPartyMons[3];
|
||||
/*0xCAA*/ u16 selectedPartyMons[FRONTIER_PARTY_SIZE];
|
||||
/*0xCB0*/ u16 field_CB0;
|
||||
/*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor.
|
||||
/*0xCB4*/ u16 trainerIds[20];
|
||||
@@ -356,7 +356,7 @@ struct BattleFrontier
|
||||
/*0xD14*/ u16 domeRecordWinStreaks[2][2];
|
||||
/*0xD1C*/ u16 domeTotalChampionships[2][2];
|
||||
/*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT];
|
||||
/*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3];
|
||||
/*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][FRONTIER_PARTY_SIZE];
|
||||
/*0xDC4*/ u16 field_DC4;
|
||||
/*0xDC6*/ u16 field_DC6;
|
||||
/*0xDC8*/ u16 palaceWinStreaks[2][2];
|
||||
@@ -375,7 +375,7 @@ struct BattleFrontier
|
||||
/*0xE10*/ u8 pikeHintedRoomIndex:3;
|
||||
/*0xE10*/ u8 pikeHintedRoomType:4;
|
||||
/*0xE10*/ u8 pikeHealingRoomsDisabled:1;
|
||||
/*0xE12*/ u16 pikeHeldItemsBackup[3];
|
||||
/*0xE12*/ u16 pikeHeldItemsBackup[FRONTIER_PARTY_SIZE];
|
||||
/*0xE18*/ u16 pyramidRewardItem;
|
||||
/*0xE1A*/ u16 pyramidWinStreaks[2];
|
||||
/*0xE1E*/ u16 pyramidRecordStreaks[2];
|
||||
@@ -419,7 +419,7 @@ struct PlayersApprentice
|
||||
/*0xB2*/ u8 field_B2_0:3;
|
||||
/*0xB2*/ u8 field_B2_1:2;
|
||||
/*0xB3*/ u8 field_B3;
|
||||
/*0xB4*/ u8 monIds[3];
|
||||
/*0xB4*/ u8 monIds[MULTI_PARTY_SIZE];
|
||||
/*0xB8*/ struct Sav2_B8 field_B8[9];
|
||||
};
|
||||
|
||||
|
||||
@@ -3916,9 +3916,9 @@ extern const u16 gIntro2FlygonPal[];
|
||||
extern const u32 gIntro2FlygonGfx[];
|
||||
|
||||
// party menu graphics
|
||||
extern const u32 gPartyMenuMisc_Gfx[];
|
||||
extern const u32 gPartyMenuMisc_Tilemap[];
|
||||
extern const u32 gPartyMenuMisc_Pal[];
|
||||
extern const u32 gPartyMenuBg_Gfx[];
|
||||
extern const u32 gPartyMenuBg_Tilemap[];
|
||||
extern const u32 gPartyMenuBg_Pal[];
|
||||
|
||||
// berry pics
|
||||
extern const u32 gBerryPic_Cheri[];
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
#ifndef GUARD_MENU_H
|
||||
#define GUARD_MENU_H
|
||||
|
||||
@@ -87,7 +86,7 @@ void RemoveMapNamePopUpWindow(void);
|
||||
u8 GetMapNamePopUpWindowId(void);
|
||||
u8 AddMapNamePopUpWindow(void);
|
||||
void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing);
|
||||
void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
|
||||
void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
|
||||
void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);
|
||||
void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram);
|
||||
void sub_8197AE8(bool8 copyToVram);
|
||||
@@ -95,7 +94,7 @@ void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const
|
||||
s8 Menu_ProcessInputGridLayout(void);
|
||||
u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted);
|
||||
s8 Menu_ProcessInputNoWrapAround_other(void);
|
||||
void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);
|
||||
void CopyToBufferFromBgTilemap(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);
|
||||
u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile);
|
||||
void sub_8198314(void);
|
||||
void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram);
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
#include "task.h"
|
||||
#include "window.h"
|
||||
|
||||
#define MENU_L_PRESSED 1
|
||||
#define MENU_R_PRESSED 2
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
struct YesNoFuncTable
|
||||
@@ -23,8 +26,8 @@ bool16 RunTextPrintersRetIsActive(u8 textPrinterId);
|
||||
void DoYesNoFuncWithChoice(u8 taskId, const struct YesNoFuncTable *data);
|
||||
void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
|
||||
bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1);
|
||||
u8 GetLRKeysState(void);
|
||||
u8 sub_812210C(void);
|
||||
u8 GetLRKeysPressed(void);
|
||||
u8 GetLRKeysPressedAndHeld(void);
|
||||
bool8 sub_8122148(u16 itemId);
|
||||
bool8 itemid_80BF6D8_mail_related(u16 itemId);
|
||||
bool8 sub_81221AC(void);
|
||||
|
||||
@@ -4,93 +4,90 @@
|
||||
#include "main.h"
|
||||
#include "task.h"
|
||||
|
||||
#include "constants/party_menu.h"
|
||||
|
||||
struct Struct203CEC8
|
||||
// seems like the last two fields may have been left as all-purpose vars
|
||||
// and the second of the two just happens to only be used in one case
|
||||
struct PartyMenu
|
||||
{
|
||||
MainCallback exitCallback;
|
||||
TaskFunc unk4;
|
||||
u8 unk8_0:4;
|
||||
u8 mode:2;
|
||||
u8 unk8_2:2;
|
||||
TaskFunc task;
|
||||
u8 menuType:4;
|
||||
u8 layout:2;
|
||||
s8 slotId;
|
||||
s8 unkA;
|
||||
u8 unkB;
|
||||
u16 unkC;
|
||||
s16 unkE;
|
||||
s16 unk10;
|
||||
s8 slotId2;
|
||||
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
|
||||
};
|
||||
|
||||
extern struct Struct203CEC8 gUnknown_0203CEC8;
|
||||
extern u8 gUnknown_0203CEE8;
|
||||
extern u8 gUnknown_0203CEE9;
|
||||
extern struct PartyMenu gPartyMenu;
|
||||
extern bool8 gPartyMenuUseExitCallback;
|
||||
extern u8 gSelectedMonPartyId;
|
||||
extern MainCallback gPostMenuFieldCallback;
|
||||
extern u8 gSelectedOrderFromParty[4];
|
||||
extern u8 gUnknown_0203CF00[3];
|
||||
extern u8 gBattlePartyCurrentOrder[3];
|
||||
|
||||
extern void (*gUnknown_03006328)(u8, TaskFunc);
|
||||
extern void (*gItemUseCB)(u8, TaskFunc);
|
||||
|
||||
extern const u16 gTutorMoves[];
|
||||
|
||||
void sub_81B0FCC(u8 slot, u8 b);
|
||||
void AnimatePartySlot(u8 slot, u8 animNum);
|
||||
bool8 IsMultiBattle(void);
|
||||
u8 GetCursorSelectionMonId(void);
|
||||
u8 sub_81B1360(void);
|
||||
void sub_81B1370(u8 taskId);
|
||||
u8 GetPartyMenuType(void);
|
||||
void Task_HandleChooseMonInput(u8 taskId);
|
||||
u8* GetMonNickname(struct Pokemon *mon, u8 *dest);
|
||||
u8 DisplayPartyMenuMessage(const u8* str, u8 b);
|
||||
bool8 sub_81B1BD4(void);
|
||||
void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func);
|
||||
u8 pokemon_ailments_get_primary(u32 status);
|
||||
u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen);
|
||||
bool8 IsPartyMenuTextPrinterActive(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 sub_81B47E0(u8 taskId);
|
||||
void DisplayPartyMenuStdMessage(u32 stringId);
|
||||
bool8 FieldCallback_PrepareFadeInFromMenu(void);
|
||||
void sub_81B58A8(void);
|
||||
void CB2_ReturnToPartyMenuFromFlyMap(void);
|
||||
void LoadHeldItemIcons(void);
|
||||
void DrawHeldItemIconsForTrade(u8 *a, u8 *b, u8 c);
|
||||
void sub_81B617C(void);
|
||||
void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty);
|
||||
void CB2_ShowPartyMenuForItemUse(void);
|
||||
void ItemUseCB_Medicine(u8 taskId, TaskFunc task);
|
||||
void sub_81B67C8(u8 taskId, TaskFunc task);
|
||||
void dp05_ether(u8 taskId, TaskFunc task);
|
||||
void dp05_pp_up(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_PPUp(u8 taskId, TaskFunc task);
|
||||
u16 ItemIdToBattleMoveId(u16 item);
|
||||
bool8 IsMoveHm(u16 move);
|
||||
bool8 MonKnowsMove(struct Pokemon *mon, u16 move);
|
||||
void sub_81B6DC4(u8 taskId, TaskFunc task);
|
||||
void dp05_rare_candy(u8 taskId, TaskFunc task);
|
||||
void sub_81B79E8(u8 taskId, TaskFunc task);
|
||||
void sub_81B7C74(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_TMHM(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_RareCandy(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc task);
|
||||
u8 GetItemEffectType(u16 item);
|
||||
void CB2_PartyMenuFromStartMenu(void);
|
||||
void sub_81B7F60(void);
|
||||
void sub_81B8448(void);
|
||||
void CB2_ChooseMonToGiveItem(void);
|
||||
void ChooseMonToGiveMailFromMailbox(void);
|
||||
void InitChooseHalfPartyForBattle(u8 unused);
|
||||
void sub_81B8558(void);
|
||||
void sub_81B8904(u8 initArg, MainCallback callback);
|
||||
void OpenPartyMenuForMoveTutor(void);
|
||||
void ClearSelectedPartyOrder(void);
|
||||
void ChooseMonForTradingBoard(u8 menuType, MainCallback callback);
|
||||
void ChooseMonForMoveTutor(void);
|
||||
void ChooseMonForWirelessMinigame(void);
|
||||
void ChooseMonForWirelessMinigame(void);
|
||||
void OpenPartyMenuInBattle(u8 arg);
|
||||
void sub_81B89F0(void);
|
||||
void sub_81B8C68(void);
|
||||
void sub_81B8D64(u8 battlerId, u8 multiplayerFlag);
|
||||
void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex);
|
||||
void sub_81B8FB0(u8 slot, u8 slot2);
|
||||
u8 pokemon_order_func(u8 slot);
|
||||
void sub_81B9150(void);
|
||||
void sub_81B9328(void);
|
||||
bool8 hm_add_c3_without_phase_2(void);
|
||||
void sub_81B9404(void);
|
||||
void sub_81B94B0(void);
|
||||
void sub_81B951C(void);
|
||||
void sub_81B9620(void);
|
||||
void sub_81B95E0(void);
|
||||
void sub_81B98DC(void);
|
||||
void sub_81B9918(void);
|
||||
void sub_81B9770(void);
|
||||
void sub_81B9718(void);
|
||||
void sub_81B96D0(void);
|
||||
void sub_81B968C(void);
|
||||
void OpenPartyMenuInBattle(u8 partyAction);
|
||||
void ChooseMonForInBattleItem(void);
|
||||
void BufferBattlePartyCurrentOrder(void);
|
||||
void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId);
|
||||
void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 arrayIndex);
|
||||
void SwitchPartyMonSlots(u8 slot, u8 slot2);
|
||||
u8 GetPartyIdFromBattlePartyId(u8 slot);
|
||||
void ShowPartyMenuToShowcaseMultiBattleParty(void);
|
||||
void ChooseMonForDaycare(void);
|
||||
bool8 CB2_FadeFromPartyMenu(void);
|
||||
void ChooseContestMon(void);
|
||||
void ChoosePartyMon(void);
|
||||
void ChooseMonForMoveRelearner(void);
|
||||
void BattlePyramidChooseMonHeldItems(void);
|
||||
void DoBattlePyramidMonsHaveHeldItem(void);
|
||||
void IsSelectedMonEgg(void);
|
||||
void IsLastMonThatKnowsSurf(void);
|
||||
void MoveDeleterForgetMove(void);
|
||||
void BufferMoveDeleterNicknameAndMove(void);
|
||||
void GetNumMovesSelectedMonHas(void);
|
||||
void MoveDeleterChooseMoveToForget(void);
|
||||
|
||||
#endif // GUARD_PARTY_MENU_H
|
||||
|
||||
@@ -287,7 +287,6 @@ void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest);
|
||||
u8 GetLevelFromMonExp(struct Pokemon *mon);
|
||||
u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon);
|
||||
u16 GiveMoveToMon(struct Pokemon *mon, u16 move);
|
||||
u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move);
|
||||
u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move);
|
||||
void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot);
|
||||
void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot);
|
||||
@@ -357,8 +356,8 @@ u16 SpeciesToCryId(u16 species);
|
||||
void sub_806D544(u16 species, u32 personality, u8 *dest);
|
||||
void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4);
|
||||
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
|
||||
bool8 sub_806D7EC(void);
|
||||
bool16 GetLinkTrainerFlankId(u8 id);
|
||||
u8 GetPlayerFlankId(void);
|
||||
u16 GetLinkTrainerFlankId(u8 id);
|
||||
s32 GetBattlerMultiplayerId(u16 a1);
|
||||
u8 GetTrainerEncounterMusicId(u16 trainerOpponentId);
|
||||
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex);
|
||||
|
||||
@@ -21,7 +21,7 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u
|
||||
u8 UpdateMonIconFrame(struct Sprite *sprite);
|
||||
void LoadMonIconPalette(u16 species);
|
||||
void sub_80D328C(struct Sprite *sprite);
|
||||
void UpdateTradeMonIconFrame(struct Sprite *sprite);
|
||||
void SpriteCB_MonIcon(struct Sprite *sprite);
|
||||
void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum);
|
||||
u8 GetMonIconPaletteIndexFromSpecies(u16 species);
|
||||
|
||||
|
||||
@@ -9,10 +9,9 @@ extern const u8 *const gMoveDescriptionPointers[];
|
||||
extern const u8 *const gNatureNamePointers[];
|
||||
|
||||
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
|
||||
void sub_81C4F98(u8, void(*)(void));
|
||||
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16);
|
||||
void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
|
||||
u8 sub_81C1B94(void);
|
||||
u8 GetMoveSlotToReplace(void);
|
||||
void SummaryScreen_SetUnknownTaskId(u8 a0);
|
||||
void SummaryScreen_DestroyUnknownTask(void);
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ void CreateRegionMapPlayerIcon(u16 x, u16 y);
|
||||
void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
|
||||
u8 *GetMapName(u8 *, u16, u16);
|
||||
bool32 sub_8124668(u8 mapSecId);
|
||||
u8 *sub_81245DC(u8 *dest, u16 mapSecId);
|
||||
u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId);
|
||||
u8 *sub_8124610(u8 *dest, u16 mapSecId);
|
||||
u16 CorrectSpecialMapSecId(u16 mapSecId);
|
||||
void sub_8122D88(struct RegionMap *regionMap);
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#ifndef GUARD_SCRIPTPOKE81B9_H
|
||||
#define GUARD_SCRIPTPOKE81B9_H
|
||||
|
||||
void sub_81B9404(void);
|
||||
|
||||
#endif
|
||||
@@ -411,7 +411,7 @@ extern const u8 gText_CantBeUsedOnPkmn[];
|
||||
extern const u8 gText_CancelParticipation[];
|
||||
extern const u8 gText_PkmnWasGivenItem[];
|
||||
extern const u8 gText_ReceivedItemFromPkmn[];
|
||||
extern const u8 gText_SwitchPkmnItem[];
|
||||
extern const u8 gText_PkmnAlreadyHoldingItemSwitch[];
|
||||
extern const u8 gText_SwitchedPkmnItem[];
|
||||
extern const u8 gText_BagFullCouldNotRemoveItem[];
|
||||
extern const u8 gText_PkmnCantParticipate[];
|
||||
@@ -427,7 +427,7 @@ extern const u8 gText_NoMoreThanVar1Pkmn[];
|
||||
extern const u8 gText_PkmnCantBeTradedNow[];
|
||||
extern const u8 gText_EggCantBeTradedNow[];
|
||||
extern const u8 gText_OnlyPkmnForBattle[];
|
||||
extern const u8 gJPText_PutVar1IntoSpinner[];
|
||||
extern const u8 gJPText_AreYouSureYouWantToSpinTradeMon[];
|
||||
extern const u8 gText_PauseUntilPress[];
|
||||
extern const u8 gText_CantUseUntilNewBadge[];
|
||||
extern const u8 gText_ReturnToHealingSpot[];
|
||||
|
||||
@@ -18,7 +18,7 @@ void CB2_StartCreateTradeMenu(void);
|
||||
void CB2_LinkTrade(void);
|
||||
int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8);
|
||||
int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6);
|
||||
int CanTradeSelectedPartyMenuMon(struct Pokemon*, u16);
|
||||
int CanSpinTradeMon(struct Pokemon*, u16);
|
||||
void InitTradeSequenceBgGpuRegs(void);
|
||||
void LinkTradeDrawWindow(void);
|
||||
void InitTradeBg(void);
|
||||
|
||||
Reference in New Issue
Block a user