Link FieldMoveList with sFieldMoves and apply to field move journal entries

This commit is contained in:
CharlesFolz4 2026-03-19 22:29:47 -04:00
parent 4644ca74c4
commit a020814142
9 changed files with 128 additions and 121 deletions

View File

@ -21,7 +21,7 @@ enum PartyMenuInputs {
};
enum PartyMenuStates {
PARTY_MENU_STATE_INIT,
PARTY_MENU_STATE_START,
PARTY_MENU_STATE_DEFAULT,
PARTY_MENU_STATE_HANDLE_PARTY_MENU_ACTION,
PARTY_MENU_STATE_3,
@ -45,7 +45,7 @@ enum PartyMenuStates {
PARTY_MENU_STATE_TEACH_MOVE,
PARTY_MENU_STATE_22,
PARTY_MENU_STATE_23,
PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE,
PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE,
PARTY_MENU_STATE_25,
PARTY_MENU_STATE_26,
PARTY_MENU_STATE_27,

View File

@ -23,7 +23,7 @@ typedef struct FieldMovePokemon {
enum FieldMoveList {
FIELD_MOVE_CUT,
FIELD_MOVE_FLY, // unused
FIELD_MOVE_FLY,
FIELD_MOVE_SURF,
FIELD_MOVE_STRENGTH,
FIELD_MOVE_DEFOG,
@ -31,6 +31,13 @@ enum FieldMoveList {
FIELD_MOVE_WATERFALL,
FIELD_MOVE_ROCK_CLIMB,
FIELD_MOVE_FLASH,
FIELD_MOVE_TELEPORT,
FIELD_MOVE_DIG,
FIELD_MOVE_SWEET_SCENT,
FIELD_MOVE_CHATTER,
FIELD_MOVE_MILK_DRINK,
FIELD_MOVE_SOFTBOILED,
FIELD_MOVE_MAX
};
enum FieldMoveError {

View File

@ -126,19 +126,19 @@
"en_US": "Move to where?"
},
{
"id": "Partymenu_Text_GiveToWhichMon",
"id": "PartyMenu_Text_GiveToWhichMon",
"en_US": "Give to which Pokémon?"
},
{
"id": "Partymenu_Text_UseOnWhichMon",
"id": "PartyMenu_Text_UseOnWhichMon",
"en_US": "Use on which Pokémon?"
},
{
"id": "Partymenu_Text_TeachWhichMon",
"id": "PartyMenu_Text_TeachWhichMon",
"en_US": "Teach which Pokémon?"
},
{
"id": "Partymenu_Text_ChooseMonAndConfirm",
"id": "PartyMenu_Text_ChooseMonAndConfirm",
"en_US": "Choose Pokémon and confirm."
},
{
@ -539,7 +539,7 @@
"en_US": "You cant use that here."
},
{
"id": "Partymenu_Text_ItWontHaveAnyEffect",
"id": "PartyMenu_Text_ItWontHaveAnyEffect",
"en_US": "It wont have any effect."
},
{
@ -547,7 +547,7 @@
"garbage": 14
},
{
"id": "Partymenu_Text_TwoMonAreNeeded",
"id": "PartyMenu_Text_TwoMonAreNeeded",
"en_US": "Two Pokémon are needed."
},
{
@ -613,19 +613,19 @@
]
},
{
"id": "Partymenu_Text_ThreeMonAreNeeded",
"id": "PartyMenu_Text_ThreeMonAreNeeded",
"en_US": "Three Pokémon are needed."
},
{
"id": "Partymenu_Text_FourMonAreNeeded",
"id": "PartyMenu_Text_FourMonAreNeeded",
"en_US": "Four Pokémon are needed."
},
{
"id": "Partymenu_Text_FiveMonAreNeeded",
"id": "PartyMenu_Text_FiveMonAreNeeded",
"en_US": "Five Pokémon are needed."
},
{
"id": "Partymenu_Text_SixMonAreNeeded",
"id": "PartyMenu_Text_SixMonAreNeeded",
"en_US": "Six Pokémon are needed."
},
{
@ -964,7 +964,7 @@
]
},
{
"id": "Partymenu_Text_SelectEgg",
"id": "PartyMenu_Text_SelectEgg",
"en_US": "Please select an Egg."
},
{

View File

@ -100,7 +100,7 @@ static int sub_0207E6E4(PartyMenuApplication *application);
static int sub_0207E708(PartyMenuApplication *application);
static int sub_0207E714(PartyMenuApplication *application);
static int sub_0207E750(PartyMenuApplication *application);
static int UseHPTransferFieldMove(PartyMenuApplication *application);
static int PartyMenu_UseHPTransferFieldMove(PartyMenuApplication *application);
static void sub_0207E898(void *param0);
static void SetVRAMBanks(void);
static void InitBgMainLayer0(BgConfig *bgConfig);
@ -111,7 +111,7 @@ static PartyMenuApplication *NewPartyMenuApplication(ApplicationManager *appMan)
static void SetupRequestedMode(PartyMenuApplication *application);
static void SetupRequestedModePanels(PartyMenuApplication *application);
static u8 sub_0207F984(PartyMenuApplication *application, u8 param1);
static u8 Partymenu_HandleInput(PartyMenuApplication *application);
static u8 PartyMenu_HandleInput(PartyMenuApplication *application);
static void InitAnimAndPaletteForSlot(PartyMenuApplication *application, u8 slot, u8 isSelected);
static void SetupMenuCursor(PartyMenuApplication *application);
static void CheckCancellableMode(PartyMenuApplication *application);
@ -151,7 +151,7 @@ static void DrawMemberPanels_TeachingMove(PartyMenuApplication *application, con
static void DrawMemberPanels_EnteringContest(PartyMenuApplication *application, const MemberPanelTemplate *templates);
static void DrawMemberPanels_SelectingOrder(PartyMenuApplication *application, const MemberPanelTemplate *templates);
static void DrawEmptyMemberPanel(PartyMenuApplication *application, u8 slot, s16 x, s16 y);
static u8 Partymenu_TryHandleDirectionPadInput(PartyMenuApplication *application);
static u8 PartyMenu_TryHandleDirectionPadInput(PartyMenuApplication *application);
static u8 sub_0207FBE0(PartyMenuApplication *application, u8 *param1, u8 *param2, u8 param3);
static u8 sub_0207FC30(PartyMenuApplication *application, u8 *param1, u8 *param2, const u8 *param3);
static u8 PartyMenu_TryHandleTouchScreenButtons(PartyMenuApplication *application);
@ -167,7 +167,7 @@ static u8 sub_020801B8(PartyMenuApplication *application, u8 *param1);
u8 PartyMenu_CheckBattleHallEligibility(PartyMenuApplication *application, u8 param1);
u8 PartyMenu_CheckBattleCastleEligibility(PartyMenuApplication *application, u8 param1);
static u8 CheckCanUseHPTransferFieldMove(PartyMenuApplication *application);
static BOOL Partymenu_HPTransferUpdateHP(PartyMenuApplication *application, u8 param1, s8 param2);
static BOOL PartyMenu_HPTransferUpdateHP(PartyMenuApplication *application, u8 param1, s8 param2);
const ApplicationManagerTemplate gPokemonPartyAppTemplate = {
.init = PartyMenu_Init,
@ -242,22 +242,22 @@ static const GridMenuCursorPosition sCursorPosTable_SelectEgg[] = {
};
// clang-format on
static const u16 sFieldMoves[] = {
MOVE_CUT,
MOVE_FLY,
MOVE_SURF,
MOVE_STRENGTH,
MOVE_DEFOG,
MOVE_ROCK_SMASH,
MOVE_WATERFALL,
MOVE_ROCK_CLIMB,
MOVE_FLASH,
MOVE_TELEPORT,
MOVE_DIG,
MOVE_SWEET_SCENT,
MOVE_CHATTER,
MOVE_MILK_DRINK,
MOVE_SOFTBOILED,
static const u16 sFieldMoves[FIELD_MOVE_MAX] = {
[FIELD_MOVE_CUT] = MOVE_CUT,
[FIELD_MOVE_FLY] = MOVE_FLY,
[FIELD_MOVE_SURF] = MOVE_SURF,
[FIELD_MOVE_STRENGTH] = MOVE_STRENGTH,
[FIELD_MOVE_DEFOG] = MOVE_DEFOG,
[FIELD_MOVE_ROCK_SMASH] = MOVE_ROCK_SMASH,
[FIELD_MOVE_WATERFALL] = MOVE_WATERFALL,
[FIELD_MOVE_ROCK_CLIMB] = MOVE_ROCK_CLIMB,
[FIELD_MOVE_FLASH] = MOVE_FLASH,
[FIELD_MOVE_TELEPORT] = MOVE_TELEPORT,
[FIELD_MOVE_DIG] = MOVE_DIG,
[FIELD_MOVE_SWEET_SCENT] = MOVE_SWEET_SCENT,
[FIELD_MOVE_CHATTER] = MOVE_CHATTER,
[FIELD_MOVE_MILK_DRINK] = MOVE_MILK_DRINK,
[FIELD_MOVE_SOFTBOILED] = MOVE_SOFTBOILED,
};
static BOOL PartyMenu_Init(ApplicationManager *appMan, int *state)
@ -300,27 +300,27 @@ static BOOL PartyMenu_Init(ApplicationManager *appMan, int *state)
if (application->partyMenu->mode == PARTY_MENU_MODE_USE_ITEM || application->partyMenu->mode == PARTY_MENU_MODE_USE_EVO_ITEM) {
if (CheckItemSacredAsh(application->partyMenu->usedItemID) == FALSE) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_UseOnWhichMon, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_UseOnWhichMon, TRUE);
}
} else if (application->partyMenu->mode == PARTY_MENU_MODE_TEACH_MOVE) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_TeachWhichMon, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_TeachWhichMon, TRUE);
} else if (application->partyMenu->mode == PARTY_MENU_MODE_GIVE_ITEM || application->partyMenu->mode == PARTY_MENU_MODE_MAILBOX) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_GiveToWhichMon, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_GiveToWhichMon, TRUE);
} else if (application->partyMenu->mode == PARTY_MENU_MODE_TEACH_MOVE_DONE
|| application->partyMenu->mode == PARTY_MENU_MODE_LEVEL_MOVE_DONE
|| application->partyMenu->mode == PARTY_MENU_MODE_GIVE_MAIL
|| application->partyMenu->mode == PARTY_MENU_MODE_GIVE_MAIL_DONE) {
Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], TRUE);
} else if (application->partyMenu->mode == PARTY_MENU_MODE_SELECT_CONFIRM || application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_TOWER) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_ChooseMonAndConfirm, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseMonAndConfirm, TRUE);
} else if (application->partyMenu->mode == PARTY_MENU_MODE_BALL_SEAL) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_ChooseMonAndConfirm, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseMonAndConfirm, TRUE);
} else if (application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_HALL) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_ChooseMonAndConfirm, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseMonAndConfirm, TRUE);
} else if (application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_CASTLE) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_ChooseMonAndConfirm, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseMonAndConfirm, TRUE);
} else if (application->partyMenu->mode == PARTY_MENU_MODE_SELECT_EGG) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_SelectEgg, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_SelectEgg, TRUE);
} else if (application->partyMenu->mode != PARTY_MENU_MODE_GIVE_ITEM_DONE) {
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseAPokemon, TRUE);
} else {
@ -346,7 +346,7 @@ static BOOL PartyMenu_Main(ApplicationManager *appMan, int *state)
PartyMenuApplication *partyMenu = ApplicationManager_Data(appMan);
switch (*state) {
case PARTY_MENU_STATE_INIT:
case PARTY_MENU_STATE_START:
*state = sub_0207E490(partyMenu);
break;
case PARTY_MENU_STATE_DEFAULT:
@ -420,7 +420,7 @@ static BOOL PartyMenu_Main(ApplicationManager *appMan, int *state)
case PARTY_MENU_STATE_23:
*state = sub_020845A8(partyMenu);
break;
case PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE:
case PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE:
*state = PartyMenu_NextStateAfterMessageCloses(partyMenu);
break;
case PARTY_MENU_STATE_25:
@ -447,7 +447,7 @@ static BOOL PartyMenu_Main(ApplicationManager *appMan, int *state)
}
break;
case PARTY_MENU_STATE_HP_TRANSFER_FIELD_MOVE:
*state = UseHPTransferFieldMove(partyMenu);
*state = PartyMenu_UseHPTransferFieldMove(partyMenu);
break;
case PARTY_MENU_STATE_31:
if (PartyMenuFormChange_ChangeForm(partyMenu) == 1) {
@ -482,7 +482,7 @@ static int sub_0207E490(PartyMenuApplication *application)
if (IsScreenFadeDone() == TRUE) {
if ((application->partyMenu->mode == PARTY_MENU_MODE_USE_ITEM) || (application->partyMenu->mode == PARTY_MENU_MODE_USE_EVO_ITEM)) {
if (CheckItemSacredAsh(application->partyMenu->usedItemID) == TRUE) {
application->stateAfterMessage = PARTY_MENU_STATE_INIT;
application->stateAfterMessage = PARTY_MENU_STATE_START;
return PARTY_MENU_STATE_USE_SACRED_ASH;
}
@ -504,12 +504,12 @@ static int sub_0207E490(PartyMenuApplication *application)
}
}
return PARTY_MENU_STATE_INIT;
return PARTY_MENU_STATE_START;
}
static int sub_0207E518(PartyMenuApplication *application)
{
u8 v0 = Partymenu_HandleInput(application);
u8 v0 = PartyMenu_HandleInput(application);
if (v0 == PARTY_MENU_INPUT_CONFIRM) {
if ((application->partyMenu->mode == PARTY_MENU_MODE_SELECT_NO_PROMPT) || (application->partyMenu->mode == PARTY_MENU_MODE_FEED_POFFIN)) {
@ -517,7 +517,7 @@ static int sub_0207E518(PartyMenuApplication *application)
return PARTY_MENU_STATE_32;
} else if (application->partyMenu->mode == PARTY_MENU_MODE_MAILBOX) {
sub_020868B0(application);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
} else if (application->partyMenu->mode == PARTY_MENU_MODE_NPC_TRADE) {
return CheckForItemApplication(application);
} else {
@ -607,7 +607,7 @@ static int PartyMenu_NextStateAfterMessageCloses(PartyMenuApplication *applicati
return application->stateAfterMessage;
}
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_0207E6E4(PartyMenuApplication *application)
@ -651,8 +651,8 @@ static int sub_0207E750(PartyMenuApplication *application)
PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE);
application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE;
application->stateAfterMessage = PARTY_MENU_STATE_25;
MessageLoader_GetString(application->messageLoader, Partymenu_Text_ItWontHaveAnyEffect, application->tmpString);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
MessageLoader_GetString(application->messageLoader, PartyMenu_Text_ItWontHaveAnyEffect, application->tmpString);
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
} else if (v0 == 3) {
application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE;
@ -1463,7 +1463,7 @@ static const u8 Unk_020F1BD4[][6] = {
static u8 PartyMenu_HandleNavigationAndTouchScreen(PartyMenuApplication *application)
{
if (Partymenu_TryHandleDirectionPadInput(application) == TRUE) {
if (PartyMenu_TryHandleDirectionPadInput(application) == TRUE) {
return PARTY_MENU_INPUT_DIRECTION_PAD;
}
@ -1474,7 +1474,7 @@ static u8 PartyMenu_HandleNavigationAndTouchScreen(PartyMenuApplication *applica
return PARTY_MENU_INPUT_NONE;
}
static u8 Partymenu_TryHandleDirectionPadInput(PartyMenuApplication *application)
static u8 PartyMenu_TryHandleDirectionPadInput(PartyMenuApplication *application)
{
u8 v0;
u8 v1;
@ -1599,9 +1599,8 @@ static u8 PartyMenu_TryHandleTouchScreenButtons(PartyMenuApplication *applicatio
if (partySlot != TOUCHSCREEN_INPUT_NONE) {
u8 x, y;
u8 prevPartySlot;
prevPartySlot = application->currPartySlot;
u8 prevPartySlot = application->currPartySlot;
application->currPartySlot = (u8)partySlot;
InitAnimAndPaletteForSlot(application, prevPartySlot, FALSE);
@ -1683,7 +1682,7 @@ static void sub_0207FE1C(PartyMenuApplication *application)
}
}
static u8 Partymenu_HandleInput(PartyMenuApplication *application)
static u8 PartyMenu_HandleInput(PartyMenuApplication *application)
{
if (JOY_NEW(PAD_BUTTON_A)) {
if (application->currPartySlot == 6) {
@ -1726,7 +1725,7 @@ static u8 Partymenu_HandleInput(PartyMenuApplication *application)
}
if (JOY_NEW(PAD_BUTTON_B)) {
if (application->hideCancel == 0) {
if (application->hideCancel == FALSE) {
Sound_PlayEffect(SEQ_SE_CONFIRM);
application->currPartySlot = 7;
return PARTY_MENU_INPUT_CANCEL;
@ -2085,7 +2084,7 @@ static u8 sub_020805E4(PartyMenuApplication *application)
if (JOY_NEW(PAD_BUTTON_A)) {
Sound_PlayEffect(SEQ_SE_CONFIRM);
if ((application->currPartySlot >= MAX_PARTY_SIZE) || (application->currPartySlot == application->selectTargetSlot)) {
if (application->currPartySlot >= MAX_PARTY_SIZE || application->currPartySlot == application->selectTargetSlot) {
PartyMenu_ResetCursor(application);
return PARTY_MENU_INPUT_CANCEL;
} else {
@ -2123,19 +2122,19 @@ static int HandleGameWindowEvent(PartyMenuApplication *application)
if (application->partyMenu->selectionOrder[v0] == 0) {
switch (application->partyMenu->maxSelectionSlots) {
case 2:
PartyMenu_PrintLongMessage(application, Partymenu_Text_TwoMonAreNeeded, TRUE);
PartyMenu_PrintLongMessage(application, PartyMenu_Text_TwoMonAreNeeded, TRUE);
break;
case 3:
PartyMenu_PrintLongMessage(application, Partymenu_Text_ThreeMonAreNeeded, TRUE);
PartyMenu_PrintLongMessage(application, PartyMenu_Text_ThreeMonAreNeeded, TRUE);
break;
case 4:
PartyMenu_PrintLongMessage(application, Partymenu_Text_FourMonAreNeeded, TRUE);
PartyMenu_PrintLongMessage(application, PartyMenu_Text_FourMonAreNeeded, TRUE);
break;
case 5:
PartyMenu_PrintLongMessage(application, Partymenu_Text_FiveMonAreNeeded, TRUE);
PartyMenu_PrintLongMessage(application, PartyMenu_Text_FiveMonAreNeeded, TRUE);
break;
case 6:
PartyMenu_PrintLongMessage(application, Partymenu_Text_SixMonAreNeeded, TRUE);
PartyMenu_PrintLongMessage(application, PartyMenu_Text_SixMonAreNeeded, TRUE);
break;
default:
PartyMenu_PrintLongMessage(application, PartyMenu_Text_ChooseAPokemon, TRUE);
@ -2144,7 +2143,7 @@ static int HandleGameWindowEvent(PartyMenuApplication *application)
application->stateAfterMessage = PARTY_MENU_STATE_23;
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
}
@ -2167,17 +2166,17 @@ static int HandleGameWindowEvent(PartyMenuApplication *application)
PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_23;
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
case BATTLE_REGULATION_VALIDATION_ERROR_DUPLICATE_SPECIES:
PartyMenu_PrintLongMessage(application, PartyMenu_Text_IdenticalMonNotPermitted, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_23;
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
case BATTLE_REGULATION_VALIDATION_ERROR_DUPLICATE_ITEMS:
PartyMenu_PrintLongMessage(application, PartyMenu_Text_SomeMonHoldingIdenticalItems, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_23;
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
}
@ -2189,12 +2188,12 @@ static int HandleGameWindowEvent(PartyMenuApplication *application)
PartyMenu_PrintLongMessage(application, PartyMenu_Text_IdenticalMonNotPermitted, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_23;
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
case 2:
PartyMenu_PrintLongMessage(application, PartyMenu_Text_SomeMonHoldingIdenticalItems, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_23;
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
}
@ -2206,7 +2205,7 @@ static int HandleGameWindowEvent(PartyMenuApplication *application)
PartyMenu_PrintLongMessage(application, PartyMenu_Text_MustUseSameKindOfMon, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_23;
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
}
@ -2218,7 +2217,7 @@ static int HandleGameWindowEvent(PartyMenuApplication *application)
PartyMenu_PrintLongMessage(application, PartyMenu_Text_IdenticalMonNotPermitted, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_23;
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
}
@ -2430,9 +2429,9 @@ static u8 HandleWindowInputEvent(PartyMenuApplication *application, int *partyMe
|| application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_TOWER
|| application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_CASTLE
|| application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_HALL) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_ChooseMonAndConfirm, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseMonAndConfirm, TRUE);
} else if (application->partyMenu->mode == PARTY_MENU_MODE_SELECT_EGG) {
PartyMenu_PrintShortMessage(application, Partymenu_Text_SelectEgg, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_SelectEgg, TRUE);
} else {
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseAPokemon, TRUE);
}
@ -2465,7 +2464,7 @@ enum FieldMoveTransferHPTarget {
HP_TRANSFER_EGG_TARGET
};
static int UseHPTransferFieldMove(PartyMenuApplication *application)
static int PartyMenu_UseHPTransferFieldMove(PartyMenuApplication *application)
{
switch (application->monHpTransfer[HP_TRANSFER_STATE]) {
case HP_TRANSFER_STATE_HANDLE_INPUT:
@ -2490,7 +2489,7 @@ static int UseHPTransferFieldMove(PartyMenuApplication *application)
case HP_TRANSFER_INVALID_TARGET:
Sound_PlayEffect(SEQ_SE_CONFIRM);
application->monHpTransfer[HP_TRANSFER_STATE] = HP_TRANSFER_STATE_SELECT_TARGET;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
case HP_TRANSFER_EGG_TARGET:
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_HP_TRANSFER_FIELD_MOVE;
@ -2523,7 +2522,7 @@ static int UseHPTransferFieldMove(PartyMenuApplication *application)
break;
case HP_TRANSFER_INVALID_TARGET:
application->monHpTransfer[HP_TRANSFER_STATE] = HP_TRANSFER_STATE_SELECT_TARGET;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
case HP_TRANSFER_EGG_TARGET:
Sound_PlayEffect(SEQ_SE_DP_CUSTOM06);
return PARTY_MENU_STATE_HP_TRANSFER_FIELD_MOVE;
@ -2541,14 +2540,14 @@ static int UseHPTransferFieldMove(PartyMenuApplication *application)
}
break;
case HP_TRANSFER_STATE_DONATE_HP:
if (Partymenu_HPTransferUpdateHP(application, application->selectTargetSlot, -1) == TRUE) {
if (PartyMenu_HPTransferUpdateHP(application, application->selectTargetSlot, -1) == TRUE) {
Sound_PlayEffect(SEQ_SE_DP_KAIFUKU);
application->monHpTransfer[HP_TRANSFER_STATE] = HP_TRANSFER_STATE_RECEIVE_HP;
application->monHpTransfer[HP_TRANSFER_COUNTER] = 0;
}
break;
case HP_TRANSFER_STATE_RECEIVE_HP:
if (Partymenu_HPTransferUpdateHP(application, application->currPartySlot, 1) == TRUE) {
if (PartyMenu_HPTransferUpdateHP(application, application->currPartySlot, 1) == TRUE) {
Pokemon *mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot);
String *string = MessageLoader_GetNewString(application->messageLoader, PartyMenu_Text_MonsHPWasRestored);
@ -2563,7 +2562,7 @@ static int UseHPTransferFieldMove(PartyMenuApplication *application)
JournalEntry_SaveData(fieldSystem->journalEntry, journalEntryLocationEvent, JOURNAL_LOCATION);
application->monHpTransfer[HP_TRANSFER_STATE] = HP_TRANSFER_STATE_CONFIRM_DONE;
application->stateAfterMessage = PARTY_MENU_STATE_HP_TRANSFER_FIELD_MOVE;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
break;
case HP_TRANSFER_STATE_CONFIRM_DONE:
@ -2601,7 +2600,7 @@ static u8 CheckCanUseHPTransferFieldMove(PartyMenuApplication *application)
return HP_TRANSFER_VALID_TARGET;
}
static BOOL Partymenu_HPTransferUpdateHP(PartyMenuApplication *application, u8 slot, s8 hpAmount)
static BOOL PartyMenu_HPTransferUpdateHP(PartyMenuApplication *application, u8 slot, s8 hpAmount)
{
application->partyMembers[slot].curHP += hpAmount;
application->monHpTransfer[HP_TRANSFER_COUNTER]++;
@ -2708,7 +2707,7 @@ static int ApplyItemEffectOnPokemon(PartyMenuApplication *app)
sub_020852B8(app);
} else {
PartyMenu_PrintLongMessage(app, Partymenu_Text_ItWontHaveAnyEffect, TRUE);
PartyMenu_PrintLongMessage(app, PartyMenu_Text_ItWontHaveAnyEffect, TRUE);
app->currPartySlot = 7;
app->unk_B00 = sub_02085348;
}
@ -2990,7 +2989,7 @@ static int CheckForItemApplication(PartyMenuApplication *application)
application->unk_B04.unk_00 = sub_02083A78;
application->unk_B04.unk_04 = sub_02083AA4;
application->stateAfterMessage = PARTY_MENU_STATE_26;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static BOOL ShouldShowSubscreen(PartyMenuApplication *application)

View File

@ -299,7 +299,7 @@ static void PartyMenu_SelectMailTake(PartyMenuApplication *application, int *par
application->unk_B04.unk_00 = sub_0208384C;
application->unk_B04.unk_04 = sub_020838C4;
application->stateAfterMessage = PARTY_MENU_STATE_26;
*partyMenuState = PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
*partyMenuState = PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_0208384C(void *applicationPtr)
@ -320,7 +320,7 @@ static int sub_0208384C(void *applicationPtr)
application->stateAfterMessage = PARTY_MENU_STATE_20;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_020838C4(void *applicationPtr)
@ -333,7 +333,7 @@ static int sub_020838C4(void *applicationPtr)
application->unk_B04.unk_04 = sub_02083990;
application->stateAfterMessage = PARTY_MENU_STATE_26;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_020838F4(void *applicationPtr)
@ -361,7 +361,7 @@ static int sub_020838F4(void *applicationPtr)
application->stateAfterMessage = PARTY_MENU_STATE_20;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_02083990(void *applicationPtr)
@ -403,7 +403,7 @@ static void PartyMenu_SelectBallSeal(PartyMenuApplication *application, int *par
application->unk_B04.unk_00 = sub_02083A78;
application->unk_B04.unk_04 = sub_02083AA4;
application->stateAfterMessage = PARTY_MENU_STATE_26;
*partyMenuState = PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
*partyMenuState = PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
int sub_02083A78(void *applicationPtr)
@ -723,7 +723,7 @@ static void sub_020844B0(PartyMenuApplication *application, int *partyMenuState)
application->partyMenu->selectionOrder[v0] = application->currPartySlot + 1;
PartyMenu_PrintSelectionEligibility(application, application->currPartySlot);
PartyMenu_PrintShortMessage(application, Partymenu_Text_ChooseMonAndConfirm, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseMonAndConfirm, TRUE);
Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0);
if (v0 == application->partyMenu->maxSelectionSlots - 1) {
@ -753,14 +753,14 @@ static void sub_020844B0(PartyMenuApplication *application, int *partyMenuState)
}
application->stateAfterMessage = PARTY_MENU_STATE_23;
*partyMenuState = PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
*partyMenuState = PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
int sub_020845A8(PartyMenuApplication *application)
{
if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) {
Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1);
PartyMenu_PrintShortMessage(application, Partymenu_Text_ChooseMonAndConfirm, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_ChooseMonAndConfirm, TRUE);
Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0);
return PARTY_MENU_STATE_DEFAULT;
}
@ -855,7 +855,7 @@ int sub_02084780(PartyMenuApplication *application)
application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE;
application->stateAfterMessage = PARTY_MENU_STATE_25;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static void PartyMenu_SelectFieldMove(PartyMenuApplication *windowLayout, int *partyMenuState)
@ -897,7 +897,7 @@ static void PartyMenu_SelectFieldMove(PartyMenuApplication *windowLayout, int *p
PartyMenu_PrintLongMessage(windowLayout, msgID, TRUE);
windowLayout->stateAfterMessage = PARTY_MENU_STATE_3;
*partyMenuState = PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
*partyMenuState = PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static void PartyMenu_SelectCut(PartyMenuApplication *application, int *partyMenuState)
@ -983,7 +983,7 @@ static void PartyMenu_SelectMilkDrink(PartyMenuApplication *application, int *pa
*partyMenuState = PartyMenu_StartFieldMoveHPTransfer(application);
if (*partyMenuState == PARTY_MENU_STATE_HP_TRANSFER_FIELD_MOVE) {
application->monHpTransfer[HP_TRANSFER_JOURNAL_MOVE_IDX] = 24 - 11;
application->monHpTransfer[HP_TRANSFER_JOURNAL_MOVE_IDX] = FIELD_MOVE_MILK_DRINK;
}
}
@ -992,7 +992,7 @@ static void PartyMenu_SelectSoftboiled(PartyMenuApplication *application, int *p
*partyMenuState = PartyMenu_StartFieldMoveHPTransfer(application);
if (*partyMenuState == PARTY_MENU_STATE_HP_TRANSFER_FIELD_MOVE) {
application->monHpTransfer[HP_TRANSFER_JOURNAL_MOVE_IDX] = 25 - 11;
application->monHpTransfer[HP_TRANSFER_JOURNAL_MOVE_IDX] = FIELD_MOVE_SOFTBOILED;
}
}
@ -1006,7 +1006,7 @@ static int PartyMenu_StartFieldMoveHPTransfer(PartyMenuApplication *application)
if (application->partyMembers[application->currPartySlot].curHP <= application->monHpTransfer[HP_TRANSFER_HP_BUFFER]) {
PartyMenu_PrintLongMessage(application, PartyMenu_Text_NotEnoughHP, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_3;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
} else {
s16 x, y;

View File

@ -355,7 +355,7 @@ static void BufferUsedItemMessage(PartyMenuApplication *application, u16 param1,
MessageLoader_GetString(application->messageLoader, PartyMenu_Text_PPWasRestored, application->tmpString);
break;
default:
MessageLoader_GetString(application->messageLoader, Partymenu_Text_ItWontHaveAnyEffect, application->tmpString);
MessageLoader_GetString(application->messageLoader, PartyMenu_Text_ItWontHaveAnyEffect, application->tmpString);
}
}
@ -583,7 +583,7 @@ int sub_02085804(PartyMenuApplication *application)
application->currPartySlot = GetFirstFaintedMon(application, 0);
if (application->currPartySlot == 0xff) {
MessageLoader_GetString(application->messageLoader, Partymenu_Text_ItWontHaveAnyEffect, application->tmpString);
MessageLoader_GetString(application->messageLoader, PartyMenu_Text_ItWontHaveAnyEffect, application->tmpString);
PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE);
application->unk_B00 = sub_02085348;
PartyMenu_UpdateCursor(application, 0, 1);
@ -767,7 +767,7 @@ static int sub_02085C50(void *applicationPtr)
application->unk_B04.unk_04 = sub_02086008;
application->stateAfterMessage = PARTY_MENU_STATE_26;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
case 0xfffe:
break;
default:
@ -852,7 +852,7 @@ int sub_02085EF4(PartyMenuApplication *application)
application->stateAfterMessage = PARTY_MENU_STATE_5;
application->unk_B13 = 5;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_02085FB4(void *applicationPtr)
@ -867,7 +867,7 @@ static int sub_02085FB4(void *applicationPtr)
application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_OVERWRITE_MOVE_LEVEL_UP;
application->stateAfterMessage = PARTY_MENU_STATE_25;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_02086008(void *applicationPtr)
@ -883,7 +883,7 @@ static int sub_02086008(void *applicationPtr)
application->unk_B04.unk_04 = sub_020860AC;
application->stateAfterMessage = PARTY_MENU_STATE_26;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_02086060(void *applicationPtr)
@ -898,7 +898,7 @@ static int sub_02086060(void *applicationPtr)
application->stateAfterMessage = PARTY_MENU_STATE_5;
application->unk_B13 = 4;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_020860AC(void *applicationPtr)
@ -914,7 +914,7 @@ static int sub_020860AC(void *applicationPtr)
application->unk_B04.unk_04 = sub_02086008;
application->stateAfterMessage = PARTY_MENU_STATE_26;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
u8 PartyMenu_CanMonLearnMove(PartyMenuApplication *application, Pokemon *mon)
@ -998,7 +998,7 @@ int sub_0208615C(PartyMenuApplication *application)
break;
}
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
int sub_020862F8(PartyMenuApplication *application)
@ -1021,7 +1021,7 @@ int sub_020862F8(PartyMenuApplication *application)
PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE);
application->stateAfterMessage = PARTY_MENU_STATE_22;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
int sub_020863A0(PartyMenuApplication *application)
@ -1042,7 +1042,7 @@ int sub_020863A0(PartyMenuApplication *application)
application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE;
application->stateAfterMessage = PARTY_MENU_STATE_25;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
return PARTY_MENU_STATE_22;
@ -1060,7 +1060,7 @@ static int sub_02086438(void *applicationPtr)
application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_OVERWRITE_MOVE_TM_HM;
application->stateAfterMessage = PARTY_MENU_STATE_25;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_0208648C(void *applicationPtr)
@ -1076,7 +1076,7 @@ static int sub_0208648C(void *applicationPtr)
application->unk_B04.unk_04 = sub_02086538;
application->stateAfterMessage = PARTY_MENU_STATE_26;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_020864E4(void *applicationPtr)
@ -1091,7 +1091,7 @@ static int sub_020864E4(void *applicationPtr)
application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE;
application->stateAfterMessage = PARTY_MENU_STATE_25;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static int sub_02086538(void *applicationPtr)
@ -1107,7 +1107,7 @@ static int sub_02086538(void *applicationPtr)
application->unk_B04.unk_04 = sub_0208648C;
application->stateAfterMessage = PARTY_MENU_STATE_26;
return 24;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
static void TeachMove(PartyMenuApplication *application, Pokemon *mon, u32 moveSlot)
@ -1201,7 +1201,7 @@ int sub_02086774(PartyMenuApplication *application)
Window_EraseStandardFrame(&application->windows[36], 1);
Menu_Free(application->contextMenu, NULL);
StringList_Free(application->contextMenuChoices);
PartyMenu_PrintShortMessage(application, Partymenu_Text_UseOnWhichMon, TRUE);
PartyMenu_PrintShortMessage(application, PartyMenu_Text_UseOnWhichMon, TRUE);
return PARTY_MENU_STATE_USE_ITEM;
default:
Window_EraseMessageBox(&application->windows[33], 1);
@ -1215,7 +1215,7 @@ int sub_02086774(PartyMenuApplication *application)
Bag_TryRemoveItem(application->partyMenu->bag, application->partyMenu->usedItemID, 1, HEAP_ID_PARTY_MENU);
Sound_PlayEffect(SEQ_SE_DP_KAIFUKU);
} else {
MessageLoader_GetString(application->messageLoader, Partymenu_Text_ItWontHaveAnyEffect, application->tmpString);
MessageLoader_GetString(application->messageLoader, PartyMenu_Text_ItWontHaveAnyEffect, application->tmpString);
}
PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE);
@ -1223,7 +1223,7 @@ int sub_02086774(PartyMenuApplication *application)
application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE;
application->stateAfterMessage = PARTY_MENU_STATE_25;
return PARTY_MENU_STATE_PRINT_MESSAGE_THEN_NEXT_STATE;
return PARTY_MENU_STATE_SHOW_MESSAGE_THEN_NEXT_STATE;
}
return PARTY_MENU_STATE_6;

View File

@ -785,7 +785,7 @@ static BOOL FieldMoves_DigTask(FieldTask *task)
UnkStruct_020711C8 *v1 = FieldTask_GetEnv(task);
FieldWarp *fieldWarp = FieldWarp_InitDig(fieldSystem, v1->unk_00, HEAP_ID_FIELD2);
void *journalEntryLocationEvent = JournalEntry_CreateEventUsedMove(LOCATION_EVENT_USED_DIG - LOCATION_EVENT_USED_CUT, fieldSystem->location->mapId, HEAP_ID_FIELD1);
void *journalEntryLocationEvent = JournalEntry_CreateEventUsedMove(FIELD_MOVE_DIG, fieldSystem->location->mapId, HEAP_ID_FIELD1);
JournalEntry_SaveData(fieldSystem->journalEntry, journalEntryLocationEvent, JOURNAL_LOCATION);
Heap_Free(v1);
@ -821,7 +821,7 @@ static void FieldMoves_SetSweetScentTask(FieldMovePokemon *fieldMoveMon, const F
startMenu->taskData = v2;
startMenu->state = START_MENU_STATE_NEW_TASK;
v4 = JournalEntry_CreateEventUsedMove(LOCATION_EVENT_LURED_POKEMON - LOCATION_EVENT_USED_CUT, fieldSystem->location->mapId, HEAP_ID_FIELD2);
v4 = JournalEntry_CreateEventUsedMove(FIELD_MOVE_SWEET_SCENT, fieldSystem->location->mapId, HEAP_ID_FIELD2);
JournalEntry_SaveData(fieldSystem->journalEntry, v4, JOURNAL_LOCATION);
}

View File

@ -11,6 +11,7 @@
#include "overlay006/hm_cut_in.h"
#include "field_map_change.h"
#include "field_move_tasks.h"
#include "field_overworld_state.h"
#include "field_task.h"
#include "heap.h"
@ -31,7 +32,7 @@ enum FieldWarpStateResult {
typedef enum FieldWarpStateResult (*FieldWarpStateFunc)(FieldTask *, FieldSystem *, FieldWarp *);
static FieldWarp *FieldWarp_New(enum HeapID heapID, u32 size);
static void CreateJournalEntryForWarp(FieldSystem *fieldSystem, FieldWarp *fieldWarp);
static void CreateJournalEntryForTeleport(FieldSystem *fieldSystem, FieldWarp *fieldWarp);
static enum FieldWarpStateResult StartWarpOutSpinning(FieldTask *task, FieldSystem *fieldSystem, FieldWarp *fieldWarp);
static enum FieldWarpStateResult StartFadeOut(FieldTask *task, FieldSystem *fieldSystem, FieldWarp *fieldWarp);
static enum FieldWarpStateResult FinishFadeOut(FieldTask *task, FieldSystem *fieldSystem, FieldWarp *fieldWarp);
@ -264,7 +265,7 @@ BOOL FieldWarp_FadeIn(FieldTask *task)
stateResult = sFieldWarpFadeInStates[fieldWarp->state](task, fieldSystem, fieldWarp);
if (stateResult == STATE_RESULT_END_TASK) {
CreateJournalEntryForWarp(fieldSystem, fieldWarp);
CreateJournalEntryForTeleport(fieldSystem, fieldWarp);
Heap_Free(fieldWarp);
return TRUE;
}
@ -273,13 +274,13 @@ BOOL FieldWarp_FadeIn(FieldTask *task)
return FALSE;
}
static void CreateJournalEntryForWarp(FieldSystem *fieldSystem, FieldWarp *fieldWarp)
static void CreateJournalEntryForTeleport(FieldSystem *fieldSystem, FieldWarp *fieldWarp)
{
if (fieldWarp->warpType != FIELD_WARP_TYPE_TELEPORT) {
return;
}
void *journalEntryLocationEvent = JournalEntry_CreateEventUsedMove(LOCATION_EVENT_WARPED_TO_LOCATION - LOCATION_EVENT_USED_CUT, fieldSystem->location->mapId, HEAP_ID_FIELD1);
void *journalEntryLocationEvent = JournalEntry_CreateEventUsedMove(FIELD_MOVE_TELEPORT, fieldSystem->location->mapId, HEAP_ID_FIELD1);
JournalEntry_SaveData(fieldSystem->journalEntry, journalEntryLocationEvent, JOURNAL_LOCATION);
}

View File

@ -1591,7 +1591,7 @@ BOOL StartMenu_FlyDestinationSelected(FieldTask *fieldTask)
} else {
Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot);
FlyContext *flyCtx = FlyContext_New(HEAP_ID_FIELD2, fieldSystem, mon, mapCtx->flyLocationMapHeader, mapCtx->flyLocationX * MAP_TILES_COUNT_X + MAP_TILES_COUNT_X / 2, mapCtx->flyLocationZ * MAP_TILES_COUNT_Z + MAP_TILES_COUNT_Z / 2);
void *journalEntryLocationEvent = JournalEntry_CreateEventUsedMove(LOCATION_EVENT_FLEW_TO_LOCATION - LOCATION_EVENT_USED_CUT, mapCtx->flyLocationMapHeader, HEAP_ID_FIELD2);
void *journalEntryLocationEvent = JournalEntry_CreateEventUsedMove(FIELD_MOVE_FLY, mapCtx->flyLocationMapHeader, HEAP_ID_FIELD2);
JournalEntry_SaveData(fieldSystem->journalEntry, journalEntryLocationEvent, JOURNAL_LOCATION);
Heap_FreeExplicit(HEAP_ID_FIELD2, menu->taskData);