From 9dc48899d3baa4052c1072f4813ffe480131e3a7 Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 00:13:42 -0400 Subject: [PATCH 01/84] BUFFER_A/B -> BATTLELINKMSGTYPE; link send/recv. task data names Replaced the BUFFER_A and BUFFER_B constants with the BATTLELINKMSGTYPE enum, which also identifies the "controller becoming idle" message type. Named the task data for the link send task and the link receive task. Added macros to functions related to those tasks, for legibility. --- include/battle_controllers.h | 7 +- src/battle_controller_link_opponent.c | 4 +- src/battle_controller_link_partner.c | 4 +- src/battle_controller_opponent.c | 26 +-- src/battle_controller_player.c | 48 ++--- src/battle_controller_player_partner.c | 12 +- src/battle_controller_recorded_opponent.c | 12 +- src/battle_controller_recorded_player.c | 14 +- src/battle_controller_safari.c | 12 +- src/battle_controller_wally.c | 16 +- src/battle_controllers.c | 220 ++++++++++++++-------- src/battle_main.c | 32 ++-- src/battle_script_commands.c | 160 ++++++++-------- src/battle_util.c | 24 +-- src/battle_util2.c | 2 +- 15 files changed, 325 insertions(+), 268 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 6e295a7590..91b4ab1e56 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -66,9 +66,10 @@ enum { // Special arguments for Battle Controller functions. -enum { // Values given to the emit functions to choose gBattleBufferA or gBattleBufferB - BUFFER_A, - BUFFER_B +enum { + BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER = 0, // gBattleBufferA + BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE = 1, // gBattleBufferB + BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE = 2, }; enum { diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 236db2a428..280b1e2103 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -518,7 +518,7 @@ static void LinkOpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -548,7 +548,7 @@ static void LinkOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); LinkOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 7a437b958c..7e5eb37e91 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -400,7 +400,7 @@ static void LinkPartnerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -442,7 +442,7 @@ static void LinkPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); LinkPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index c01dcb442f..12603f72bc 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -531,7 +531,7 @@ static void OpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -561,7 +561,7 @@ static void OpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); OpponentBufferExecCompleted(); } @@ -881,7 +881,7 @@ static void OpponentHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BUFFER_B, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -1552,7 +1552,7 @@ static void OpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, ChooseMoveAndTargetInBattlePalace()); OpponentBufferExecCompleted(); } else @@ -1569,13 +1569,13 @@ static void OpponentHandleChooseMove(void) switch (chosenMoveId) { case AI_CHOICE_WATCH: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); break; case AI_CHOICE_FLEE: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_RUN, 0); break; case 6: - BtlController_EmitTwoReturnValues(BUFFER_B, 15, gBattlerTarget); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 15, gBattlerTarget); break; default: if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) @@ -1586,7 +1586,7 @@ static void OpponentHandleChooseMove(void) if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, (chosenMoveId) | (gBattlerTarget << 8)); break; } OpponentBufferExecCompleted(); @@ -1601,11 +1601,11 @@ static void OpponentHandleChooseMove(void) } while (move == MOVE_NONE); if (gBattleMoves[move].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gActiveBattler << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, (chosenMoveId) | (gActiveBattler << 8)); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); OpponentBufferExecCompleted(); } @@ -1614,7 +1614,7 @@ static void OpponentHandleChooseMove(void) static void OpponentHandleChooseItem(void) { - BtlController_EmitOneReturnValue(BUFFER_B, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); OpponentBufferExecCompleted(); } @@ -1671,7 +1671,7 @@ static void OpponentHandleChoosePokemon(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, chosenMonId, NULL); OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index e447858fc8..9c4d755110 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -204,7 +204,7 @@ static void PlayerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -249,16 +249,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: // Top left - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_MOVE, 0); break; case 1: // Top right - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_ITEM, 0); break; case 2: // Bottom left - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SWITCH, 0); break; case 3: // Bottom right - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_RUN, 0); break; } PlayerBufferExecCompleted(); @@ -319,7 +319,7 @@ static void HandleInputChooseAction(void) return; } PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_CANCEL_PARTNER, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_CANCEL_PARTNER, 0); PlayerBufferExecCompleted(); } } @@ -365,7 +365,7 @@ static void HandleInputChooseTarget(void) { PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); PlayerBufferExecCompleted(); } @@ -523,7 +523,7 @@ static void HandleInputChooseMove(void) if (!canSelectTarget) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); PlayerBufferExecCompleted(); } else @@ -543,7 +543,7 @@ static void HandleInputChooseMove(void) else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, 0xFFFF); PlayerBufferExecCompleted(); } else if (JOY_NEW(DPAD_LEFT)) @@ -1174,7 +1174,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE @@ -1253,7 +1253,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -1361,9 +1361,9 @@ static void WaitForMonSelection(void) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gPartyMenuUseExitCallback == TRUE) - BtlController_EmitChosenMonReturnValue(BUFFER_B, gSelectedMonPartyId, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gSelectedMonPartyId, gBattlePartyCurrentOrder); else - BtlController_EmitChosenMonReturnValue(BUFFER_B, PARTY_SIZE, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_SIZE, NULL); if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) PrintLinkStandbyMsg(); @@ -1387,7 +1387,7 @@ static void CompleteWhenChoseItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gSpecialVar_ItemId); PlayerBufferExecCompleted(); } } @@ -1439,9 +1439,9 @@ static void PlayerHandleYesNoInput(void) PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) - BtlController_EmitTwoReturnValues(BUFFER_B, 0xE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0xE, 0); else - BtlController_EmitTwoReturnValues(BUFFER_B, 0xD, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0xD, 0); PlayerBufferExecCompleted(); } @@ -1600,7 +1600,7 @@ static void PlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); PlayerBufferExecCompleted(); } @@ -1920,7 +1920,7 @@ void PlayerHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BUFFER_B, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -2621,7 +2621,7 @@ static void PlayerChooseMoveInBattlePalace(void) if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, ChooseMoveAndTargetInBattlePalace()); PlayerBufferExecCompleted(); } } @@ -2671,7 +2671,7 @@ static void PlayerHandleChoosePokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH) { - BtlController_EmitChosenMonReturnValue(BUFFER_B, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); PlayerBufferExecCompleted(); } else @@ -2828,25 +2828,25 @@ static void PlayerHandleCmd32(void) static void PlayerHandleTwoReturnValues(void) { - BtlController_EmitTwoReturnValues(BUFFER_B, 0, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0, 0); PlayerBufferExecCompleted(); } static void PlayerHandleChosenMonReturnValue(void) { - BtlController_EmitChosenMonReturnValue(BUFFER_B, 0, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0, NULL); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue(void) { - BtlController_EmitOneReturnValue(BUFFER_B, 0); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue_Duplicate(void) { - BtlController_EmitOneReturnValue_Duplicate(BUFFER_B, 0); + BtlController_EmitOneReturnValue_Duplicate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0); PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 307eeca26a..37a72e3aaa 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -332,7 +332,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE @@ -411,7 +411,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -584,7 +584,7 @@ static void PlayerPartnerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -626,7 +626,7 @@ static void PlayerPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); PlayerPartnerBufferExecCompleted(); } @@ -1527,7 +1527,7 @@ static void PlayerPartnerHandleChooseMove(void) gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } - BtlController_EmitTwoReturnValues(BUFFER_B, 10, chosenMoveId | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, chosenMoveId | (gBattlerTarget << 8)); PlayerPartnerBufferExecCompleted(); } @@ -1557,7 +1557,7 @@ static void PlayerPartnerHandleChoosePokemon(void) } *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 7cb5839bc5..2a04c9d219 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -504,7 +504,7 @@ static void RecordedOpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -534,7 +534,7 @@ static void RecordedOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); RecordedOpponentBufferExecCompleted(); } @@ -1402,7 +1402,7 @@ static void RecordedOpponentHandlePrintSelectionString(void) static void RecordedOpponentHandleChooseAction(void) { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedOpponentBufferExecCompleted(); } @@ -1415,13 +1415,13 @@ static void RecordedOpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, moveId | (target << 8)); } RecordedOpponentBufferExecCompleted(); @@ -1435,7 +1435,7 @@ static void RecordedOpponentHandleChooseItem(void) static void RecordedOpponentHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 5a7be7f347..fda899712e 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -475,7 +475,7 @@ static void RecordedPlayerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -517,7 +517,7 @@ static void RecordedPlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); RecordedPlayerBufferExecCompleted(); } @@ -1414,7 +1414,7 @@ static void ChooseActionInBattlePalace(void) { if (gBattleCommunication[4] >= gBattlersCount / 2) { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1427,7 +1427,7 @@ static void RecordedPlayerHandleChooseAction(void) } else { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1441,13 +1441,13 @@ static void RecordedPlayerHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, moveId | (target << 8)); } RecordedPlayerBufferExecCompleted(); @@ -1461,7 +1461,7 @@ static void RecordedPlayerHandleChooseItem(void) static void RecordedPlayerHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedPlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 157bb6954c..09727b6cfd 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -176,16 +176,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_BALL, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_BALL, 0); break; case 1: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_POKEBLOCK, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_POKEBLOCK, 0); break; case 2: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_GO_NEAR, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_GO_NEAR, 0); break; case 3: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_RUN, 0); break; } SafariBufferExecCompleted(); @@ -280,7 +280,7 @@ static void CompleteWhenChosePokeblock(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gSpecialVar_ItemId); SafariBufferExecCompleted(); } } @@ -298,7 +298,7 @@ static void SafariBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 67950b8965..e0dabb23c4 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -196,7 +196,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -207,7 +207,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -217,7 +217,7 @@ static void WallyHandleActions(void) case 3: if (--gBattleStruct->wallyWaitFrames == 0) { - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_WALLY_THROW, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_WALLY_THROW, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -238,7 +238,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_ITEM, 0); WallyBufferExecCompleted(); } break; @@ -278,7 +278,7 @@ static void CompleteOnChosenItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gSpecialVar_ItemId); WallyBufferExecCompleted(); } } @@ -408,7 +408,7 @@ static void WallyBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -444,7 +444,7 @@ static void WallyHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); WallyBufferExecCompleted(); } @@ -1241,7 +1241,7 @@ static void WallyHandleChooseMove(void) if (--gBattleStruct->wallyMoveFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0x100); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, 0x100); WallyBufferExecCompleted(); } break; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 02276a7e14..8247e278bf 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -659,11 +659,11 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) { switch (bufferId) { - case BUFFER_A: + case BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER: for (i = 0; i < size; data++, i++) gBattleBufferA[gActiveBattler][i] = *data; break; - case BUFFER_B: + case BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE: for (i = 0; i < size; data++, i++) gBattleBufferB[gActiveBattler][i] = *data; break; @@ -671,20 +671,41 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) } } +#define tInitialDelayTimer data[10] +#define tState data[11] +#define tCurrentBlock_WrapFrom data[12] +#define tBlockSendDelayTimer data[13] +#define tCurrentBlock_End data[14] +#define tCurrentBlock_Start data[15] +// +// Inbound communications are stored in one buffer; outbound communications +// in another. Both buffers work pretty similarly: the next message will be +// written into the buffer after the previous message (with 4-byte alignment), +// unless we're too close to the end of the buffer, in which case we jump back +// to the start. +// +// Regarding the task variable names above: these variables are altered in- +// place, so the precise operational definition of "current" depends on when +// the variables are being accessed. When data is present in the send and +// receive buffers, "current" refers to the most recently received message; +// but when a message is actually being placed in the buffers, "current" +// refers to the previous message, until such time that we finish updating it +// to refer to the new message. + static void CreateTasksForSendRecvLinkBuffers(void) { sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0); - gTasks[sLinkSendTaskId].data[11] = 0; - gTasks[sLinkSendTaskId].data[12] = 0; - gTasks[sLinkSendTaskId].data[13] = 0; - gTasks[sLinkSendTaskId].data[14] = 0; - gTasks[sLinkSendTaskId].data[15] = 0; + gTasks[sLinkSendTaskId].tState = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = 0; + gTasks[sLinkSendTaskId].tBlockSendDelayTimer = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_End = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_Start = 0; sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0); - gTasks[sLinkReceiveTaskId].data[12] = 0; - gTasks[sLinkReceiveTaskId].data[13] = 0; - gTasks[sLinkReceiveTaskId].data[14] = 0; - gTasks[sLinkReceiveTaskId].data[15] = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_WrapFrom = 0; + gTasks[sLinkReceiveTaskId].tBlockSendDelayTimer = 0; // not used by "receive" task + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_Start = 0; sUnused = 0; } @@ -702,52 +723,72 @@ enum LINK_BUFF_DATA, }; +// We want to send a message. Place it into the "send" buffer. +// First argument is a BATTLELINKMSGTYPE_... void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) { s32 alignedSize; s32 i; alignedSize = size - size % 4 + 4; - if (gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE) + if (gTasks[sLinkSendTaskId].tCurrentBlock_End + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE) { - gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14]; - gTasks[sLinkSendTaskId].data[14] = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkSendTaskId].tCurrentBlock_End; + gTasks[sLinkSendTaskId].tCurrentBlock_End = 0; } - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler; + + #define BYTE_TO_SEND(offset) \ + gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].tCurrentBlock_End + offset] + + BYTE_TO_SEND(LINK_BUFF_BUFFER_ID) = bufferId; + BYTE_TO_SEND(LINK_BUFF_ACTIVE_BATTLER) = gActiveBattler; + BYTE_TO_SEND(LINK_BUFF_ATTACKER) = gBattlerAttacker; + BYTE_TO_SEND(LINK_BUFF_TARGET) = gBattlerTarget; + BYTE_TO_SEND(LINK_BUFF_SIZE_LO) = alignedSize; + BYTE_TO_SEND(LINK_BUFF_SIZE_HI) = (alignedSize & 0x0000FF00) >> 8; + BYTE_TO_SEND(LINK_BUFF_ABSENT_BATTLER_FLAGS) = gAbsentBattlerFlags; + BYTE_TO_SEND(LINK_BUFF_EFFECT_BATTLER) = gEffectBattler; for (i = 0; i < size; i++) - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_DATA + i] = data[i]; + BYTE_TO_SEND(LINK_BUFF_DATA + i) = data[i]; - gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA; + #undef BYTE_TO_SEND + + gTasks[sLinkSendTaskId].tCurrentBlock_End = gTasks[sLinkSendTaskId].tCurrentBlock_End + alignedSize + LINK_BUFF_DATA; } +enum { + SENDTASK_STATE_INITIALIZE = 0, + SENDTASK_STATE_INITIAL_DELAY = 1, + SENDTASK_STATE_COUNT_PLAYERS = 2, + SENDTASK_STATE_BEGIN_SEND_BLOCK = 3, + SENDTASK_STATE_FINISH_SEND_BLOCK = 4, + SENDTASK_STATE_UNUSED_STATE = 5, +}; + static void Task_HandleSendLinkBuffersData(u8 taskId) { u16 numPlayers; u16 blockSize; + + #define BYTE_TO_SEND(offset) \ + gLinkBattleSendBuffer[gTasks[taskId].tCurrentBlock_Start + offset] - switch (gTasks[taskId].data[11]) + switch (gTasks[taskId].tState) { - case 0: - gTasks[taskId].data[10] = 100; - gTasks[taskId].data[11]++; + case SENDTASK_STATE_INITIALIZE: + gTasks[taskId].tInitialDelayTimer = 100; + gTasks[taskId].tState++; break; - case 1: - gTasks[taskId].data[10]--; - if (gTasks[taskId].data[10] == 0) - gTasks[taskId].data[11]++; + case SENDTASK_STATE_INITIAL_DELAY: + gTasks[taskId].tInitialDelayTimer--; + if (gTasks[taskId].tInitialDelayTimer == 0) + gTasks[taskId].tState++; break; - case 2: + case SENDTASK_STATE_COUNT_PLAYERS: if (gWirelessCommType) { - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } else { @@ -761,56 +802,59 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) if (IsLinkMaster()) { CheckShouldAdvanceLinkState(); - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } else { - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } } } break; - case 3: - if (gTasks[taskId].data[15] != gTasks[taskId].data[14]) + case SENDTASK_STATE_BEGIN_SEND_BLOCK: + if (gTasks[taskId].tCurrentBlock_Start != gTasks[taskId].tCurrentBlock_End) { - if (gTasks[taskId].data[13] == 0) + if (gTasks[taskId].tBlockSendDelayTimer == 0) { - if (gTasks[taskId].data[15] > gTasks[taskId].data[14] - && gTasks[taskId].data[15] == gTasks[taskId].data[12]) + if (gTasks[taskId].tCurrentBlock_Start > gTasks[taskId].tCurrentBlock_End + && gTasks[taskId].tCurrentBlock_Start == gTasks[taskId].tCurrentBlock_WrapFrom) { - gTasks[taskId].data[12] = 0; - gTasks[taskId].data[15] = 0; + gTasks[taskId].tCurrentBlock_WrapFrom = 0; + gTasks[taskId].tCurrentBlock_Start = 0; } - blockSize = (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8)) + LINK_BUFF_DATA; - SendBlock(BitmaskAllOtherLinkPlayers(), &gLinkBattleSendBuffer[gTasks[taskId].data[15]], blockSize); - gTasks[taskId].data[11]++; + blockSize = (BYTE_TO_SEND(LINK_BUFF_SIZE_LO) | (BYTE_TO_SEND(LINK_BUFF_SIZE_HI) << 8)) + LINK_BUFF_DATA; + SendBlock(BitmaskAllOtherLinkPlayers(), &BYTE_TO_SEND(0), blockSize); + gTasks[taskId].tState++; } else { - gTasks[taskId].data[13]--; + gTasks[taskId].tBlockSendDelayTimer--; break; } } break; - case 4: + case SENDTASK_STATE_FINISH_SEND_BLOCK: if (IsLinkTaskFinished()) { - blockSize = gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); - gTasks[taskId].data[13] = 1; - gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA; - gTasks[taskId].data[11] = 3; + blockSize = BYTE_TO_SEND(LINK_BUFF_SIZE_LO) | (BYTE_TO_SEND(LINK_BUFF_SIZE_HI) << 8); + gTasks[taskId].tBlockSendDelayTimer = 1; + gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA; + gTasks[taskId].tState = SENDTASK_STATE_BEGIN_SEND_BLOCK; } break; - case 5: - if (--gTasks[taskId].data[13] == 0) + case SENDTASK_STATE_UNUSED_STATE: + if (--gTasks[taskId].tBlockSendDelayTimer == 0) { - gTasks[taskId].data[13] = 1; - gTasks[taskId].data[11] = 3; + gTasks[taskId].tBlockSendDelayTimer = 1; + gTasks[taskId].tState = SENDTASK_STATE_BEGIN_SEND_BLOCK; } break; } + + #undef BYTE_TO_SEND } +// We have received a message. Place it into the "receive" buffer. void TryReceiveLinkBattleData(void) { u8 i; @@ -830,19 +874,19 @@ void TryReceiveLinkBattleData(void) u8 *dest, *src; u16 dataSize = gBlockRecvBuffer[i][2]; - if (gTasks[sLinkReceiveTaskId].data[14] + 9 + dataSize > 0x1000) + if (gTasks[sLinkReceiveTaskId].tCurrentBlock_End + 9 + dataSize > 0x1000) { - gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14]; - gTasks[sLinkReceiveTaskId].data[14] = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkReceiveTaskId].tCurrentBlock_End; + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = 0; } - dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]]; + dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].tCurrentBlock_End]; src = recvBuffer; for (j = 0; j < dataSize + 8; j++) dest[j] = src[j]; - gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + dataSize + 8; + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = gTasks[sLinkReceiveTaskId].tCurrentBlock_End + dataSize + 8; } } } @@ -853,49 +897,61 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) { u16 blockSize; u8 battlerId; - u8 var; + u8 playerId; + + #define BYTE_TO_RECEIVE(offset) \ + gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + offset] - if (gTasks[taskId].data[15] != gTasks[taskId].data[14]) + if (gTasks[taskId].tCurrentBlock_Start != gTasks[taskId].tCurrentBlock_End) { - if (gTasks[taskId].data[15] > gTasks[taskId].data[14] - && gTasks[taskId].data[15] == gTasks[taskId].data[12]) + if (gTasks[taskId].tCurrentBlock_Start > gTasks[taskId].tCurrentBlock_End + && gTasks[taskId].tCurrentBlock_Start == gTasks[taskId].tCurrentBlock_WrapFrom) { - gTasks[taskId].data[12] = 0; - gTasks[taskId].data[15] = 0; + gTasks[taskId].tCurrentBlock_WrapFrom = 0; + gTasks[taskId].tCurrentBlock_Start = 0; } - battlerId = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BATTLER]; - blockSize = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); + battlerId = BYTE_TO_RECEIVE(LINK_BUFF_ACTIVE_BATTLER); + blockSize = BYTE_TO_RECEIVE(LINK_BUFF_SIZE_LO) | (BYTE_TO_RECEIVE(LINK_BUFF_SIZE_HI) << 8); - switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0]) + switch (BYTE_TO_RECEIVE(0)) { - case 0: + case BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER: if (gBattleControllerExecFlags & gBitTable[battlerId]) return; - memcpy(gBattleBufferA[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); + memcpy(gBattleBufferA[battlerId], &BYTE_TO_RECEIVE(LINK_BUFF_DATA), blockSize); MarkBattlerReceivedLinkData(battlerId); if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { - gBattlerAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ATTACKER]; - gBattlerTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_TARGET]; - gAbsentBattlerFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ABSENT_BATTLER_FLAGS]; - gEffectBattler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_EFFECT_BATTLER]; + gBattlerAttacker = BYTE_TO_RECEIVE(LINK_BUFF_ATTACKER); + gBattlerTarget = BYTE_TO_RECEIVE(LINK_BUFF_TARGET); + gAbsentBattlerFlags = BYTE_TO_RECEIVE(LINK_BUFF_ABSENT_BATTLER_FLAGS); + gEffectBattler = BYTE_TO_RECEIVE(LINK_BUFF_EFFECT_BATTLER); } break; - case 1: - memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); + case BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE: + memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + LINK_BUFF_DATA], blockSize); break; - case 2: - var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA]; - gBattleControllerExecFlags &= ~(gBitTable[battlerId] << (var * 4)); + case BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE: + playerId = BYTE_TO_RECEIVE(LINK_BUFF_DATA); + gBattleControllerExecFlags &= ~(gBitTable[battlerId] << (playerId * 4)); break; } - gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA; + gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA; } + + #undef BYTE_TO_RECEIVE } +#undef tInitialDelayTimer +#undef tState +#undef tCurrentBlock_WrapFrom +#undef tBlockSendDelayTimer +#undef tCurrentBlock_End +#undef tCurrentBlock_Start + void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck) { sBattleBuffersTransferData[0] = CONTROLLER_GETMONDATA; diff --git a/src/battle_main.c b/src/battle_main.c index 87fa0d3981..46f163586f 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3360,7 +3360,7 @@ static void BattleIntroGetMonsData(void) { case 0: gActiveBattler = gBattleCommunication[1]; - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTIUSE_STATE]++; break; @@ -3382,7 +3382,7 @@ static void BattleIntroPrepareBackgroundSlide(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerAtPosition(0); - BtlController_EmitIntroSlide(BUFFER_A, gBattleEnvironment); + BtlController_EmitIntroSlide(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleEnvironment); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites; gBattleCommunication[MULTIUSE_STATE] = 0; @@ -3513,7 +3513,7 @@ static void BattleIntroDrawPartySummaryScreens(void) } } gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(gActiveBattler); for (i = 0; i < PARTY_SIZE; i++) @@ -3531,7 +3531,7 @@ static void BattleIntroDrawPartySummaryScreens(void) } } gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroPrintTrainerWantsToBattle; @@ -3825,7 +3825,7 @@ static void UNUSED BattleIntroSwitchInPlayerMons(void) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - BtlController_EmitSwitchInAnim(BUFFER_A, gBattlerPartyIndexes[gActiveBattler], FALSE); + BtlController_EmitSwitchInAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4165,7 +4165,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseAction(BUFFER_A, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); + BtlController_EmitChooseAction(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; } @@ -4214,7 +4214,7 @@ static void HandleTurnActionSelectionState(void) i); } - BtlController_EmitChooseMove(BUFFER_A, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); + BtlController_EmitChooseMove(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4233,7 +4233,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4243,7 +4243,7 @@ static void HandleTurnActionSelectionState(void) || gBattleTypeFlags & BATTLE_TYPE_ARENA || gStatuses3[gActiveBattler] & STATUS3_ROOTED) { - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) @@ -4252,16 +4252,16 @@ static void HandleTurnActionSelectionState(void) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) { - BtlController_EmitChoosePokemon(BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else { if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } MarkBattlerForControllerExec(gActiveBattler); break; @@ -4276,7 +4276,7 @@ static void HandleTurnActionSelectionState(void) } break; case B_ACTION_SAFARI_POKEBLOCK: - BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); break; case B_ACTION_CANCEL_PARTNER: @@ -4471,11 +4471,11 @@ static void HandleTurnActionSelectionState(void) || (position & BIT_FLANK) != B_FLANK_LEFT || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i); } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_STOP_BOUNCE_ONLY, i); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_STOP_BOUNCE_ONLY, i); } MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9665479140..48951f0732 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1239,7 +1239,7 @@ static void Cmd_ppreduce(void) if (MOVE_IS_PERMANENT(gBattlerAttacker, gCurrMovePos)) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, sizeof(gBattleMons[gBattlerAttacker].pp[gCurrMovePos]), &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]); MarkBattlerForControllerExec(gBattlerAttacker); @@ -1784,7 +1784,7 @@ static void Cmd_attackanimation(void) multihit = gMultiHitCounter; } - BtlController_EmitMoveAnimation(BUFFER_A, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); + BtlController_EmitMoveAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); gBattleScripting.animTurn++; gBattleScripting.animTargetsHit++; MarkBattlerForControllerExec(gBattlerAttacker); @@ -1829,7 +1829,7 @@ static void Cmd_healthbarupdate(void) else healthValue = maxPossibleDmgValue; - BtlController_EmitHealthBarUpdate(BUFFER_A, healthValue); + BtlController_EmitHealthBarUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, healthValue); MarkBattlerForControllerExec(gActiveBattler); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) @@ -1971,7 +1971,7 @@ static void Cmd_datahpupdate(void) gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE; // Send updated HP - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); } } @@ -2009,11 +2009,11 @@ static void Cmd_effectivenesssound(void) switch (gMoveResultFlags & (u8)(~MOVE_RESULT_MISSED)) { case MOVE_RESULT_SUPER_EFFECTIVE: - BtlController_EmitPlaySE(BUFFER_A, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - BtlController_EmitPlaySE(BUFFER_A, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_DOESNT_AFFECT_FOE: @@ -2026,17 +2026,17 @@ static void Cmd_effectivenesssound(void) default: if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { - BtlController_EmitPlaySE(BUFFER_A, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { - BtlController_EmitPlaySE(BUFFER_A, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { - BtlController_EmitPlaySE(BUFFER_A, SE_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -2149,7 +2149,7 @@ static void Cmd_printselectionstring(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BUFFER_A, T2_READ_16(gBattlescriptCurrInstr + 1)); + BtlController_EmitPrintSelectionString(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -2199,7 +2199,7 @@ static void Cmd_printselectionstringfromtable(void) ptr += gBattleCommunication[MULTISTRING_CHOOSER]; gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BUFFER_A, *ptr); + BtlController_EmitPrintSelectionString(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *ptr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; @@ -2485,7 +2485,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; gActiveBattler = gEffectBattler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); MarkBattlerForControllerExec(gActiveBattler); if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) @@ -2787,11 +2787,11 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleMons[gBattlerTarget].item = ITEM_NONE; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); MarkBattlerForControllerExec(gBattlerAttacker); gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2829,7 +2829,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleMons[gBattlerTarget].status1 &= ~STATUS1_PARALYSIS; gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -3036,7 +3036,7 @@ static void Cmd_tryfaintmon(void) BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_GrudgeTakesPp; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); MarkBattlerForControllerExec(gActiveBattler); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].moves[moveIndex]) @@ -3069,7 +3069,7 @@ static void Cmd_cleareffectsonfaint(void) if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[gActiveBattler].hp == 0) { gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } @@ -3438,7 +3438,7 @@ static void Cmd_getexp(void) gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); gActiveBattler = gBattleStruct->expGetterBattlerId; - BtlController_EmitExpUpdate(BUFFER_A, gBattleStruct->expGetterMonId, gBattleMoveDamage); + BtlController_EmitExpUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->expGetterMonId, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); } gBattleScripting.getexpState++; @@ -3937,7 +3937,7 @@ static void Cmd_healthbar_update(void) else gActiveBattler = gBattlerAttacker; - BtlController_EmitHealthBarUpdate(BUFFER_A, gBattleMoveDamage); + BtlController_EmitHealthBarUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -4012,7 +4012,7 @@ static void Cmd_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) { - BtlController_EmitBattleAnimation(BUFFER_A, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4026,7 +4026,7 @@ static void Cmd_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SANDSTORM_CONTINUES || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) { - BtlController_EmitBattleAnimation(BUFFER_A, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4036,7 +4036,7 @@ static void Cmd_playanimation(void) } else { - BtlController_EmitBattleAnimation(BUFFER_A, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4056,7 +4056,7 @@ static void Cmd_playanimation_var(void) || *animationIdPtr == B_ANIM_SNATCH_MOVE || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) { - BtlController_EmitBattleAnimation(BUFFER_A, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4069,7 +4069,7 @@ static void Cmd_playanimation_var(void) || *animationIdPtr == B_ANIM_SANDSTORM_CONTINUES || *animationIdPtr == B_ANIM_HAIL_CONTINUES) { - BtlController_EmitBattleAnimation(BUFFER_A, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4079,7 +4079,7 @@ static void Cmd_playanimation_var(void) } else { - BtlController_EmitBattleAnimation(BUFFER_A, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4195,7 +4195,7 @@ static void Cmd_playstatchangeanimation(void) } else if (changeableStatsCount != 0 && !gBattleScripting.statAnimPlayed) { - BtlController_EmitBattleAnimation(BUFFER_A, B_ANIM_STATS_CHANGE, statAnimId); + BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ANIM_STATS_CHANGE, statAnimId); MarkBattlerForControllerExec(gActiveBattler); if (gBattlescriptCurrInstr[3] & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount > 1) gBattleScripting.statAnimPlayed = TRUE; @@ -4264,7 +4264,7 @@ static void Cmd_moveend(void) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE; gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gActiveBattler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; @@ -4343,7 +4343,7 @@ static void Cmd_moveend(void) && gHitMarker & HITMARKER_NO_ANIMATIONS) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BUFFER_A, TRUE); + BtlController_EmitSpriteInvisibility(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gActiveBattler); gBattleScripting.moveendState++; return; @@ -4356,7 +4356,7 @@ static void Cmd_moveend(void) || WasUnableToUseMove(gBattlerAttacker)) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerAttacker] &= ~STATUS3_SEMI_INVULNERABLE; gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1; @@ -4370,7 +4370,7 @@ static void Cmd_moveend(void) && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { gActiveBattler = gBattlerTarget; - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerTarget] &= ~STATUS3_SEMI_INVULNERABLE; gBattleScripting.moveendState++; @@ -4597,7 +4597,7 @@ static void Cmd_returnatktoball(void) gActiveBattler = gBattlerAttacker; if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr++; @@ -4612,7 +4612,7 @@ static void Cmd_getswitchedmondata(void) gBattlerPartyIndexes[gActiveBattler] = *(gBattleStruct->monToSwitchIntoId + gActiveBattler); - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); + BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -4688,7 +4688,7 @@ static void Cmd_switchinanim(void) gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); - BtlController_EmitSwitchInAnim(BUFFER_A, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); + BtlController_EmitSwitchInAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -4858,7 +4858,7 @@ static void ChooseMonToSendOut(u8 slotId) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } @@ -4885,7 +4885,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4896,7 +4896,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4924,7 +4924,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); flags |= 1; } @@ -4946,7 +4946,7 @@ static void Cmd_openpartyscreen(void) } else if (!(flags & 1)) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4967,7 +4967,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); flags |= 2; } @@ -4989,7 +4989,7 @@ static void Cmd_openpartyscreen(void) } else if (!(flags & 2)) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5005,7 +5005,7 @@ static void Cmd_openpartyscreen(void) else gActiveBattler = 0; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } @@ -5021,7 +5021,7 @@ static void Cmd_openpartyscreen(void) else gActiveBattler = 1; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5117,7 +5117,7 @@ static void Cmd_openpartyscreen(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BUFFER_A, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 6; @@ -5131,7 +5131,7 @@ static void Cmd_openpartyscreen(void) { if (gActiveBattler != battlerId) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5142,7 +5142,7 @@ static void Cmd_openpartyscreen(void) if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gActiveBattler ^= BIT_FLANK; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5310,7 +5310,7 @@ static void Cmd_trainerslidein(void) static void Cmd_playse(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPlaySE(BUFFER_A, T2_READ_16(gBattlescriptCurrInstr + 1)); + BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5319,7 +5319,7 @@ static void Cmd_playse(void) static void Cmd_fanfare(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPlayFanfareOrBGM(BUFFER_A, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); + BtlController_EmitPlayFanfareOrBGM(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5337,7 +5337,7 @@ static void Cmd_playfaintcry(void) static void Cmd_endlinkbattle(void) { gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitEndLinkBattle(BUFFER_A, gBattleOutcome); + BtlController_EmitEndLinkBattle(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleOutcome); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 1; @@ -5346,7 +5346,7 @@ static void Cmd_endlinkbattle(void) static void Cmd_returntoball(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitReturnMonToBall(BUFFER_A, TRUE); + BtlController_EmitReturnMonToBall(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5652,7 +5652,7 @@ static void Cmd_updatebattlermoves(void) switch (gBattleCommunication[0]) { case 0: - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[0]++; break; @@ -5725,7 +5725,7 @@ static void Cmd_drawpartystatussummary(void) } } - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatuses, 1); + BtlController_EmitDrawPartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, hpStatuses, 1); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5759,7 +5759,7 @@ static void Cmd_statusanimation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, FALSE, gBattleMons[gActiveBattler].status1); + BtlController_EmitStatusAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE, gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 2; @@ -5778,7 +5778,7 @@ static void Cmd_status2animation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); + BtlController_EmitStatusAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 6; @@ -5797,7 +5797,7 @@ static void Cmd_chosenstatusanimation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, gBattlescriptCurrInstr[2], wantedStatus); + BtlController_EmitStatusAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], wantedStatus); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 7; @@ -5908,7 +5908,7 @@ static void Cmd_removeitem(void) *usedHeldItem = gBattleMons[gActiveBattler].item; gBattleMons[gActiveBattler].item = ITEM_NONE; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6217,7 +6217,7 @@ static void Cmd_setatktoplayer0(void) static void Cmd_makevisible(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6456,7 +6456,7 @@ static void Cmd_various(void) gActiveBattler = 1; if (gBattleMons[gActiveBattler].hp != 0) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -6466,7 +6466,7 @@ static void Cmd_various(void) gActiveBattler = 3; if (gBattleMons[gActiveBattler].hp != 0) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -6491,7 +6491,7 @@ static void Cmd_various(void) gBattleOutcome = B_OUTCOME_MON_TELEPORTED; break; case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC: - BtlController_EmitPlayFanfareOrBGM(BUFFER_A, MUS_VICTORY_TRAINER, TRUE); + BtlController_EmitPlayFanfareOrBGM(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, MUS_VICTORY_TRAINER, TRUE); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -6552,7 +6552,7 @@ static void Cmd_tryexplosion(void) // Success, no battlers with Damp. Drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -6581,7 +6581,7 @@ static void Cmd_setatkhptozero(void) gActiveBattler = gBattlerAttacker; gBattleMons[gActiveBattler].hp = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -6777,7 +6777,7 @@ static void Cmd_trysetrest(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_REST; gBattleMons[gBattlerTarget].status1 = STATUS1_SLEEP_TURN(3); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -7727,7 +7727,7 @@ static void Cmd_updatestatusicon(void) if (gBattlescriptCurrInstr[1] != BS_ATTACKER_WITH_PARTNER) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -7736,7 +7736,7 @@ static void Cmd_updatestatusicon(void) gActiveBattler = gBattlerAttacker; if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) @@ -7744,7 +7744,7 @@ static void Cmd_updatestatusicon(void) gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); } } @@ -7822,7 +7822,7 @@ static void Cmd_transformdataexecution(void) } gActiveBattler = gBattlerAttacker; - BtlController_EmitResetActionMoveSelection(BUFFER_A, RESET_MOVE_SELECTION); + BtlController_EmitResetActionMoveSelection(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RESET_MOVE_SELECTION); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED; } @@ -8202,7 +8202,7 @@ static void Cmd_copymovepermanently(void) } movePpData.ppBonuses = gBattleMons[gBattlerAttacker].ppBonuses; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); MarkBattlerForControllerExec(gActiveBattler); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattlerTarget]) @@ -8370,7 +8370,7 @@ static void Cmd_tryspiteppreduce(void) if (!(gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[i]) && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); MarkBattlerForControllerExec(gActiveBattler); } @@ -8481,7 +8481,7 @@ static void Cmd_healpartystatus(void) if (toHeal) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); MarkBattlerForControllerExec(gActiveBattler); } @@ -9106,7 +9106,7 @@ static void Cmd_trymemento(void) // Success, drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -9146,7 +9146,7 @@ static void Cmd_cureifburnedparalysedorpoisoned(void) gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr += 5; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } else @@ -9268,11 +9268,11 @@ static void Cmd_tryswapitems(void) gBattleMons[gBattlerTarget].item = oldItemAtk; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); MarkBattlerForControllerExec(gBattlerAttacker); gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; @@ -9618,7 +9618,7 @@ static void Cmd_switchoutabilities(void) { case ABILITY_NATURAL_CURE: gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->battlerPartyIndexes + gActiveBattler)], sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); @@ -9758,7 +9758,7 @@ static void Cmd_docastformchangeanimation(void) if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) *(&gBattleStruct->formToChangeInto) |= CASTFORM_SUBSTITUTE; - BtlController_EmitBattleAnimation(BUFFER_A, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); + BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -9840,7 +9840,7 @@ static void Cmd_tryrecycleitem(void) *usedHeldItem = ITEM_NONE; gBattleMons[gActiveBattler].item = gLastUsedItem; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; @@ -9937,13 +9937,13 @@ static void Cmd_handleballthrow(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_TRAINER_BLOCK); + BtlController_EmitBallThrowAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, BALL_TRAINER_BLOCK); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } @@ -10031,7 +10031,7 @@ static void Cmd_handleballthrow(void) if (odds > 254) // mon caught { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); @@ -10053,7 +10053,7 @@ static void Cmd_handleballthrow(void) if (gLastUsedItem == ITEM_MASTER_BALL) shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check? - BtlController_EmitBallThrowAnim(BUFFER_A, shakes); + BtlController_EmitBallThrowAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, shakes); MarkBattlerForControllerExec(gActiveBattler); if (shakes == BALL_3_SHAKES_SUCCESS) // mon caught, copy of the code above diff --git a/src/battle_util.c b/src/battle_util.c index 6e201a2956..46a2dba310 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -759,7 +759,7 @@ void PressurePPLose(u8 target, u8 attacker, u16 move) if (MOVE_IS_PERMANENT(attacker, moveIndex)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -791,7 +791,7 @@ void PressurePPLoseOnUsingImprison(u8 attacker) if (imprisonPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, imprisonPos)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -822,7 +822,7 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker) if (perishSongPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, perishSongPos)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -893,7 +893,7 @@ bool8 WasUnableToUseMove(u8 battler) void PrepareStringBattle(u16 stringId, u8 battler) { gActiveBattler = battler; - BtlController_EmitPrintString(BUFFER_A, stringId); + BtlController_EmitPrintString(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, stringId); MarkBattlerForControllerExec(gActiveBattler); } @@ -1622,7 +1622,7 @@ u8 DoBattlerEndTurnEffects(void) gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -1747,7 +1747,7 @@ u8 DoBattlerEndTurnEffects(void) { CancelMultiTurnMoves(gActiveBattler); gBattleMons[gActiveBattler].status1 |= STATUS1_SLEEP_TURN((Random() & 3) + 2); // 2-5 turns of sleep - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); gEffectBattler = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); @@ -2257,7 +2257,7 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } return effect; @@ -2621,7 +2621,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; // fix nightmare glitch gBattleScripting.battler = gActiveBattler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(gActiveBattler); effect++; } @@ -2933,7 +2933,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; gBattleScripting.battler = battler; gActiveBattler = battler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); return effect; } @@ -3361,7 +3361,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); BattleScriptExecute(BattleScript_BerryPPHealEnd2); - BtlController_EmitSetMonData(BUFFER_A, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); MarkBattlerForControllerExec(gActiveBattler); effect = ITEM_PP_CHANGE; } @@ -3596,7 +3596,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (effect) { case ITEM_STATUS_CHANGE: - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: @@ -3747,7 +3747,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; gActiveBattler = battlerId; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } diff --git a/src/battle_util2.c b/src/battle_util2.c index 8ecb0a79b4..7ec395cd96 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -204,7 +204,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) if (effect == 2) { gActiveBattler = battlerId; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } From a4370ffcdef9250ed55ec716c8eb065c514d5998 Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 00:45:03 -0400 Subject: [PATCH 02/84] gBattleControllerExecFlags bits now identified via helper macros Created "exposition" macros to describe operations performed on gBattleControllerExecFlags. Updated the battle engine internals to use them, to more clearly document how battle link communications actually work. --- include/battle_controllers.h | 41 ++++++++++++++++++++++++++++++++++++ src/battle_controllers.c | 11 ++++++++-- src/battle_main.c | 18 ++++++---------- src/battle_util.c | 22 ++++++++++++++----- 4 files changed, 74 insertions(+), 18 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 91b4ab1e56..2706fbf284 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -64,6 +64,47 @@ enum { REQUEST_TOUGH_RIBBON_BATTLE, }; +// Accessors for gBattleControllerExecFlags. +// +// These are provided for documentation purposes, to make the battle +// controller internals and the link communication internals more +// legible. Several of these have functions that you should call +// (e.g. MarkBattlerForControllerExec) instead of using these macros +// directly. + +#define MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \ + do { gBattleControllerExecFlags |= gBitTable[battlerId] } while (0) + +#define MARK_BATTLE_CONTROLLER_IDLE_ON_LOCAL(battlerId) \ + do { gBattleControllerExecFlags &= ~gBitTable(battlerId) } while (0) + +#define IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \ + (gBattleControllerExecFlags & gBitTable[battlerId]) + +#define MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battlerId) \ + do { gBattleControllerExecFlags |= gBitTable[battlerId] << 28; } while (0) + +#define MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battlerId) \ + do { gBattleControllerExecFlags &= ~((1 << 28) << (battlerId)); } + +#define MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \ + do { gBattleControllerExecFlags |= gBitTable[battlerId] << ((playerId) << 2); } while (0) + +#define MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battlerId, playerId) \ + do { gBattleControllerExecFlags &= ~(gBitTable[battlerId] << ((playerId) * 4)); } while (0) + +#define IS_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \ + (gBattleControllerExecFlags & (gBitTable[battlerId] << ((playerId) * 4))) + +#define IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(battlerId) \ + (gBattleControllerExecFlags & ( \ + (gBitTable[battlerId]) \ + | (0xF << 28) \ + | (gBitTable[battlerId] << 4) \ + | (gBitTable[battlerId] << 8) \ + | (gBitTable[battlerId] << 12) \ + ) + // Special arguments for Battle Controller functions. enum { diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 8247e278bf..40eb22770b 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -855,6 +855,13 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) } // We have received a message. Place it into the "receive" buffer. +// +// Counterintuitively, we also "receive" the outbound messages that +// we send to other players. The GBA basically stores communicated +// data for all four players, so inbound and outbound data can be +// handled uniformly unless a game specifically decides to do +// otherwise. Pokemon, evidently, did not specifically decide to do +// otherwise. void TryReceiveLinkBattleData(void) { u8 i; @@ -916,7 +923,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) switch (BYTE_TO_RECEIVE(0)) { case BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER: - if (gBattleControllerExecFlags & gBitTable[battlerId]) + if (IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId)) return; memcpy(gBattleBufferA[battlerId], &BYTE_TO_RECEIVE(LINK_BUFF_DATA), blockSize); @@ -935,7 +942,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) break; case BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE: playerId = BYTE_TO_RECEIVE(LINK_BUFF_DATA); - gBattleControllerExecFlags &= ~(gBitTable[battlerId] << (playerId * 4)); + MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battlerId, playerId); break; } diff --git a/src/battle_main.c b/src/battle_main.c index 46f163586f..eb5fdbf43d 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4173,7 +4173,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CHOSEN: // Try to perform an action. - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]); gChosenActionByBattler[gActiveBattler] = gBattleBufferB[gActiveBattler][1]; @@ -4352,7 +4352,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CASE_CHOSEN: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { switch (gChosenActionByBattler[gActiveBattler]) { @@ -4456,11 +4456,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CONFIRMED_STANDBY: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) - | (0xF << 28) - | (gBitTable[gActiveBattler] << 4) - | (gBitTable[gActiveBattler] << 8) - | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { if (AllAtActionConfirmed()) i = TRUE; @@ -4482,7 +4478,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CONFIRMED: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++; } @@ -4496,7 +4492,7 @@ static void HandleTurnActionSelectionState(void) { gBattlerAttacker = gActiveBattler; gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } @@ -4504,7 +4500,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_SET_BEFORE_ACTION: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; } @@ -4528,7 +4524,7 @@ static void HandleTurnActionSelectionState(void) { gBattlerAttacker = gActiveBattler; gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } diff --git a/src/battle_util.c b/src/battle_util.c index 46a2dba310..31cd5026ef 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -839,26 +839,38 @@ static void UNUSED MarkAllBattlersForControllerExec(void) else { for (i = 0; i < gBattlersCount; i++) - gBattleControllerExecFlags |= gBitTable[i]; + MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(i); } } +// Called when the battle engine dispatches a message to a battle controller. +// +// During a singleplayer battle, we just immediately mark the controller as +// active. During a multiplayer link, we do things a little differently. We +// set a bit indicating that we're sending a message over the link. That +// message will be received by all other players... *and* by us, the player +// sending it, at which point we'll invoke MarkBattlerReceivedLinkData, +// below, to clear the "we're sending a message" bit and set the "controller +// is now active" bit. void MarkBattlerForControllerExec(u8 battlerId) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - gBattleControllerExecFlags |= gBitTable[battlerId] << (32 - MAX_BATTLERS_COUNT); + MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battlerId); else - gBattleControllerExecFlags |= gBitTable[battlerId]; + MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId); } +// Called when a message dispatched from the battle engine to a battle +// controller is received over link communications. All players assume +// that if they've received the message, everyone else has as well. void MarkBattlerReceivedLinkData(u8 battlerId) { s32 i; for (i = 0; i < GetLinkPlayerCount(); i++) - gBattleControllerExecFlags |= gBitTable[battlerId] << (i << 2); + MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, i); - gBattleControllerExecFlags &= ~((1 << 28) << battlerId); + MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battlerId); } void CancelMultiTurnMoves(u8 battler) From bab9f0cfef416f01f3d87b231b8e0e3def23633b Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 00:46:06 -0400 Subject: [PATCH 03/84] gBattleControllerExecFlags macro in MarkAllBattlersForControllerExec whoops, missed one --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 31cd5026ef..7182b725c6 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -834,7 +834,7 @@ static void UNUSED MarkAllBattlersForControllerExec(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { for (i = 0; i < gBattlersCount; i++) - gBattleControllerExecFlags |= gBitTable[i] << (32 - MAX_BATTLERS_COUNT); + gBattleControllerExecFlags |= MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(i); } else { From 2738d11b0f32ff644a3bcfea5c7137b3ee67e3c5 Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 01:00:16 -0400 Subject: [PATCH 04/84] Additional fixes to last few commits ROM now compiles, but it's not comparing as equal... --- include/battle_controllers.h | 8 ++++---- src/battle_ai_switch_items.c | 18 +++++++++--------- src/battle_main.c | 22 +++++++++++----------- src/battle_script_commands.c | 26 +++++++++++++------------- src/battle_util.c | 2 +- src/pokemon.c | 2 +- 6 files changed, 39 insertions(+), 39 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 2706fbf284..bc57fdc36e 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -73,10 +73,10 @@ enum { // directly. #define MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \ - do { gBattleControllerExecFlags |= gBitTable[battlerId] } while (0) + do { gBattleControllerExecFlags |= gBitTable[battlerId]; } while (0) #define MARK_BATTLE_CONTROLLER_IDLE_ON_LOCAL(battlerId) \ - do { gBattleControllerExecFlags &= ~gBitTable(battlerId) } while (0) + do { gBattleControllerExecFlags &= ~gBitTable(battlerId); } while (0) #define IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \ (gBattleControllerExecFlags & gBitTable[battlerId]) @@ -85,7 +85,7 @@ enum { do { gBattleControllerExecFlags |= gBitTable[battlerId] << 28; } while (0) #define MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battlerId) \ - do { gBattleControllerExecFlags &= ~((1 << 28) << (battlerId)); } + do { gBattleControllerExecFlags &= ~((1 << 28) << (battlerId)); } while (0) #define MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \ do { gBattleControllerExecFlags |= gBitTable[battlerId] << ((playerId) << 2); } while (0) @@ -103,7 +103,7 @@ enum { | (gBitTable[battlerId] << 4) \ | (gBitTable[battlerId] << 8) \ | (gBitTable[battlerId] << 12) \ - ) + )) // Special arguments for Battle Controller functions. diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index eeb28f8f0f..76461ba8fc 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -23,7 +23,7 @@ static bool8 ShouldSwitchIfPerishSong(void) && gDisableStructs[gActiveBattler].perishSongTimer == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } else @@ -107,7 +107,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) { // We found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -207,7 +207,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) { // we found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -229,14 +229,14 @@ static bool8 ShouldSwitchIfNaturalCure(void) && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } @@ -248,7 +248,7 @@ static bool8 ShouldSwitchIfNaturalCure(void) if (Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } @@ -416,7 +416,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -599,7 +599,7 @@ void AI_TrySwitchOrUseItem(void) } } - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); } static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var) @@ -933,7 +933,7 @@ static bool8 ShouldUseItem(void) if (shouldUse) { - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2) = item; gBattleResources->battleHistory->trainerItems[i] = ITEM_NONE; return shouldUse; diff --git a/src/battle_main.c b/src/battle_main.c index eb5fdbf43d..562a0162b4 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3427,7 +3427,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) { - BtlController_EmitDrawTrainerPic(BUFFER_A); + BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } @@ -3435,7 +3435,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) { if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) { - BtlController_EmitDrawTrainerPic(BUFFER_A); + BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT @@ -3460,7 +3460,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) { HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); } - BtlController_EmitLoadMonSprite(BUFFER_A); + BtlController_EmitLoadMonSprite(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); } @@ -3471,14 +3471,14 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT || GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - BtlController_EmitDrawTrainerPic(BUFFER_A); + BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - BtlController_EmitDrawTrainerPic(BUFFER_A); + BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } @@ -3631,7 +3631,7 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3669,7 +3669,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS)) { @@ -3761,7 +3761,7 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3800,7 +3800,7 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI)) { @@ -4286,7 +4286,7 @@ static void HandleTurnActionSelectionState(void) if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) { - BtlController_EmitEndBounceEffect(BUFFER_A); + BtlController_EmitEndBounceEffect(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4314,7 +4314,7 @@ static void HandleTurnActionSelectionState(void) { RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3); } - BtlController_EmitEndBounceEffect(BUFFER_A); + BtlController_EmitEndBounceEffect(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); return; } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 48951f0732..26d5eb2753 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3054,7 +3054,7 @@ static void Cmd_dofaintanimation(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitFaintAnimation(BUFFER_A); + BtlController_EmitFaintAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -4914,7 +4914,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4936,7 +4936,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4957,7 +4957,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4979,7 +4979,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5042,7 +5042,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5058,7 +5058,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5301,7 +5301,7 @@ static void Cmd_switchineffects(void) static void Cmd_trainerslidein(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); - BtlController_EmitTrainerSlide(BUFFER_A); + BtlController_EmitTrainerSlide(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5328,7 +5328,7 @@ static void Cmd_fanfare(void) static void Cmd_playfaintcry(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitFaintingCry(BUFFER_A); + BtlController_EmitFaintingCry(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5565,7 +5565,7 @@ static void Cmd_hitanimation(void) } else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { - BtlController_EmitHitAnimation(BUFFER_A); + BtlController_EmitHitAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -5734,7 +5734,7 @@ static void Cmd_drawpartystatussummary(void) static void Cmd_hidepartystatussummary(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitHidePartyStatusSummary(BUFFER_A); + BtlController_EmitHidePartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6431,7 +6431,7 @@ static void Cmd_various(void) gDisableStructs[1].truantSwitchInHack = 1; break; case VARIOUS_EMIT_YESNOBOX: - BtlController_EmitYesNoBox(BUFFER_A); + BtlController_EmitYesNoBox(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); break; case VARIOUS_DRAW_ARENA_REF_TEXT_BOX: @@ -10342,7 +10342,7 @@ static void Cmd_finishturn(void) static void Cmd_trainerslideout(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); - BtlController_EmitTrainerSlideBack(BUFFER_A); + BtlController_EmitTrainerSlideBack(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; diff --git a/src/battle_util.c b/src/battle_util.c index 7182b725c6..3142d22a0c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -834,7 +834,7 @@ static void UNUSED MarkAllBattlersForControllerExec(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { for (i = 0; i < gBattlersCount; i++) - gBattleControllerExecFlags |= MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(i); + MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(i); } else { diff --git a/src/pokemon.c b/src/pokemon.c index e98182b0ae..0d31ede159 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5074,7 +5074,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov temp2 = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gActiveBattler = temp2; } From 8f5c1a452d8d8deb2c83931997e4bffc08c0ee0a Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 01:33:17 -0400 Subject: [PATCH 05/84] Update battle_controllers.h Simplified macros. --- include/battle_controllers.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index bc57fdc36e..a21d8e00a0 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -73,25 +73,25 @@ enum { // directly. #define MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \ - do { gBattleControllerExecFlags |= gBitTable[battlerId]; } while (0) + gBattleControllerExecFlags |= gBitTable[battlerId] #define MARK_BATTLE_CONTROLLER_IDLE_ON_LOCAL(battlerId) \ - do { gBattleControllerExecFlags &= ~gBitTable(battlerId); } while (0) + gBattleControllerExecFlags &= ~gBitTable(battlerId) #define IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \ (gBattleControllerExecFlags & gBitTable[battlerId]) #define MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battlerId) \ - do { gBattleControllerExecFlags |= gBitTable[battlerId] << 28; } while (0) + gBattleControllerExecFlags |= gBitTable[battlerId] << (32 - MAX_BATTLERS_COUNT) #define MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battlerId) \ - do { gBattleControllerExecFlags &= ~((1 << 28) << (battlerId)); } while (0) + gBattleControllerExecFlags &= ~((1 << 28) << (battlerId)) #define MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \ - do { gBattleControllerExecFlags |= gBitTable[battlerId] << ((playerId) << 2); } while (0) + gBattleControllerExecFlags |= gBitTable[battlerId] << ((playerId) << 2) #define MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battlerId, playerId) \ - do { gBattleControllerExecFlags &= ~(gBitTable[battlerId] << ((playerId) * 4)); } while (0) + gBattleControllerExecFlags &= ~(gBitTable[battlerId] << ((playerId) * 4)) #define IS_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \ (gBattleControllerExecFlags & (gBitTable[battlerId] << ((playerId) * 4))) @@ -108,9 +108,9 @@ enum { // Special arguments for Battle Controller functions. enum { - BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER = 0, // gBattleBufferA - BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE = 1, // gBattleBufferB - BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE = 2, + BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, // gBattleBufferA + BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, // gBattleBufferB + BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE }; enum { From d8721b668e3a7ca04b3d40d6f4a8e22da10989e5 Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 10:54:22 -0400 Subject: [PATCH 06/84] Fixed find-and-replace mistake Functions were using the wrong constant. --- src/battle_controller_link_opponent.c | 2 +- src/battle_controller_link_partner.c | 2 +- src/battle_controller_opponent.c | 24 ++++++------ src/battle_controller_player.c | 46 +++++++++++------------ src/battle_controller_player_partner.c | 10 ++--- src/battle_controller_recorded_opponent.c | 10 ++--- src/battle_controller_recorded_player.c | 12 +++--- src/battle_controller_safari.c | 10 ++--- src/battle_controller_wally.c | 14 +++---- 9 files changed, 65 insertions(+), 65 deletions(-) diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 280b1e2103..fb29cc0432 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -548,7 +548,7 @@ static void LinkOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); LinkOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 7e5eb37e91..950552ea72 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -442,7 +442,7 @@ static void LinkPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); LinkPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 12603f72bc..284d3eeded 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -561,7 +561,7 @@ static void OpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); OpponentBufferExecCompleted(); } @@ -881,7 +881,7 @@ static void OpponentHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -1552,7 +1552,7 @@ static void OpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); OpponentBufferExecCompleted(); } else @@ -1569,13 +1569,13 @@ static void OpponentHandleChooseMove(void) switch (chosenMoveId) { case AI_CHOICE_WATCH: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); break; case AI_CHOICE_FLEE: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_RUN, 0); break; case 6: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 15, gBattlerTarget); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 15, gBattlerTarget); break; default: if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) @@ -1586,7 +1586,7 @@ static void OpponentHandleChooseMove(void) if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, (chosenMoveId) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (gBattlerTarget << 8)); break; } OpponentBufferExecCompleted(); @@ -1601,11 +1601,11 @@ static void OpponentHandleChooseMove(void) } while (move == MOVE_NONE); if (gBattleMoves[move].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, (chosenMoveId) | (gActiveBattler << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (gActiveBattler << 8)); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); else - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); OpponentBufferExecCompleted(); } @@ -1614,7 +1614,7 @@ static void OpponentHandleChooseMove(void) static void OpponentHandleChooseItem(void) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); OpponentBufferExecCompleted(); } @@ -1671,7 +1671,7 @@ static void OpponentHandleChoosePokemon(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, chosenMonId, NULL); OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 9c4d755110..a71b2c251d 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -249,16 +249,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: // Top left - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); break; case 1: // Top right - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); break; case 2: // Bottom left - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); break; case 3: // Bottom right - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_RUN, 0); break; } PlayerBufferExecCompleted(); @@ -319,7 +319,7 @@ static void HandleInputChooseAction(void) return; } PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_CANCEL_PARTNER, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_CANCEL_PARTNER, 0); PlayerBufferExecCompleted(); } } @@ -365,7 +365,7 @@ static void HandleInputChooseTarget(void) { PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); PlayerBufferExecCompleted(); } @@ -523,7 +523,7 @@ static void HandleInputChooseMove(void) if (!canSelectTarget) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); PlayerBufferExecCompleted(); } else @@ -543,7 +543,7 @@ static void HandleInputChooseMove(void) else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, 0xFFFF); PlayerBufferExecCompleted(); } else if (JOY_NEW(DPAD_LEFT)) @@ -1174,7 +1174,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE @@ -1253,7 +1253,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -1361,9 +1361,9 @@ static void WaitForMonSelection(void) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gPartyMenuUseExitCallback == TRUE) - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gSelectedMonPartyId, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gSelectedMonPartyId, gBattlePartyCurrentOrder); else - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_SIZE, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, PARTY_SIZE, NULL); if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) PrintLinkStandbyMsg(); @@ -1387,7 +1387,7 @@ static void CompleteWhenChoseItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); PlayerBufferExecCompleted(); } } @@ -1439,9 +1439,9 @@ static void PlayerHandleYesNoInput(void) PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0xE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0xE, 0); else - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0xD, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0xD, 0); PlayerBufferExecCompleted(); } @@ -1600,7 +1600,7 @@ static void PlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); PlayerBufferExecCompleted(); } @@ -1920,7 +1920,7 @@ void PlayerHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -2621,7 +2621,7 @@ static void PlayerChooseMoveInBattlePalace(void) if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); PlayerBufferExecCompleted(); } } @@ -2671,7 +2671,7 @@ static void PlayerHandleChoosePokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH) { - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); PlayerBufferExecCompleted(); } else @@ -2828,25 +2828,25 @@ static void PlayerHandleCmd32(void) static void PlayerHandleTwoReturnValues(void) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0, 0); PlayerBufferExecCompleted(); } static void PlayerHandleChosenMonReturnValue(void) { - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0, NULL); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue(void) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue_Duplicate(void) { - BtlController_EmitOneReturnValue_Duplicate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 0); + BtlController_EmitOneReturnValue_Duplicate(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0); PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 37a72e3aaa..1c1c38c4e2 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -332,7 +332,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE @@ -411,7 +411,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -626,7 +626,7 @@ static void PlayerPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); PlayerPartnerBufferExecCompleted(); } @@ -1527,7 +1527,7 @@ static void PlayerPartnerHandleChooseMove(void) gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, chosenMoveId | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, chosenMoveId | (gBattlerTarget << 8)); PlayerPartnerBufferExecCompleted(); } @@ -1557,7 +1557,7 @@ static void PlayerPartnerHandleChoosePokemon(void) } *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 2a04c9d219..1ce5a02b7c 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -534,7 +534,7 @@ static void RecordedOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); RecordedOpponentBufferExecCompleted(); } @@ -1402,7 +1402,7 @@ static void RecordedOpponentHandlePrintSelectionString(void) static void RecordedOpponentHandleChooseAction(void) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedOpponentBufferExecCompleted(); } @@ -1415,13 +1415,13 @@ static void RecordedOpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, moveId | (target << 8)); } RecordedOpponentBufferExecCompleted(); @@ -1435,7 +1435,7 @@ static void RecordedOpponentHandleChooseItem(void) static void RecordedOpponentHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index fda899712e..063ce882e0 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -517,7 +517,7 @@ static void RecordedPlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); RecordedPlayerBufferExecCompleted(); } @@ -1414,7 +1414,7 @@ static void ChooseActionInBattlePalace(void) { if (gBattleCommunication[4] >= gBattlersCount / 2) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1427,7 +1427,7 @@ static void RecordedPlayerHandleChooseAction(void) } else { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1441,13 +1441,13 @@ static void RecordedPlayerHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, moveId | (target << 8)); } RecordedPlayerBufferExecCompleted(); @@ -1461,7 +1461,7 @@ static void RecordedPlayerHandleChooseItem(void) static void RecordedPlayerHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedPlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 09727b6cfd..485a806b5e 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -176,16 +176,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_BALL, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_BALL, 0); break; case 1: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_POKEBLOCK, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_POKEBLOCK, 0); break; case 2: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_GO_NEAR, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_GO_NEAR, 0); break; case 3: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_SAFARI_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_RUN, 0); break; } SafariBufferExecCompleted(); @@ -280,7 +280,7 @@ static void CompleteWhenChosePokeblock(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); SafariBufferExecCompleted(); } } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index e0dabb23c4..4a2b293787 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -196,7 +196,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -207,7 +207,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -217,7 +217,7 @@ static void WallyHandleActions(void) case 3: if (--gBattleStruct->wallyWaitFrames == 0) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_WALLY_THROW, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_WALLY_THROW, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -238,7 +238,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); WallyBufferExecCompleted(); } break; @@ -278,7 +278,7 @@ static void CompleteOnChosenItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); WallyBufferExecCompleted(); } } @@ -444,7 +444,7 @@ static void WallyHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, size, monData); + BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); WallyBufferExecCompleted(); } @@ -1241,7 +1241,7 @@ static void WallyHandleChooseMove(void) if (--gBattleStruct->wallyMoveFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, 10, 0x100); + BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, 0x100); WallyBufferExecCompleted(); } break; From b4ee45f3e8086d8043fdd98df1cded47367839b1 Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 11:37:20 -0400 Subject: [PATCH 07/84] Renamed BATTLELINKMSGTYPE_ to BATTLELINKCOMMTYPE_ I want to avoid the word "message" since PRET has already chosen "battle message" as the term for predefined strings usable in the battle scripts and UI. I was considering the term "battle link packet" instead, but the library for wireless communications already uses the word "packet" even though GBATEK does not. I'm going with "battle link communication type" instead. For this particular context, I don't think we need a compound noun ("X type"); the singular noun "type" is fine enough. --- include/battle_controllers.h | 6 +- src/battle_ai_switch_items.c | 18 +-- src/battle_controller_link_opponent.c | 4 +- src/battle_controller_link_partner.c | 4 +- src/battle_controller_opponent.c | 26 +-- src/battle_controller_player.c | 48 +++--- src/battle_controller_player_partner.c | 12 +- src/battle_controller_recorded_opponent.c | 12 +- src/battle_controller_recorded_player.c | 14 +- src/battle_controller_safari.c | 12 +- src/battle_controller_wally.c | 16 +- src/battle_controllers.c | 12 +- src/battle_main.c | 54 +++---- src/battle_script_commands.c | 186 +++++++++++----------- src/battle_util.c | 24 +-- src/battle_util2.c | 2 +- src/pokemon.c | 2 +- 17 files changed, 226 insertions(+), 226 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index a21d8e00a0..3d8d13d3a9 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -108,9 +108,9 @@ enum { // Special arguments for Battle Controller functions. enum { - BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, // gBattleBufferA - BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, // gBattleBufferB - BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE + BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, // gBattleBufferA + BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, // gBattleBufferB + BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE }; enum { diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 76461ba8fc..73f0b3e929 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -23,7 +23,7 @@ static bool8 ShouldSwitchIfPerishSong(void) && gDisableStructs[gActiveBattler].perishSongTimer == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } else @@ -107,7 +107,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) { // We found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -207,7 +207,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) { // we found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -229,14 +229,14 @@ static bool8 ShouldSwitchIfNaturalCure(void) && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } @@ -248,7 +248,7 @@ static bool8 ShouldSwitchIfNaturalCure(void) if (Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } @@ -416,7 +416,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -599,7 +599,7 @@ void AI_TrySwitchOrUseItem(void) } } - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); } static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var) @@ -933,7 +933,7 @@ static bool8 ShouldUseItem(void) if (shouldUse) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2) = item; gBattleResources->battleHistory->trainerItems[i] = ITEM_NONE; return shouldUse; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index fb29cc0432..1a364d4f98 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -518,7 +518,7 @@ static void LinkOpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -548,7 +548,7 @@ static void LinkOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); LinkOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 950552ea72..73331c86e2 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -400,7 +400,7 @@ static void LinkPartnerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -442,7 +442,7 @@ static void LinkPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); LinkPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 284d3eeded..16c748cc64 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -531,7 +531,7 @@ static void OpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -561,7 +561,7 @@ static void OpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); OpponentBufferExecCompleted(); } @@ -881,7 +881,7 @@ static void OpponentHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -1552,7 +1552,7 @@ static void OpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); OpponentBufferExecCompleted(); } else @@ -1569,13 +1569,13 @@ static void OpponentHandleChooseMove(void) switch (chosenMoveId) { case AI_CHOICE_WATCH: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); break; case AI_CHOICE_FLEE: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_RUN, 0); break; case 6: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 15, gBattlerTarget); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 15, gBattlerTarget); break; default: if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) @@ -1586,7 +1586,7 @@ static void OpponentHandleChooseMove(void) if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (gBattlerTarget << 8)); break; } OpponentBufferExecCompleted(); @@ -1601,11 +1601,11 @@ static void OpponentHandleChooseMove(void) } while (move == MOVE_NONE); if (gBattleMoves[move].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (gActiveBattler << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (gActiveBattler << 8)); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); else - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); OpponentBufferExecCompleted(); } @@ -1614,7 +1614,7 @@ static void OpponentHandleChooseMove(void) static void OpponentHandleChooseItem(void) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); + BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); OpponentBufferExecCompleted(); } @@ -1671,7 +1671,7 @@ static void OpponentHandleChoosePokemon(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, chosenMonId, NULL); OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index a71b2c251d..65144b16e3 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -204,7 +204,7 @@ static void PlayerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -249,16 +249,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: // Top left - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); break; case 1: // Top right - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); break; case 2: // Bottom left - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); break; case 3: // Bottom right - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_RUN, 0); break; } PlayerBufferExecCompleted(); @@ -319,7 +319,7 @@ static void HandleInputChooseAction(void) return; } PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_CANCEL_PARTNER, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_CANCEL_PARTNER, 0); PlayerBufferExecCompleted(); } } @@ -365,7 +365,7 @@ static void HandleInputChooseTarget(void) { PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); PlayerBufferExecCompleted(); } @@ -523,7 +523,7 @@ static void HandleInputChooseMove(void) if (!canSelectTarget) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); PlayerBufferExecCompleted(); } else @@ -543,7 +543,7 @@ static void HandleInputChooseMove(void) else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, 0xFFFF); PlayerBufferExecCompleted(); } else if (JOY_NEW(DPAD_LEFT)) @@ -1174,7 +1174,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE @@ -1253,7 +1253,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -1361,9 +1361,9 @@ static void WaitForMonSelection(void) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gPartyMenuUseExitCallback == TRUE) - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gSelectedMonPartyId, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gSelectedMonPartyId, gBattlePartyCurrentOrder); else - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, PARTY_SIZE, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, PARTY_SIZE, NULL); if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) PrintLinkStandbyMsg(); @@ -1387,7 +1387,7 @@ static void CompleteWhenChoseItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); PlayerBufferExecCompleted(); } } @@ -1439,9 +1439,9 @@ static void PlayerHandleYesNoInput(void) PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0xE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0xE, 0); else - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0xD, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0xD, 0); PlayerBufferExecCompleted(); } @@ -1600,7 +1600,7 @@ static void PlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); PlayerBufferExecCompleted(); } @@ -1920,7 +1920,7 @@ void PlayerHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -2621,7 +2621,7 @@ static void PlayerChooseMoveInBattlePalace(void) if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); PlayerBufferExecCompleted(); } } @@ -2671,7 +2671,7 @@ static void PlayerHandleChoosePokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH) { - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); PlayerBufferExecCompleted(); } else @@ -2828,25 +2828,25 @@ static void PlayerHandleCmd32(void) static void PlayerHandleTwoReturnValues(void) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0, 0); PlayerBufferExecCompleted(); } static void PlayerHandleChosenMonReturnValue(void) { - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0, NULL); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue(void) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0); + BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue_Duplicate(void) { - BtlController_EmitOneReturnValue_Duplicate(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 0); + BtlController_EmitOneReturnValue_Duplicate(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0); PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 1c1c38c4e2..1c39d9fc76 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -332,7 +332,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE @@ -411,7 +411,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -584,7 +584,7 @@ static void PlayerPartnerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -626,7 +626,7 @@ static void PlayerPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); PlayerPartnerBufferExecCompleted(); } @@ -1527,7 +1527,7 @@ static void PlayerPartnerHandleChooseMove(void) gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, chosenMoveId | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, chosenMoveId | (gBattlerTarget << 8)); PlayerPartnerBufferExecCompleted(); } @@ -1557,7 +1557,7 @@ static void PlayerPartnerHandleChoosePokemon(void) } *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 1ce5a02b7c..283827d326 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -504,7 +504,7 @@ static void RecordedOpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -534,7 +534,7 @@ static void RecordedOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); RecordedOpponentBufferExecCompleted(); } @@ -1402,7 +1402,7 @@ static void RecordedOpponentHandlePrintSelectionString(void) static void RecordedOpponentHandleChooseAction(void) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedOpponentBufferExecCompleted(); } @@ -1415,13 +1415,13 @@ static void RecordedOpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, moveId | (target << 8)); } RecordedOpponentBufferExecCompleted(); @@ -1435,7 +1435,7 @@ static void RecordedOpponentHandleChooseItem(void) static void RecordedOpponentHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 063ce882e0..92442ae445 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -475,7 +475,7 @@ static void RecordedPlayerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -517,7 +517,7 @@ static void RecordedPlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); RecordedPlayerBufferExecCompleted(); } @@ -1414,7 +1414,7 @@ static void ChooseActionInBattlePalace(void) { if (gBattleCommunication[4] >= gBattlersCount / 2) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1427,7 +1427,7 @@ static void RecordedPlayerHandleChooseAction(void) } else { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1441,13 +1441,13 @@ static void RecordedPlayerHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, moveId | (target << 8)); } RecordedPlayerBufferExecCompleted(); @@ -1461,7 +1461,7 @@ static void RecordedPlayerHandleChooseItem(void) static void RecordedPlayerHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedPlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 485a806b5e..fe6e1278db 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -176,16 +176,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_BALL, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_BALL, 0); break; case 1: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_POKEBLOCK, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_POKEBLOCK, 0); break; case 2: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_GO_NEAR, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_GO_NEAR, 0); break; case 3: - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_RUN, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_RUN, 0); break; } SafariBufferExecCompleted(); @@ -280,7 +280,7 @@ static void CompleteWhenChosePokeblock(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); SafariBufferExecCompleted(); } } @@ -298,7 +298,7 @@ static void SafariBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 4a2b293787..d95eb6d5c4 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -196,7 +196,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -207,7 +207,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -217,7 +217,7 @@ static void WallyHandleActions(void) case 3: if (--gBattleStruct->wallyWaitFrames == 0) { - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_WALLY_THROW, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_WALLY_THROW, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -238,7 +238,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); WallyBufferExecCompleted(); } break; @@ -278,7 +278,7 @@ static void CompleteOnChosenItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); WallyBufferExecCompleted(); } } @@ -408,7 +408,7 @@ static void WallyBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -444,7 +444,7 @@ static void WallyHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); WallyBufferExecCompleted(); } @@ -1241,7 +1241,7 @@ static void WallyHandleChooseMove(void) if (--gBattleStruct->wallyMoveFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE, 10, 0x100); + BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, 0x100); WallyBufferExecCompleted(); } break; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 40eb22770b..339d68ff9e 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -659,11 +659,11 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) { switch (bufferId) { - case BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER: + case BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER: for (i = 0; i < size; data++, i++) gBattleBufferA[gActiveBattler][i] = *data; break; - case BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE: + case BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE: for (i = 0; i < size; data++, i++) gBattleBufferB[gActiveBattler][i] = *data; break; @@ -724,7 +724,7 @@ enum }; // We want to send a message. Place it into the "send" buffer. -// First argument is a BATTLELINKMSGTYPE_... +// First argument is a BATTLELINKCOMMTYPE_... void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) { s32 alignedSize; @@ -922,7 +922,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) switch (BYTE_TO_RECEIVE(0)) { - case BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER: + case BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER: if (IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId)) return; @@ -937,10 +937,10 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) gEffectBattler = BYTE_TO_RECEIVE(LINK_BUFF_EFFECT_BATTLER); } break; - case BATTLELINKMSGTYPE_CONTROLLER_TO_ENGINE: + case BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE: memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + LINK_BUFF_DATA], blockSize); break; - case BATTLELINKMSGTYPE_CONTROLLER_BECOMING_IDLE: + case BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE: playerId = BYTE_TO_RECEIVE(LINK_BUFF_DATA); MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battlerId, playerId); break; diff --git a/src/battle_main.c b/src/battle_main.c index 562a0162b4..890d3fb4bf 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3360,7 +3360,7 @@ static void BattleIntroGetMonsData(void) { case 0: gActiveBattler = gBattleCommunication[1]; - BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTIUSE_STATE]++; break; @@ -3382,7 +3382,7 @@ static void BattleIntroPrepareBackgroundSlide(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerAtPosition(0); - BtlController_EmitIntroSlide(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleEnvironment); + BtlController_EmitIntroSlide(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleEnvironment); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites; gBattleCommunication[MULTIUSE_STATE] = 0; @@ -3427,7 +3427,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) { - BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitDrawTrainerPic(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } @@ -3435,7 +3435,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) { if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) { - BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitDrawTrainerPic(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT @@ -3460,7 +3460,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) { HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); } - BtlController_EmitLoadMonSprite(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitLoadMonSprite(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); } @@ -3471,14 +3471,14 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT || GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitDrawTrainerPic(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - BtlController_EmitDrawTrainerPic(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitDrawTrainerPic(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } @@ -3513,7 +3513,7 @@ static void BattleIntroDrawPartySummaryScreens(void) } } gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BtlController_EmitDrawPartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(gActiveBattler); for (i = 0; i < PARTY_SIZE; i++) @@ -3531,7 +3531,7 @@ static void BattleIntroDrawPartySummaryScreens(void) } } gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitDrawPartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroPrintTrainerWantsToBattle; @@ -3631,7 +3631,7 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitIntroTrainerBallThrow(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3669,7 +3669,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitIntroTrainerBallThrow(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS)) { @@ -3761,7 +3761,7 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitIntroTrainerBallThrow(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3800,7 +3800,7 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitIntroTrainerBallThrow(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI)) { @@ -3825,7 +3825,7 @@ static void UNUSED BattleIntroSwitchInPlayerMons(void) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - BtlController_EmitSwitchInAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], FALSE); + BtlController_EmitSwitchInAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4165,7 +4165,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseAction(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); + BtlController_EmitChooseAction(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; } @@ -4214,7 +4214,7 @@ static void HandleTurnActionSelectionState(void) i); } - BtlController_EmitChooseMove(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); + BtlController_EmitChooseMove(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4233,7 +4233,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseItem(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4243,7 +4243,7 @@ static void HandleTurnActionSelectionState(void) || gBattleTypeFlags & BATTLE_TYPE_ARENA || gStatuses3[gActiveBattler] & STATUS3_ROOTED) { - BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) @@ -4252,16 +4252,16 @@ static void HandleTurnActionSelectionState(void) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) { - BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else { if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else - BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } MarkBattlerForControllerExec(gActiveBattler); break; @@ -4276,7 +4276,7 @@ static void HandleTurnActionSelectionState(void) } break; case B_ACTION_SAFARI_POKEBLOCK: - BtlController_EmitChooseItem(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); break; case B_ACTION_CANCEL_PARTNER: @@ -4286,7 +4286,7 @@ static void HandleTurnActionSelectionState(void) if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) { - BtlController_EmitEndBounceEffect(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitEndBounceEffect(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4314,7 +4314,7 @@ static void HandleTurnActionSelectionState(void) { RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3); } - BtlController_EmitEndBounceEffect(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitEndBounceEffect(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4467,11 +4467,11 @@ static void HandleTurnActionSelectionState(void) || (position & BIT_FLANK) != B_FLANK_LEFT || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])) { - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i); } else { - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_STOP_BOUNCE_ONLY, i); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_STOP_BOUNCE_ONLY, i); } MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 26d5eb2753..4639783468 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1239,7 +1239,7 @@ static void Cmd_ppreduce(void) if (MOVE_IS_PERMANENT(gBattlerAttacker, gCurrMovePos)) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, sizeof(gBattleMons[gBattlerAttacker].pp[gCurrMovePos]), &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]); MarkBattlerForControllerExec(gBattlerAttacker); @@ -1784,7 +1784,7 @@ static void Cmd_attackanimation(void) multihit = gMultiHitCounter; } - BtlController_EmitMoveAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); + BtlController_EmitMoveAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); gBattleScripting.animTurn++; gBattleScripting.animTargetsHit++; MarkBattlerForControllerExec(gBattlerAttacker); @@ -1829,7 +1829,7 @@ static void Cmd_healthbarupdate(void) else healthValue = maxPossibleDmgValue; - BtlController_EmitHealthBarUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, healthValue); + BtlController_EmitHealthBarUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, healthValue); MarkBattlerForControllerExec(gActiveBattler); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) @@ -1971,7 +1971,7 @@ static void Cmd_datahpupdate(void) gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE; // Send updated HP - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); } } @@ -2009,11 +2009,11 @@ static void Cmd_effectivenesssound(void) switch (gMoveResultFlags & (u8)(~MOVE_RESULT_MISSED)) { case MOVE_RESULT_SUPER_EFFECTIVE: - BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_DOESNT_AFFECT_FOE: @@ -2026,17 +2026,17 @@ static void Cmd_effectivenesssound(void) default: if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { - BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { - BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { - BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, SE_EFFECTIVE); + BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -2149,7 +2149,7 @@ static void Cmd_printselectionstring(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); + BtlController_EmitPrintSelectionString(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -2199,7 +2199,7 @@ static void Cmd_printselectionstringfromtable(void) ptr += gBattleCommunication[MULTISTRING_CHOOSER]; gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *ptr); + BtlController_EmitPrintSelectionString(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, *ptr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; @@ -2485,7 +2485,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; gActiveBattler = gEffectBattler; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); MarkBattlerForControllerExec(gActiveBattler); if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) @@ -2787,11 +2787,11 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleMons[gBattlerTarget].item = ITEM_NONE; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); MarkBattlerForControllerExec(gBattlerAttacker); gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2829,7 +2829,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleMons[gBattlerTarget].status1 &= ~STATUS1_PARALYSIS; gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -3036,7 +3036,7 @@ static void Cmd_tryfaintmon(void) BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_GrudgeTakesPp; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); MarkBattlerForControllerExec(gActiveBattler); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].moves[moveIndex]) @@ -3054,7 +3054,7 @@ static void Cmd_dofaintanimation(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitFaintAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitFaintAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -3069,7 +3069,7 @@ static void Cmd_cleareffectsonfaint(void) if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[gActiveBattler].hp == 0) { gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } @@ -3438,7 +3438,7 @@ static void Cmd_getexp(void) gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); gActiveBattler = gBattleStruct->expGetterBattlerId; - BtlController_EmitExpUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->expGetterMonId, gBattleMoveDamage); + BtlController_EmitExpUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->expGetterMonId, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); } gBattleScripting.getexpState++; @@ -3937,7 +3937,7 @@ static void Cmd_healthbar_update(void) else gActiveBattler = gBattlerAttacker; - BtlController_EmitHealthBarUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleMoveDamage); + BtlController_EmitHealthBarUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -4012,7 +4012,7 @@ static void Cmd_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) { - BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4026,7 +4026,7 @@ static void Cmd_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SANDSTORM_CONTINUES || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) { - BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4036,7 +4036,7 @@ static void Cmd_playanimation(void) } else { - BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4056,7 +4056,7 @@ static void Cmd_playanimation_var(void) || *animationIdPtr == B_ANIM_SNATCH_MOVE || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) { - BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4069,7 +4069,7 @@ static void Cmd_playanimation_var(void) || *animationIdPtr == B_ANIM_SANDSTORM_CONTINUES || *animationIdPtr == B_ANIM_HAIL_CONTINUES) { - BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4079,7 +4079,7 @@ static void Cmd_playanimation_var(void) } else { - BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4195,7 +4195,7 @@ static void Cmd_playstatchangeanimation(void) } else if (changeableStatsCount != 0 && !gBattleScripting.statAnimPlayed) { - BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ANIM_STATS_CHANGE, statAnimId); + BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, B_ANIM_STATS_CHANGE, statAnimId); MarkBattlerForControllerExec(gActiveBattler); if (gBattlescriptCurrInstr[3] & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount > 1) gBattleScripting.statAnimPlayed = TRUE; @@ -4264,7 +4264,7 @@ static void Cmd_moveend(void) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE; gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gActiveBattler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; @@ -4343,7 +4343,7 @@ static void Cmd_moveend(void) && gHitMarker & HITMARKER_NO_ANIMATIONS) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, TRUE); + BtlController_EmitSpriteInvisibility(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gActiveBattler); gBattleScripting.moveendState++; return; @@ -4356,7 +4356,7 @@ static void Cmd_moveend(void) || WasUnableToUseMove(gBattlerAttacker)) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitSpriteInvisibility(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerAttacker] &= ~STATUS3_SEMI_INVULNERABLE; gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1; @@ -4370,7 +4370,7 @@ static void Cmd_moveend(void) && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { gActiveBattler = gBattlerTarget; - BtlController_EmitSpriteInvisibility(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitSpriteInvisibility(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerTarget] &= ~STATUS3_SEMI_INVULNERABLE; gBattleScripting.moveendState++; @@ -4597,7 +4597,7 @@ static void Cmd_returnatktoball(void) gActiveBattler = gBattlerAttacker; if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { - BtlController_EmitReturnMonToBall(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitReturnMonToBall(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr++; @@ -4612,7 +4612,7 @@ static void Cmd_getswitchedmondata(void) gBattlerPartyIndexes[gActiveBattler] = *(gBattleStruct->monToSwitchIntoId + gActiveBattler); - BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); + BtlController_EmitGetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -4688,7 +4688,7 @@ static void Cmd_switchinanim(void) gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); - BtlController_EmitSwitchInAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); + BtlController_EmitSwitchInAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -4858,7 +4858,7 @@ static void ChooseMonToSendOut(u8 slotId) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } @@ -4885,7 +4885,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4896,7 +4896,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4914,7 +4914,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4924,7 +4924,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); flags |= 1; } @@ -4936,7 +4936,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4946,7 +4946,7 @@ static void Cmd_openpartyscreen(void) } else if (!(flags & 1)) { - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4957,7 +4957,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4967,7 +4967,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); flags |= 2; } @@ -4979,7 +4979,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4989,7 +4989,7 @@ static void Cmd_openpartyscreen(void) } else if (!(flags & 2)) { - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5005,7 +5005,7 @@ static void Cmd_openpartyscreen(void) else gActiveBattler = 0; - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } @@ -5021,7 +5021,7 @@ static void Cmd_openpartyscreen(void) else gActiveBattler = 1; - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5042,7 +5042,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5058,7 +5058,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5117,7 +5117,7 @@ static void Cmd_openpartyscreen(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 6; @@ -5131,7 +5131,7 @@ static void Cmd_openpartyscreen(void) { if (gActiveBattler != battlerId) { - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5142,7 +5142,7 @@ static void Cmd_openpartyscreen(void) if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gActiveBattler ^= BIT_FLANK; - BtlController_EmitLinkStandbyMsg(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5301,7 +5301,7 @@ static void Cmd_switchineffects(void) static void Cmd_trainerslidein(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); - BtlController_EmitTrainerSlide(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitTrainerSlide(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5310,7 +5310,7 @@ static void Cmd_trainerslidein(void) static void Cmd_playse(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPlaySE(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); + BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5319,7 +5319,7 @@ static void Cmd_playse(void) static void Cmd_fanfare(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPlayFanfareOrBGM(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); + BtlController_EmitPlayFanfareOrBGM(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5328,7 +5328,7 @@ static void Cmd_fanfare(void) static void Cmd_playfaintcry(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitFaintingCry(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitFaintingCry(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5337,7 +5337,7 @@ static void Cmd_playfaintcry(void) static void Cmd_endlinkbattle(void) { gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitEndLinkBattle(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleOutcome); + BtlController_EmitEndLinkBattle(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleOutcome); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 1; @@ -5346,7 +5346,7 @@ static void Cmd_endlinkbattle(void) static void Cmd_returntoball(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitReturnMonToBall(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, TRUE); + BtlController_EmitReturnMonToBall(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5565,7 +5565,7 @@ static void Cmd_hitanimation(void) } else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { - BtlController_EmitHitAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitHitAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -5652,7 +5652,7 @@ static void Cmd_updatebattlermoves(void) switch (gBattleCommunication[0]) { case 0: - BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[0]++; break; @@ -5725,7 +5725,7 @@ static void Cmd_drawpartystatussummary(void) } } - BtlController_EmitDrawPartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, hpStatuses, 1); + BtlController_EmitDrawPartyStatusSummary(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, hpStatuses, 1); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5734,7 +5734,7 @@ static void Cmd_drawpartystatussummary(void) static void Cmd_hidepartystatussummary(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitHidePartyStatusSummary(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitHidePartyStatusSummary(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5759,7 +5759,7 @@ static void Cmd_statusanimation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE, gBattleMons[gActiveBattler].status1); + BtlController_EmitStatusAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE, gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 2; @@ -5778,7 +5778,7 @@ static void Cmd_status2animation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); + BtlController_EmitStatusAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 6; @@ -5797,7 +5797,7 @@ static void Cmd_chosenstatusanimation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], wantedStatus); + BtlController_EmitStatusAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], wantedStatus); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 7; @@ -5908,7 +5908,7 @@ static void Cmd_removeitem(void) *usedHeldItem = gBattleMons[gActiveBattler].item; gBattleMons[gActiveBattler].item = ITEM_NONE; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6217,7 +6217,7 @@ static void Cmd_setatktoplayer0(void) static void Cmd_makevisible(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitSpriteInvisibility(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitSpriteInvisibility(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6431,7 +6431,7 @@ static void Cmd_various(void) gDisableStructs[1].truantSwitchInHack = 1; break; case VARIOUS_EMIT_YESNOBOX: - BtlController_EmitYesNoBox(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitYesNoBox(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); break; case VARIOUS_DRAW_ARENA_REF_TEXT_BOX: @@ -6456,7 +6456,7 @@ static void Cmd_various(void) gActiveBattler = 1; if (gBattleMons[gActiveBattler].hp != 0) { - BtlController_EmitReturnMonToBall(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitReturnMonToBall(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -6466,7 +6466,7 @@ static void Cmd_various(void) gActiveBattler = 3; if (gBattleMons[gActiveBattler].hp != 0) { - BtlController_EmitReturnMonToBall(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitReturnMonToBall(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -6491,7 +6491,7 @@ static void Cmd_various(void) gBattleOutcome = B_OUTCOME_MON_TELEPORTED; break; case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC: - BtlController_EmitPlayFanfareOrBGM(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, MUS_VICTORY_TRAINER, TRUE); + BtlController_EmitPlayFanfareOrBGM(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, MUS_VICTORY_TRAINER, TRUE); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -6552,7 +6552,7 @@ static void Cmd_tryexplosion(void) // Success, no battlers with Damp. Drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -6581,7 +6581,7 @@ static void Cmd_setatkhptozero(void) gActiveBattler = gBattlerAttacker; gBattleMons[gActiveBattler].hp = 0; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -6777,7 +6777,7 @@ static void Cmd_trysetrest(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_REST; gBattleMons[gBattlerTarget].status1 = STATUS1_SLEEP_TURN(3); - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -7727,7 +7727,7 @@ static void Cmd_updatestatusicon(void) if (gBattlescriptCurrInstr[1] != BS_ATTACKER_WITH_PARTNER) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitStatusIconUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -7736,7 +7736,7 @@ static void Cmd_updatestatusicon(void) gActiveBattler = gBattlerAttacker; if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - BtlController_EmitStatusIconUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) @@ -7744,7 +7744,7 @@ static void Cmd_updatestatusicon(void) gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - BtlController_EmitStatusIconUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); } } @@ -7822,7 +7822,7 @@ static void Cmd_transformdataexecution(void) } gActiveBattler = gBattlerAttacker; - BtlController_EmitResetActionMoveSelection(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, RESET_MOVE_SELECTION); + BtlController_EmitResetActionMoveSelection(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, RESET_MOVE_SELECTION); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED; } @@ -8202,7 +8202,7 @@ static void Cmd_copymovepermanently(void) } movePpData.ppBonuses = gBattleMons[gBattlerAttacker].ppBonuses; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); MarkBattlerForControllerExec(gActiveBattler); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattlerTarget]) @@ -8370,7 +8370,7 @@ static void Cmd_tryspiteppreduce(void) if (!(gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[i]) && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); MarkBattlerForControllerExec(gActiveBattler); } @@ -8481,7 +8481,7 @@ static void Cmd_healpartystatus(void) if (toHeal) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); MarkBattlerForControllerExec(gActiveBattler); } @@ -9106,7 +9106,7 @@ static void Cmd_trymemento(void) // Success, drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -9146,7 +9146,7 @@ static void Cmd_cureifburnedparalysedorpoisoned(void) gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr += 5; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } else @@ -9268,11 +9268,11 @@ static void Cmd_tryswapitems(void) gBattleMons[gBattlerTarget].item = oldItemAtk; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); MarkBattlerForControllerExec(gBattlerAttacker); gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; @@ -9618,7 +9618,7 @@ static void Cmd_switchoutabilities(void) { case ABILITY_NATURAL_CURE: gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->battlerPartyIndexes + gActiveBattler)], sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); @@ -9758,7 +9758,7 @@ static void Cmd_docastformchangeanimation(void) if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) *(&gBattleStruct->formToChangeInto) |= CASTFORM_SUBSTITUTE; - BtlController_EmitBattleAnimation(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); + BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -9840,7 +9840,7 @@ static void Cmd_tryrecycleitem(void) *usedHeldItem = ITEM_NONE; gBattleMons[gActiveBattler].item = gLastUsedItem; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; @@ -9937,13 +9937,13 @@ static void Cmd_handleballthrow(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - BtlController_EmitBallThrowAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, BALL_TRAINER_BLOCK); + BtlController_EmitBallThrowAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, BALL_TRAINER_BLOCK); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { - BtlController_EmitBallThrowAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } @@ -10031,7 +10031,7 @@ static void Cmd_handleballthrow(void) if (odds > 254) // mon caught { - BtlController_EmitBallThrowAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); @@ -10053,7 +10053,7 @@ static void Cmd_handleballthrow(void) if (gLastUsedItem == ITEM_MASTER_BALL) shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check? - BtlController_EmitBallThrowAnim(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, shakes); + BtlController_EmitBallThrowAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, shakes); MarkBattlerForControllerExec(gActiveBattler); if (shakes == BALL_3_SHAKES_SUCCESS) // mon caught, copy of the code above @@ -10342,7 +10342,7 @@ static void Cmd_finishturn(void) static void Cmd_trainerslideout(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); - BtlController_EmitTrainerSlideBack(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitTrainerSlideBack(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; diff --git a/src/battle_util.c b/src/battle_util.c index 3142d22a0c..e9edfe06ff 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -759,7 +759,7 @@ void PressurePPLose(u8 target, u8 attacker, u16 move) if (MOVE_IS_PERMANENT(attacker, moveIndex)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -791,7 +791,7 @@ void PressurePPLoseOnUsingImprison(u8 attacker) if (imprisonPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, imprisonPos)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -822,7 +822,7 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker) if (perishSongPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, perishSongPos)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -905,7 +905,7 @@ bool8 WasUnableToUseMove(u8 battler) void PrepareStringBattle(u16 stringId, u8 battler) { gActiveBattler = battler; - BtlController_EmitPrintString(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, stringId); + BtlController_EmitPrintString(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, stringId); MarkBattlerForControllerExec(gActiveBattler); } @@ -1634,7 +1634,7 @@ u8 DoBattlerEndTurnEffects(void) gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -1759,7 +1759,7 @@ u8 DoBattlerEndTurnEffects(void) { CancelMultiTurnMoves(gActiveBattler); gBattleMons[gActiveBattler].status1 |= STATUS1_SLEEP_TURN((Random() & 3) + 2); // 2-5 turns of sleep - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); gEffectBattler = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); @@ -2269,7 +2269,7 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } return effect; @@ -2633,7 +2633,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; // fix nightmare glitch gBattleScripting.battler = gActiveBattler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(gActiveBattler); effect++; } @@ -2945,7 +2945,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; gBattleScripting.battler = battler; gActiveBattler = battler; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); return effect; } @@ -3373,7 +3373,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); BattleScriptExecute(BattleScript_BerryPPHealEnd2); - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); MarkBattlerForControllerExec(gActiveBattler); effect = ITEM_PP_CHANGE; } @@ -3608,7 +3608,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (effect) { case ITEM_STATUS_CHANGE: - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: @@ -3759,7 +3759,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; gActiveBattler = battlerId; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } diff --git a/src/battle_util2.c b/src/battle_util2.c index 7ec395cd96..977835d1db 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -204,7 +204,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) if (effect == 2) { gActiveBattler = battlerId; - BtlController_EmitSetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } diff --git a/src/pokemon.c b/src/pokemon.c index 0d31ede159..018b189f1a 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5074,7 +5074,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov temp2 = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitGetMonData(BATTLELINKMSGTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gActiveBattler = temp2; } From 286440806086329f569e03c1740292854af79874 Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 11:40:14 -0400 Subject: [PATCH 08/84] Tweaks to documentation comments --- include/battle_controllers.h | 3 +++ src/battle_util.c | 1 + 2 files changed, 4 insertions(+) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 3d8d13d3a9..e7a0d50b12 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -96,6 +96,9 @@ enum { #define IS_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \ (gBattleControllerExecFlags & (gBitTable[battlerId] << ((playerId) * 4))) +// This actually checks if a specific controller is active on any player or if +// *any* controlleris pending sync over link communications, but the macro name +// can only be so specific before it just gets ridiculous. #define IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(battlerId) \ (gBattleControllerExecFlags & ( \ (gBitTable[battlerId]) \ diff --git a/src/battle_util.c b/src/battle_util.c index e9edfe06ff..f2e55cea27 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -827,6 +827,7 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker) } } +// See comments for MarkBattlerForControllerExec. static void UNUSED MarkAllBattlersForControllerExec(void) { int i; From 7ee3043c58e75e95a012b06e08da012e6354d3d6 Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Sat, 26 Apr 2025 11:47:48 -0400 Subject: [PATCH 09/84] Update battle_controllers.h typo --- include/battle_controllers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index e7a0d50b12..ca82e487d9 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -97,7 +97,7 @@ enum { (gBattleControllerExecFlags & (gBitTable[battlerId] << ((playerId) * 4))) // This actually checks if a specific controller is active on any player or if -// *any* controlleris pending sync over link communications, but the macro name +// *any* controller is pending sync over link communications, but the macro name // can only be so specific before it just gets ridiculous. #define IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(battlerId) \ (gBattleControllerExecFlags & ( \ From 35b33a46e9233f81b5009bcaca8cabc4868c374b Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Mon, 28 Apr 2025 05:39:52 -0400 Subject: [PATCH 10/84] Identified task and sprite fields related to battle weather animations Named task and sprite fields related to the animations for Hail, Rain Dance, and Sandstorm. --- src/battle_anim_ice.c | 138 ++++++++++++++++++++++++++-------------- src/battle_anim_rock.c | 95 +++++++++++++++++---------- src/battle_anim_water.c | 28 ++++++-- 3 files changed, 172 insertions(+), 89 deletions(-) diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index 273721e162..7579246588 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -13,11 +13,16 @@ #include "constants/battle_anim.h" #include "constants/rgb.h" +enum { + HAILSTRUCTTYPE_NEGATIVE_POS_MOD = 0, + HAILSTRUCTTYPE_POSITIVE_POS_MOD = 1, + HAILSTRUCTTYPE_FIXED_POSITION = 2, +}; struct HailStruct { s32 x:10; s32 y:10; s32 bPosition:8; - s32 unk3:4; + s32 type:4; }; static void AnimUnusedIceCrystalThrow(struct Sprite *); @@ -371,16 +376,16 @@ const struct SpriteTemplate gPoisonGasCloudSpriteTemplate = static const struct HailStruct sHailCoordData[] = { - {.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2}, - {.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 0}, - {.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 1}, - {.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 1}, - {.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 0}, - {.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2}, - {.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 0}, - {.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 1}, - {.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 1}, - {.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 0}, + {.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_FIXED_POSITION}, + {.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_FIXED_POSITION}, + {.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, }; static const union AffineAnimCmd sAffineAnim_HailParticle_0[] = @@ -1332,6 +1337,13 @@ static void MovePoisonGasCloud(struct Sprite *sprite) } } +#define tState data[0] +#define tSpriteCount data[1] +#define tHailAffineAnimNum data[2] +#define tHailStructId data[3] +#define tInitialDelayTimer data[4] +#define tHailSpawnTimer data[5] + void AnimTask_Hail(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1342,71 +1354,86 @@ void AnimTask_Hail(u8 taskId) static void AnimTask_Hail2(u8 taskId) { struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[4] > 2) + if (++task->tInitialDelayTimer > 2) { - task->data[4] = 0; - task->data[5] = 0; - task->data[2] = 0; - task->data[0]++; + task->tInitialDelayTimer = 0; + task->tHailSpawnTimer = 0; + task->tHailAffineAnimNum = 0; + task->tState++; } break; case 1: - if (task->data[5] == 0) + if (task->tHailSpawnTimer == 0) { - if (GenerateHailParticle(task->data[3], task->data[2], taskId, 1)) - task->data[1]++; + if (GenerateHailParticle(task->tHailStructId, task->tHailAffineAnimNum, taskId, 1)) + task->tSpriteCount++; - if (++task->data[2] == 3) + if (++task->tHailAffineAnimNum == 3) // i.e. ARRAY_COUNT(sAffineAnims_HailParticle) { - if (++task->data[3] == 10) - task->data[0]++; + if (++task->tHailStructId == 10) // i.e. ARRAY_COUNT(sHailCoordData) + task->tState++; else - task->data[0]--; + task->tState--; } else { - task->data[5] = 1; + task->tHailSpawnTimer = 1; } } else { - task->data[5]--; + task->tHailSpawnTimer--; } break; case 2: - if (task->data[1] == 0) + if (task->tSpriteCount == 0) DestroyAnimVisualTask(taskId); break; } } +#undef tState +#undef tSpriteCount +#undef tHailAffineAnimNum +#undef tHailStructId +#undef tInitialDelayTimer +#undef tHailSpawnTimer + +// Hail falling particle sprite vars +#define sSpawnImpactEffect data[0] +#define sTargetX data[3] +#define sTargetY data[4] +#define sAffineAnimNum data[5] +#define sOwnerTaskId data[6] +#define sOwnerTaskSpriteCountField data[7] + static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) { u8 id; s16 battlerX, battlerY; s16 spriteX; - bool8 possibleBool = FALSE; - s8 unk = sHailCoordData[hailStructId].unk3; + bool8 shouldSpawnImpactEffect = FALSE; + s8 type = sHailCoordData[hailStructId].type; - if (unk != 2) + if (type != HAILSTRUCTTYPE_FIXED_POSITION) { id = GetBattlerAtPosition(sHailCoordData[hailStructId].bPosition); if (IsBattlerSpriteVisible(id)) { - possibleBool = TRUE; + shouldSpawnImpactEffect = TRUE; battlerX = GetBattlerSpriteCoord(id, BATTLER_COORD_X_2); battlerY = GetBattlerSpriteCoord(id, BATTLER_COORD_Y_PIC_OFFSET); - switch (unk) + switch (type) { - case 0: + case HAILSTRUCTTYPE_NEGATIVE_POS_MOD: battlerX -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; battlerY -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; break; - case 1: + case HAILSTRUCTTYPE_POSITIVE_POS_MOD: battlerX += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; battlerY += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; break; @@ -1432,12 +1459,12 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, else { StartSpriteAffineAnim(&gSprites[id], affineAnimNum); - gSprites[id].data[0] = possibleBool; - gSprites[id].data[3] = battlerX; - gSprites[id].data[4] = battlerY; - gSprites[id].data[5] = affineAnimNum; - gSprites[id].data[6] = taskId; - gSprites[id].data[7] = c; + gSprites[id].sSpawnImpactEffect = shouldSpawnImpactEffect; + gSprites[id].sTargetX = battlerX; + gSprites[id].sTargetY = battlerY; + gSprites[id].sAffineAnimNum = affineAnimNum; + gSprites[id].sOwnerTaskId = taskId; + gSprites[id].sOwnerTaskSpriteCountField = c; return TRUE; } } @@ -1449,20 +1476,23 @@ static void AnimHailBegin(struct Sprite *sprite) sprite->x += 4; sprite->y += 8; - if (sprite->x < sprite->data[3] && sprite->y < sprite->data[4]) + if (sprite->x < sprite->sTargetX && sprite->y < sprite->sTargetY) return; - if (sprite->data[0] == 1 && sprite->data[5] == 0) + if (sprite->sSpawnImpactEffect == 1 && sprite->sAffineAnimNum == 0) { spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate, - sprite->data[3], sprite->data[4], sprite->subpriority); + sprite->sTargetX, sprite->sTargetY, sprite->subpriority); sprite->data[0] = spriteId; if (spriteId != MAX_SPRITES) { + // The sprite template we're using is shared amongst a few other + // places, which make the sprite flicker. That's not what we want + // here, though. Override the callback. gSprites[sprite->data[0]].callback = AnimHailContinue; - gSprites[sprite->data[0]].data[6] = sprite->data[6]; - gSprites[sprite->data[0]].data[7] = sprite->data[7]; + gSprites[sprite->data[0]].sOwnerTaskId = sprite->sOwnerTaskId; + gSprites[sprite->data[0]].sOwnerTaskSpriteCountField = sprite->sOwnerTaskSpriteCountField; } FreeOamMatrix(sprite->oam.matrixNum); @@ -1470,22 +1500,34 @@ static void AnimHailBegin(struct Sprite *sprite) } else { - gTasks[sprite->data[6]].data[sprite->data[7]]--; + gTasks[sprite->sOwnerTaskId].data[sprite->sOwnerTaskSpriteCountField]--; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } } +#undef sSpawnImpactEffect +#undef sTargetX +#undef sTargetY +#undef sAffineAnimNum + +// Hail impact VFX sprite vars +#define sTimer data[0] + static void AnimHailContinue(struct Sprite *sprite) { - if (++sprite->data[0] == 20) + if (++sprite->sTimer == 20) { - gTasks[sprite->data[6]].data[sprite->data[7]]--; + gTasks[sprite->sOwnerTaskId].data[sprite->sOwnerTaskSpriteCountField]--; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } } +#undef sTimer +#undef sOwnerTaskId +#undef sOwnerTaskSpriteCountField + // Initializes the animation for Ice Ball. // arg 0: initial x pixel offset // arg 1: initial y pixel offset diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index bb8c3aa2f6..376edfc0eb 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -388,6 +388,11 @@ static void AnimParticleInVortex_Step(struct Sprite *sprite) } } +#define tBlendTimer data[10] +#define tBlend data[11] +#define tFullAlphaTimer data[11] // not a typo; this data field is used for multiple purposes +#define tState data[12] + void AnimTask_LoadSandstormBackground(u8 taskId) { int var0; @@ -430,45 +435,45 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId) gBattle_BG1_Y += -1; - switch (gTasks[taskId].data[12]) + switch (gTasks[taskId].tState) { case 0: - if (++gTasks[taskId].data[10] == 4) + if (++gTasks[taskId].tBlendTimer == 4) { - gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11]++; - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); - if (gTasks[taskId].data[11] == 7) + gTasks[taskId].tBlendTimer = 0; + gTasks[taskId].tBlend++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend)); + if (gTasks[taskId].tBlend == 7) { - gTasks[taskId].data[12]++; - gTasks[taskId].data[11] = 0; + gTasks[taskId].tState++; + gTasks[taskId].tFullAlphaTimer = 0; } } break; case 1: - if (++gTasks[taskId].data[11] == 101) + if (++gTasks[taskId].tFullAlphaTimer == 101) { - gTasks[taskId].data[11] = 7; - gTasks[taskId].data[12]++; + gTasks[taskId].tBlend = 7; + gTasks[taskId].tState++; } break; case 2: - if (++gTasks[taskId].data[10] == 4) + if (++gTasks[taskId].tBlendTimer == 4) { - gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11]--; - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); - if (gTasks[taskId].data[11] == 0) + gTasks[taskId].tBlendTimer = 0; + gTasks[taskId].tBlend--; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend)); + if (gTasks[taskId].tBlend == 0) { - gTasks[taskId].data[12]++; - gTasks[taskId].data[11] = 0; + gTasks[taskId].tState++; + gTasks[taskId].tFullAlphaTimer = 0; } } break; case 3: GetBattleAnimBg1Data(&animBg); ClearBattleAnimBg(animBg.bgId); - gTasks[taskId].data[12]++; + gTasks[taskId].tState++; break; case 4: if (!IsContest()) @@ -484,21 +489,36 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId) } } +#undef tBlendTimer +#undef tBlend +#undef tFullAlphaTimer +#undef tState + // Animates the sprites that fly diagonally across the screen // in Sandstorm and Heat Wave. -// arg 0: initial y pixel offset -// arg 1: projectile speed -// arg 2: y pixel drop -// arg 3: ??? unknown (possibly a color bit) + +#define sState data[0] +#define sVelocityX data[1] // 256ths of a pixel // init'd from gBattleAnimArgs[1] +#define sVelocityY data[2] // 256ths of a pixel // init'd from gBattleAnimArgs[2] +#define sFractionalX data[3] // 256ths of a pixel +#define sFractionalY data[4] // 256ths of a pixel +#define sMirroredX data[5] // init'd from gBattleAnimArgs[3] + +// The fields named "velocity" are arguably more like "acceleration," +// and the fields named "fractional" are arguably more like "velocity." +// +// ...is what I WOULD say if the "fractional" fields weren't AND'd with +// 0xFF after every frame. + static void AnimFlyingSandCrescent(struct Sprite *sprite) { - if (sprite->data[0] == 0) + if (sprite->sState == 0) { if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->x = DISPLAY_WIDTH + 64; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sprite->data[5] = 1; + sprite->sMirroredX = 1; sprite->oam.matrixNum = ST_OAM_HFLIP; } else @@ -508,18 +528,18 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite) sprite->y = gBattleAnimArgs[0]; SetSubspriteTables(sprite, sFlyingSandSubspriteTable); - sprite->data[1] = gBattleAnimArgs[1]; - sprite->data[2] = gBattleAnimArgs[2]; - sprite->data[0]++; + sprite->sVelocityX = gBattleAnimArgs[1]; + sprite->sVelocityY = gBattleAnimArgs[2]; + sprite->sState++; } else { - sprite->data[3] += sprite->data[1]; - sprite->data[4] += sprite->data[2]; - sprite->x2 += (sprite->data[3] >> 8); - sprite->y2 += (sprite->data[4] >> 8); - sprite->data[3] &= 0xFF; - sprite->data[4] &= 0xFF; + sprite->sFractionalX += sprite->sVelocityX; + sprite->sFractionalY += sprite->sVelocityY; + sprite->x2 += (sprite->sFractionalX >> 8); + sprite->y2 += (sprite->sFractionalY >> 8); + sprite->sFractionalX &= 0xFF; + sprite->sFractionalY &= 0xFF; if (sprite->data[5] == 0) { @@ -535,6 +555,13 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite) } } +#undef sState +#undef sVelocityX +#undef sVelocityY +#undef sFractionalX +#undef sFractionalY +#undef sMirroredX + // Animates the rising rocks in Ancient Power. // arg 0: initial x pixel offset // arg 1: initial y pixel offset diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index dc793f70a5..fda3558e4d 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -473,27 +473,37 @@ const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate = .callback = AnimWeatherBallDown, }; +#define tRaindropSpawnTimer data[0] +#define tRaindropUnused data[1] +#define tRaindropSpawnInterval data[2] +#define tRaindropSpawnDuration data[3] // number of frames over which we spawn raindrops + void AnimTask_CreateRaindrops(u8 taskId) { u8 x, y; - if (gTasks[taskId].data[0] == 0) + if (gTasks[taskId].tRaindropSpawnTimer == 0) { - gTasks[taskId].data[1] = gBattleAnimArgs[0]; - gTasks[taskId].data[2] = gBattleAnimArgs[1]; - gTasks[taskId].data[3] = gBattleAnimArgs[2]; + gTasks[taskId].tRaindropUnused = gBattleAnimArgs[0]; + gTasks[taskId].tRaindropSpawnInterval = gBattleAnimArgs[1]; + gTasks[taskId].tRaindropSpawnDuration = gBattleAnimArgs[2]; } - gTasks[taskId].data[0]++; - if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1) + gTasks[taskId].tRaindropSpawnTimer++; + if (gTasks[taskId].tRaindropSpawnTimer % gTasks[taskId].tRaindropSpawnInterval == 1) { x = Random2() % DISPLAY_WIDTH; y = Random2() % (DISPLAY_HEIGHT / 2); CreateSprite(&gRainDropSpriteTemplate, x, y, 4); } - if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) + if (gTasks[taskId].tRaindropSpawnTimer == gTasks[taskId].tRaindropSpawnDuration) DestroyAnimVisualTask(taskId); } +#undef tRaindropSpawnTimer +#undef tRaindropUnused +#undef tRaindropSpawnInterval +#undef tRaindropSpawnDuration + static void AnimRainDrop(struct Sprite *sprite) { sprite->callback = AnimRainDrop_Step; @@ -503,6 +513,10 @@ static void AnimRainDrop_Step(struct Sprite *sprite) { if (++sprite->data[0] <= 13) { + // + // Make the raindrop fall, but only until it reaches the + // impact/splash frames of its animation. + // sprite->x2++; sprite->y2 += 4; } From d83b0671f7378f3e672fba9a7ae315631b3fcfe1 Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Thu, 1 May 2025 23:49:05 -0400 Subject: [PATCH 11/84] Battle anims, ice: ARRAY_COUNT works if used with a cast --- src/battle_anim_ice.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index 7579246588..6b48215a7a 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -1371,9 +1371,9 @@ static void AnimTask_Hail2(u8 taskId) if (GenerateHailParticle(task->tHailStructId, task->tHailAffineAnimNum, taskId, 1)) task->tSpriteCount++; - if (++task->tHailAffineAnimNum == 3) // i.e. ARRAY_COUNT(sAffineAnims_HailParticle) + if (++task->tHailAffineAnimNum == (int)ARRAY_COUNT(sAffineAnims_HailParticle)) { - if (++task->tHailStructId == 10) // i.e. ARRAY_COUNT(sHailCoordData) + if (++task->tHailStructId == (int)ARRAY_COUNT(sHailCoordData)) task->tState++; else task->tState--; From 0f17e703710299744bc2e1f12df665d2c791166b Mon Sep 17 00:00:00 2001 From: DavidJCobb <831497+DavidJCobb@users.noreply.github.com> Date: Fri, 2 May 2025 00:01:15 -0400 Subject: [PATCH 12/84] Shorter names for engine/controller communication enum members --- include/battle_controllers.h | 15 +- src/battle_ai_switch_items.c | 18 +-- src/battle_controller_link_opponent.c | 4 +- src/battle_controller_link_partner.c | 4 +- src/battle_controller_opponent.c | 26 +-- src/battle_controller_player.c | 48 +++--- src/battle_controller_player_partner.c | 12 +- src/battle_controller_recorded_opponent.c | 12 +- src/battle_controller_recorded_player.c | 14 +- src/battle_controller_safari.c | 12 +- src/battle_controller_wally.c | 16 +- src/battle_controllers.c | 10 +- src/battle_main.c | 54 +++---- src/battle_script_commands.c | 186 +++++++++++----------- src/battle_util.c | 24 +-- src/battle_util2.c | 2 +- src/pokemon.c | 2 +- 17 files changed, 234 insertions(+), 225 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index ca82e487d9..2fe19b4907 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -111,9 +111,18 @@ enum { // Special arguments for Battle Controller functions. enum { - BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, // gBattleBufferA - BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, // gBattleBufferB - BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE + // For commands sent from the core battle engine to a controller. + B_COMM_TO_CONTROLLER, // gBattleBufferA + + // For replies sent from a controller to the core battle engine. + B_COMM_TO_ENGINE, // gBattleBufferB + + // During local play, a controller must directly mark itself as + // inactive when it's done processing, whether or not it sends + // a reply. During multiplayer, it must NOT directly mark itself + // as inactive, but instead send one of these, with the player's + // multiplayer ID as data. + B_COMM_CONTROLLER_IS_DONE }; enum { diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 73f0b3e929..2e76b418a9 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -23,7 +23,7 @@ static bool8 ShouldSwitchIfPerishSong(void) && gDisableStructs[gActiveBattler].perishSongTimer == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } else @@ -107,7 +107,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) { // We found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -207,7 +207,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) { // we found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -229,14 +229,14 @@ static bool8 ShouldSwitchIfNaturalCure(void) && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } @@ -248,7 +248,7 @@ static bool8 ShouldSwitchIfNaturalCure(void) if (Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } @@ -416,7 +416,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -599,7 +599,7 @@ void AI_TrySwitchOrUseItem(void) } } - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); } static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var) @@ -933,7 +933,7 @@ static bool8 ShouldUseItem(void) if (shouldUse) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2) = item; gBattleResources->battleHistory->trainerItems[i] = ITEM_NONE; return shouldUse; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 1a364d4f98..00fb018b8b 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -518,7 +518,7 @@ static void LinkOpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -548,7 +548,7 @@ static void LinkOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); LinkOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 73331c86e2..53babb1f1d 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -400,7 +400,7 @@ static void LinkPartnerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -442,7 +442,7 @@ static void LinkPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); LinkPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 16c748cc64..07dd7596d8 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -531,7 +531,7 @@ static void OpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -561,7 +561,7 @@ static void OpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); OpponentBufferExecCompleted(); } @@ -881,7 +881,7 @@ static void OpponentHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -1552,7 +1552,7 @@ static void OpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); OpponentBufferExecCompleted(); } else @@ -1569,13 +1569,13 @@ static void OpponentHandleChooseMove(void) switch (chosenMoveId) { case AI_CHOICE_WATCH: - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); break; case AI_CHOICE_FLEE: - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_RUN, 0); break; case 6: - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 15, gBattlerTarget); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 15, gBattlerTarget); break; default: if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) @@ -1586,7 +1586,7 @@ static void OpponentHandleChooseMove(void) if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (gBattlerTarget << 8)); break; } OpponentBufferExecCompleted(); @@ -1601,11 +1601,11 @@ static void OpponentHandleChooseMove(void) } while (move == MOVE_NONE); if (gBattleMoves[move].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (gActiveBattler << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (gActiveBattler << 8)); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); else - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); OpponentBufferExecCompleted(); } @@ -1614,7 +1614,7 @@ static void OpponentHandleChooseMove(void) static void OpponentHandleChooseItem(void) { - BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); OpponentBufferExecCompleted(); } @@ -1671,7 +1671,7 @@ static void OpponentHandleChoosePokemon(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, chosenMonId, NULL); OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 65144b16e3..125d83d3fa 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -204,7 +204,7 @@ static void PlayerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -249,16 +249,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: // Top left - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); break; case 1: // Top right - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); break; case 2: // Bottom left - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); break; case 3: // Bottom right - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_RUN, 0); break; } PlayerBufferExecCompleted(); @@ -319,7 +319,7 @@ static void HandleInputChooseAction(void) return; } PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_CANCEL_PARTNER, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_CANCEL_PARTNER, 0); PlayerBufferExecCompleted(); } } @@ -365,7 +365,7 @@ static void HandleInputChooseTarget(void) { PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); PlayerBufferExecCompleted(); } @@ -523,7 +523,7 @@ static void HandleInputChooseMove(void) if (!canSelectTarget) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); PlayerBufferExecCompleted(); } else @@ -543,7 +543,7 @@ static void HandleInputChooseMove(void) else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, 0xFFFF); PlayerBufferExecCompleted(); } else if (JOY_NEW(DPAD_LEFT)) @@ -1174,7 +1174,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE @@ -1253,7 +1253,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -1361,9 +1361,9 @@ static void WaitForMonSelection(void) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gPartyMenuUseExitCallback == TRUE) - BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gSelectedMonPartyId, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, gSelectedMonPartyId, gBattlePartyCurrentOrder); else - BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, PARTY_SIZE, NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, PARTY_SIZE, NULL); if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) PrintLinkStandbyMsg(); @@ -1387,7 +1387,7 @@ static void CompleteWhenChoseItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId); PlayerBufferExecCompleted(); } } @@ -1439,9 +1439,9 @@ static void PlayerHandleYesNoInput(void) PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0xE, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0xE, 0); else - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0xD, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0xD, 0); PlayerBufferExecCompleted(); } @@ -1600,7 +1600,7 @@ static void PlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); PlayerBufferExecCompleted(); } @@ -1920,7 +1920,7 @@ void PlayerHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -2621,7 +2621,7 @@ static void PlayerChooseMoveInBattlePalace(void) if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); PlayerBufferExecCompleted(); } } @@ -2671,7 +2671,7 @@ static void PlayerHandleChoosePokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH) { - BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); PlayerBufferExecCompleted(); } else @@ -2828,25 +2828,25 @@ static void PlayerHandleCmd32(void) static void PlayerHandleTwoReturnValues(void) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0, 0); PlayerBufferExecCompleted(); } static void PlayerHandleChosenMonReturnValue(void) { - BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0, NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, 0, NULL); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue(void) { - BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, 0); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue_Duplicate(void) { - BtlController_EmitOneReturnValue_Duplicate(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 0); + BtlController_EmitOneReturnValue_Duplicate(B_COMM_TO_ENGINE, 0); PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 1c39d9fc76..04445736c4 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -332,7 +332,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE @@ -411,7 +411,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -584,7 +584,7 @@ static void PlayerPartnerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -626,7 +626,7 @@ static void PlayerPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); PlayerPartnerBufferExecCompleted(); } @@ -1527,7 +1527,7 @@ static void PlayerPartnerHandleChooseMove(void) gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, chosenMoveId | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, chosenMoveId | (gBattlerTarget << 8)); PlayerPartnerBufferExecCompleted(); } @@ -1557,7 +1557,7 @@ static void PlayerPartnerHandleChoosePokemon(void) } *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 283827d326..1c73b65913 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -504,7 +504,7 @@ static void RecordedOpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -534,7 +534,7 @@ static void RecordedOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); RecordedOpponentBufferExecCompleted(); } @@ -1402,7 +1402,7 @@ static void RecordedOpponentHandlePrintSelectionString(void) static void RecordedOpponentHandleChooseAction(void) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedOpponentBufferExecCompleted(); } @@ -1415,13 +1415,13 @@ static void RecordedOpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveId | (target << 8)); } RecordedOpponentBufferExecCompleted(); @@ -1435,7 +1435,7 @@ static void RecordedOpponentHandleChooseItem(void) static void RecordedOpponentHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 92442ae445..4026aa728f 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -475,7 +475,7 @@ static void RecordedPlayerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -517,7 +517,7 @@ static void RecordedPlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); RecordedPlayerBufferExecCompleted(); } @@ -1414,7 +1414,7 @@ static void ChooseActionInBattlePalace(void) { if (gBattleCommunication[4] >= gBattlersCount / 2) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1427,7 +1427,7 @@ static void RecordedPlayerHandleChooseAction(void) } else { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1441,13 +1441,13 @@ static void RecordedPlayerHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveId | (target << 8)); } RecordedPlayerBufferExecCompleted(); @@ -1461,7 +1461,7 @@ static void RecordedPlayerHandleChooseItem(void) static void RecordedPlayerHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedPlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index fe6e1278db..c432fcbb64 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -176,16 +176,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_BALL, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_BALL, 0); break; case 1: - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_POKEBLOCK, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_POKEBLOCK, 0); break; case 2: - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_GO_NEAR, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_GO_NEAR, 0); break; case 3: - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_SAFARI_RUN, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_RUN, 0); break; } SafariBufferExecCompleted(); @@ -280,7 +280,7 @@ static void CompleteWhenChosePokeblock(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId); SafariBufferExecCompleted(); } } @@ -298,7 +298,7 @@ static void SafariBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index d95eb6d5c4..5715c522f5 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -196,7 +196,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -207,7 +207,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -217,7 +217,7 @@ static void WallyHandleActions(void) case 3: if (--gBattleStruct->wallyWaitFrames == 0) { - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_WALLY_THROW, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_WALLY_THROW, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -238,7 +238,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); WallyBufferExecCompleted(); } break; @@ -278,7 +278,7 @@ static void CompleteOnChosenItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId); WallyBufferExecCompleted(); } } @@ -408,7 +408,7 @@ static void WallyBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -444,7 +444,7 @@ static void WallyHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); WallyBufferExecCompleted(); } @@ -1241,7 +1241,7 @@ static void WallyHandleChooseMove(void) if (--gBattleStruct->wallyMoveFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE, 10, 0x100); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, 0x100); WallyBufferExecCompleted(); } break; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 339d68ff9e..559fa8604b 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -659,11 +659,11 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) { switch (bufferId) { - case BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER: + case B_COMM_TO_CONTROLLER: for (i = 0; i < size; data++, i++) gBattleBufferA[gActiveBattler][i] = *data; break; - case BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE: + case B_COMM_TO_ENGINE: for (i = 0; i < size; data++, i++) gBattleBufferB[gActiveBattler][i] = *data; break; @@ -922,7 +922,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) switch (BYTE_TO_RECEIVE(0)) { - case BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER: + case B_COMM_TO_CONTROLLER: if (IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId)) return; @@ -937,10 +937,10 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) gEffectBattler = BYTE_TO_RECEIVE(LINK_BUFF_EFFECT_BATTLER); } break; - case BATTLELINKCOMMTYPE_CONTROLLER_TO_ENGINE: + case B_COMM_TO_ENGINE: memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + LINK_BUFF_DATA], blockSize); break; - case BATTLELINKCOMMTYPE_CONTROLLER_BECOMING_IDLE: + case B_COMM_CONTROLLER_IS_DONE: playerId = BYTE_TO_RECEIVE(LINK_BUFF_DATA); MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battlerId, playerId); break; diff --git a/src/battle_main.c b/src/battle_main.c index 890d3fb4bf..226d1a805b 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3360,7 +3360,7 @@ static void BattleIntroGetMonsData(void) { case 0: gActiveBattler = gBattleCommunication[1]; - BtlController_EmitGetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTIUSE_STATE]++; break; @@ -3382,7 +3382,7 @@ static void BattleIntroPrepareBackgroundSlide(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerAtPosition(0); - BtlController_EmitIntroSlide(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleEnvironment); + BtlController_EmitIntroSlide(B_COMM_TO_CONTROLLER, gBattleEnvironment); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites; gBattleCommunication[MULTIUSE_STATE] = 0; @@ -3427,7 +3427,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) { - BtlController_EmitDrawTrainerPic(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } @@ -3435,7 +3435,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) { if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) { - BtlController_EmitDrawTrainerPic(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT @@ -3460,7 +3460,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) { HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); } - BtlController_EmitLoadMonSprite(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitLoadMonSprite(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); } @@ -3471,14 +3471,14 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT || GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - BtlController_EmitDrawTrainerPic(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - BtlController_EmitDrawTrainerPic(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } @@ -3513,7 +3513,7 @@ static void BattleIntroDrawPartySummaryScreens(void) } } gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BtlController_EmitDrawPartyStatusSummary(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(B_COMM_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(gActiveBattler); for (i = 0; i < PARTY_SIZE; i++) @@ -3531,7 +3531,7 @@ static void BattleIntroDrawPartySummaryScreens(void) } } gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitDrawPartyStatusSummary(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(B_COMM_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroPrintTrainerWantsToBattle; @@ -3631,7 +3631,7 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3669,7 +3669,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS)) { @@ -3761,7 +3761,7 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3800,7 +3800,7 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI)) { @@ -3825,7 +3825,7 @@ static void UNUSED BattleIntroSwitchInPlayerMons(void) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - BtlController_EmitSwitchInAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], FALSE); + BtlController_EmitSwitchInAnim(B_COMM_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4165,7 +4165,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseAction(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); + BtlController_EmitChooseAction(B_COMM_TO_CONTROLLER, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; } @@ -4214,7 +4214,7 @@ static void HandleTurnActionSelectionState(void) i); } - BtlController_EmitChooseMove(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); + BtlController_EmitChooseMove(B_COMM_TO_CONTROLLER, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4233,7 +4233,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseItem(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(B_COMM_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4243,7 +4243,7 @@ static void HandleTurnActionSelectionState(void) || gBattleTypeFlags & BATTLE_TYPE_ARENA || gStatuses3[gActiveBattler] & STATUS3_ROOTED) { - BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) @@ -4252,16 +4252,16 @@ static void HandleTurnActionSelectionState(void) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) { - BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else { if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else - BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } MarkBattlerForControllerExec(gActiveBattler); break; @@ -4276,7 +4276,7 @@ static void HandleTurnActionSelectionState(void) } break; case B_ACTION_SAFARI_POKEBLOCK: - BtlController_EmitChooseItem(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(B_COMM_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); break; case B_ACTION_CANCEL_PARTNER: @@ -4286,7 +4286,7 @@ static void HandleTurnActionSelectionState(void) if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) { - BtlController_EmitEndBounceEffect(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitEndBounceEffect(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4314,7 +4314,7 @@ static void HandleTurnActionSelectionState(void) { RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3); } - BtlController_EmitEndBounceEffect(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitEndBounceEffect(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4467,11 +4467,11 @@ static void HandleTurnActionSelectionState(void) || (position & BIT_FLANK) != B_FLANK_LEFT || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])) { - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i); } else { - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_STOP_BOUNCE_ONLY, i); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_STOP_BOUNCE_ONLY, i); } MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 4639783468..e75b67d2c2 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1239,7 +1239,7 @@ static void Cmd_ppreduce(void) if (MOVE_IS_PERMANENT(gBattlerAttacker, gCurrMovePos)) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, sizeof(gBattleMons[gBattlerAttacker].pp[gCurrMovePos]), &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]); MarkBattlerForControllerExec(gBattlerAttacker); @@ -1784,7 +1784,7 @@ static void Cmd_attackanimation(void) multihit = gMultiHitCounter; } - BtlController_EmitMoveAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); + BtlController_EmitMoveAnimation(B_COMM_TO_CONTROLLER, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); gBattleScripting.animTurn++; gBattleScripting.animTargetsHit++; MarkBattlerForControllerExec(gBattlerAttacker); @@ -1829,7 +1829,7 @@ static void Cmd_healthbarupdate(void) else healthValue = maxPossibleDmgValue; - BtlController_EmitHealthBarUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, healthValue); + BtlController_EmitHealthBarUpdate(B_COMM_TO_CONTROLLER, healthValue); MarkBattlerForControllerExec(gActiveBattler); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) @@ -1971,7 +1971,7 @@ static void Cmd_datahpupdate(void) gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE; // Send updated HP - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); } } @@ -2009,11 +2009,11 @@ static void Cmd_effectivenesssound(void) switch (gMoveResultFlags & (u8)(~MOVE_RESULT_MISSED)) { case MOVE_RESULT_SUPER_EFFECTIVE: - BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_DOESNT_AFFECT_FOE: @@ -2026,17 +2026,17 @@ static void Cmd_effectivenesssound(void) default: if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { - BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { - BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { - BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, SE_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -2149,7 +2149,7 @@ static void Cmd_printselectionstring(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); + BtlController_EmitPrintSelectionString(B_COMM_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -2199,7 +2199,7 @@ static void Cmd_printselectionstringfromtable(void) ptr += gBattleCommunication[MULTISTRING_CHOOSER]; gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, *ptr); + BtlController_EmitPrintSelectionString(B_COMM_TO_CONTROLLER, *ptr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; @@ -2485,7 +2485,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; gActiveBattler = gEffectBattler; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); MarkBattlerForControllerExec(gActiveBattler); if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) @@ -2787,11 +2787,11 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleMons[gBattlerTarget].item = ITEM_NONE; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); MarkBattlerForControllerExec(gBattlerAttacker); gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2829,7 +2829,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleMons[gBattlerTarget].status1 &= ~STATUS1_PARALYSIS; gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -3036,7 +3036,7 @@ static void Cmd_tryfaintmon(void) BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_GrudgeTakesPp; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); MarkBattlerForControllerExec(gActiveBattler); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].moves[moveIndex]) @@ -3054,7 +3054,7 @@ static void Cmd_dofaintanimation(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitFaintAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitFaintAnimation(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -3069,7 +3069,7 @@ static void Cmd_cleareffectsonfaint(void) if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[gActiveBattler].hp == 0) { gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } @@ -3438,7 +3438,7 @@ static void Cmd_getexp(void) gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); gActiveBattler = gBattleStruct->expGetterBattlerId; - BtlController_EmitExpUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleStruct->expGetterMonId, gBattleMoveDamage); + BtlController_EmitExpUpdate(B_COMM_TO_CONTROLLER, gBattleStruct->expGetterMonId, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); } gBattleScripting.getexpState++; @@ -3937,7 +3937,7 @@ static void Cmd_healthbar_update(void) else gActiveBattler = gBattlerAttacker; - BtlController_EmitHealthBarUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleMoveDamage); + BtlController_EmitHealthBarUpdate(B_COMM_TO_CONTROLLER, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -4012,7 +4012,7 @@ static void Cmd_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) { - BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4026,7 +4026,7 @@ static void Cmd_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SANDSTORM_CONTINUES || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) { - BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4036,7 +4036,7 @@ static void Cmd_playanimation(void) } else { - BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4056,7 +4056,7 @@ static void Cmd_playanimation_var(void) || *animationIdPtr == B_ANIM_SNATCH_MOVE || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) { - BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4069,7 +4069,7 @@ static void Cmd_playanimation_var(void) || *animationIdPtr == B_ANIM_SANDSTORM_CONTINUES || *animationIdPtr == B_ANIM_HAIL_CONTINUES) { - BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4079,7 +4079,7 @@ static void Cmd_playanimation_var(void) } else { - BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4195,7 +4195,7 @@ static void Cmd_playstatchangeanimation(void) } else if (changeableStatsCount != 0 && !gBattleScripting.statAnimPlayed) { - BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, B_ANIM_STATS_CHANGE, statAnimId); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, B_ANIM_STATS_CHANGE, statAnimId); MarkBattlerForControllerExec(gActiveBattler); if (gBattlescriptCurrInstr[3] & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount > 1) gBattleScripting.statAnimPlayed = TRUE; @@ -4264,7 +4264,7 @@ static void Cmd_moveend(void) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE; gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gActiveBattler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; @@ -4343,7 +4343,7 @@ static void Cmd_moveend(void) && gHitMarker & HITMARKER_NO_ANIMATIONS) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, TRUE); + BtlController_EmitSpriteInvisibility(B_COMM_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gActiveBattler); gBattleScripting.moveendState++; return; @@ -4356,7 +4356,7 @@ static void Cmd_moveend(void) || WasUnableToUseMove(gBattlerAttacker)) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitSpriteInvisibility(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerAttacker] &= ~STATUS3_SEMI_INVULNERABLE; gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1; @@ -4370,7 +4370,7 @@ static void Cmd_moveend(void) && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { gActiveBattler = gBattlerTarget; - BtlController_EmitSpriteInvisibility(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitSpriteInvisibility(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerTarget] &= ~STATUS3_SEMI_INVULNERABLE; gBattleScripting.moveendState++; @@ -4597,7 +4597,7 @@ static void Cmd_returnatktoball(void) gActiveBattler = gBattlerAttacker; if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { - BtlController_EmitReturnMonToBall(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitReturnMonToBall(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr++; @@ -4612,7 +4612,7 @@ static void Cmd_getswitchedmondata(void) gBattlerPartyIndexes[gActiveBattler] = *(gBattleStruct->monToSwitchIntoId + gActiveBattler); - BtlController_EmitGetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); + BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -4688,7 +4688,7 @@ static void Cmd_switchinanim(void) gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); - BtlController_EmitSwitchInAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); + BtlController_EmitSwitchInAnim(B_COMM_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -4858,7 +4858,7 @@ static void ChooseMonToSendOut(u8 slotId) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } @@ -4885,7 +4885,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4896,7 +4896,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4914,7 +4914,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4924,7 +4924,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); flags |= 1; } @@ -4936,7 +4936,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4946,7 +4946,7 @@ static void Cmd_openpartyscreen(void) } else if (!(flags & 1)) { - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4957,7 +4957,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4967,7 +4967,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); flags |= 2; } @@ -4979,7 +4979,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4989,7 +4989,7 @@ static void Cmd_openpartyscreen(void) } else if (!(flags & 2)) { - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5005,7 +5005,7 @@ static void Cmd_openpartyscreen(void) else gActiveBattler = 0; - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } @@ -5021,7 +5021,7 @@ static void Cmd_openpartyscreen(void) else gActiveBattler = 1; - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5042,7 +5042,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5058,7 +5058,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5117,7 +5117,7 @@ static void Cmd_openpartyscreen(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 6; @@ -5131,7 +5131,7 @@ static void Cmd_openpartyscreen(void) { if (gActiveBattler != battlerId) { - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5142,7 +5142,7 @@ static void Cmd_openpartyscreen(void) if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gActiveBattler ^= BIT_FLANK; - BtlController_EmitLinkStandbyMsg(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5301,7 +5301,7 @@ static void Cmd_switchineffects(void) static void Cmd_trainerslidein(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); - BtlController_EmitTrainerSlide(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitTrainerSlide(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5310,7 +5310,7 @@ static void Cmd_trainerslidein(void) static void Cmd_playse(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPlaySE(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5319,7 +5319,7 @@ static void Cmd_playse(void) static void Cmd_fanfare(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPlayFanfareOrBGM(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); + BtlController_EmitPlayFanfareOrBGM(B_COMM_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5328,7 +5328,7 @@ static void Cmd_fanfare(void) static void Cmd_playfaintcry(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitFaintingCry(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitFaintingCry(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5337,7 +5337,7 @@ static void Cmd_playfaintcry(void) static void Cmd_endlinkbattle(void) { gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitEndLinkBattle(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleOutcome); + BtlController_EmitEndLinkBattle(B_COMM_TO_CONTROLLER, gBattleOutcome); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 1; @@ -5346,7 +5346,7 @@ static void Cmd_endlinkbattle(void) static void Cmd_returntoball(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitReturnMonToBall(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, TRUE); + BtlController_EmitReturnMonToBall(B_COMM_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5565,7 +5565,7 @@ static void Cmd_hitanimation(void) } else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { - BtlController_EmitHitAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitHitAnimation(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -5652,7 +5652,7 @@ static void Cmd_updatebattlermoves(void) switch (gBattleCommunication[0]) { case 0: - BtlController_EmitGetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[0]++; break; @@ -5725,7 +5725,7 @@ static void Cmd_drawpartystatussummary(void) } } - BtlController_EmitDrawPartyStatusSummary(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, hpStatuses, 1); + BtlController_EmitDrawPartyStatusSummary(B_COMM_TO_CONTROLLER, hpStatuses, 1); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5734,7 +5734,7 @@ static void Cmd_drawpartystatussummary(void) static void Cmd_hidepartystatussummary(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitHidePartyStatusSummary(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitHidePartyStatusSummary(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5759,7 +5759,7 @@ static void Cmd_statusanimation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE, gBattleMons[gActiveBattler].status1); + BtlController_EmitStatusAnimation(B_COMM_TO_CONTROLLER, FALSE, gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 2; @@ -5778,7 +5778,7 @@ static void Cmd_status2animation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); + BtlController_EmitStatusAnimation(B_COMM_TO_CONTROLLER, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 6; @@ -5797,7 +5797,7 @@ static void Cmd_chosenstatusanimation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattlescriptCurrInstr[2], wantedStatus); + BtlController_EmitStatusAnimation(B_COMM_TO_CONTROLLER, gBattlescriptCurrInstr[2], wantedStatus); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 7; @@ -5908,7 +5908,7 @@ static void Cmd_removeitem(void) *usedHeldItem = gBattleMons[gActiveBattler].item; gBattleMons[gActiveBattler].item = ITEM_NONE; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6217,7 +6217,7 @@ static void Cmd_setatktoplayer0(void) static void Cmd_makevisible(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitSpriteInvisibility(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitSpriteInvisibility(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6431,7 +6431,7 @@ static void Cmd_various(void) gDisableStructs[1].truantSwitchInHack = 1; break; case VARIOUS_EMIT_YESNOBOX: - BtlController_EmitYesNoBox(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitYesNoBox(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); break; case VARIOUS_DRAW_ARENA_REF_TEXT_BOX: @@ -6456,7 +6456,7 @@ static void Cmd_various(void) gActiveBattler = 1; if (gBattleMons[gActiveBattler].hp != 0) { - BtlController_EmitReturnMonToBall(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitReturnMonToBall(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -6466,7 +6466,7 @@ static void Cmd_various(void) gActiveBattler = 3; if (gBattleMons[gActiveBattler].hp != 0) { - BtlController_EmitReturnMonToBall(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, FALSE); + BtlController_EmitReturnMonToBall(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -6491,7 +6491,7 @@ static void Cmd_various(void) gBattleOutcome = B_OUTCOME_MON_TELEPORTED; break; case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC: - BtlController_EmitPlayFanfareOrBGM(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, MUS_VICTORY_TRAINER, TRUE); + BtlController_EmitPlayFanfareOrBGM(B_COMM_TO_CONTROLLER, MUS_VICTORY_TRAINER, TRUE); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -6552,7 +6552,7 @@ static void Cmd_tryexplosion(void) // Success, no battlers with Damp. Drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(B_COMM_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -6581,7 +6581,7 @@ static void Cmd_setatkhptozero(void) gActiveBattler = gBattlerAttacker; gBattleMons[gActiveBattler].hp = 0; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -6777,7 +6777,7 @@ static void Cmd_trysetrest(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_REST; gBattleMons[gBattlerTarget].status1 = STATUS1_SLEEP_TURN(3); - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -7727,7 +7727,7 @@ static void Cmd_updatestatusicon(void) if (gBattlescriptCurrInstr[1] != BS_ATTACKER_WITH_PARTNER) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitStatusIconUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(B_COMM_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -7736,7 +7736,7 @@ static void Cmd_updatestatusicon(void) gActiveBattler = gBattlerAttacker; if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - BtlController_EmitStatusIconUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(B_COMM_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) @@ -7744,7 +7744,7 @@ static void Cmd_updatestatusicon(void) gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - BtlController_EmitStatusIconUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(B_COMM_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); } } @@ -7822,7 +7822,7 @@ static void Cmd_transformdataexecution(void) } gActiveBattler = gBattlerAttacker; - BtlController_EmitResetActionMoveSelection(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, RESET_MOVE_SELECTION); + BtlController_EmitResetActionMoveSelection(B_COMM_TO_CONTROLLER, RESET_MOVE_SELECTION); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED; } @@ -8202,7 +8202,7 @@ static void Cmd_copymovepermanently(void) } movePpData.ppBonuses = gBattleMons[gBattlerAttacker].ppBonuses; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); MarkBattlerForControllerExec(gActiveBattler); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattlerTarget]) @@ -8370,7 +8370,7 @@ static void Cmd_tryspiteppreduce(void) if (!(gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[i]) && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); MarkBattlerForControllerExec(gActiveBattler); } @@ -8481,7 +8481,7 @@ static void Cmd_healpartystatus(void) if (toHeal) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); MarkBattlerForControllerExec(gActiveBattler); } @@ -9106,7 +9106,7 @@ static void Cmd_trymemento(void) // Success, drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(B_COMM_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -9146,7 +9146,7 @@ static void Cmd_cureifburnedparalysedorpoisoned(void) gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr += 5; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } else @@ -9268,11 +9268,11 @@ static void Cmd_tryswapitems(void) gBattleMons[gBattlerTarget].item = oldItemAtk; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); MarkBattlerForControllerExec(gBattlerAttacker); gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; @@ -9618,7 +9618,7 @@ static void Cmd_switchoutabilities(void) { case ABILITY_NATURAL_CURE: gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->battlerPartyIndexes + gActiveBattler)], sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); @@ -9758,7 +9758,7 @@ static void Cmd_docastformchangeanimation(void) if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) *(&gBattleStruct->formToChangeInto) |= CASTFORM_SUBSTITUTE; - BtlController_EmitBattleAnimation(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -9840,7 +9840,7 @@ static void Cmd_tryrecycleitem(void) *usedHeldItem = ITEM_NONE; gBattleMons[gActiveBattler].item = gLastUsedItem; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; @@ -9937,13 +9937,13 @@ static void Cmd_handleballthrow(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - BtlController_EmitBallThrowAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, BALL_TRAINER_BLOCK); + BtlController_EmitBallThrowAnim(B_COMM_TO_CONTROLLER, BALL_TRAINER_BLOCK); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { - BtlController_EmitBallThrowAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(B_COMM_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } @@ -10031,7 +10031,7 @@ static void Cmd_handleballthrow(void) if (odds > 254) // mon caught { - BtlController_EmitBallThrowAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(B_COMM_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); @@ -10053,7 +10053,7 @@ static void Cmd_handleballthrow(void) if (gLastUsedItem == ITEM_MASTER_BALL) shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check? - BtlController_EmitBallThrowAnim(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, shakes); + BtlController_EmitBallThrowAnim(B_COMM_TO_CONTROLLER, shakes); MarkBattlerForControllerExec(gActiveBattler); if (shakes == BALL_3_SHAKES_SUCCESS) // mon caught, copy of the code above @@ -10342,7 +10342,7 @@ static void Cmd_finishturn(void) static void Cmd_trainerslideout(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); - BtlController_EmitTrainerSlideBack(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER); + BtlController_EmitTrainerSlideBack(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; diff --git a/src/battle_util.c b/src/battle_util.c index f2e55cea27..bbc9e1a819 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -759,7 +759,7 @@ void PressurePPLose(u8 target, u8 attacker, u16 move) if (MOVE_IS_PERMANENT(attacker, moveIndex)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -791,7 +791,7 @@ void PressurePPLoseOnUsingImprison(u8 attacker) if (imprisonPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, imprisonPos)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -822,7 +822,7 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker) if (perishSongPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, perishSongPos)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -906,7 +906,7 @@ bool8 WasUnableToUseMove(u8 battler) void PrepareStringBattle(u16 stringId, u8 battler) { gActiveBattler = battler; - BtlController_EmitPrintString(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, stringId); + BtlController_EmitPrintString(B_COMM_TO_CONTROLLER, stringId); MarkBattlerForControllerExec(gActiveBattler); } @@ -1635,7 +1635,7 @@ u8 DoBattlerEndTurnEffects(void) gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -1760,7 +1760,7 @@ u8 DoBattlerEndTurnEffects(void) { CancelMultiTurnMoves(gActiveBattler); gBattleMons[gActiveBattler].status1 |= STATUS1_SLEEP_TURN((Random() & 3) + 2); // 2-5 turns of sleep - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); gEffectBattler = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); @@ -2270,7 +2270,7 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } return effect; @@ -2634,7 +2634,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; // fix nightmare glitch gBattleScripting.battler = gActiveBattler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(gActiveBattler); effect++; } @@ -2946,7 +2946,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; gBattleScripting.battler = battler; gActiveBattler = battler; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); return effect; } @@ -3374,7 +3374,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); BattleScriptExecute(BattleScript_BerryPPHealEnd2); - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); MarkBattlerForControllerExec(gActiveBattler); effect = ITEM_PP_CHANGE; } @@ -3609,7 +3609,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (effect) { case ITEM_STATUS_CHANGE: - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: @@ -3760,7 +3760,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; gActiveBattler = battlerId; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } diff --git a/src/battle_util2.c b/src/battle_util2.c index 977835d1db..349853b578 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -204,7 +204,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) if (effect == 2) { gActiveBattler = battlerId; - BtlController_EmitSetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } diff --git a/src/pokemon.c b/src/pokemon.c index 018b189f1a..8943a232d5 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5074,7 +5074,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov temp2 = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitGetMonData(BATTLELINKCOMMTYPE_ENGINE_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gActiveBattler = temp2; } From 15e39339b9b3bb3ff89bec3d3536f523a70e39d0 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 6 May 2025 15:11:38 -0400 Subject: [PATCH 13/84] InitSpritePosToAnimAttacker documentation --- src/battle_anim_mons.c | 22 +++++++++++----------- src/battle_anim_water.c | 8 ++++---- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index d28ec804fe..8a89cfc92f 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -1514,18 +1514,18 @@ static u8 UNUSED GetSpritePalIdxByPosition(u8 position) void AnimSpriteOnMonPos(struct Sprite *sprite) { - bool8 var; + bool8 respectMonPicOffsets; if (!sprite->data[0]) { if (!gBattleAnimArgs[3]) - var = TRUE; + respectMonPicOffsets = TRUE; else - var = FALSE; + respectMonPicOffsets = FALSE; if (!gBattleAnimArgs[2]) - InitSpritePosToAnimAttacker(sprite, var); + InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); else - InitSpritePosToAnimTarget(sprite, var); + InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); sprite->data[0]++; } @@ -1590,32 +1590,32 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite) void AnimTravelDiagonally(struct Sprite *sprite) { - bool8 r4; + bool8 respectMonPicOffsets; u8 battlerId, coordType; if (!gBattleAnimArgs[6]) { - r4 = TRUE; + respectMonPicOffsets = TRUE; coordType = BATTLER_COORD_Y_PIC_OFFSET; } else { - r4 = FALSE; + respectMonPicOffsets = FALSE; coordType = BATTLER_COORD_Y; } if (gBattleAnimArgs[5] == ANIM_ATTACKER) { - InitSpritePosToAnimAttacker(sprite, r4); + InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); battlerId = gBattleAnimAttacker; } else { - InitSpritePosToAnimTarget(sprite, r4); + InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); battlerId = gBattleAnimTarget; } if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - InitSpritePosToAnimTarget(sprite, r4); + InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3]; diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index fda3558e4d..883cf5825e 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -753,7 +753,7 @@ static void AnimHydroCannonCharge_Step(struct Sprite *sprite) // Flashing blue orbs move from the attacker to the target. Second stage of Hydro Cannon static void AnimHydroCannonBeam(struct Sprite *sprite) { - bool8 animType; + bool8 respectMonPicOffsets; u8 coordType; if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) { @@ -762,14 +762,14 @@ static void AnimHydroCannonBeam(struct Sprite *sprite) gBattleAnimArgs[0] *= -1; } if ((gBattleAnimArgs[5] & 0xFF00) == 0) - animType = TRUE; + respectMonPicOffsets = TRUE; else - animType = FALSE; + respectMonPicOffsets = FALSE; if ((u8)gBattleAnimArgs[5] == 0) coordType = BATTLER_COORD_Y_PIC_OFFSET; else coordType = BATTLER_COORD_Y; - InitSpritePosToAnimAttacker(sprite, animType); + InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; From 2044bea883d08ec9266d21ac0cd6a56c3e0d5962 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Fri, 9 May 2025 13:43:23 +0200 Subject: [PATCH 14/84] Rename battlerId to battler for consistency (#2126) --- include/battle.h | 8 +- include/battle_ai_script_commands.h | 10 +- include/battle_anim.h | 32 +- include/battle_controllers.h | 66 ++-- include/battle_gfx_sfx_util.h | 30 +- include/battle_main.h | 4 +- include/battle_records.h | 2 +- include/battle_script_commands.h | 4 +- include/battle_tv.h | 2 +- include/battle_util.h | 30 +- include/party_menu.h | 4 +- include/pokemon.h | 8 +- include/recorded_battle.h | 6 +- src/battle_ai_script_commands.c | 326 +++++++++--------- src/battle_anim.c | 134 +++---- src/battle_anim_mon_movement.c | 24 +- src/battle_anim_mons.c | 238 ++++++------- src/battle_anim_sound_tasks.c | 36 +- src/battle_anim_status_effects.c | 14 +- src/battle_controller_link_opponent.c | 50 +-- src/battle_controller_link_partner.c | 46 +-- src/battle_controller_opponent.c | 48 +-- src/battle_controller_player.c | 98 +++--- src/battle_controller_player_partner.c | 94 ++--- src/battle_controller_recorded_opponent.c | 48 +-- src/battle_controller_recorded_player.c | 46 +-- src/battle_controller_wally.c | 38 +- src/battle_controllers.c | 26 +- src/battle_gfx_sfx_util.c | 216 ++++++------ src/battle_interface.c | 206 +++++------ src/battle_main.c | 18 +- src/battle_message.c | 14 +- src/battle_records.c | 32 +- src/battle_script_commands.c | 104 +++--- src/battle_tv.c | 6 +- src/battle_util.c | 292 ++++++++-------- src/battle_util2.c | 46 +-- src/data/map_group_count.h | 1 + src/party_menu.c | 14 +- src/pokeball.c | 86 ++--- src/pokemon.c | 168 ++++----- src/pokemon_animation.c | 6 +- src/recorded_battle.c | 94 ++--- src/reshow_battle_screen.c | 6 +- tools/mgba-rom-test-hydra/mgba-rom-test-hydra | Bin 0 -> 30888 bytes tools/patchelf/patchelf | Bin 0 -> 16272 bytes tools/trainerproc/trainerproc | Bin 0 -> 55696 bytes 47 files changed, 1391 insertions(+), 1390 deletions(-) create mode 100644 src/data/map_group_count.h create mode 100755 tools/mgba-rom-test-hydra/mgba-rom-test-hydra create mode 100755 tools/patchelf/patchelf create mode 100755 tools/trainerproc/trainerproc diff --git a/include/battle.h b/include/battle.h index 7979101ecb..061768b489 100644 --- a/include/battle.h +++ b/include/battle.h @@ -465,11 +465,11 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER #define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0)) -#define IS_BATTLER_OF_TYPE(battlerId, type) ((gBattleMons[battlerId].types[0] == type || gBattleMons[battlerId].types[1] == type)) -#define SET_BATTLER_TYPE(battlerId, type) \ +#define IS_BATTLER_OF_TYPE(battler, type) ((gBattleMons[battler].types[0] == type || gBattleMons[battler].types[1] == type)) +#define SET_BATTLER_TYPE(battler, type) \ { \ - gBattleMons[battlerId].types[0] = type; \ - gBattleMons[battlerId].types[1] = type; \ + gBattleMons[battler].types[0] = type; \ + gBattleMons[battler].types[1] = type; \ } #define GET_STAT_BUFF_ID(n) ((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8 diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h index d23ad048a5..6415b34995 100644 --- a/include/battle_ai_script_commands.h +++ b/include/battle_ai_script_commands.h @@ -9,10 +9,10 @@ void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); -void ClearBattlerMoveHistory(u8 battlerId); -void RecordAbilityBattle(u8 battlerId, u8 abilityId); -void ClearBattlerAbilityHistory(u8 battlerId); -void RecordItemEffectBattle(u8 battlerId, u8 itemEffect); -void ClearBattlerItemEffectHistory(u8 battlerId); +void ClearBattlerMoveHistory(u8 battler); +void RecordAbilityBattle(u8 battler, u8 abilityId); +void ClearBattlerAbilityHistory(u8 battler); +void RecordItemEffectBattle(u8 battler, u8 itemEffect); +void ClearBattlerItemEffectHistory(u8 battler); #endif // GUARD_BATTLE_AI_SCRIPT_COMMANDS_H diff --git a/include/battle_anim.h b/include/battle_anim.h index ffb63bde61..1c9851e4e4 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -57,8 +57,8 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo void DestroyAnimSprite(struct Sprite *sprite); void DestroyAnimVisualTask(u8 taskId); void DestroyAnimSoundTask(u8 taskId); -bool8 IsBattlerSpriteVisible(u8 battlerId); -void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible); +bool8 IsBattlerSpriteVisible(u8 battler); +void MoveBattlerSpriteToBG(u8 battler, bool8 toBG_2, bool8 setSpriteInvisible); bool8 IsContest(void); s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); @@ -80,7 +80,7 @@ void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite); void AnimWeatherBallUp(struct Sprite *sprite); void AnimWeatherBallDown(struct Sprite *sprite); void AnimSpinningSparkle(struct Sprite *sprite); -void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y); +void SetAverageBattlerPositions(u8 battler, bool8 respectMonPicOffsets, s16 *x, s16 *y); void DestroySpriteAndMatrix(struct Sprite *sprite); void TranslateSpriteLinearFixedPoint(struct Sprite *sprite); void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets); @@ -89,7 +89,7 @@ void StartAnimLinearTranslation(struct Sprite *sprite); void InitAnimArcTranslation(struct Sprite *sprite); bool8 AnimTranslateLinear(struct Sprite *sprite); void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite); -u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId); +u8 GetBattlerSpriteCoord2(u8 battler, u8 attributeId); void InitAnimLinearTranslationWithSpeed(struct Sprite *sprite); u16 ArcTan2Neg(s16 x, s16 y); void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation); @@ -98,19 +98,19 @@ void TranslateSpriteLinearAndFlicker(struct Sprite *sprite); void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite); void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite); void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset); -s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr); -u8 GetBattlerYCoordWithElevation(u8 battlerId); +s16 GetBattlerSpriteCoordAttr(u8 battler, u8 attr); +u8 GetBattlerYCoordWithElevation(u8 battler); void WaitAnimForDuration(struct Sprite *sprite); void AnimTravelDiagonally(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite); void AnimTranslateLinear_WithFollowup(struct Sprite *sprite); -u8 GetBattlerSpriteBGPriority(u8 battlerId); +u8 GetBattlerSpriteBGPriority(u8 battler); void *LoadPointerFromVars(s16 bottom, s16 top); void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr); void InitPrioritiesForVisibleBattlers(void); void GetBattleAnimBg1Data(struct BattleAnimBgData *); void GetBattleAnimBgData(struct BattleAnimBgData *, u32 bgId); -u8 GetBattlerSpriteSubpriority(u8 battlerId); +u8 GetBattlerSpriteSubpriority(u8 battler); bool8 TranslateAnimHorizontalArc(struct Sprite *sprite); void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite); void ResetSpriteRotScale(u8 spriteId); @@ -145,8 +145,8 @@ void SetGrayscaleOrOriginalPalette(u16 palNum, bool8 restoreOriginal); void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds); bool8 RunAffineAnimFromTaskData(struct Task *task); void AnimThrowProjectile(struct Sprite *sprite); -void GetBgDataForTransform(struct BattleAnimBgData *dest, u8 battlerId); -u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxysForm); +void GetBgDataForTransform(struct BattleAnimBgData *dest, u8 battler); +u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battler, bool32 ignoreDeoxysForm); void ResetSpriteRotScale_PreserveAffine(struct Sprite *sprite); void Trade_MoveSelectedMonToTarget(struct Sprite *sprite); void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); @@ -178,18 +178,18 @@ enum BATTLER_COORD_ATTR_RAW_BOTTOM, }; -u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); +u8 GetBattlerSpriteCoord(u8 battler, u8 attributeId); -bool8 IsBattlerSpritePresent(u8 battlerId); +bool8 IsBattlerSpritePresent(u8 battler); void ClearBattleAnimBg(u32 bgId); u8 GetAnimBattlerSpriteId(u8 wantedBattler); bool8 IsDoubleBattle(void); u8 GetBattleBgPaletteNum(void); -u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); +u8 GetBattlerSpriteBGPriorityRank(u8 battler); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite *)); void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite); -u8 GetBattlerSpriteDefault_Y(u8 battlerId); -u8 GetSubstituteSpriteDefault_Y(u8 battlerId); +u8 GetBattlerSpriteDefault_Y(u8 battler); +u8 GetSubstituteSpriteDefault_Y(u8 battler); // battle_anim_status_effects.c #define STAT_ANIM_PLUS1 14 @@ -212,7 +212,7 @@ enum { STAT_ANIM_PAL_MULTIPLE = 0xFF }; -void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); +void LaunchStatusAnimation(u8 battler, u8 statusAnimId); // battle_anim_ground.c void AnimTask_HorizontalShake(u8 taskId); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 2fe19b4907..20f3e698cf 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -66,46 +66,46 @@ enum { // Accessors for gBattleControllerExecFlags. // -// These are provided for documentation purposes, to make the battle -// controller internals and the link communication internals more -// legible. Several of these have functions that you should call -// (e.g. MarkBattlerForControllerExec) instead of using these macros +// These are provided for documentation purposes, to make the battle +// controller internals and the link communication internals more +// legible. Several of these have functions that you should call +// (e.g. MarkBattlerForControllerExec) instead of using these macros // directly. -#define MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \ - gBattleControllerExecFlags |= gBitTable[battlerId] +#define MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler) \ + gBattleControllerExecFlags |= gBitTable[battler] -#define MARK_BATTLE_CONTROLLER_IDLE_ON_LOCAL(battlerId) \ - gBattleControllerExecFlags &= ~gBitTable(battlerId) +#define MARK_BATTLE_CONTROLLER_IDLE_ON_LOCAL(battler) \ + gBattleControllerExecFlags &= ~gBitTable(battler) -#define IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId) \ - (gBattleControllerExecFlags & gBitTable[battlerId]) +#define IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler) \ + (gBattleControllerExecFlags & gBitTable[battler]) -#define MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battlerId) \ - gBattleControllerExecFlags |= gBitTable[battlerId] << (32 - MAX_BATTLERS_COUNT) +#define MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battler) \ + gBattleControllerExecFlags |= gBitTable[battler] << (32 - MAX_BATTLERS_COUNT) -#define MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battlerId) \ - gBattleControllerExecFlags &= ~((1 << 28) << (battlerId)) +#define MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battler) \ + gBattleControllerExecFlags &= ~((1 << 28) << (battler)) -#define MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \ - gBattleControllerExecFlags |= gBitTable[battlerId] << ((playerId) << 2) +#define MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, playerId) \ + gBattleControllerExecFlags |= gBitTable[battler] << ((playerId) << 2) -#define MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battlerId, playerId) \ - gBattleControllerExecFlags &= ~(gBitTable[battlerId] << ((playerId) * 4)) +#define MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battler, playerId) \ + gBattleControllerExecFlags &= ~(gBitTable[battler] << ((playerId) * 4)) -#define IS_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, playerId) \ - (gBattleControllerExecFlags & (gBitTable[battlerId] << ((playerId) * 4))) +#define IS_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, playerId) \ + (gBattleControllerExecFlags & (gBitTable[battler] << ((playerId) * 4))) -// This actually checks if a specific controller is active on any player or if -// *any* controller is pending sync over link communications, but the macro name +// This actually checks if a specific controller is active on any player or if +// *any* controller is pending sync over link communications, but the macro name // can only be so specific before it just gets ridiculous. -#define IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(battlerId) \ +#define IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(battler) \ (gBattleControllerExecFlags & ( \ - (gBitTable[battlerId]) \ + (gBitTable[battler]) \ | (0xF << 28) \ - | (gBitTable[battlerId] << 4) \ - | (gBitTable[battlerId] << 8) \ - | (gBitTable[battlerId] << 12) \ + | (gBitTable[battler] << 4) \ + | (gBitTable[battler] << 8) \ + | (gBitTable[battler] << 12) \ )) // Special arguments for Battle Controller functions. @@ -113,14 +113,14 @@ enum { enum { // For commands sent from the core battle engine to a controller. B_COMM_TO_CONTROLLER, // gBattleBufferA - + // For replies sent from a controller to the core battle engine. B_COMM_TO_ENGINE, // gBattleBufferB - - // During local play, a controller must directly mark itself as - // inactive when it's done processing, whether or not it sends - // a reply. During multiplayer, it must NOT directly mark itself - // as inactive, but instead send one of these, with the player's + + // During local play, a controller must directly mark itself as + // inactive when it's done processing, whether or not it sends + // a reply. During multiplayer, it must NOT directly mark itself + // as inactive, but instead send one of these, with the player's // multiplayer ID as data. B_COMM_CONTROLLER_IS_DONE }; diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index 2a848e3d93..f9ce1bb2ca 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -10,36 +10,36 @@ void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId, u16 argument); void InitAndLaunchSpecialAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId); bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); -bool8 IsBattleSEPlaying(u8 battlerId); -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId); -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId); +bool8 IsBattleSEPlaying(u8 battler); +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battler); +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battler); void BattleGfxSfxDummy2(u16 species); -void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId); -void DecompressTrainerBackPic(u16 backPicId, u8 battlerId); +void DecompressTrainerFrontPic(u16 frontPicId, u8 battler); +void DecompressTrainerBackPic(u16 backPicId, u8 battler); void BattleGfxSfxDummy3(u8 gender); void FreeTrainerFrontPicPalette(u16 frontPicId); bool8 BattleLoadAllHealthBoxesGfx(u8 state); void LoadBattleBarGfx(u8 unused); -bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId); +bool8 BattleInitAllSprites(u8 *state1, u8 *battler); void ClearSpritesHealthboxAnimData(void); void CopyAllBattleSpritesInvisibilities(void); -void CopyBattleSpriteInvisibility(u8 battlerId); +void CopyBattleSpriteInvisibility(u8 battler); void HandleSpeciesGfxDataChange(u8 attacker, u8 target, bool8 notTransform); -void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite); -void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId); -void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move); -void ClearBehindSubstituteBit(u8 battlerId); -void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId); +void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite); +void LoadBattleMonGfxAndAnimate(u8 battler, bool8 loadMonSprite, u8 spriteId); +void TrySetBehindSubstituteSpriteBit(u8 battler, u16 move); +void ClearBehindSubstituteBit(u8 battler); +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battler); void BattleStopLowHpSound(void); u8 GetMonHPBarLevel(struct Pokemon *mon); void HandleBattleLowHpMusicChange(void); void SetBattlerSpriteAffineMode(u8 affineMode); void LoadAndCreateEnemyShadowSprites(void); void SpriteCB_SetInvisible(struct Sprite *sprite); -void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species); -void HideBattlerShadowSprite(u8 battlerId); +void SetBattlerShadowSpriteCallback(u8 battler, u16 species); +void HideBattlerShadowSprite(u8 battler); void FillAroundBattleWindows(void); -void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute); +void ClearTemporarySpeciesSpriteData(u8 battler, bool8 dontClearSubstitute); void AllocateMonSpritesGfx(void); void FreeMonSpritesGfx(void); bool32 ShouldPlayNormalMonCry(struct Pokemon *mon); diff --git a/include/battle_main.h b/include/battle_main.h index ae970286ca..082611e705 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -69,12 +69,12 @@ void SwitchInClearSetData(void); void FaintClearSetData(void); void BattleTurnPassed(void); u8 IsRunningFromBattleImpossible(void); -void SwitchPartyOrder(u8 battlerId); +void SwitchPartyOrder(u8 battler); 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); +bool8 TryRunFromBattle(u8 battler); void SpecialStatusesClear(void); extern struct MultiPartnerMenuPokemon gMultiPartnerParty[MULTI_PARTY_SIZE]; diff --git a/include/battle_records.h b/include/battle_records.h index 88ff6adc96..fe71570389 100644 --- a/include/battle_records.h +++ b/include/battle_records.h @@ -4,7 +4,7 @@ extern u8 gRecordsWindowId; void ClearPlayerLinkBattleRecords(void); -void UpdatePlayerLinkBattleRecords(s32 battlerId); +void UpdatePlayerLinkBattleRecords(s32 battler); void ShowLinkBattleRecords(void); void RemoveRecordsWindow(void); void ShowTrainerHillRecords(void); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 5cb18ab460..4fed623b00 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -13,13 +13,13 @@ void AI_CalcDmg(u8 battlerIdAtk, u8 battlerIdDef); u8 TypeCalc(u16 move, u8 battlerIdAtk, u8 battlerIdDef); u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility); -u8 GetBattlerTurnOrderNum(u8 battlerId); +u8 GetBattlerTurnOrderNum(u8 battler); void SetMoveEffect(bool8 primary, u8 certain); void BattleDestroyYesNoCursorAt(u8 cursorPosition); void BattleCreateYesNoCursorAt(u8 cursorPosition); void BufferMoveToLearnIntoBattleTextBuff2(void); void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); -bool8 UproarWakeUpCheck(u8 battlerId); +bool8 UproarWakeUpCheck(u8 battler); extern void (* const gBattleScriptingCommandsTable[])(void); extern const u8 gBattlePalaceNatureToMoveGroupLikelihood[NUM_NATURES][4]; diff --git a/include/battle_tv.h b/include/battle_tv.h index 72466d73b8..b2a89451a1 100644 --- a/include/battle_tv.h +++ b/include/battle_tv.h @@ -6,6 +6,6 @@ void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruc void BattleTv_SetDataBasedOnAnimation(u8 animationId); void TryPutLinkBattleTvShowOnAir(void); void BattleTv_ClearExplosionFaintCause(void); -u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId); +u8 GetBattlerMoveSlotId(u8 battler, u16 moveId); #endif // GUARD_BATTLE_TV_H diff --git a/include/battle_util.h b/include/battle_util.h index 870990e9f5..7d26e12cb2 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -33,7 +33,7 @@ #define ABILITYEFFECT_WATER_SPORT 254 #define ABILITYEFFECT_SWITCH_IN_WEATHER 255 -#define ABILITY_ON_OPPOSING_FIELD(battlerId, abilityId) (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battlerId, abilityId, 0, 0)) +#define ABILITY_ON_OPPOSING_FIELD(battler, abilityId) (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battler, abilityId, 0, 0)) #define ABILITY_ON_FIELD(abilityId) (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0)) #define ABILITY_ON_FIELD2(abilityId) (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0)) @@ -64,34 +64,34 @@ u8 GetBattlerForBattleScript(u8 caseId); void PressurePPLose(u8 target, u8 attacker, u16 move); void PressurePPLoseOnUsingPerishSong(u8 attacker); void PressurePPLoseOnUsingImprison(u8 attacker); -void MarkBattlerForControllerExec(u8 battlerId); -void MarkBattlerReceivedLinkData(u8 battlerId); -void CancelMultiTurnMoves(u8 battlerId); -bool8 WasUnableToUseMove(u8 battlerId); -void PrepareStringBattle(u16 stringId, u8 battlerId); +void MarkBattlerForControllerExec(u8 battler); +void MarkBattlerReceivedLinkData(u8 battler); +void CancelMultiTurnMoves(u8 battler); +bool8 WasUnableToUseMove(u8 battler); +void PrepareStringBattle(u16 stringId, u8 battler); void ResetSentPokesToOpponentValue(void); -void OpponentSwitchInResetSentPokesToOpponentValue(u8 battlerId); -void UpdateSentPokesToOpponentValue(u8 battlerId); +void OpponentSwitchInResetSentPokesToOpponentValue(u8 battler); +void UpdateSentPokesToOpponentValue(u8 battler); void BattleScriptPush(const u8 *bsPtr); void BattleScriptPushCursor(void); void BattleScriptPop(void); u8 TrySetCantSelectMoveBattleScript(void); -u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check); +u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u8 check); bool8 AreAllMovesUnusable(void); -u8 GetImprisonedMovesCount(u8 battlerId, u16 move); +u8 GetImprisonedMovesCount(u8 battler, u16 move); u8 DoFieldEndTurnEffects(void); u8 DoBattlerEndTurnEffects(void); bool8 HandleWishPerishSongOnTurnEnd(void); bool8 HandleFaintedMonActions(void); void TryClearRageStatuses(void); u8 AtkCanceller_UnableToUseMove(void); -bool8 HasNoMonsToSwitch(u8 battlerId, u8 r1, u8 r2); -u8 CastformDataTypeChange(u8 battlerId); -u8 AbilityBattleEffects(u8 caseID, u8 battlerId, u8 ability, u8 special, u16 moveArg); +bool8 HasNoMonsToSwitch(u8 battler, u8 r1, u8 r2); +u8 CastformDataTypeChange(u8 battler); +u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveArg); void BattleScriptExecute(const u8 *BS_ptr); void BattleScriptPushCursorAndCallback(const u8 *BS_ptr); -u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn); -void ClearFuryCutterDestinyBondGrudge(u8 battlerId); +u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn); +void ClearFuryCutterDestinyBondGrudge(u8 battler); void HandleAction_RunBattleScript(void); u8 GetMoveTarget(u16 move, u8 setTarget); u8 IsMonDisobedient(void); diff --git a/include/party_menu.h b/include/party_menu.h index 40029f77b0..2d33b3b9fc 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -71,8 +71,8 @@ void ChooseMonForWirelessMinigame(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 BufferBattlePartyCurrentOrderBySide(u8 battler, u8 flankId); +void SwitchPartyOrderLinkMulti(u8 battler, u8 slot, u8 arrayIndex); void SwitchPartyMonSlots(u8 slot, u8 slot2); u8 GetPartyIdFromBattlePartyId(u8 slot); void ShowPartyMenuToShowcaseMultiBattleParty(void); diff --git a/include/pokemon.h b/include/pokemon.h index 771d947f0a..306cca115e 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -408,7 +408,7 @@ void CreateBattleTowerMon_HandleLevel(struct Pokemon *mon, struct BattleTowerPok void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId); void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId); void ConvertPokemonToBattleTowerPokemon(struct Pokemon *mon, struct BattleTowerPokemon *dest); -bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId); +bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battler); void SetDeoxysStats(void); u16 GetUnionRoomTrainerPic(void); u16 GetUnionRoomTrainerClass(void); @@ -428,7 +428,7 @@ void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef); u8 CountAliveMonsInBattle(u8 caseId); -u8 GetDefaultMoveTarget(u8 battlerId); +u8 GetDefaultMoveTarget(u8 battler); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); @@ -467,10 +467,10 @@ void GetSpeciesName(u8 *name, u16 species); u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex); void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex); void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex); -void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex); +void CopyPlayerPartyMonToBattleData(u8 battler, u8 partyIndex); bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex); bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e); -bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId); +bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battler); u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); u8 *UseStatIncreaseItem(u16 itemId); u8 GetNature(struct Pokemon *mon); diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 9b89394038..2e61be577c 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -10,9 +10,9 @@ extern u8 gRecordedBattleMultiplayerId; void RecordedBattle_Init(u8 mode); void RecordedBattle_SetTrainerInfo(void); -void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action); -void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear); -u8 RecordedBattle_GetBattlerAction(u8 battlerId); +void RecordedBattle_SetBattlerAction(u8 battler, u8 action); +void RecordedBattle_ClearBattlerAction(u8 battler, u8 bytesToClear); +u8 RecordedBattle_GetBattlerAction(u8 battler); u8 RecordedBattle_BufferNewBattlerData(u8 *dst); void RecordedBattle_RecordAllBattlerData(u8 *data); bool32 CanCopyRecordedBattleSaveData(void); diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 716c456794..a1c7b57ea0 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -344,7 +344,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) gBattleResources->AI_ScriptsStack->size = 0; sBattler_AI = gActiveBattler; - // Decide a random target battlerId in doubles. + // Decide a random target battler in doubles. if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { gBattlerTarget = (Random() & BIT_FLANK) + BATTLE_OPPOSITE(GetBattlerSide(gActiveBattler)); @@ -632,32 +632,32 @@ static void RecordLastUsedMoveByTarget(void) } } -void ClearBattlerMoveHistory(u8 battlerId) +void ClearBattlerMoveHistory(u8 battler) { s32 i; for (i = 0; i < MAX_MON_MOVES; i++) - BATTLE_HISTORY->usedMoves[battlerId].moves[i] = MOVE_NONE; + BATTLE_HISTORY->usedMoves[battler].moves[i] = MOVE_NONE; } -void RecordAbilityBattle(u8 battlerId, u8 abilityId) +void RecordAbilityBattle(u8 battler, u8 abilityId) { - BATTLE_HISTORY->abilities[battlerId] = abilityId; + BATTLE_HISTORY->abilities[battler] = abilityId; } -void ClearBattlerAbilityHistory(u8 battlerId) +void ClearBattlerAbilityHistory(u8 battler) { - BATTLE_HISTORY->abilities[battlerId] = ABILITY_NONE; + BATTLE_HISTORY->abilities[battler] = ABILITY_NONE; } -void RecordItemEffectBattle(u8 battlerId, u8 itemEffect) +void RecordItemEffectBattle(u8 battler, u8 itemEffect) { - BATTLE_HISTORY->itemEffects[battlerId] = itemEffect; + BATTLE_HISTORY->itemEffects[battler] = itemEffect; } -void ClearBattlerItemEffectHistory(u8 battlerId) +void ClearBattlerItemEffectHistory(u8 battler) { - BATTLE_HISTORY->itemEffects[battlerId] = 0; + BATTLE_HISTORY->itemEffects[battler] = 0; } static void Cmd_if_random_less_than(void) @@ -712,14 +712,14 @@ static void Cmd_score(void) static void Cmd_if_hp_less_than(void) { - u16 battlerId; + u16 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) < gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) < gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -727,14 +727,14 @@ static void Cmd_if_hp_less_than(void) static void Cmd_if_hp_more_than(void) { - u16 battlerId; + u16 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) > gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) > gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -742,14 +742,14 @@ static void Cmd_if_hp_more_than(void) static void Cmd_if_hp_equal(void) { - u16 battlerId; + u16 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) == gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) == gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -757,14 +757,14 @@ static void Cmd_if_hp_equal(void) static void Cmd_if_hp_not_equal(void) { - u16 battlerId; + u16 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) != gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) != gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -772,17 +772,17 @@ static void Cmd_if_hp_not_equal(void) static void Cmd_if_status(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (gBattleMons[battlerId].status1 & status) + if (gBattleMons[battler].status1 & status) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -790,17 +790,17 @@ static void Cmd_if_status(void) static void Cmd_if_not_status(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (!(gBattleMons[battlerId].status1 & status)) + if (!(gBattleMons[battler].status1 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -808,17 +808,17 @@ static void Cmd_if_not_status(void) static void Cmd_if_status2(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if ((gBattleMons[battlerId].status2 & status)) + if ((gBattleMons[battler].status2 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -826,17 +826,17 @@ static void Cmd_if_status2(void) static void Cmd_if_not_status2(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (!(gBattleMons[battlerId].status2 & status)) + if (!(gBattleMons[battler].status2 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -844,17 +844,17 @@ static void Cmd_if_not_status2(void) static void Cmd_if_status3(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (gStatuses3[battlerId] & status) + if (gStatuses3[battler] & status) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -862,17 +862,17 @@ static void Cmd_if_status3(void) static void Cmd_if_not_status3(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (!(gStatuses3[battlerId] & status)) + if (!(gStatuses3[battler] & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -880,15 +880,15 @@ static void Cmd_if_not_status3(void) static void Cmd_if_side_affecting(void) { - u16 battlerId; + u16 battler; u32 side, status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - side = GET_BATTLER_SIDE(battlerId); + side = GET_BATTLER_SIDE(battler); status = T1_READ_32(gAIScriptPtr + 2); if (gSideStatuses[side] & status) @@ -899,15 +899,15 @@ static void Cmd_if_side_affecting(void) static void Cmd_if_not_side_affecting(void) { - u16 battlerId; + u16 battler; u32 side, status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - side = GET_BATTLER_SIDE(battlerId); + side = GET_BATTLER_SIDE(battler); status = T1_READ_32(gAIScriptPtr + 2); if (!(gSideStatuses[side] & status)) @@ -1155,9 +1155,9 @@ static u8 BattleAI_GetWantedBattler(u8 wantedBattler) static void Cmd_is_of_type(void) { - u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); + u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]); - if (IS_BATTLER_OF_TYPE(battlerId, gAIScriptPtr[2])) + if (IS_BATTLER_OF_TYPE(battler, gAIScriptPtr[2])) AI_THINKING_STRUCT->funcResult = TRUE; else AI_THINKING_STRUCT->funcResult = FALSE; @@ -1291,7 +1291,7 @@ static void Cmd_nop_2B(void) static void Cmd_count_usable_party_mons(void) { - u8 battlerId; + u8 battler; u8 battlerOnField1, battlerOnField2; struct Pokemon *party; s32 i; @@ -1299,11 +1299,11 @@ static void Cmd_count_usable_party_mons(void) AI_THINKING_STRUCT->funcResult = 0; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -1311,14 +1311,14 @@ static void Cmd_count_usable_party_mons(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u32 position; - battlerOnField1 = gBattlerPartyIndexes[battlerId]; - position = BATTLE_PARTNER(GetBattlerPosition(battlerId)); + battlerOnField1 = gBattlerPartyIndexes[battler]; + position = BATTLE_PARTNER(GetBattlerPosition(battler)); battlerOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(position)]; } - else // In singles there's only one battlerId by side. + else // In singles there's only one battler by side. { - battlerOnField1 = gBattlerPartyIndexes[battlerId]; - battlerOnField2 = gBattlerPartyIndexes[battlerId]; + battlerOnField1 = gBattlerPartyIndexes[battler]; + battlerOnField2 = gBattlerPartyIndexes[battler]; } for (i = 0; i < PARTY_SIZE; i++) @@ -1349,56 +1349,56 @@ static void Cmd_get_considered_move_effect(void) static void Cmd_get_ability(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gActiveBattler != battlerId) + if (gActiveBattler != battler) { - if (BATTLE_HISTORY->abilities[battlerId] != 0) + if (BATTLE_HISTORY->abilities[battler] != 0) { - AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->abilities[battlerId]; + AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->abilities[battler]; gAIScriptPtr += 2; return; } // abilities that prevent fleeing. - if (gBattleMons[battlerId].ability == ABILITY_SHADOW_TAG - || gBattleMons[battlerId].ability == ABILITY_MAGNET_PULL - || gBattleMons[battlerId].ability == ABILITY_ARENA_TRAP) + if (gBattleMons[battler].ability == ABILITY_SHADOW_TAG + || gBattleMons[battler].ability == ABILITY_MAGNET_PULL + || gBattleMons[battler].ability == ABILITY_ARENA_TRAP) { - AI_THINKING_STRUCT->funcResult = gBattleMons[battlerId].ability; + AI_THINKING_STRUCT->funcResult = gBattleMons[battler].ability; gAIScriptPtr += 2; return; } - if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) + if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != ABILITY_NONE) { - if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != ABILITY_NONE) + if (gSpeciesInfo[gBattleMons[battler].species].abilities[1] != ABILITY_NONE) { // AI has no knowledge of opponent, so it guesses which ability. if (Random() & 1) - AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; + AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; else - AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1]; + AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[1]; } else { - AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; // It's definitely ability 1. + AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; // It's definitely ability 1. } } else { - AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1. + AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1. } } else { // The AI knows its own ability. - AI_THINKING_STRUCT->funcResult = gBattleMons[battlerId].ability; + AI_THINKING_STRUCT->funcResult = gBattleMons[battler].ability; } gAIScriptPtr += 2; @@ -1406,32 +1406,32 @@ static void Cmd_get_ability(void) static void Cmd_check_ability(void) { - u32 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); + u32 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]); u32 ability = gAIScriptPtr[2]; if (gAIScriptPtr[1] == AI_TARGET || gAIScriptPtr[1] == AI_TARGET_PARTNER) { - if (BATTLE_HISTORY->abilities[battlerId] != ABILITY_NONE) + if (BATTLE_HISTORY->abilities[battler] != ABILITY_NONE) { - ability = BATTLE_HISTORY->abilities[battlerId]; + ability = BATTLE_HISTORY->abilities[battler]; AI_THINKING_STRUCT->funcResult = ability; } // Abilities that prevent fleeing. - else if (gBattleMons[battlerId].ability == ABILITY_SHADOW_TAG - || gBattleMons[battlerId].ability == ABILITY_MAGNET_PULL - || gBattleMons[battlerId].ability == ABILITY_ARENA_TRAP) + else if (gBattleMons[battler].ability == ABILITY_SHADOW_TAG + || gBattleMons[battler].ability == ABILITY_MAGNET_PULL + || gBattleMons[battler].ability == ABILITY_ARENA_TRAP) { - ability = gBattleMons[battlerId].ability; + ability = gBattleMons[battler].ability; } - else if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) + else if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != ABILITY_NONE) { - if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != ABILITY_NONE) + if (gSpeciesInfo[gBattleMons[battler].species].abilities[1] != ABILITY_NONE) { u8 abilityDummyVariable = ability; // Needed to match. - if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != abilityDummyVariable - && gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != abilityDummyVariable) + if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != abilityDummyVariable + && gSpeciesInfo[gBattleMons[battler].species].abilities[1] != abilityDummyVariable) { - ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; + ability = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; } else { @@ -1440,18 +1440,18 @@ static void Cmd_check_ability(void) } else { - ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; + ability = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; } } else { - ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1. + ability = gSpeciesInfo[gBattleMons[battler].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1. } } else { // The AI knows its own or partner's ability. - ability = gBattleMons[battlerId].ability; + ability = gBattleMons[battler].ability; } if (ability == 0) @@ -1570,19 +1570,19 @@ static void Cmd_if_status_in_party(void) struct Pokemon *party; s32 i; u32 statusToCompareTo; - u8 battlerId; + u8 battler; switch (gAIScriptPtr[1]) { case AI_USER: - battlerId = sBattler_AI; + battler = sBattler_AI; break; default: - battlerId = gBattlerTarget; + battler = gBattlerTarget; break; } - party = (GetBattlerSide(battlerId) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; + party = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; statusToCompareTo = T1_READ_32(gAIScriptPtr + 2); @@ -1607,19 +1607,19 @@ static void Cmd_if_status_not_in_party(void) struct Pokemon *party; s32 i; u32 statusToCompareTo; - u8 battlerId; + u8 battler; switch(gAIScriptPtr[1]) { case 1: - battlerId = sBattler_AI; + battler = sBattler_AI; break; default: - battlerId = gBattlerTarget; + battler = gBattlerTarget; break; } - party = (GetBattlerSide(battlerId) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; + party = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; statusToCompareTo = T1_READ_32(gAIScriptPtr + 2); @@ -1673,14 +1673,14 @@ static void Cmd_if_not_effect(void) static void Cmd_if_stat_level_less_than(void) { - u32 battlerId; + u32 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) + if (gBattleMons[battler].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1688,14 +1688,14 @@ static void Cmd_if_stat_level_less_than(void) static void Cmd_if_stat_level_more_than(void) { - u32 battlerId; + u32 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) + if (gBattleMons[battler].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1703,14 +1703,14 @@ static void Cmd_if_stat_level_more_than(void) static void Cmd_if_stat_level_equal(void) { - u32 battlerId; + u32 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) + if (gBattleMons[battler].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1718,14 +1718,14 @@ static void Cmd_if_stat_level_equal(void) static void Cmd_if_stat_level_not_equal(void) { - u32 battlerId; + u32 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) + if (gBattleMons[battler].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1951,16 +1951,16 @@ static void Cmd_if_doesnt_have_move_with_effect(void) static void Cmd_if_any_move_disabled_or_encored(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; if (gAIScriptPtr[2] == 0) { - if (gDisableStructs[battlerId].disabledMove == MOVE_NONE) + if (gDisableStructs[battler].disabledMove == MOVE_NONE) gAIScriptPtr += 7; else gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -1971,7 +1971,7 @@ static void Cmd_if_any_move_disabled_or_encored(void) } else { - if (gDisableStructs[battlerId].encoredMove != MOVE_NONE) + if (gDisableStructs[battler].encoredMove != MOVE_NONE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -2022,31 +2022,31 @@ static void Cmd_watch(void) static void Cmd_get_hold_effect(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gActiveBattler != battlerId) - AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[battlerId]); + if (gActiveBattler != battler) + AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[battler]); else - AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[battlerId].item); + AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[battler].item); gAIScriptPtr += 2; } static void Cmd_if_holds_item(void) { - u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); + u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]); u16 item; u8 itemLo, itemHi; - if ((battlerId & BIT_SIDE) == (sBattler_AI & BIT_SIDE)) - item = gBattleMons[battlerId].item; + if ((battler & BIT_SIDE) == (sBattler_AI & BIT_SIDE)) + item = gBattleMons[battler].item; else - item = BATTLE_HISTORY->itemEffects[battlerId]; + item = BATTLE_HISTORY->itemEffects[battler]; itemHi = gAIScriptPtr[2]; itemLo = gAIScriptPtr[3]; @@ -2066,42 +2066,42 @@ static void Cmd_if_holds_item(void) static void Cmd_get_gender(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[battlerId].species, gBattleMons[battlerId].personality); + AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[battler].species, gBattleMons[battler].personality); gAIScriptPtr += 2; } static void Cmd_is_first_turn_for(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].isFirstTurn; + AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].isFirstTurn; gAIScriptPtr += 2; } static void Cmd_get_stockpile_count(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].stockpileCounter; + AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].stockpileCounter; gAIScriptPtr += 2; } @@ -2115,14 +2115,14 @@ static void Cmd_is_double_battle(void) static void Cmd_get_used_held_item(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = *(u8 *)&gBattleStruct->usedHeldItems[battlerId]; + AI_THINKING_STRUCT->funcResult = *(u8 *)&gBattleStruct->usedHeldItems[battler]; gAIScriptPtr += 2; } @@ -2150,14 +2150,14 @@ static void Cmd_get_move_effect_from_result(void) static void Cmd_get_protect_count(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].protectUses; + AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].protectUses; gAIScriptPtr += 2; } @@ -2254,9 +2254,9 @@ static void Cmd_if_target_is_ally(void) static void Cmd_if_flash_fired(void) { - u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); + u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]); - if (gBattleResources->flags->flags[battlerId] & RESOURCE_FLAG_FLASH_FIRE) + if (gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; diff --git a/src/battle_anim.c b/src/battle_anim.c index e6e049c370..ea6a1b8925 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -592,30 +592,30 @@ static void Cmd_monbg(void) { bool8 toBG_2; u8 taskId; - u8 battlerId; + u8 battler; u8 animBattler; sBattleAnimScriptPtr++; animBattler = sBattleAnimScriptPtr[0]; if (animBattler & ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Move designated battler to background - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); taskId = CreateTask(Task_InitUpdateMonBg, 10); gAnimVisualTaskCount++; - gTasks[taskId].tBattlerId = battlerId; + gTasks[taskId].tBattlerId = battler; gTasks[taskId].tInBg2 = toBG_2; gTasks[taskId].tActive = TRUE; gTasks[taskId].tIsPartner = FALSE; @@ -623,19 +623,19 @@ static void Cmd_monbg(void) } // Move battler's partner to background - battlerId ^= BIT_FLANK; - if (IsBattlerSpriteVisible(battlerId)) + battler ^= BIT_FLANK; + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); taskId = CreateTask(Task_InitUpdateMonBg, 10); gAnimVisualTaskCount++; - gTasks[taskId].tBattlerId = battlerId; + gTasks[taskId].tBattlerId = battler; gTasks[taskId].tInBg2 = toBG_2; gTasks[taskId].tActive = TRUE; gTasks[taskId].tIsPartner = TRUE; @@ -646,26 +646,26 @@ static void Cmd_monbg(void) gAnimScriptCallback = WaitAnimFrameCount; } -bool8 IsBattlerSpriteVisible(u8 battlerId) +bool8 IsBattlerSpriteVisible(u8 battler) { if (IsContest()) { - if (battlerId == gBattleAnimAttacker) + if (battler == gBattleAnimAttacker) return TRUE; else return FALSE; } - if (!IsBattlerSpritePresent(battlerId)) + if (!IsBattlerSpritePresent(battler)) return FALSE; if (IsContest()) return TRUE; // This line won't ever be reached. - if (!gBattleSpritesDataPtr->battlerData[battlerId].invisible || !gSprites[gBattlerSpriteIds[battlerId]].invisible) + if (!gBattleSpritesDataPtr->battlerData[battler].invisible || !gSprites[gBattlerSpriteIds[battler]].invisible) return TRUE; return FALSE; } -void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) +void MoveBattlerSpriteToBG(u8 battler, bool8 toBG_2, bool8 setSpriteInvisible) { struct BattleAnimBgData animBg; u8 battlerSpriteId; @@ -693,7 +693,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0); - battlerSpriteId = gBattlerSpriteIds[battlerId]; + battlerSpriteId = gBattlerSpriteIds[battler]; gBattle_BG1_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20; if (IsContest() && IsSpeciesNotUnown(gContestResources->moveAnim->species)) @@ -701,18 +701,18 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) gBattle_BG1_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20; if (setSpriteInvisible) - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); - LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); - CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP); if (IsContest()) battlerPosition = 0; else - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); DrawBattlerOnBg(1, 0, 0, battlerPosition, animBg.paletteId, animBg.bgTiles, animBg.bgTilemap, animBg.tilesOffset); @@ -730,21 +730,21 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(2, BG_ANIM_AREA_OVERFLOW_MODE, 0); - battlerSpriteId = gBattlerSpriteIds[battlerId]; + battlerSpriteId = gBattlerSpriteIds[battler]; gBattle_BG2_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20; gBattle_BG2_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20; if (setSpriteInvisible) - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); - LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(9), PLTT_SIZE_4BPP); - CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], BG_PLTT_ID(9), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP); - DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); + DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battler), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); } } @@ -812,12 +812,12 @@ void ResetBattleAnimBg(bool8 toBG2) static void Task_UpdateMonBg(u8 taskId) { - u8 spriteId, battlerId; + u8 spriteId, battler; s16 x, y; struct BattleAnimBgData animBg; spriteId = gTasks[taskId].t2_SpriteId; - battlerId = gTasks[taskId].t2_BattlerId; + battler = gTasks[taskId].t2_BattlerId; GetBattleAnimBg1Data(&animBg); x = gTasks[taskId].t2_SpriteX - (gSprites[spriteId].x + gSprites[spriteId].x2); y = gTasks[taskId].t2_SpriteY - (gSprites[spriteId].y + gSprites[spriteId].y2); @@ -826,13 +826,13 @@ static void Task_UpdateMonBg(u8 taskId) { gBattle_BG1_X = x + gTasks[taskId].t2_BgX; gBattle_BG1_Y = y + gTasks[taskId].t2_BgY; - CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battlerId)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battler)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP); } else { gBattle_BG2_X = x + gTasks[taskId].t2_BgX; gBattle_BG2_Y = y + gTasks[taskId].t2_BgY; - CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battlerId)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battler)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP); } } @@ -852,7 +852,7 @@ static void Task_UpdateMonBg(u8 taskId) static void Cmd_clearmonbg(void) { u8 animBattlerId; - u8 battlerId; + u8 battler; u8 taskId; sBattleAnimScriptPtr++; @@ -864,20 +864,20 @@ static void Cmd_clearmonbg(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; if (sMonAnimTaskIdArray[0] != TASK_NONE) - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; if (animBattlerId > 1 && sMonAnimTaskIdArray[1] != TASK_NONE) - gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE; + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].invisible = FALSE; else animBattlerId = 0; taskId = CreateTask(Task_ClearMonBg, 5); gTasks[taskId].data[0] = animBattlerId; - gTasks[taskId].data[2] = battlerId; + gTasks[taskId].data[2] = battler; sBattleAnimScriptPtr++; } @@ -914,7 +914,7 @@ static void Task_ClearMonBg(u8 taskId) static void Cmd_monbg_static(void) { bool8 toBG_2; - u8 battlerId; + u8 battler; u8 animBattlerId; sBattleAnimScriptPtr++; @@ -927,31 +927,31 @@ static void Cmd_monbg_static(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); } - battlerId ^= BIT_FLANK; - if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId)) + battler ^= BIT_FLANK; + if (animBattlerId > 1 && IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); } sBattleAnimScriptPtr++; @@ -960,7 +960,7 @@ static void Cmd_monbg_static(void) static void Cmd_clearmonbg_static(void) { u8 animBattlerId; - u8 battlerId; + u8 battler; u8 taskId; sBattleAnimScriptPtr++; @@ -972,20 +972,20 @@ static void Cmd_clearmonbg_static(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - if (IsBattlerSpriteVisible(battlerId)) - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; - if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId))) - gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE; + if (IsBattlerSpriteVisible(battler)) + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; + if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].invisible = FALSE; else animBattlerId = 0; taskId = CreateTask(Task_ClearMonBgStatic, 5); gTasks[taskId].data[0] = animBattlerId; - gTasks[taskId].data[2] = battlerId; + gTasks[taskId].data[2] = battler; sBattleAnimScriptPtr++; } @@ -996,16 +996,16 @@ static void Task_ClearMonBgStatic(u8 taskId) if (gTasks[taskId].data[1] != 1) { bool8 toBG_2; - u8 battlerId = gTasks[taskId].data[2]; - u8 position = GetBattlerPosition(battlerId); + u8 battler = gTasks[taskId].data[2]; + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) ResetBattleAnimBg(toBG_2); - if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId))) + if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) ResetBattleAnimBg(toBG_2 ^ 1); DestroyTask(taskId); @@ -1687,19 +1687,19 @@ static void Cmd_jumpifcontest(void) static void Cmd_splitbgprio(void) { u8 wantedBattler; - u8 battlerId; + u8 battler; u8 battlerPosition; wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; if (wantedBattler != ANIM_ATTACKER) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Apply only if the given battler is the lead (on left from team's perspective) - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT)) { SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); @@ -1721,7 +1721,7 @@ static void Cmd_splitbgprio_foes(void) { u8 wantedBattler; u8 battlerPosition; - u8 battlerId; + u8 battler; wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; @@ -1730,12 +1730,12 @@ static void Cmd_splitbgprio_foes(void) if (GetBattlerSide(gBattleAnimAttacker) != GetBattlerSide(gBattleAnimTarget)) { if (wantedBattler != ANIM_ATTACKER) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Apply only if the given battler is the lead (on left from team's perspective) - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT)) { SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 4c8e79cb9f..a8a129c201 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -156,7 +156,7 @@ void AnimTask_ShakeMon2(u8 taskId) { u8 spriteId; bool8 abort = FALSE; - u8 battlerId; + u8 battler; if (gBattleAnimArgs[0] < MAX_BATTLERS_COUNT) { @@ -169,24 +169,24 @@ void AnimTask_ShakeMon2(u8 taskId) switch (gBattleAnimArgs[0]) { case ANIM_PLAYER_LEFT: - battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); break; case ANIM_PLAYER_RIGHT: - battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); break; case ANIM_OPPONENT_LEFT: - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); break; case ANIM_OPPONENT_RIGHT: default: - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); break; } - if (IsBattlerSpriteVisible(battlerId) == FALSE) + if (IsBattlerSpriteVisible(battler) == FALSE) abort = TRUE; - spriteId = gBattlerSpriteIds[battlerId]; + spriteId = gBattlerSpriteIds[battler]; } else { @@ -578,16 +578,16 @@ static void SlideMonToOffset(struct Sprite *sprite) static void SlideMonToOffsetAndBack(struct Sprite *sprite) { u8 spriteId; - u8 battlerId; + u8 battler; sprite->invisible = TRUE; if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - spriteId = gBattlerSpriteIds[battlerId]; - if (GetBattlerSide(battlerId)) + spriteId = gBattlerSpriteIds[battler]; + if (GetBattlerSide(battler)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 8a89cfc92f..dff3a71fa1 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -109,7 +109,7 @@ static const struct SpriteSheet sSpriteSheets_MoveEffectMons[] = { gMiscBlank_Gfx, MON_PIC_SIZE, TAG_MOVE_EFFECT_MON_2, }, }; -u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) +u8 GetBattlerSpriteCoord(u8 battler, u8 coordType) { u8 retVal; u16 species; @@ -117,7 +117,7 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) if (IsContest()) { - if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battlerId == 3) + if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battler == 3) coordType = BATTLER_COORD_Y; } @@ -125,10 +125,10 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) { case BATTLER_COORD_X: case BATTLER_COORD_X_2: - retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].x; + retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].x; break; case BATTLER_COORD_Y: - retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y; + retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].y; break; case BATTLER_COORD_Y_PIC_OFFSET: case BATTLER_COORD_Y_PIC_OFFSET_DEFAULT: @@ -142,34 +142,34 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) } else { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } } if (coordType == BATTLER_COORD_Y_PIC_OFFSET) - retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + retVal = GetBattlerSpriteFinal_Y(battler, species, TRUE); else - retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + retVal = GetBattlerSpriteFinal_Y(battler, species, FALSE); break; } return retVal; } -u8 GetBattlerYDelta(u8 battlerId, u16 species) +u8 GetBattlerYDelta(u8 battler, u16 species) { u16 letter; u32 personality; @@ -177,7 +177,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) u8 ret; u16 coordSpecies; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest()) + if (GetBattlerSide(battler) == B_SIDE_PLAYER || IsContest()) { if (species == SPECIES_UNOWN) { @@ -191,10 +191,10 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + if (!spriteInfo[battler].transformSpecies) + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); else - personality = gTransformedPersonalities[battlerId]; + personality = gTransformedPersonalities[battler]; } letter = GET_UNOWN_LETTER(personality); if (!letter) @@ -205,7 +205,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) } else if (species == SPECIES_CASTFORM) { - ret = sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; + ret = sCastformBackSpriteYCoords[gBattleMonForms[battler]]; } else if (species > NUM_SPECIES) { @@ -221,10 +221,10 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) if (species == SPECIES_UNOWN) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + if (!spriteInfo[battler].transformSpecies) + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); else - personality = gTransformedPersonalities[battlerId]; + personality = gTransformedPersonalities[battler]; letter = GET_UNOWN_LETTER(personality); if (!letter) coordSpecies = species; @@ -234,7 +234,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) } else if (species == SPECIES_CASTFORM) { - ret = gCastformFrontSpriteCoords[gBattleMonForms[battlerId]].y_offset; + ret = gCastformFrontSpriteCoords[gBattleMonForms[battler]].y_offset; } else if (species > NUM_SPECIES) { @@ -248,15 +248,15 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) return ret; } -u8 GetBattlerElevation(u8 battlerId, u16 species) +u8 GetBattlerElevation(u8 battler, u16 species) { u8 ret = 0; - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { if (!IsContest()) { if (species == SPECIES_CASTFORM) - ret = sCastformElevations[gBattleMonForms[battlerId]]; + ret = sCastformElevations[gBattleMonForms[battler]]; else if (species > NUM_SPECIES) ret = gEnemyMonElevation[0]; else @@ -266,24 +266,24 @@ u8 GetBattlerElevation(u8 battlerId, u16 species) return ret; } -u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3) +u8 GetBattlerSpriteFinal_Y(u8 battler, u16 species, bool8 a3) { u16 offset; u8 y; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest()) + if (GetBattlerSide(battler) == B_SIDE_PLAYER || IsContest()) { - offset = GetBattlerYDelta(battlerId, species); + offset = GetBattlerYDelta(battler, species); } else { - offset = GetBattlerYDelta(battlerId, species); - offset -= GetBattlerElevation(battlerId, species); + offset = GetBattlerYDelta(battler, species); + offset -= GetBattlerElevation(battler, species); } - y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y; + y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].y; if (a3) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) y += 8; if (y > DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8) y = DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8; @@ -291,7 +291,7 @@ u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3) return y; } -u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType) +u8 GetBattlerSpriteCoord2(u8 battler, u8 coordType) { u16 species; struct BattleSpriteInfo *spriteInfo; @@ -308,64 +308,64 @@ u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType) else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = gAnimBattlerSpecies[battlerId]; + if (!spriteInfo[battler].transformSpecies) + species = gAnimBattlerSpecies[battler]; else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } if (coordType == BATTLER_COORD_Y_PIC_OFFSET) - return GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + return GetBattlerSpriteFinal_Y(battler, species, TRUE); else - return GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + return GetBattlerSpriteFinal_Y(battler, species, FALSE); } else { - return GetBattlerSpriteCoord(battlerId, coordType); + return GetBattlerSpriteCoord(battler, coordType); } } -u8 GetBattlerSpriteDefault_Y(u8 battlerId) +u8 GetBattlerSpriteDefault_Y(u8 battler) { - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT); } -u8 GetSubstituteSpriteDefault_Y(u8 battlerId) +u8 GetSubstituteSpriteDefault_Y(u8 battler) { u16 y; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 16; + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 16; else - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 17; + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 17; return y; } -u8 GetBattlerYCoordWithElevation(u8 battlerId) +u8 GetBattlerYCoordWithElevation(u8 battler) { u16 species; u8 y; struct BattleSpriteInfo *spriteInfo; - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y); + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y); if (!IsContest()) { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - y -= GetBattlerElevation(battlerId, species); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + y -= GetBattlerElevation(battler, species); } return y; } @@ -846,14 +846,14 @@ void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffse sprite->y += gBattleAnimArgs[1]; } -u8 GetBattlerSide(u8 battlerId) +u8 GetBattlerSide(u8 battler) { - return GET_BATTLER_SIDE2(battlerId); + return GET_BATTLER_SIDE2(battler); } -u8 GetBattlerPosition(u8 battlerId) +u8 GetBattlerPosition(u8 battler) { - return gBattlerPositions[battlerId]; + return gBattlerPositions[battler]; } u8 GetBattlerAtPosition(u8 position) @@ -868,31 +868,31 @@ u8 GetBattlerAtPosition(u8 position) return i; } -bool8 IsBattlerSpritePresent(u8 battlerId) +bool8 IsBattlerSpritePresent(u8 battler) { if (IsContest()) { - if (gBattleAnimAttacker == battlerId) + if (gBattleAnimAttacker == battler) return TRUE; - else if (gBattleAnimTarget == battlerId) + else if (gBattleAnimTarget == battler) return TRUE; else return FALSE; } else { - if (gBattlerPositions[battlerId] == 0xff) + if (gBattlerPositions[battler] == 0xff) { return FALSE; } - else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battler) != B_SIDE_PLAYER) { - if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0) + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) != 0) return TRUE; } else { - if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) != 0) return TRUE; } } @@ -956,7 +956,7 @@ void GetBattleAnimBgData(struct BattleAnimBgData *out, u32 bgId) } } -void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battlerId) +void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battler) { out->bgTiles = gBattleAnimBgTileBuffer; out->bgTilemap = (u16 *)gBattleAnimBgTilemapBuffer; @@ -1294,14 +1294,14 @@ static bool8 ShouldRotScaleSpeciesBeFlipped(void) void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode) { - u8 battlerId = gSprites[spriteId].data[0]; + u8 battler = gSprites[spriteId].data[0]; - if (IsContest() || IsBattlerSpriteVisible(battlerId)) + if (IsContest() || IsBattlerSpriteVisible(battler)) gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = objMode; gSprites[spriteId].affineAnimPaused = TRUE; if (!IsContest() && !gSprites[spriteId].oam.affineMode) - gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].matrixNum; + gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battler].matrixNum; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); } @@ -1591,7 +1591,7 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite) void AnimTravelDiagonally(struct Sprite *sprite) { bool8 respectMonPicOffsets; - u8 battlerId, coordType; + u8 battler, coordType; if (!gBattleAnimArgs[6]) { @@ -1606,19 +1606,19 @@ void AnimTravelDiagonally(struct Sprite *sprite) if (gBattleAnimArgs[5] == ANIM_ATTACKER) { InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; } else { InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; } if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(battler, coordType) + gBattleAnimArgs[3]; sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } @@ -1897,7 +1897,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId) static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) { struct BattleSpriteInfo *spriteInfo; - u8 battlerId = gSprites[spriteId].data[0]; + u8 battler = gSprites[spriteId].data[0]; u16 species; u16 i; @@ -1915,26 +1915,26 @@ static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) if (GetBattlerSide(i) == B_SIDE_PLAYER) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; if (species == SPECIES_CASTFORM) - return sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; + return sCastformBackSpriteYCoords[gBattleMonForms[battler]]; else return gMonBackPicCoords[species].y_offset; } else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; if (species == SPECIES_CASTFORM) - return sCastformElevations[gBattleMonForms[battlerId]]; + return sCastformElevations[gBattleMonForms[battler]]; else return gMonFrontPicCoords[species].y_offset; } @@ -2032,21 +2032,21 @@ void InitPrioritiesForVisibleBattlers(void) } } -u8 GetBattlerSpriteSubpriority(u8 battlerId) +u8 GetBattlerSpriteSubpriority(u8 battler) { u8 position; u8 subpriority; if (IsContest()) { - if (battlerId == 2) + if (battler == 2) return 30; else return 40; } else { - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); if (position == B_POSITION_PLAYER_LEFT) subpriority = 30; else if (position == B_POSITION_PLAYER_RIGHT) @@ -2060,9 +2060,9 @@ u8 GetBattlerSpriteSubpriority(u8 battlerId) return subpriority; } -u8 GetBattlerSpriteBGPriority(u8 battlerId) +u8 GetBattlerSpriteBGPriority(u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (IsContest()) return 2; @@ -2072,11 +2072,11 @@ u8 GetBattlerSpriteBGPriority(u8 battlerId) return GetAnimBgAttribute(1, BG_ANIM_PRIORITY); } -u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) +u8 GetBattlerSpriteBGPriorityRank(u8 battler) { if (!IsContest()) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT) return 2; else @@ -2086,7 +2086,7 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) } // Create Pokémon sprite to be used for a move animation effect (e.g. Role Play / Snatch) -u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxysForm) +u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battler, bool32 ignoreDeoxysForm) { u8 spriteId; u16 sheet = LoadSpriteSheet(&sSpriteSheets_MoveEffectMons[id]); @@ -2097,7 +2097,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 if (!isBackpic) { LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP); - if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) + if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->buffer, species, @@ -2113,7 +2113,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 else { LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP); - if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) + if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], gMonSpritesGfxPtr->buffer, species, @@ -2148,7 +2148,7 @@ void DestroySpriteAndFreeResources_(struct Sprite *sprite) DestroySpriteAndFreeResources(sprite); } -s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) +s16 GetBattlerSpriteCoordAttr(u8 battler, u8 attr) { u16 species; u32 personality; @@ -2181,7 +2181,7 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) } else if (species == SPECIES_CASTFORM) { - coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; + coords = &gCastformFrontSpriteCoords[gBattleMonForms[battler]]; } else if (species <= SPECIES_EGG) { @@ -2194,18 +2194,18 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) { - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); } else { - species = spriteInfo[battlerId].transformSpecies; - personality = gTransformedPersonalities[battlerId]; + species = spriteInfo[battler].transformSpecies; + personality = gTransformedPersonalities[battler]; } if (species == SPECIES_UNOWN) @@ -2229,15 +2229,15 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) { - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); } else { - species = spriteInfo[battlerId].transformSpecies; - personality = gTransformedPersonalities[battlerId]; + species = spriteInfo[battler].transformSpecies; + personality = gTransformedPersonalities[battler]; } if (species == SPECIES_UNOWN) @@ -2251,7 +2251,7 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) } else if (species == SPECIES_CASTFORM) { - coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; + coords = &gCastformFrontSpriteCoords[gBattleMonForms[battler]]; } else if (species > NUM_SPECIES) { @@ -2271,22 +2271,22 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) case BATTLER_COORD_ATTR_WIDTH: return GET_MON_COORDS_WIDTH(coords->size); case BATTLER_COORD_ATTR_LEFT: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(coords->size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(coords->size) / 2); case BATTLER_COORD_ATTR_RIGHT: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(coords->size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(coords->size) / 2); case BATTLER_COORD_ATTR_TOP: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(coords->size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(coords->size) / 2); case BATTLER_COORD_ATTR_BOTTOM: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(coords->size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(coords->size) / 2); case BATTLER_COORD_ATTR_RAW_BOTTOM: - ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31; + ret = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 31; return ret - coords->y_offset; default: return 0; } } -void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y) +void SetAverageBattlerPositions(u8 battler, bool8 respectMonPicOffsets, s16 *x, s16 *y) { u8 xCoordType, yCoordType; s16 battlerX, battlerY; @@ -2303,12 +2303,12 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x yCoordType = BATTLER_COORD_Y_PIC_OFFSET; } - battlerX = GetBattlerSpriteCoord(battlerId, xCoordType); - battlerY = GetBattlerSpriteCoord(battlerId, yCoordType); + battlerX = GetBattlerSpriteCoord(battler, xCoordType); + battlerY = GetBattlerSpriteCoord(battler, yCoordType); if (IsDoubleBattle() && !IsContest()) { - partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType); - partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType); + partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battler), xCoordType); + partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battler), yCoordType); } else { @@ -2320,7 +2320,7 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x *y = (battlerY + partnerY) / 2; } -u8 CreateInvisibleSpriteCopy(int battlerId, u8 spriteId, int species) +u8 CreateInvisibleSpriteCopy(int battler, u8 spriteId, int species) { u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); gSprites[newSpriteId] = gSprites[spriteId]; diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 1fde3a9823..a833df2dd1 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -144,29 +144,29 @@ void SoundTask_PlayCryHighPitch(u8 taskId) } else { - u8 battlerId; + u8 battler; // Get wanted battler. if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER) - battlerId = BATTLE_PARTNER(gBattleAnimAttacker); + battler = BATTLE_PARTNER(gBattleAnimAttacker); else - battlerId = BATTLE_PARTNER(gBattleAnimTarget); + battler = BATTLE_PARTNER(gBattleAnimTarget); // Check if battler is visible. - if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId)) + if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battler)) { DestroyAnimVisualTask(taskId); return; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); } if (species != SPECIES_NONE) @@ -192,29 +192,29 @@ void SoundTask_PlayDoubleCry(u8 taskId) } else { - u8 battlerId; + u8 battler; // Get wanted battler. if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER) - battlerId = BATTLE_PARTNER(gBattleAnimAttacker); + battler = BATTLE_PARTNER(gBattleAnimAttacker); else - battlerId = BATTLE_PARTNER(gBattleAnimTarget); + battler = BATTLE_PARTNER(gBattleAnimTarget); // Check if battler is visible. - if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId)) + if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battler)) { DestroyAnimVisualTask(taskId); return; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); } gTasks[taskId].data[0] = gBattleAnimArgs[1]; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index cc04843b7f..ca69f109ca 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -270,16 +270,16 @@ static const struct SpriteTemplate sFlashingCircleImpactSpriteTemplate = .callback = AnimFlashingCircleImpact, }; -static u8 UNUSED Task_FlashingCircleImpacts(u8 battlerId, bool8 red) +static u8 UNUSED Task_FlashingCircleImpacts(u8 battler, bool8 red) { - u8 battlerSpriteId = gBattlerSpriteIds[battlerId]; + u8 battlerSpriteId = gBattlerSpriteIds[battler]; u8 taskId = CreateTask(Task_UpdateFlashingCircleImpacts, 10); u8 spriteId; u8 i; LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); - gTasks[taskId].data[0] = battlerId; + gTasks[taskId].data[0] = battler; if (red) { gTasks[taskId].data[1] = RGB_RED; @@ -540,15 +540,15 @@ void AnimTask_StatsChange(u8 taskId) #undef CASE -void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId) +void LaunchStatusAnimation(u8 battler, u8 statusAnimId) { u8 taskId; - gBattleAnimAttacker = battlerId; - gBattleAnimTarget = battlerId; + gBattleAnimAttacker = battler; + gBattleAnimTarget = battler; LaunchBattleAnimation(gBattleAnims_StatusConditions, statusAnimId, FALSE); taskId = CreateTask(Task_DoStatusAnimation, 10); - gTasks[taskId].data[0] = battlerId; + gTasks[taskId].data[0] = battler; } static void Task_DoStatusAnimation(u8 taskId) diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 00fb018b8b..7ef9d3e9cf 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -92,7 +92,7 @@ static void LinkOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst); static void SetLinkOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void LinkOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -1141,36 +1141,36 @@ static void LinkOpponentHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void LinkOpponentHandleReturnMonToBall(void) @@ -1321,7 +1321,7 @@ static void LinkOpponentHandleTrainerSlide(void) gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle battlerId function + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle battler function LinkOpponentBufferExecCompleted(); } @@ -1534,11 +1534,11 @@ static void LinkOpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 53babb1f1d..1a486b93f2 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -92,7 +92,7 @@ static void LinkPartnerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst); static void SetLinkPartnerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void LinkPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -1036,35 +1036,35 @@ static void LinkPartnerHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void LinkPartnerHandleReturnMonToBall(void) @@ -1373,11 +1373,11 @@ static void LinkPartnerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 07dd7596d8..21431053ea 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -97,7 +97,7 @@ static void OpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 GetOpponentMonData(u8 monId, u8 *dst); static void SetOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void OpponentDoMoveAnimation(void); static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); @@ -1165,36 +1165,36 @@ static void OpponentHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void OpponentHandleReturnMonToBall(void) @@ -1713,11 +1713,11 @@ static void OpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 125d83d3fa..4b564ad141 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1154,10 +1154,10 @@ static void CompleteOnInactiveTextPrinter(void) static void Task_GiveExpToMon(u8 taskId) { u32 monId = (u8)(gTasks[taskId].tExpTask_monId); - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // Give exp without moving the expbar. + if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battler]) // Give exp without moving the expbar. { struct Pokemon *mon = &gPlayerParty[monId]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1173,12 +1173,12 @@ static void Task_GiveExpToMon(u8 taskId) CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; savedActiveBattler = gActiveBattler; - gActiveBattler = battlerId; + gActiveBattler = battler; BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) + && ((u16)(monId) == gBattlerPartyIndexes[battler] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -1187,7 +1187,7 @@ static void Task_GiveExpToMon(u8 taskId) { currExp += gainedExp; SetMonData(mon, MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -1201,7 +1201,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) { u8 monIndex = gTasks[taskId].tExpTask_monId; s32 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; struct Pokemon *mon = &gPlayerParty[monIndex]; u8 level = GetMonData(mon, MON_DATA_LEVEL); u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1211,7 +1211,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp; - SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = Task_GiveExpWithExpBar; } @@ -1226,11 +1226,11 @@ static void Task_GiveExpWithExpBar(u8 taskId) { u8 monId = gTasks[taskId].tExpTask_monId; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; s16 newExpPoints; - newExpPoints = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); + newExpPoints = MoveBattleBar(battler, gHealthboxSpriteIds[battler], EXP_BAR, 0); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); if (newExpPoints == -1) // The bar has been filled with given exp points. { u8 level; @@ -1252,7 +1252,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) CalculateMonStats(&gPlayerParty[monId]); gainedExp -= expOnNextLvl - currExp; savedActiveBattler = gActiveBattler; - gActiveBattler = battlerId; + gActiveBattler = battler; BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; gTasks[taskId].func = Task_LaunchLvlUpAnim; @@ -1261,7 +1261,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) { currExp += gainedExp; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -1270,30 +1270,30 @@ static void Task_GiveExpWithExpBar(u8 taskId) static void Task_LaunchLvlUpAnim(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - battlerId ^= BIT_FLANK; + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + battler ^= BIT_FLANK; - InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_LVL_UP); gTasks[taskId].func = Task_UpdateLvlInHealthbox; } static void Task_UpdateLvlInHealthbox(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; - if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { u8 monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[monIndex], HEALTHBOX_ALL); else - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[monIndex], HEALTHBOX_ALL); gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; } @@ -1302,12 +1302,12 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) { u8 monIndex; - u8 battlerId; + u8 battler; monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. - battlerId = gTasks[taskId].tExpTask_battler; - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + battler = gTasks[taskId].tExpTask_battler; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } @@ -2193,35 +2193,35 @@ static void PlayerHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnimShowHealthbox; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void PlayerHandleReturnMonToBall(void) @@ -2756,11 +2756,11 @@ static void PlayerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -2975,7 +2975,7 @@ static void PlayerHandleIntroTrainerBallThrow(void) void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) { - u8 battlerId = sprite->sBattlerId; + u8 battler = sprite->sBattlerId; // Free player trainer sprite FreeSpriteOamMatrix(sprite); @@ -2983,8 +2983,8 @@ void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) DestroySprite(sprite); // Load mon sprite - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); } #undef sBattlerId diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 04445736c4..a5d00c4740 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -95,7 +95,7 @@ static void Task_UpdateLvlInHealthbox(u8 taskId); static void SwitchIn_WaitAndEnd(void); static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst); static void SetPlayerPartnerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void PlayerPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -312,10 +312,10 @@ static void CompleteOnInactiveTextPrinter(void) static void Task_GiveExpToMon(u8 taskId) { u32 monId = (u8)(gTasks[taskId].tExpTask_monId); - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // give exp without the expbar + if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battler]) // give exp without the expbar { struct Pokemon *mon = &gPlayerParty[monId]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -331,12 +331,12 @@ static void Task_GiveExpToMon(u8 taskId) CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBattler; - gActiveBattler = battlerId; + gActiveBattler = battler; BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) + && ((u16)(monId) == gBattlerPartyIndexes[battler] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -345,7 +345,7 @@ static void Task_GiveExpToMon(u8 taskId) { currExp += gainedExp; SetMonData(mon, MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -359,7 +359,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) { u8 monIndex = gTasks[taskId].tExpTask_monId; s32 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; struct Pokemon *mon = &gPlayerParty[monIndex]; u8 level = GetMonData(mon, MON_DATA_LEVEL); u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -369,7 +369,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp; - SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = Task_GiveExpWithExpBar; } @@ -384,11 +384,11 @@ static void Task_GiveExpWithExpBar(u8 taskId) { u8 monId = gTasks[taskId].tExpTask_monId; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; s16 r4; - r4 = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); + r4 = MoveBattleBar(battler, gHealthboxSpriteIds[battler], EXP_BAR, 0); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); if (r4 == -1) { u8 level; @@ -410,7 +410,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) CalculateMonStats(&gPlayerParty[monId]); gainedExp -= expOnNextLvl - currExp; savedActiveBank = gActiveBattler; - gActiveBattler = battlerId; + gActiveBattler = battler; BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; gTasks[taskId].func = Task_LaunchLvlUpAnim; @@ -419,7 +419,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) { currExp += gainedExp; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -428,30 +428,30 @@ static void Task_GiveExpWithExpBar(u8 taskId) static void Task_LaunchLvlUpAnim(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - battlerId ^= BIT_FLANK; + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + battler ^= BIT_FLANK; - InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_LVL_UP); gTasks[taskId].func = Task_UpdateLvlInHealthbox; } static void Task_UpdateLvlInHealthbox(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; - if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { u8 monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[monIndex], HEALTHBOX_ALL); else - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[monIndex], HEALTHBOX_ALL); gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; } @@ -460,12 +460,12 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) { u8 monIndex; - u8 battlerId; + u8 battler; monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - battlerId = gTasks[taskId].tExpTask_bank; - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + battler = gTasks[taskId].tExpTask_bank; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } @@ -1220,35 +1220,35 @@ static void PlayerPartnerHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void PlayerPartnerHandleReturnMonToBall(void) @@ -1623,11 +1623,11 @@ static void PlayerPartnerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 1c73b65913..8178e51d01 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -92,7 +92,7 @@ static void RecordedOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst); static void SetRecordedOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void RecordedOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -1127,35 +1127,35 @@ static void RecordedOpponentHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void RecordedOpponentHandleReturnMonToBall(void) @@ -1477,11 +1477,11 @@ static void RecordedOpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 4026aa728f..f11a759148 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -88,7 +88,7 @@ static void RecordedPlayerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst); static void SetRecordedPlayerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void RecordedPlayerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -1111,35 +1111,35 @@ static void RecordedPlayerHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void RecordedPlayerHandleReturnMonToBall(void) @@ -1504,11 +1504,11 @@ static void RecordedPlayerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 5715c522f5..11d7a851f4 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1458,31 +1458,31 @@ static void WallyHandleIntroTrainerBallThrow(void) gBattlerControllerFuncs[gActiveBattler] = BattleControllerDummy; } -static void StartSendOutAnim(u8 battlerId) +static void StartSendOutAnim(u8 battler) { u16 species; - gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = 0; - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + gBattleSpritesDataPtr->battlerData[battler].transformSpecies = 0; + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void Task_StartSendOutAnim(u8 taskId) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 559fa8604b..76f763909a 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -736,10 +736,10 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkSendTaskId].tCurrentBlock_End; gTasks[sLinkSendTaskId].tCurrentBlock_End = 0; } - + #define BYTE_TO_SEND(offset) \ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].tCurrentBlock_End + offset] - + BYTE_TO_SEND(LINK_BUFF_BUFFER_ID) = bufferId; BYTE_TO_SEND(LINK_BUFF_ACTIVE_BATTLER) = gActiveBattler; BYTE_TO_SEND(LINK_BUFF_ATTACKER) = gBattlerAttacker; @@ -770,7 +770,7 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) { u16 numPlayers; u16 blockSize; - + #define BYTE_TO_SEND(offset) \ gLinkBattleSendBuffer[gTasks[taskId].tCurrentBlock_Start + offset] @@ -850,7 +850,7 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) } break; } - + #undef BYTE_TO_SEND } @@ -903,9 +903,9 @@ void TryReceiveLinkBattleData(void) static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) { u16 blockSize; - u8 battlerId; + u8 battler; u8 playerId; - + #define BYTE_TO_RECEIVE(offset) \ gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + offset] @@ -917,17 +917,17 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) gTasks[taskId].tCurrentBlock_WrapFrom = 0; gTasks[taskId].tCurrentBlock_Start = 0; } - battlerId = BYTE_TO_RECEIVE(LINK_BUFF_ACTIVE_BATTLER); + battler = BYTE_TO_RECEIVE(LINK_BUFF_ACTIVE_BATTLER); blockSize = BYTE_TO_RECEIVE(LINK_BUFF_SIZE_LO) | (BYTE_TO_RECEIVE(LINK_BUFF_SIZE_HI) << 8); switch (BYTE_TO_RECEIVE(0)) { case B_COMM_TO_CONTROLLER: - if (IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId)) + if (IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler)) return; - memcpy(gBattleBufferA[battlerId], &BYTE_TO_RECEIVE(LINK_BUFF_DATA), blockSize); - MarkBattlerReceivedLinkData(battlerId); + memcpy(gBattleBufferA[battler], &BYTE_TO_RECEIVE(LINK_BUFF_DATA), blockSize); + MarkBattlerReceivedLinkData(battler); if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { @@ -938,17 +938,17 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) } break; case B_COMM_TO_ENGINE: - memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + LINK_BUFF_DATA], blockSize); + memcpy(gBattleBufferB[battler], &gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + LINK_BUFF_DATA], blockSize); break; case B_COMM_CONTROLLER_IS_DONE: playerId = BYTE_TO_RECEIVE(LINK_BUFF_DATA); - MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battlerId, playerId); + MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battler, playerId); break; } gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA; } - + #undef BYTE_TO_RECEIVE } diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 63a466af25..9181b82667 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -551,13 +551,13 @@ bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn) } // Check if SE has finished or 30 calls, whichever comes first -bool8 IsBattleSEPlaying(u8 battlerId) +bool8 IsBattleSEPlaying(u8 battler) { u8 zero = 0; if (IsSEPlaying()) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer++; + gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer++; if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].soundTimer < 30) return TRUE; @@ -566,7 +566,7 @@ bool8 IsBattleSEPlaying(u8 battlerId) } if (zero == 0) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer = 0; return FALSE; } @@ -574,7 +574,7 @@ bool8 IsBattleSEPlaying(u8 battlerId) return TRUE; } -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battler) { u32 monsPersonality, currentPersonality, otId; u16 species; @@ -584,50 +584,50 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) { species = GetMonData(mon, MON_DATA_SPECIES); currentPersonality = monsPersonality; } else { - species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; - currentPersonality = gTransformedPersonalities[battlerId]; + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + currentPersonality = gTransformedPersonalities[battler]; } otId = GetMonData(mon, MON_DATA_OT_ID); - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites.ptr[position], species, currentPersonality); - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); else lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); LZDecompressWram(lzPaletteData, gDecompressionBuffer); LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP); if (species == SPECIES_CASTFORM) { - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battler]], paletteOffset, PLTT_SIZE_4BPP); } // transform's white color - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16)); } } -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battler) { u32 monsPersonality, currentPersonality, otId; u16 species; @@ -637,21 +637,21 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) { species = GetMonData(mon, MON_DATA_SPECIES); currentPersonality = monsPersonality; } else { - species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; - currentPersonality = gTransformedPersonalities[battlerId]; + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + currentPersonality = gTransformedPersonalities[battler]; } otId = GetMonData(mon, MON_DATA_OT_ID); - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); - if (ShouldIgnoreDeoxysForm(1, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + if (ShouldIgnoreDeoxysForm(1, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) { HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], gMonSpritesGfxPtr->sprites.ptr[position], @@ -664,26 +664,26 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) species, currentPersonality); } - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); else lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); LZDecompressWram(lzPaletteData, gDecompressionBuffer); LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP); if (species == SPECIES_CASTFORM) { - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battler]], paletteOffset, PLTT_SIZE_4BPP); } // transform's pink color - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16)); @@ -698,23 +698,23 @@ void BattleGfxSfxDummy2(u16 species) { } -void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId) +void DecompressTrainerFrontPic(u16 frontPicId, u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); DecompressPicFromTable_2(&gTrainerFrontPicTable[frontPicId], gMonSpritesGfxPtr->sprites.ptr[position], SPECIES_NONE); LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[frontPicId]); } -void DecompressTrainerBackPic(u16 backPicId, u8 battlerId) +void DecompressTrainerBackPic(u16 backPicId, u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); DecompressPicFromTable_2(&gTrainerBackPicTable[backPicId], gMonSpritesGfxPtr->sprites.ptr[position], SPECIES_NONE); LoadCompressedPalette(gTrainerBackPicPaletteTable[backPicId].data, - OBJ_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + OBJ_PLTT_ID(battler), PLTT_SIZE_4BPP); } void BattleGfxSfxDummy3(u8 gender) @@ -820,7 +820,7 @@ void LoadBattleBarGfx(u8 unused) LZDecompressWram(gBattleInterfaceGfx_BattleBar, gMonSpritesGfxPtr->barFontGfx); } -bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) +bool8 BattleInitAllSprites(u8 *state1, u8 *battler) { bool8 retVal = FALSE; @@ -831,13 +831,13 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) (*state1)++; break; case 1: - if (!BattleLoadAllHealthBoxesGfx(*battlerId)) + if (!BattleLoadAllHealthBoxesGfx(*battler)) { - (*battlerId)++; + (*battler)++; } else { - *battlerId = 0; + *battler = 0; (*state1)++; } break; @@ -845,47 +845,47 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) (*state1)++; break; case 3: - if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battlerId == 0) - gHealthboxSpriteIds[*battlerId] = CreateSafariPlayerHealthboxSprites(); + if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battler == 0) + gHealthboxSpriteIds[*battler] = CreateSafariPlayerHealthboxSprites(); else - gHealthboxSpriteIds[*battlerId] = CreateBattlerHealthboxSprites(*battlerId); + gHealthboxSpriteIds[*battler] = CreateBattlerHealthboxSprites(*battler); - (*battlerId)++; - if (*battlerId == gBattlersCount) + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; case 4: - InitBattlerHealthboxCoords(*battlerId); - if (gBattlerPositions[*battlerId] <= B_POSITION_OPPONENT_LEFT) - DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], FALSE); + InitBattlerHealthboxCoords(*battler); + if (gBattlerPositions[*battler] <= B_POSITION_OPPONENT_LEFT) + DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], FALSE); else - DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], TRUE); + DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], TRUE); - (*battlerId)++; - if (*battlerId == gBattlersCount) + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; case 5: - if (GetBattlerSide(*battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(*battler) == B_SIDE_PLAYER) { if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) - UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gPlayerParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[*battler], &gPlayerParty[gBattlerPartyIndexes[*battler]], HEALTHBOX_ALL); } else { - UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gEnemyParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[*battler], &gEnemyParty[gBattlerPartyIndexes[*battler]], HEALTHBOX_ALL); } - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battlerId]); - (*battlerId)++; - if (*battlerId == gBattlersCount) + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battler]); + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; @@ -919,9 +919,9 @@ void CopyAllBattleSpritesInvisibilities(void) gBattleSpritesDataPtr->battlerData[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible; } -void CopyBattleSpriteInvisibility(u8 battlerId) +void CopyBattleSpriteInvisibility(u8 battler) { - gBattleSpritesDataPtr->battlerData[battlerId].invisible = gSprites[gBattlerSpriteIds[battlerId]].invisible; + gBattleSpritesDataPtr->battlerData[battler].invisible = gSprites[gBattlerSpriteIds[battler]].invisible; } void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform) @@ -1023,7 +1023,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform) } } -void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) +void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite) { s32 i, position, palOffset; @@ -1032,11 +1032,11 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) if (IsContest()) position = B_POSITION_PLAYER_LEFT; else - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); if (IsContest()) LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]); - else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battler) != B_SIDE_PLAYER) LZDecompressVram(gSubstituteDollFrontGfx, gMonSpritesGfxPtr->sprites.ptr[position]); else LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]); @@ -1046,66 +1046,66 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) Dma3CopyLarge32_(gMonSpritesGfxPtr->sprites.ptr[position], &gMonSpritesGfxPtr->sprites.byte[position][MON_PIC_SIZE * i], MON_PIC_SIZE); } - palOffset = OBJ_PLTT_ID(battlerId); + palOffset = OBJ_PLTT_ID(battler); LoadCompressedPalette(gSubstituteDollPal, palOffset, PLTT_SIZE_4BPP); } else { if (!IsContest()) { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); else - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); } } } -void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId) +void LoadBattleMonGfxAndAnimate(u8 battler, bool8 loadMonSprite, u8 spriteId) { - BattleLoadSubstituteOrMonSpriteGfx(battlerId, loadMonSprite); - StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battlerId]); + BattleLoadSubstituteOrMonSpriteGfx(battler, loadMonSprite); + StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battler]); if (!loadMonSprite) - gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battlerId); + gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battler); else - gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battlerId); + gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battler); } -void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move) +void TrySetBehindSubstituteSpriteBit(u8 battler, u16 move) { if (move == MOVE_SUBSTITUTE) - gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 1; + gBattleSpritesDataPtr->battlerData[battler].behindSubstitute = 1; } -void ClearBehindSubstituteBit(u8 battlerId) +void ClearBehindSubstituteBit(u8 battler) { - gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 0; + gBattleSpritesDataPtr->battlerData[battler].behindSubstitute = 0; } -void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battler) { u16 hp = GetMonData(mon, MON_DATA_HP); u16 maxHP = GetMonData(mon, MON_DATA_MAX_HP); if (GetHPBarLevel(hp, maxHP) == HP_BAR_RED) { - if (!gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong) + if (!gBattleSpritesDataPtr->battlerData[battler].lowHpSong) { - if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong) + if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battler)].lowHpSong) PlaySE(SE_LOW_HEALTH); - gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 1; + gBattleSpritesDataPtr->battlerData[battler].lowHpSong = 1; } } else { - gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 0; + gBattleSpritesDataPtr->battlerData[battler].lowHpSong = 0; if (!IsDoubleBattle()) { m4aSongNumStop(SE_LOW_HEALTH); return; } - if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong) + if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battler)].lowHpSong) { m4aSongNumStop(SE_LOW_HEALTH); return; @@ -1174,46 +1174,46 @@ void SetBattlerSpriteAffineMode(u8 affineMode) void LoadAndCreateEnemyShadowSprites(void) { - u8 battlerId; + u8 battler; LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X), - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29, + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29, 0xC8); - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler; if (IsDoubleBattle()) { - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X), - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29, + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29, 0xC8); - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler; } } void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) { bool8 invisible = FALSE; - u8 battlerId = shadowSprite->tBattlerId; - struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battlerId]]; + u8 battler = shadowSprite->tBattlerId; + struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battler]]; - if (!battlerSprite->inUse || !IsBattlerSpritePresent(battlerId)) + if (!battlerSprite->inUse || !IsBattlerSpritePresent(battler)) { shadowSprite->callback = SpriteCB_SetInvisible; return; } if (gAnimScriptActive || battlerSprite->invisible) invisible = TRUE; - else if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE - && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies] == 0) + else if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE + && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battler].transformSpecies] == 0) invisible = TRUE; - if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute) + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) invisible = TRUE; shadowSprite->x = battlerSprite->x; @@ -1228,24 +1228,24 @@ void SpriteCB_SetInvisible(struct Sprite *sprite) sprite->invisible = TRUE; } -void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species) +void SetBattlerShadowSpriteCallback(u8 battler, u16 species) { // The player's shadow is never seen. - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) return; - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) - species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; if (gEnemyMonElevation[species] != 0) - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_EnemyShadow; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_EnemyShadow; else - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; } -void HideBattlerShadowSprite(u8 battlerId) +void HideBattlerShadowSprite(u8 battler) { - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; } // Color the background tiles surrounding the action selection and move windows @@ -1272,12 +1272,12 @@ void FillAroundBattleWindows(void) } } -void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute) +void ClearTemporarySpeciesSpriteData(u8 battler, bool8 dontClearSubstitute) { - gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = SPECIES_NONE; - gBattleMonForms[battlerId] = 0; + gBattleSpritesDataPtr->battlerData[battler].transformSpecies = SPECIES_NONE; + gBattleMonForms[battler] = 0; if (!dontClearSubstitute) - ClearBehindSubstituteBit(battlerId); + ClearBehindSubstituteBit(battler); } void AllocateMonSpritesGfx(void) diff --git a/src/battle_interface.c b/src/battle_interface.c index a417be4a72..4262ceeb93 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -866,7 +866,7 @@ static void UNUSED Debug_DrawNumberPair(s16 number1, s16 number2, u16 *dest) #define hBar_HealthBoxSpriteId data[5] #define hBar_Data6 data[6] -u8 CreateBattlerHealthboxSprites(u8 battlerId) +u8 CreateBattlerHealthboxSprites(u8 battler) { s16 data6 = 0; u8 healthboxLeftSpriteId, healthboxRightSpriteId; @@ -875,7 +875,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) if (!IsDoubleBattle()) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); @@ -901,10 +901,10 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { - healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); - healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; @@ -916,8 +916,8 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) } else { - healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); - healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; @@ -929,16 +929,16 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) } } - healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0); + healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battler]], 140, 60, 0); healthBarSpritePtr = &gSprites[healthbarSpriteId]; - SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battlerId)]); + SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battler)]); healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; healthBarSpritePtr->oam.priority = 1; CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64); gSprites[healthboxLeftSpriteId].hMain_HealthBarSpriteId = healthbarSpriteId; - gSprites[healthboxLeftSpriteId].hMain_Battler = battlerId; + gSprites[healthboxLeftSpriteId].hMain_Battler = battler; gSprites[healthboxLeftSpriteId].invisible = TRUE; gSprites[healthboxRightSpriteId].invisible = TRUE; @@ -1012,13 +1012,13 @@ static void SpriteCB_HealthBoxOther(struct Sprite *sprite) sprite->y2 = gSprites[healthboxMainSpriteId].y2; } -void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue) +void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue) { - gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId = healthboxSpriteId; - gBattleSpritesDataPtr->battleBars[battlerId].maxValue = maxVal; - gBattleSpritesDataPtr->battleBars[battlerId].oldValue = oldVal; - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue = receivedValue; - gBattleSpritesDataPtr->battleBars[battlerId].currValue = -32768; + gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId = healthboxSpriteId; + gBattleSpritesDataPtr->battleBars[battler].maxValue = maxVal; + gBattleSpritesDataPtr->battleBars[battler].oldValue = oldVal; + gBattleSpritesDataPtr->battleBars[battler].receivedValue = receivedValue; + gBattleSpritesDataPtr->battleBars[battler].currValue = -32768; } void SetHealthboxSpriteInvisible(u8 healthboxSpriteId) @@ -1251,12 +1251,12 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 } else { - u8 battlerId; + u8 battler; memcpy(text, sEmptyWhiteText_TransparentHighlight, sizeof(sEmptyWhiteText_TransparentHighlight)); - battlerId = gSprites[healthboxSpriteId].hMain_Battler; + battler = gSprites[healthboxSpriteId].hMain_Battler; - if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) // don't print text if only bars are visible + if (gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) // don't print text if only bars are visible { u8 var = 4; u8 r7; @@ -1297,7 +1297,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side. + if (GetBattlerSide(battler) == B_SIDE_PLAYER) // Impossible to reach part, because the battler is from the opponent's side. { CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END), (void *)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP), @@ -1447,7 +1447,7 @@ void SwapHpBarsWithHpText(void) #define tIsBattleStart data[10] #define tBlend data[15] -u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart) +u8 CreatePartyStatusSummarySprites(u8 battler, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart) { bool8 isOpponent; s16 bar_X, bar_Y, bar_pos2_X, bar_data0; @@ -1456,9 +1456,9 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, u8 ballIconSpritesIds[PARTY_SIZE]; u8 taskId; - if (!skipPlayer || GetBattlerPosition(battlerId) != B_POSITION_OPPONENT_RIGHT) + if (!skipPlayer || GetBattlerPosition(battler) != B_POSITION_OPPONENT_RIGHT) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { isOpponent = FALSE; bar_X = 136, bar_Y = 96; @@ -1537,7 +1537,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, gSprites[ballIconSpritesIds[i]].data[2] = isOpponent; } - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -1650,7 +1650,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, } taskId = CreateTask(TaskDummy, 5); - gTasks[taskId].tBattler = battlerId; + gTasks[taskId].tBattler = battler; gTasks[taskId].tSummaryBarSpriteId = summaryBarSpriteId; for (i = 0; i < PARTY_SIZE; i++) @@ -1673,12 +1673,12 @@ void Task_HidePartyStatusSummary(u8 taskId) u8 ballIconSpriteIds[PARTY_SIZE]; bool8 isBattleStart; u8 summaryBarSpriteId; - u8 battlerId; + u8 battler; s32 i; isBattleStart = gTasks[taskId].tIsBattleStart; summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; - battlerId = gTasks[taskId].tBattler; + battler = gTasks[taskId].tBattler; for (i = 0; i < PARTY_SIZE; i++) ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i); @@ -1697,7 +1697,7 @@ void Task_HidePartyStatusSummary(u8 taskId) { for (i = 0; i < PARTY_SIZE; i++) { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[1] = 7 * i; gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[3] = 0; @@ -1742,7 +1742,7 @@ static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId) u8 ballIconSpriteIds[PARTY_SIZE]; s32 i; - u8 battlerId = gTasks[taskId].tBattler; + u8 battler = gTasks[taskId].tBattler; if (--gTasks[taskId].tBlend == -1) { u8 summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; @@ -1769,7 +1769,7 @@ static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId) } else if (gTasks[taskId].tBlend == -3) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyTask(taskId); @@ -1780,7 +1780,7 @@ static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId) { u8 ballIconSpriteIds[PARTY_SIZE]; s32 i; - u8 battlerId = gTasks[taskId].tBattler; + u8 battler = gTasks[taskId].tBattler; if (--gTasks[taskId].tBlend >= 0) { @@ -1801,7 +1801,7 @@ static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId) } else if (gTasks[taskId].tBlend == -3) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyTask(taskId); @@ -1969,17 +1969,17 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) { - u8 battlerId, healthBarSpriteId; + u8 battler, healthBarSpriteId; if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) return; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) return; - battlerId = gSprites[healthboxSpriteId].hMain_Battler; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + battler = gSprites[healthboxSpriteId].hMain_Battler; + if (GetBattlerSide(battler) == B_SIDE_PLAYER) return; - if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) + if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) return; healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; @@ -1993,17 +1993,17 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) { s32 i; - u8 battlerId, healthBarSpriteId; + u8 battler, healthBarSpriteId; u32 status, pltAdder; const u8 *statusGfxPtr; s16 tileNumAdder; u8 statusPalId; - battlerId = gSprites[healthboxSpriteId].hMain_Battler; + battler = gSprites[healthboxSpriteId].hMain_Battler; healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { - status = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS); + status = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS); if (!IsDoubleBattle()) tileNumAdder = 0x1A; else @@ -2011,33 +2011,33 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) } else { - status = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS); + status = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS); tileNumAdder = 0x11; } if (status & STATUS1_SLEEP) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battler)); statusPalId = PAL_STATUS_SLP; } else if (status & STATUS1_PSN_ANY) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battler)); statusPalId = PAL_STATUS_PSN; } else if (status & STATUS1_BURN) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battler)); statusPalId = PAL_STATUS_BRN; } else if (status & STATUS1_FREEZE) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battler)); statusPalId = PAL_STATUS_FRZ; } else if (status & STATUS1_PARALYSIS) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battler)); statusPalId = PAL_STATUS_PAR; } else @@ -2047,7 +2047,7 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) for (i = 0; i < 3; i++) CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * TILE_SIZE_4BPP), 32); - if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) + if (!gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 64); TryAddPokeballIconToHealthbox(healthboxSpriteId, TRUE); @@ -2055,14 +2055,14 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) } pltAdder = PLTT_ID(gSprites[healthboxSpriteId].oam.paletteNum); - pltAdder += battlerId + 12; + pltAdder += battler + 12; FillPalette(sStatusIconColors[statusPalId], OBJ_PLTT_OFFSET + pltAdder, PLTT_SIZEOF(1)); CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_OFFSET + pltAdder], (u16 *)OBJ_PLTT + pltAdder, PLTT_SIZEOF(1)); CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96); - if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (IsDoubleBattle() == TRUE || GetBattlerSide(battler) == B_SIDE_OPPONENT) { - if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) + if (!gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) { CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 32); CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void *)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * TILE_SIZE_4BPP), 32); @@ -2071,58 +2071,58 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) TryAddPokeballIconToHealthbox(healthboxSpriteId, FALSE); } -static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battlerId) +static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battler) { u8 ret = statusElementId; switch (statusElementId) { case HEALTHBOX_GFX_STATUS_PSN_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER3; break; case HEALTHBOX_GFX_STATUS_PRZ_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER3; break; case HEALTHBOX_GFX_STATUS_SLP_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER3; break; case HEALTHBOX_GFX_STATUS_FRZ_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER3; break; case HEALTHBOX_GFX_STATUS_BRN_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER3; @@ -2163,10 +2163,10 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId) void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId) { s32 maxHp, currHp; - u8 battlerId = gSprites[healthboxSpriteId].hMain_Battler; + u8 battler = gSprites[healthboxSpriteId].hMain_Battler; if (elementId == HEALTHBOX_ALL && !IsDoubleBattle()) - GetBattlerSide(battlerId); // Pointless function call. + GetBattlerSide(battler); // Pointless function call. if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER) { @@ -2183,8 +2183,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem LoadBattleBarGfx(0); maxHp = GetMonData(mon, MON_DATA_MAX_HP); currHp = GetMonData(mon, MON_DATA_HP); - SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0); - MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxHp, currHp, 0); + MoveBattleBar(battler, healthboxSpriteId, HEALTH_BAR, 0); } isDoubles = IsDoubleBattle(); if (!isDoubles && (elementId == HEALTHBOX_EXP_BAR || elementId == HEALTHBOX_ALL)) @@ -2201,8 +2201,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem currLevelExp = gExperienceTables[gSpeciesInfo[species].growthRate][level]; currExpBarValue = exp - currLevelExp; maxExpBarValue = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLevelExp; - SetBattleBarStruct(battlerId, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles); - MoveBattleBar(battlerId, healthboxSpriteId, EXP_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles); + MoveBattleBar(battler, healthboxSpriteId, EXP_BAR, 0); } if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL) UpdateNickInHealthbox(healthboxSpriteId, mon); @@ -2222,8 +2222,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem LoadBattleBarGfx(0); maxHp = GetMonData(mon, MON_DATA_MAX_HP); currHp = GetMonData(mon, MON_DATA_HP); - SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0); - MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxHp, currHp, 0); + MoveBattleBar(battler, healthboxSpriteId, HEALTH_BAR, 0); } if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL) UpdateNickInHealthbox(healthboxSpriteId, mon); @@ -2235,44 +2235,44 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem #define B_EXPBAR_PIXELS 64 #define B_HEALTHBAR_PIXELS 48 -s32 MoveBattleBar(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 unused) +s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 unused) { s32 currentBarValue; if (whichBar == HEALTH_BAR) // health bar { - currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, B_HEALTHBAR_PIXELS / 8, 1); } else // exp bar { - u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - gBattleSpritesDataPtr->battleBars[battlerId].maxValue, 8); + u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + gBattleSpritesDataPtr->battleBars[battler].maxValue, 8); if (expFraction == 0) expFraction = 1; - expFraction = abs(gBattleSpritesDataPtr->battleBars[battlerId].receivedValue / expFraction); + expFraction = abs(gBattleSpritesDataPtr->battleBars[battler].receivedValue / expFraction); - currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, B_EXPBAR_PIXELS / 8, expFraction); } - if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)) - MoveBattleBarGraphically(battlerId, whichBar); + if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars)) + MoveBattleBarGraphically(battler, whichBar); if (currentBarValue == -1) - gBattleSpritesDataPtr->battleBars[battlerId].currValue = 0; + gBattleSpritesDataPtr->battleBars[battler].currValue = 0; return currentBarValue; } -static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) +static void MoveBattleBarGraphically(u8 battler, u8 whichBar) { u8 array[8]; u8 filledPixelsCount, level; @@ -2282,10 +2282,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) switch (whichBar) { case HEALTH_BAR: - filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, array, B_HEALTHBAR_PIXELS / 8); if (filledPixelsCount > (B_HEALTHBAR_PIXELS * 50 / 100)) // more than 50 % hp @@ -2297,7 +2297,7 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) for (i = 0; i < 6; i++) { - u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].hMain_HealthBarSpriteId; + u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].hMain_HealthBarSpriteId; if (i < 2) CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * TILE_SIZE_4BPP), 32); @@ -2307,12 +2307,12 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) } break; case EXP_BAR: - CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, array, B_EXPBAR_PIXELS / 8); - level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_LEVEL); + level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_LEVEL); if (level == MAX_LEVEL) { for (i = 0; i < 8; i++) @@ -2322,10 +2322,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) { if (i < 4) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32, - (void *)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32); + (void *)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32); else CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32, - (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); + (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); } break; } diff --git a/src/battle_main.c b/src/battle_main.c index 226d1a805b..c6fbe1c9a4 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -839,7 +839,7 @@ static void SetAllPlayersBerryData(void) { s32 numPlayers; struct BattleEnigmaBerry *src; - u8 battlerId; + u8 battler; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -851,17 +851,17 @@ static void SetAllPlayersBerryData(void) for (i = 0; i < numPlayers; i++) { src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - battlerId = gLinkPlayers[i].id; + battler = gLinkPlayers[i].id; for (j = 0; j < BERRY_NAME_LENGTH; j++) - gEnigmaBerries[battlerId].name[j] = src->name[j]; - gEnigmaBerries[battlerId].name[j] = EOS; + gEnigmaBerries[battler].name[j] = src->name[j]; + gEnigmaBerries[battler].name[j] = EOS; for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++) - gEnigmaBerries[battlerId].itemEffect[j] = src->itemEffect[j]; + gEnigmaBerries[battler].itemEffect[j] = src->itemEffect[j]; - gEnigmaBerries[battlerId].holdEffect = src->holdEffect; - gEnigmaBerries[battlerId].holdEffectParam = src->holdEffectParam; + gEnigmaBerries[battler].holdEffect = src->holdEffect; + gEnigmaBerries[battler].holdEffectParam = src->holdEffectParam; } } else @@ -4653,7 +4653,7 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100) speedBattler1 = UINT_MAX; - // check second battlerId's speed + // check second battler's speed speedBattler2 = (gBattleMons[battler2].speed * speedMultiplierBattler2) * (gStatStageRatios[gBattleMons[battler2].statStages[STAT_SPEED]][0]) @@ -4949,7 +4949,7 @@ static void RunTurnActionsFunctions(void) } else { - if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battlerId + if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battler { gHitMarker &= ~HITMARKER_NO_ATTACKSTRING; gHitMarker &= ~HITMARKER_UNABLE_TO_USE_MOVE; diff --git a/src/battle_message.c b/src/battle_message.c index d539bc540d..9cc26698e5 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -2283,8 +2283,8 @@ static const u8 *TryGetStatusString(u8 *src) return NULL; } -#define HANDLE_NICKNAME_STRING_CASE(battlerId, monIndex) \ - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) \ +#define HANDLE_NICKNAME_STRING_CASE(battler, monIndex) \ + if (GetBattlerSide(battler) != B_SIDE_PLAYER) \ { \ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ toCpy = sText_FoePkmnPrefix; \ @@ -2422,7 +2422,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) StringGet_Nickname(text); toCpy = text; break; - case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only battlerId 0/1 + case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only battler 0/1 HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker, gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker))]) break; @@ -2441,13 +2441,13 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_DEF_NAME_WITH_PREFIX: // target name with prefix HANDLE_NICKNAME_STRING_CASE(gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget]) break; - case B_TXT_EFF_NAME_WITH_PREFIX: // effect battlerId name with prefix + case B_TXT_EFF_NAME_WITH_PREFIX: // effect battler name with prefix HANDLE_NICKNAME_STRING_CASE(gEffectBattler, gBattlerPartyIndexes[gEffectBattler]) break; - case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battlerId name with prefix + case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battler name with prefix HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) break; - case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battlerId name with prefix + case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battler name with prefix HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, gBattlerPartyIndexes[gBattleScripting.battler]) break; case B_TXT_CURRENT_MOVE: // current move name @@ -2519,7 +2519,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability toCpy = gAbilityNames[sBattlerAbilities[gBattleScripting.battler]]; break; - case B_TXT_EFF_ABILITY: // effect battlerId ability + case B_TXT_EFF_ABILITY: // effect battler ability toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]]; break; case B_TXT_TRAINER1_CLASS: // trainer class name diff --git a/src/battle_records.c b/src/battle_records.c index edc48d8202..0ea61b79b8 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -201,7 +201,7 @@ static void UpdateLinkBattleGameStats(s32 battleOutcome) IncrementGameStat(stat); } -static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battlerId) +static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battler) { s32 index; @@ -214,7 +214,7 @@ static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 ClearLinkBattleRecord(&records->entries[index]); StringCopyN(records->entries[index].name, name, PLAYER_NAME_LENGTH); records->entries[index].trainerId = trainerId; - records->languages[index] = gLinkPlayers[battlerId].language; + records->languages[index] = gLinkPlayers[battler].language; } UpdateLinkBattleRecord(&records->entries[index], battleOutcome); SortLinkBattleRecords(records); @@ -225,48 +225,48 @@ void ClearPlayerLinkBattleRecords(void) ClearLinkBattleRecords(gSaveBlock1Ptr->linkBattleRecords.entries); } -static void IncTrainerCardWins(s32 battlerId) +static void IncTrainerCardWins(s32 battler) { - u16 *wins = &gTrainerCards[battlerId].linkBattleWins; + u16 *wins = &gTrainerCards[battler].linkBattleWins; (*wins)++; if (*wins > 9999) *wins = 9999; } -static void IncTrainerCardLosses(s32 battlerId) +static void IncTrainerCardLosses(s32 battler) { - u16 *losses = &gTrainerCards[battlerId].linkBattleLosses; + u16 *losses = &gTrainerCards[battler].linkBattleLosses; (*losses)++; if (*losses > 9999) *losses = 9999; } -static void UpdateTrainerCardWinsLosses(s32 battlerId) +static void UpdateTrainerCardWinsLosses(s32 battler) { switch (gBattleOutcome) { case B_OUTCOME_WON: - IncTrainerCardWins(BATTLE_OPPOSITE(battlerId)); - IncTrainerCardLosses(battlerId); + IncTrainerCardWins(BATTLE_OPPOSITE(battler)); + IncTrainerCardLosses(battler); break; case B_OUTCOME_LOST: - IncTrainerCardLosses(BATTLE_OPPOSITE(battlerId)); - IncTrainerCardWins(battlerId); + IncTrainerCardLosses(BATTLE_OPPOSITE(battler)); + IncTrainerCardWins(battler); break; } } -void UpdatePlayerLinkBattleRecords(s32 battlerId) +void UpdatePlayerLinkBattleRecords(s32 battler) { if (InUnionRoom() != TRUE) { - UpdateTrainerCardWinsLosses(battlerId); + UpdateTrainerCardWinsLosses(battler); UpdateLinkBattleRecords( &gSaveBlock1Ptr->linkBattleRecords, - gTrainerCards[battlerId].playerName, - gTrainerCards[battlerId].trainerId, + gTrainerCards[battler].playerName, + gTrainerCards[battler].trainerId, gBattleOutcome, - battlerId); + battler); } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e75b67d2c2..0f99173b11 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -63,7 +63,7 @@ extern const u8 *const gBattleScriptsForMoveEffects[]; static bool8 IsTwoTurnsMove(u16 move); static void TrySetDestinyBondToHappen(void); -static u8 AttacksThisTurn(u8 battlerId, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. +static u8 AttacksThisTurn(u8 battler, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. static void CheckWonderGuardAndLevitate(void); static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8 *BS_ptr); static bool32 IsMonGettingExpSentOut(void); @@ -2207,12 +2207,12 @@ static void Cmd_printselectionstringfromtable(void) } } -u8 GetBattlerTurnOrderNum(u8 battlerId) +u8 GetBattlerTurnOrderNum(u8 battler) { s32 i; for (i = 0; i < gBattlersCount; i++) { - if (gBattlerByTurnOrder[i] == battlerId) + if (gBattlerByTurnOrder[i] == battler) break; } return i; @@ -2239,7 +2239,7 @@ void SetMoveEffect(bool8 primary, u8 certain) if (gBattleCommunication[MOVE_EFFECT_BYTE] & MOVE_EFFECT_AFFECTS_USER) { - gEffectBattler = gBattlerAttacker; // battlerId that effects get applied on + gEffectBattler = gBattlerAttacker; // battler that effects get applied on gBattleCommunication[MOVE_EFFECT_BYTE] &= ~MOVE_EFFECT_AFFECTS_USER; affectsUser = MOVE_EFFECT_AFFECTS_USER; gBattleScripting.battler = gBattlerTarget; // theoretically the attacker @@ -2984,18 +2984,18 @@ static void Cmd_tryfaintmon(void) } else { - u8 battlerId; + u8 battler; if (gBattlescriptCurrInstr[1] == BS_ATTACKER) { gActiveBattler = gBattlerAttacker; - battlerId = gBattlerTarget; + battler = gBattlerTarget; BS_ptr = BattleScript_FaintAttacker; } else { gActiveBattler = gBattlerTarget; - battlerId = gBattlerAttacker; + battler = gBattlerAttacker; BS_ptr = BattleScript_FaintTarget; } if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]) @@ -3021,7 +3021,7 @@ static void Cmd_tryfaintmon(void) { gHitMarker &= ~HITMARKER_DESTINYBOND; BattleScriptPush(gBattlescriptCurrInstr); - gBattleMoveDamage = gBattleMons[battlerId].hp; + gBattleMoveDamage = gBattleMons[battler].hp; gBattlescriptCurrInstr = BattleScript_DestinyBondTakesLife; } if ((gStatuses3[gBattlerTarget] & STATUS3_GRUDGE) @@ -3080,11 +3080,11 @@ static void Cmd_cleareffectsonfaint(void) static void Cmd_jumpifstatus(void) { - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 6); - if (gBattleMons[battlerId].status1 & flags && gBattleMons[battlerId].hp != 0) + if (gBattleMons[battler].status1 & flags && gBattleMons[battler].hp != 0) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 10; @@ -3092,11 +3092,11 @@ static void Cmd_jumpifstatus(void) static void Cmd_jumpifstatus2(void) { - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 6); - if (gBattleMons[battlerId].status2 & flags && gBattleMons[battlerId].hp != 0) + if (gBattleMons[battler].status2 & flags && gBattleMons[battler].hp != 0) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 10; @@ -3104,19 +3104,19 @@ static void Cmd_jumpifstatus2(void) static void Cmd_jumpifability(void) { - u8 battlerId; + u8 battler; u8 ability = gBattlescriptCurrInstr[2]; const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); if (gBattlescriptCurrInstr[1] == BS_ATTACKER_SIDE) { - battlerId = AbilityBattleEffects(ABILITYEFFECT_CHECK_BATTLER_SIDE, gBattlerAttacker, ability, 0, 0); - if (battlerId) + battler = AbilityBattleEffects(ABILITYEFFECT_CHECK_BATTLER_SIDE, gBattlerAttacker, ability, 0, 0); + if (battler) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(battlerId - 1, gLastUsedAbility); - gBattleScripting.battlerWithAbility = battlerId - 1; + RecordAbilityBattle(battler - 1, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battler - 1; } else { @@ -3125,13 +3125,13 @@ static void Cmd_jumpifability(void) } else if (gBattlescriptCurrInstr[1] == BS_NOT_ATTACKER_SIDE) { - battlerId = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBattlerAttacker, ability, 0, 0); - if (battlerId) + battler = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBattlerAttacker, ability, 0, 0); + if (battler) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(battlerId - 1, gLastUsedAbility); - gBattleScripting.battlerWithAbility = battlerId - 1; + RecordAbilityBattle(battler - 1, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battler - 1; } else { @@ -3140,13 +3140,13 @@ static void Cmd_jumpifability(void) } else { - battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (gBattleMons[battlerId].ability == ability) + battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + if (gBattleMons[battler].ability == ability) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(battlerId, gLastUsedAbility); - gBattleScripting.battlerWithAbility = battlerId; + RecordAbilityBattle(battler, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battler; } else { @@ -3178,8 +3178,8 @@ static void Cmd_jumpifsideaffecting(void) static void Cmd_jumpifstat(void) { u8 ret = 0; - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - u8 value = gBattleMons[battlerId].statStages[gBattlescriptCurrInstr[3]]; + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 value = gBattleMons[battler].statStages[gBattlescriptCurrInstr[3]]; switch (gBattlescriptCurrInstr[2]) { @@ -3242,11 +3242,11 @@ static void Cmd_jumpifstatus3condition(void) static void Cmd_jumpiftype(void) { - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u8 type = gBattlescriptCurrInstr[2]; const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); - if (IS_BATTLER_OF_TYPE(battlerId, type)) + if (IS_BATTLER_OF_TYPE(battler, type)) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 7; @@ -3396,7 +3396,7 @@ static void Cmd_getexp(void) i = STRINGID_EMPTYSTRING4; } - // get exp getter battlerId + // get exp getter battler if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && !(gAbsentBattlerFlags & gBitTable[2])) @@ -3980,9 +3980,9 @@ static void Cmd_call(void) static void Cmd_jumpiftype2(void) { - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (gBattlescriptCurrInstr[2] == gBattleMons[battlerId].types[0] || gBattlescriptCurrInstr[2] == gBattleMons[battlerId].types[1]) + if (gBattlescriptCurrInstr[2] == gBattleMons[battler].types[0] || gBattlescriptCurrInstr[2] == gBattleMons[battler].types[1]) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); else gBattlescriptCurrInstr += 7; @@ -4464,10 +4464,10 @@ static void Cmd_moveend(void) && !gProtectStructs[gBattlerAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) { - u8 battlerId = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); - if (gBattleMons[battlerId].hp != 0) + u8 battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); + if (gBattleMons[battler].hp != 0) { - gBattlerTarget = battlerId; + gBattlerTarget = battler; gHitMarker |= HITMARKER_NO_ATTACKSTRING; gBattleScripting.moveendState = 0; MoveValuesCleanUp(); @@ -4866,10 +4866,10 @@ static void Cmd_openpartyscreen(void) { u32 flags; u8 hitmarkerFaintBits; - u8 battlerId; + u8 battler; const u8 *jumpPtr; - battlerId = 0; + battler = 0; flags = 0; jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 2); @@ -5098,21 +5098,21 @@ static void Cmd_openpartyscreen(void) else hitmarkerFaintBits = PARTY_ACTION_SEND_OUT; - battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~PARTY_SCREEN_OPTIONAL); - if (gSpecialStatuses[battlerId].faintedHasReplacement) + battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~PARTY_SCREEN_OPTIONAL); + if (gSpecialStatuses[battler].faintedHasReplacement) { gBattlescriptCurrInstr += 6; } - else if (HasNoMonsToSwitch(battlerId, PARTY_SIZE, PARTY_SIZE)) + else if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gActiveBattler = battlerId; + gActiveBattler = battler; gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); gBattlescriptCurrInstr = jumpPtr; } else { - gActiveBattler = battlerId; + gActiveBattler = battler; *(gBattleStruct->battlerPartyIndexes + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); @@ -5129,7 +5129,7 @@ static void Cmd_openpartyscreen(void) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActiveBattler != battlerId) + if (gActiveBattler != battler) { BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); @@ -5138,7 +5138,7 @@ static void Cmd_openpartyscreen(void) } else { - gActiveBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battlerId))); + gActiveBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gActiveBattler ^= BIT_FLANK; @@ -6798,13 +6798,13 @@ static void Cmd_nop(void) gBattlescriptCurrInstr++; } -bool8 UproarWakeUpCheck(u8 battlerId) +bool8 UproarWakeUpCheck(u8 battler) { s32 i; for (i = 0; i < gBattlersCount; i++) { - if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[battlerId].ability == ABILITY_SOUNDPROOF) + if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[battler].ability == ABILITY_SOUNDPROOF) continue; gBattleScripting.battler = i; @@ -8241,7 +8241,7 @@ static bool8 IsInvalidForSleepTalkOrAssist(u16 move) return FALSE; } -static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a charging turn, otherwise 2 +static u8 AttacksThisTurn(u8 battler, u16 move) // Note: returns 1 if it's a charging turn, otherwise 2 { // first argument is unused if (gBattleMoves[move].effect == EFFECT_SOLAR_BEAM @@ -9440,13 +9440,13 @@ static void Cmd_tryimprison(void) } else { - u8 battlerId, sideAttacker; + u8 battler, sideAttacker; sideAttacker = GetBattlerSide(gBattlerAttacker); PressurePPLoseOnUsingImprison(gBattlerAttacker); - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (sideAttacker != GetBattlerSide(battlerId)) + if (sideAttacker != GetBattlerSide(battler)) { s32 attackerMoveId; for (attackerMoveId = 0; attackerMoveId < MAX_MON_MOVES; attackerMoveId++) @@ -9454,7 +9454,7 @@ static void Cmd_tryimprison(void) s32 i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBattlerAttacker].moves[attackerMoveId] == gBattleMons[battlerId].moves[i] + if (gBattleMons[gBattlerAttacker].moves[attackerMoveId] == gBattleMons[battler].moves[i] && gBattleMons[gBattlerAttacker].moves[attackerMoveId] != MOVE_NONE) break; } @@ -9469,7 +9469,7 @@ static void Cmd_tryimprison(void) } } } - if (battlerId == gBattlersCount) // In Generation 3 games, Imprison fails if the user doesn't share any moves with any of the foes + if (battler == gBattlersCount) // In Generation 3 games, Imprison fails if the user doesn't share any moves with any of the foes gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } diff --git a/src/battle_tv.c b/src/battle_tv.c index e9f518f605..33c720cc13 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -1568,12 +1568,12 @@ void BattleTv_ClearExplosionFaintCause(void) } } -u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId) +u8 GetBattlerMoveSlotId(u8 battler, u16 moveId) { s32 i; struct Pokemon *party; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -1583,7 +1583,7 @@ u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId) { if (i >= MAX_MON_MOVES) break; - if (GetMonData(&party[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + i, NULL) == moveId) + if (GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + i, NULL) == moveId) break; i++; } diff --git a/src/battle_util.c b/src/battle_util.c index bbc9e1a819..b32ae9d6a7 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -851,27 +851,27 @@ static void UNUSED MarkAllBattlersForControllerExec(void) // set a bit indicating that we're sending a message over the link. That // message will be received by all other players... *and* by us, the player // sending it, at which point we'll invoke MarkBattlerReceivedLinkData, -// below, to clear the "we're sending a message" bit and set the "controller +// below, to clear the "we're sending a message" bit and set the "controller // is now active" bit. -void MarkBattlerForControllerExec(u8 battlerId) +void MarkBattlerForControllerExec(u8 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battlerId); + MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battler); else - MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battlerId); + MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler); } -// Called when a message dispatched from the battle engine to a battle +// Called when a message dispatched from the battle engine to a battle // controller is received over link communications. All players assume // that if they've received the message, everyone else has as well. -void MarkBattlerReceivedLinkData(u8 battlerId) +void MarkBattlerReceivedLinkData(u8 battler) { s32 i; for (i = 0; i < GetLinkPlayerCount(); i++) - MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battlerId, i); + MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, i); - MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battlerId); + MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battler); } void CancelMultiTurnMoves(u8 battler) @@ -1079,44 +1079,44 @@ u8 TrySetCantSelectMoveBattleScript(void) return limitations; } -u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) +u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u8 check) { u8 holdEffect; - u16 *choicedMove = &gBattleStruct->choicedMove[battlerId]; + u16 *choicedMove = &gBattleStruct->choicedMove[battler]; s32 i; - if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[battlerId].holdEffect; + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[battler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[battlerId].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item); - gPotentialItemEffectBattler = battlerId; + gPotentialItemEffectBattler = battler; for (i = 0; i < MAX_MON_MOVES; i++) { // No move - if (gBattleMons[battlerId].moves[i] == MOVE_NONE && check & MOVE_LIMITATION_ZEROMOVE) + if (gBattleMons[battler].moves[i] == MOVE_NONE && check & MOVE_LIMITATION_ZEROMOVE) unusableMoves |= gBitTable[i]; // No PP - if (gBattleMons[battlerId].pp[i] == 0 && check & MOVE_LIMITATION_PP) + if (gBattleMons[battler].pp[i] == 0 && check & MOVE_LIMITATION_PP) unusableMoves |= gBitTable[i]; // Disable - if (gBattleMons[battlerId].moves[i] == gDisableStructs[battlerId].disabledMove && check & MOVE_LIMITATION_DISABLED) + if (gBattleMons[battler].moves[i] == gDisableStructs[battler].disabledMove && check & MOVE_LIMITATION_DISABLED) unusableMoves |= gBitTable[i]; // Torment - if (gBattleMons[battlerId].moves[i] == gLastMoves[battlerId] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battlerId].status2 & STATUS2_TORMENT) + if (gBattleMons[battler].moves[i] == gLastMoves[battler] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battler].status2 & STATUS2_TORMENT) unusableMoves |= gBitTable[i]; // Taunt - if (gDisableStructs[battlerId].tauntTimer && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battlerId].moves[i]].power == 0) + if (gDisableStructs[battler].tauntTimer && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battler].moves[i]].power == 0) unusableMoves |= gBitTable[i]; // Imprison - if (GetImprisonedMovesCount(battlerId, gBattleMons[battlerId].moves[i]) && check & MOVE_LIMITATION_IMPRISON) + if (GetImprisonedMovesCount(battler, gBattleMons[battler].moves[i]) && check & MOVE_LIMITATION_IMPRISON) unusableMoves |= gBitTable[i]; // Encore - if (gDisableStructs[battlerId].encoreTimer && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i]) + if (gDisableStructs[battler].encoreTimer && gDisableStructs[battler].encoredMove != gBattleMons[battler].moves[i]) unusableMoves |= gBitTable[i]; // Choice Band - if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battlerId].moves[i]) + if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battler].moves[i]) unusableMoves |= gBitTable[i]; } return unusableMoves; @@ -1139,11 +1139,11 @@ bool8 AreAllMovesUnusable(void) return (unusable == ALL_MOVES_MASK); } -u8 GetImprisonedMovesCount(u8 battlerId, u16 move) +u8 GetImprisonedMovesCount(u8 battler, u16 move) { s32 i; u8 imprisonedMoves = 0; - u8 battlerSide = GetBattlerSide(battlerId); + u8 battlerSide = GetBattlerSide(battler); for (i = 0; i < gBattlersCount; i++) { @@ -3225,16 +3225,16 @@ enum }; #define TRY_EAT_CONFUSE_BERRY(flavor) \ - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) \ + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 2 && !moveTurn) \ { \ PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, flavor); \ - gBattleMoveDamage = gBattleMons[battlerId].maxHP / battlerHoldEffectParam; \ + gBattleMoveDamage = gBattleMons[battler].maxHP / battlerHoldEffectParam; \ if (gBattleMoveDamage == 0) \ gBattleMoveDamage = 1; \ - if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) \ - gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; \ + if (gBattleMons[battler].hp + gBattleMoveDamage > gBattleMons[battler].maxHP) \ + gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp; \ gBattleMoveDamage *= -1; \ - if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, flavor) < 0) \ + if (GetFlavorRelationByPersonality(gBattleMons[battler].personality, flavor) < 0) \ BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); \ else \ BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); \ @@ -3242,11 +3242,11 @@ enum } #define TRY_EAT_STAT_UP_BERRY(stat) \ - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam \ - && !moveTurn && gBattleMons[battlerId].statStages[stat] < MAX_STAT_STAGE) \ + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam \ + && !moveTurn && gBattleMons[battler].statStages[stat] < MAX_STAT_STAGE) \ { \ PREPARE_STAT_BUFFER(gBattleTextBuff1, stat); \ - gEffectBattler = battlerId; \ + gEffectBattler = battler; \ SET_STATCHANGER(stat, 1, FALSE); \ gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + (stat); \ gBattleScripting.animArg2 = 0; \ @@ -3254,7 +3254,7 @@ enum effect = ITEM_STATS_CHANGE; \ } -u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) +u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) { int i = 0; u8 effect = ITEM_NO_EFFECT; @@ -3263,11 +3263,11 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) u8 battlerHoldEffectParam, atkHoldEffectParam, UNUSED defHoldEffectParam; u16 atkItem, defItem; - gLastUsedItem = gBattleMons[battlerId].item; + gLastUsedItem = gBattleMons[battler].item; if (gLastUsedItem == ITEM_ENIGMA_BERRY) { - battlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; - battlerHoldEffectParam = gEnigmaBerries[battlerId].holdEffectParam; + battlerHoldEffect = gEnigmaBerries[battler].holdEffect; + battlerHoldEffectParam = gEnigmaBerries[battler].holdEffectParam; } else { @@ -3306,39 +3306,39 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (battlerHoldEffect) { case HOLD_EFFECT_DOUBLE_PRIZE: - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) gBattleStruct->moneyMultiplier = 2; break; case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = gBattlerAttacker = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = gBattlerAttacker = battler; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; } break; case ITEMEFFECT_NORMAL: - if (gBattleMons[battlerId].hp) + if (gBattleMons[battler].hp) { switch (battlerHoldEffect) { case HOLD_EFFECT_RESTORE_HP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 2 && !moveTurn) { gBattleMoveDamage = battlerHoldEffectParam; - if (gBattleMons[battlerId].hp + battlerHoldEffectParam > gBattleMons[battlerId].maxHP) - gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; + if (gBattleMons[battler].hp + battlerHoldEffectParam > gBattleMons[battler].maxHP) + gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); effect = ITEM_HP_CHANGE; @@ -3351,10 +3351,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) u8 ppBonuses; u16 move; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; else - mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; for (i = 0; i < MAX_MON_MOVES; i++) { move = GetMonData(mon, MON_DATA_MOVE1 + i); @@ -3383,32 +3383,32 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = gBattlerAttacker = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = gBattlerAttacker = battler; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; case HOLD_EFFECT_LEFTOVERS: - if (gBattleMons[battlerId].hp < gBattleMons[battlerId].maxHP && !moveTurn) + if (gBattleMons[battler].hp < gBattleMons[battler].maxHP && !moveTurn) { - gBattleMoveDamage = gBattleMons[battlerId].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) - gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; + if (gBattleMons[battler].hp + gBattleMoveDamage > gBattleMons[battler].maxHP) + gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_End2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(battlerId, battlerHoldEffect); + RecordItemEffectBattle(battler, battlerHoldEffect); } break; case HOLD_EFFECT_CONFUSE_SPICY: @@ -3427,12 +3427,12 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) TRY_EAT_CONFUSE_BERRY(FLAVOR_SOUR); break; case HOLD_EFFECT_ATTACK_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam - && !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < MAX_STAT_STAGE) + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam + && !moveTurn && gBattleMons[battler].statStages[STAT_ATK] < MAX_STAT_STAGE) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK); PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); // Only the Attack stat-up berry has this - gEffectBattler = battlerId; + gEffectBattler = battler; SET_STATCHANGER(STAT_ATK, 1, FALSE); gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK; gBattleScripting.animArg2 = 0; @@ -3453,20 +3453,20 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) TRY_EAT_STAT_UP_BERRY(STAT_SPDEF); break; case HOLD_EFFECT_CRITICAL_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn - && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY)) + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam && !moveTurn + && !(gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY)) { - gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[battler].status2 |= STATUS2_FOCUS_ENERGY; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_RANDOM_STAT_UP: - if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam) + if (!moveTurn && gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam) { for (i = 0; i < NUM_STATS - 1; i++) { - if (gBattleMons[battlerId].statStages[STAT_ATK + i] < MAX_STAT_STAGE) + if (gBattleMons[battler].statStages[STAT_ATK + i] < MAX_STAT_STAGE) break; } if (i != NUM_STATS - 1) @@ -3474,7 +3474,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) do { i = Random() % (NUM_STATS - 1); - } while (gBattleMons[battlerId].statStages[STAT_ATK + i] == MAX_STAT_STAGE); + } while (gBattleMons[battler].statStages[STAT_ATK + i] == MAX_STAT_STAGE); PREPARE_STAT_BUFFER(gBattleTextBuff1, i + 1); @@ -3487,7 +3487,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleTextBuff2[6] = STRINGID_STATROSE >> 8; gBattleTextBuff2[7] = EOS; - gEffectBattler = battlerId; + gEffectBattler = battler; SET_STATCHANGER(i + 1, 2, FALSE); gBattleScripting.animArg1 = STAT_ANIM_PLUS2 + (i + 1); gBattleScripting.animArg2 = 0; @@ -3497,85 +3497,85 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS; BattleScriptExecute(BattleScript_BerryCurePrlzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptExecute(BattleScript_BerryCurePsnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + gBattleMons[battler].status1 &= ~STATUS1_BURN; BattleScriptExecute(BattleScript_BerryCureBrnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + gBattleMons[battler].status1 &= ~STATUS1_FREEZE; BattleScriptExecute(BattleScript_BerryCureFrzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 &= ~STATUS1_SLEEP; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; BattleScriptExecute(BattleScript_BerryCureSlpEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; BattleScriptExecute(BattleScript_BerryCureConfusionEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION) { i = 0; - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); i++; } - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); i++; @@ -3584,16 +3584,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_NORMALIZED_STATUS; - gBattleMons[battlerId].status1 = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status1 = 0; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_ATTRACT: - if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) + if (gBattleMons[battler].status2 & STATUS2_INFATUATION) { - gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; + gBattleMons[battler].status2 &= ~STATUS2_INFATUATION; StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; @@ -3603,18 +3603,18 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = gBattlerAttacker = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = gBattlerAttacker = battler; switch (effect) { case ITEM_STATUS_CHANGE: - BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: - if (MOVE_IS_PERMANENT(battlerId, i)) - gBattleMons[battlerId].pp[i] = changedPP; + if (MOVE_IS_PERMANENT(battler, i)) + gBattleMons[battler].pp[i] = changedPP; break; } } @@ -3623,13 +3623,13 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case ITEMEFFECT_DUMMY: break; case ITEMEFFECT_MOVE_END: - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { - gLastUsedItem = gBattleMons[battlerId].item; - if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) + gLastUsedItem = gBattleMons[battler].item; + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) { - battlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; - battlerHoldEffectParam = gEnigmaBerries[battlerId].holdEffectParam; + battlerHoldEffect = gEnigmaBerries[battler].holdEffect; + battlerHoldEffectParam = gEnigmaBerries[battler].holdEffectParam; } else { @@ -3639,64 +3639,64 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (battlerHoldEffect) { case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureParRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + gBattleMons[battler].status1 &= ~STATUS1_BURN; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + gBattleMons[battler].status1 &= ~STATUS1_FREEZE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 &= ~STATUS1_SLEEP; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_ATTRACT: - if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) + if (gBattleMons[battler].status2 & STATUS2_INFATUATION) { - gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; + gBattleMons[battler].status2 &= ~STATUS2_INFATUATION; StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; @@ -3705,31 +3705,31 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION) { - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); } - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); - gBattleMons[battlerId].status1 = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status1 = 0; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; @@ -3739,16 +3739,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; return effect; @@ -3757,9 +3757,9 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = battler; BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; @@ -3812,11 +3812,11 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) return effect; } -void ClearFuryCutterDestinyBondGrudge(u8 battlerId) +void ClearFuryCutterDestinyBondGrudge(u8 battler) { - gDisableStructs[battlerId].furyCutterCounter = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_DESTINY_BOND; - gStatuses3[battlerId] &= ~STATUS3_GRUDGE; + gDisableStructs[battler].furyCutterCounter = 0; + gBattleMons[battler].status2 &= ~STATUS2_DESTINY_BOND; + gStatuses3[battler] &= ~STATUS3_GRUDGE; } void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands @@ -3910,14 +3910,14 @@ u8 GetMoveTarget(u16 move, u8 setTarget) return targetBattler; } -static bool32 IsBattlerModernFatefulEncounter(u8 battlerId) +static bool32 IsBattlerModernFatefulEncounter(u8 battler) { - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) return TRUE; - if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS - && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS + && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) return TRUE; - return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL); + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL); } u8 IsMonDisobedient(void) diff --git a/src/battle_util2.c b/src/battle_util2.c index 349853b578..3b5a376c6b 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -71,7 +71,7 @@ void FreeBattleResources(void) } } -void AdjustFriendshipOnBattleFaint(u8 battlerId) +void AdjustFriendshipOnBattleFaint(u8 battler) { u8 opposingBattlerId; @@ -90,28 +90,28 @@ void AdjustFriendshipOnBattleFaint(u8 battlerId) opposingBattlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); } - if (gBattleMons[opposingBattlerId].level > gBattleMons[battlerId].level) + if (gBattleMons[opposingBattlerId].level > gBattleMons[battler].level) { - if (gBattleMons[opposingBattlerId].level - gBattleMons[battlerId].level > 29) - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_LARGE); + if (gBattleMons[opposingBattlerId].level - gBattleMons[battler].level > 29) + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_LARGE); else - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL); } else { - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL); } } -void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1) +void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1) { - if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) + if (GetBattlerSide(battler) != B_SIDE_OPPONENT) { s32 i; for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) gBattlePartyCurrentOrder[i] = *(i + (u8 *)(gBattleStruct->battlerPartyOrders)); - SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId]), GetPartyIdFromBattlePartyId(arg1)); + SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]), GetPartyIdFromBattlePartyId(arg1)); for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) *(i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; @@ -120,7 +120,7 @@ void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1) // Called when a Pokémon is unable to attack during a Battle Palace battle. // Check if it was because they are frozen/asleep, and if so try to cure the status. -u32 BattlePalace_TryEscapeStatus(u8 battlerId) +u32 BattlePalace_TryEscapeStatus(u8 battler) { u32 effect = 0; @@ -129,13 +129,13 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - if (UproarWakeUpCheck(battlerId)) + if (UproarWakeUpCheck(battler)) { // Wake up from Uproar - gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); - gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battler].status1 &= ~(STATUS1_SLEEP); + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP_UPROAR; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -145,18 +145,18 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) { u32 toSub; - if (gBattleMons[battlerId].ability == ABILITY_EARLY_BIRD) + if (gBattleMons[battler].ability == ABILITY_EARLY_BIRD) toSub = 2; else toSub = 1; // Reduce number of sleep turns - if ((gBattleMons[battlerId].status1 & STATUS1_SLEEP) < toSub) - gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + if ((gBattleMons[battler].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[battler].status1 &= ~(STATUS1_SLEEP); else - gBattleMons[battlerId].status1 -= toSub; + gBattleMons[battler].status1 -= toSub; - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { // Still asleep gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep; @@ -165,7 +165,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) else { // Wake up - gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -176,7 +176,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) gBattleCommunication[MULTIUSE_STATE]++; break; case 1: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { if (Random() % 5 != 0) { @@ -186,7 +186,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) else { // Unfreeze - gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE); + gBattleMons[battler].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DEFROSTED; @@ -203,7 +203,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) if (effect == 2) { - gActiveBattler = battlerId; + gActiveBattler = battler; BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } diff --git a/src/data/map_group_count.h b/src/data/map_group_count.h new file mode 100644 index 0000000000..4fe8a21b3b --- /dev/null +++ b/src/data/map_group_count.h @@ -0,0 +1 @@ +static const u8 MAP_GROUP_COUNT[] = {57, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 17, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 108, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0}; diff --git a/src/party_menu.c b/src/party_menu.c index cbd469713a..de8ffa631b 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -5915,20 +5915,20 @@ static void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId) partyBattleOrder[i] = (partyIds[0 + (i * 2)] << 4) | partyIds[1 + (i * 2)]; } -void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId) +void BufferBattlePartyCurrentOrderBySide(u8 battler, u8 flankId) { - BufferBattlePartyOrderBySide(gBattleStruct->battlerPartyOrders[battlerId], flankId, battlerId); + BufferBattlePartyOrderBySide(gBattleStruct->battlerPartyOrders[battler], flankId, battler); } -// when GetBattlerSide(battlerId) == B_SIDE_PLAYER, this function is identical the one above -static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId) +// when GetBattlerSide(battler) == B_SIDE_PLAYER, this function is identical the one above +static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battler) { u8 partyIndexes[PARTY_SIZE]; int i, j; u8 leftBattler; u8 rightBattler; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { leftBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); rightBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); @@ -5987,7 +5987,7 @@ static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 ba partyBattleOrder[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)]; } -void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2) +void SwitchPartyOrderLinkMulti(u8 battler, u8 slot, u8 slot2) { u8 partyIds[PARTY_SIZE]; u8 tempSlot = 0; @@ -5997,7 +5997,7 @@ void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2) if (IsMultiBattle()) { - partyBattleOrder = gBattleStruct->battlerPartyOrders[battlerId]; + partyBattleOrder = gBattleStruct->battlerPartyOrders[battler]; for (i = j = 0; i < PARTY_SIZE / 2; j++, i++) { partyIds[j] = partyBattleOrder[i] >> 4; diff --git a/src/pokeball.c b/src/pokeball.c index 445f048924..5bbeb5c96a 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -40,7 +40,7 @@ static void SpriteCB_TradePokeballEnd(struct Sprite *sprite); static void SpriteCB_HealthboxSlideInDelayed(struct Sprite *sprite); static void SpriteCB_HealthboxSlideIn(struct Sprite *sprite); static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite); -static u16 GetBattlerPokeballItemId(u8 battlerId); +static u16 GetBattlerPokeballItemId(u8 battler); // rom const data @@ -352,7 +352,7 @@ u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow) static void Task_DoPokeballSendOutAnim(u8 taskId) { u16 throwCaseId; - u8 battlerId; + u8 battler; u16 itemId, ballId; u8 ballSpriteId; bool8 notSendOut = FALSE; @@ -364,12 +364,12 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) } throwCaseId = gTasks[taskId].tThrowId; - battlerId = gTasks[taskId].tBattler; + battler = gTasks[taskId].tBattler; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - itemId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_POKEBALL); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + itemId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL); else - itemId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_POKEBALL); + itemId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL); ballId = ItemIdToBallId(itemId); LoadBallGfx(ballId); @@ -381,15 +381,15 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) switch (throwCaseId) { case POKEBALL_PLAYER_SENDOUT: - gBattlerTarget = battlerId; + gBattlerTarget = battler; gSprites[ballSpriteId].x = 24; gSprites[ballSpriteId].y = 68; gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1; break; case POKEBALL_OPPONENT_SENDOUT: - gSprites[ballSpriteId].x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X); - gSprites[ballSpriteId].y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 24; - gBattlerTarget = battlerId; + gSprites[ballSpriteId].x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X); + gSprites[ballSpriteId].y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 24; + gBattlerTarget = battler; gSprites[ballSpriteId].data[0] = 0; gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut; break; @@ -667,7 +667,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) u8 wantedCry = gTasks[taskId].tCryTaskWantedCry; s8 pan = gTasks[taskId].tCryTaskPan; u16 species = gTasks[taskId].tCryTaskSpecies; - u8 battlerId = gTasks[taskId].tCryTaskBattler; + u8 battler = gTasks[taskId].tCryTaskBattler; u8 monSpriteId = gTasks[taskId].tCryTaskMonSpriteId; struct Pokemon *mon = (void *)(u32)((gTasks[taskId].tCryTaskMonPtr1 << 16) | (u16)(gTasks[taskId].tCryTaskMonPtr2)); @@ -684,7 +684,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) PlayCry_ByMode(species, pan, CRY_MODE_NORMAL); else PlayCry_ByMode(species, pan, CRY_MODE_WEAK); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); break; case 2: @@ -701,7 +701,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) else PlayCry_ReleaseDouble(species, pan, CRY_MODE_WEAK_DOUBLES); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); } else @@ -741,7 +741,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) else PlayCry_ReleaseDouble(species, pan, CRY_MODE_WEAK); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); break; } @@ -749,11 +749,11 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) { - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; u32 ballId; StartSpriteAnim(sprite, 1); - ballId = ItemIdToBallId(GetBattlerPokeballItemId(battlerId)); + ballId = ItemIdToBallId(GetBattlerPokeballItemId(battler)); AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); sprite->data[0] = LaunchBallFadeMonTask(TRUE, sprite->sBattler, 14, ballId); sprite->callback = HandleBallAnimEnd; @@ -766,19 +766,19 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) u16 wantedCryCase; u8 taskId; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { - mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; pan = 25; } else { - mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; + mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; pan = -25; } species = GetMonData(mon, MON_DATA_SPECIES); - if ((battlerId == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battlerId == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + if ((battler == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battler == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) && IsDoubleBattle() && gBattleSpritesDataPtr->animationData->introAnimActive) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -794,18 +794,18 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) if (!IsDoubleBattle() || !gBattleSpritesDataPtr->animationData->introAnimActive) wantedCryCase = 0; - else if (battlerId == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battlerId == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + else if (battler == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battler == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) wantedCryCase = 1; else wantedCryCase = 2; - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = TRUE; taskId = CreateTask(Task_PlayCryWhenReleasedFromBall, 3); gTasks[taskId].tCryTaskSpecies = species; gTasks[taskId].tCryTaskPan = pan; gTasks[taskId].tCryTaskWantedCry = wantedCryCase; - gTasks[taskId].tCryTaskBattler = battlerId; + gTasks[taskId].tCryTaskBattler = battler; gTasks[taskId].tCryTaskMonSpriteId = gBattlerSpriteIds[sprite->sBattler]; gTasks[taskId].tCryTaskMonPtr1 = (u32)(mon) >> 16; gTasks[taskId].tCryTaskMonPtr2 = (u32)(mon); @@ -845,28 +845,28 @@ static void SpriteCB_BallThrow_StartCaptureMon(struct Sprite *sprite) static void HandleBallAnimEnd(struct Sprite *sprite) { bool8 affineAnimEnded = FALSE; - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; if (sprite->animEnded) sprite->invisible = TRUE; - if (gSprites[gBattlerSpriteIds[battlerId]].affineAnimEnded) + if (gSprites[gBattlerSpriteIds[battler]].affineAnimEnded) { - StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[battlerId]], BATTLER_AFFINE_NORMAL); + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[battler]], BATTLER_AFFINE_NORMAL); affineAnimEnded = TRUE; } else { - gSprites[gBattlerSpriteIds[battlerId]].data[1] -= 288; - gSprites[gBattlerSpriteIds[battlerId]].y2 = gSprites[gBattlerSpriteIds[battlerId]].data[1] >> 8; + gSprites[gBattlerSpriteIds[battler]].data[1] -= 288; + gSprites[gBattlerSpriteIds[battler]].y2 = gSprites[gBattlerSpriteIds[battler]].data[1] >> 8; } if (sprite->animEnded && affineAnimEnded) { s32 i, doneBattlers; - gSprites[gBattlerSpriteIds[battlerId]].y2 = 0; + gSprites[gBattlerSpriteIds[battler]].y2 = 0; gDoingBattleAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive = FALSE; FreeSpriteOamMatrix(sprite); DestroySprite(sprite); @@ -885,7 +885,7 @@ static void HandleBallAnimEnd(struct Sprite *sprite) static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite) { - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; sprite->data[4]++; if (sprite->data[4] == 40) @@ -904,7 +904,7 @@ static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite) DestroySprite(&gSprites[gBattlerSpriteIds[sprite->sBattler]]); DestroySpriteAndFreeResources(sprite); if (gMain.inBattle) - gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive = FALSE; } } @@ -1238,16 +1238,16 @@ static void UNUSED DestroySpriteAndFreeResources_Ball(struct Sprite *sprite) #define sDelayTimer data[1] -void StartHealthboxSlideIn(u8 battlerId) +void StartHealthboxSlideIn(u8 battler) { - struct Sprite *healthboxSprite = &gSprites[gHealthboxSpriteIds[battlerId]]; + struct Sprite *healthboxSprite = &gSprites[gHealthboxSpriteIds[battler]]; healthboxSprite->sSpeedX = 5; healthboxSprite->sSpeedY = 0; healthboxSprite->x2 = 0x73; healthboxSprite->y2 = 0; healthboxSprite->callback = SpriteCB_HealthboxSlideIn; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { healthboxSprite->sSpeedX = -healthboxSprite->sSpeedX; healthboxSprite->sSpeedY = -healthboxSprite->sSpeedY; @@ -1255,7 +1255,7 @@ void StartHealthboxSlideIn(u8 battlerId) healthboxSprite->y2 = -healthboxSprite->y2; } gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]); - if (GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT) + if (GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT) healthboxSprite->callback = SpriteCB_HealthboxSlideInDelayed; } @@ -1281,13 +1281,13 @@ static void SpriteCB_HealthboxSlideIn(struct Sprite *sprite) #undef sSpeedY #undef sDelayTimer -void DoHitAnimHealthboxEffect(u8 battlerId) +void DoHitAnimHealthboxEffect(u8 battler) { u8 spriteId; spriteId = CreateInvisibleSpriteWithCallback(SpriteCB_HitAnimHealthoxEffect); gSprites[spriteId].data[0] = 1; - gSprites[spriteId].data[1] = gHealthboxSpriteIds[battlerId]; + gSprites[spriteId].data[1] = gHealthboxSpriteIds[battler]; gSprites[spriteId].callback = SpriteCB_HitAnimHealthoxEffect; } @@ -1335,10 +1335,10 @@ void FreeBallGfx(u8 ballId) FreeSpritePaletteByTag(gBallSpritePalettes[ballId].tag); } -static u16 GetBattlerPokeballItemId(u8 battlerId) +static u16 GetBattlerPokeballItemId(u8 battler) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_POKEBALL); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL); else - return GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_POKEBALL); + return GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL); } diff --git a/src/pokemon.c b/src/pokemon.c index 8943a232d5..310d686e69 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -67,7 +67,7 @@ static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 perso static void EncryptBoxMon(struct BoxPokemon *boxMon); static void DecryptBoxMon(struct BoxPokemon *boxMon); static void Task_PlayMapChosenOrBattleBGM(u8 taskId); -static bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battlerId); +static bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battler); static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); static bool8 ShouldSkipFriendshipChange(void); static u8 CopyMonToPC(struct Pokemon *mon); @@ -2639,7 +2639,7 @@ static void CreateEventMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedI } // If FALSE, should load this game's Deoxys form. If TRUE, should load normal Deoxys form -bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) +bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battler) { switch (caseId) { @@ -2651,7 +2651,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (!gMain.inBattle) return FALSE; - if (gLinkPlayers[GetMultiplayerId()].id == battlerId) + if (gLinkPlayers[GetMultiplayerId()].id == battler) return FALSE; break; case 2: @@ -2661,7 +2661,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (!gMain.inBattle) return FALSE; - if (battlerId == 1 || battlerId == 4 || battlerId == 5) + if (battler == 1 || battler == 4 || battler == 5) return TRUE; return FALSE; case 4: @@ -2673,12 +2673,12 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (gLinkPlayers[GetMultiplayerId()].id == battlerId) + if (gLinkPlayers[GetMultiplayerId()].id == battler) return FALSE; } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) return FALSE; } } @@ -2686,7 +2686,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) { if (!gMain.inBattle) return FALSE; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) return FALSE; } break; @@ -3404,11 +3404,11 @@ u8 CountAliveMonsInBattle(u8 caseId) return retVal; } -static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) +static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battler) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_FRONTIER)) return FALSE; - else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battler) != B_SIDE_PLAYER) return FALSE; else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) return FALSE; @@ -3418,9 +3418,9 @@ static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) return FALSE; } -u8 GetDefaultMoveTarget(u8 battlerId) +u8 GetDefaultMoveTarget(u8 battler) { - u8 opposing = BATTLE_OPPOSITE(GET_BATTLER_SIDE(battlerId)); + u8 opposing = BATTLE_OPPOSITE(GET_BATTLER_SIDE(battler)); if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return GetBattlerAtPosition(opposing); @@ -4638,59 +4638,59 @@ void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex) mon->ppBonuses &= gPPUpClearMask[moveIndex]; } -void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex) +void CopyPlayerPartyMonToBattleData(u8 battler, u8 partyIndex) { u16 *hpSwitchout; s32 i; u8 nickname[POKEMON_NAME_BUFFER_SIZE]; - gBattleMons[battlerId].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL); - gBattleMons[battlerId].item = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HELD_ITEM, NULL); + gBattleMons[battler].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL); + gBattleMons[battler].item = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HELD_ITEM, NULL); for (i = 0; i < MAX_MON_MOVES; i++) { - gBattleMons[battlerId].moves[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE1 + i, NULL); - gBattleMons[battlerId].pp[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP1 + i, NULL); + gBattleMons[battler].moves[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE1 + i, NULL); + gBattleMons[battler].pp[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP1 + i, NULL); } - gBattleMons[battlerId].ppBonuses = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP_BONUSES, NULL); - gBattleMons[battlerId].friendship = GetMonData(&gPlayerParty[partyIndex], MON_DATA_FRIENDSHIP, NULL); - gBattleMons[battlerId].experience = GetMonData(&gPlayerParty[partyIndex], MON_DATA_EXP, NULL); - gBattleMons[battlerId].hpIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP_IV, NULL); - gBattleMons[battlerId].attackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK_IV, NULL); - gBattleMons[battlerId].defenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF_IV, NULL); - gBattleMons[battlerId].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED_IV, NULL); - gBattleMons[battlerId].spAttackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK_IV, NULL); - gBattleMons[battlerId].spDefenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF_IV, NULL); - gBattleMons[battlerId].personality = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PERSONALITY, NULL); - gBattleMons[battlerId].status1 = GetMonData(&gPlayerParty[partyIndex], MON_DATA_STATUS, NULL); - gBattleMons[battlerId].level = GetMonData(&gPlayerParty[partyIndex], MON_DATA_LEVEL, NULL); - gBattleMons[battlerId].hp = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP, NULL); - gBattleMons[battlerId].maxHP = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MAX_HP, NULL); - gBattleMons[battlerId].attack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK, NULL); - gBattleMons[battlerId].defense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF, NULL); - gBattleMons[battlerId].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED, NULL); - gBattleMons[battlerId].spAttack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK, NULL); - gBattleMons[battlerId].spDefense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF, NULL); - gBattleMons[battlerId].isEgg = GetMonData(&gPlayerParty[partyIndex], MON_DATA_IS_EGG, NULL); - gBattleMons[battlerId].abilityNum = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ABILITY_NUM, NULL); - gBattleMons[battlerId].otId = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_ID, NULL); - gBattleMons[battlerId].types[0] = gSpeciesInfo[gBattleMons[battlerId].species].types[0]; - gBattleMons[battlerId].types[1] = gSpeciesInfo[gBattleMons[battlerId].species].types[1]; - gBattleMons[battlerId].ability = GetAbilityBySpecies(gBattleMons[battlerId].species, gBattleMons[battlerId].abilityNum); + gBattleMons[battler].ppBonuses = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP_BONUSES, NULL); + gBattleMons[battler].friendship = GetMonData(&gPlayerParty[partyIndex], MON_DATA_FRIENDSHIP, NULL); + gBattleMons[battler].experience = GetMonData(&gPlayerParty[partyIndex], MON_DATA_EXP, NULL); + gBattleMons[battler].hpIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP_IV, NULL); + gBattleMons[battler].attackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK_IV, NULL); + gBattleMons[battler].defenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF_IV, NULL); + gBattleMons[battler].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED_IV, NULL); + gBattleMons[battler].spAttackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK_IV, NULL); + gBattleMons[battler].spDefenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF_IV, NULL); + gBattleMons[battler].personality = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PERSONALITY, NULL); + gBattleMons[battler].status1 = GetMonData(&gPlayerParty[partyIndex], MON_DATA_STATUS, NULL); + gBattleMons[battler].level = GetMonData(&gPlayerParty[partyIndex], MON_DATA_LEVEL, NULL); + gBattleMons[battler].hp = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP, NULL); + gBattleMons[battler].maxHP = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MAX_HP, NULL); + gBattleMons[battler].attack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK, NULL); + gBattleMons[battler].defense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF, NULL); + gBattleMons[battler].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED, NULL); + gBattleMons[battler].spAttack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK, NULL); + gBattleMons[battler].spDefense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF, NULL); + gBattleMons[battler].isEgg = GetMonData(&gPlayerParty[partyIndex], MON_DATA_IS_EGG, NULL); + gBattleMons[battler].abilityNum = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ABILITY_NUM, NULL); + gBattleMons[battler].otId = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_ID, NULL); + gBattleMons[battler].types[0] = gSpeciesInfo[gBattleMons[battler].species].types[0]; + gBattleMons[battler].types[1] = gSpeciesInfo[gBattleMons[battler].species].types[1]; + gBattleMons[battler].ability = GetAbilityBySpecies(gBattleMons[battler].species, gBattleMons[battler].abilityNum); GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(gBattleMons[battlerId].nickname, nickname); - GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battlerId].otName); + StringCopy_Nickname(gBattleMons[battler].nickname, nickname); + GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battler].otName); - hpSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(battlerId)]; - *hpSwitchout = gBattleMons[battlerId].hp; + hpSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(battler)]; + *hpSwitchout = gBattleMons[battler].hp; for (i = 0; i < NUM_BATTLE_STATS; i++) - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; - gBattleMons[battlerId].status2 = 0; - UpdateSentPokesToOpponentValue(battlerId); - ClearTemporarySpeciesSpriteData(battlerId, FALSE); + gBattleMons[battler].status2 = 0; + UpdateSentPokesToOpponentValue(battler); + ClearTemporarySpeciesSpriteData(battler, FALSE); } bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex) @@ -4737,7 +4737,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov u32 temp1, temp2; s8 friendshipChange = 0; u8 holdEffect; - u8 battlerId = MAX_BATTLERS_COUNT; + u8 battler = MAX_BATTLERS_COUNT; u32 friendshipOnly = FALSE; u16 heldItem; u8 effectFlags; @@ -4768,7 +4768,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (gBattlerPartyIndexes[i] == partyIndex) { - battlerId = i; + battler = i; break; } i += 2; @@ -4777,7 +4777,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov else { gActiveBattler = 0; - battlerId = MAX_BATTLERS_COUNT; + battler = MAX_BATTLERS_COUNT; } // Skip using the item if it won't do anything @@ -4809,9 +4809,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov case 0: // Cure infatuation if ((itemEffect[i] & ITEM0_INFATUATION) - && gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && (gBattleMons[battlerId].status2 & STATUS2_INFATUATION)) + && gMain.inBattle && battler != MAX_BATTLERS_COUNT && (gBattleMons[battler].status2 & STATUS2_INFATUATION)) { - gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; + gBattleMons[battler].status2 &= ~STATUS2_INFATUATION; retVal = FALSE; } @@ -4901,24 +4901,24 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // Cure status if ((itemEffect[i] & ITEM3_SLEEP) - && HealStatusConditions(mon, partyIndex, STATUS1_SLEEP, battlerId) == 0) + && HealStatusConditions(mon, partyIndex, STATUS1_SLEEP, battler) == 0) { - if (battlerId != MAX_BATTLERS_COUNT) - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + if (battler != MAX_BATTLERS_COUNT) + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; retVal = FALSE; } - if ((itemEffect[i] & ITEM3_POISON) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battlerId) == 0) + if ((itemEffect[i] & ITEM3_POISON) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_BURN) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battlerId) == 0) + if ((itemEffect[i] & ITEM3_BURN) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_FREEZE) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battlerId) == 0) + if ((itemEffect[i] & ITEM3_FREEZE) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_PARALYSIS) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battlerId) == 0) + if ((itemEffect[i] & ITEM3_PARALYSIS) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battler) == 0) retVal = FALSE; if ((itemEffect[i] & ITEM3_CONFUSION) // heal confusion - && gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)) + && gMain.inBattle && battler != MAX_BATTLERS_COUNT && (gBattleMons[battler].status2 & STATUS2_CONFUSION)) { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; retVal = FALSE; } break; @@ -5011,10 +5011,10 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } if (gMain.inBattle) { - if (battlerId != MAX_BATTLERS_COUNT) + if (battler != MAX_BATTLERS_COUNT) { - gAbsentBattlerFlags &= ~gBitTable[battlerId]; - CopyPlayerPartyMonToBattleData(battlerId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId])); + gAbsentBattlerFlags &= ~gBitTable[battler]; + CopyPlayerPartyMonToBattleData(battler, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler])); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255) gBattleResults.numRevivesUsed++; } @@ -5064,16 +5064,16 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov SetMonData(mon, MON_DATA_HP, &dataUnsigned); // Update battler (if applicable) - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT) + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT) { - gBattleMons[battlerId].hp = dataUnsigned; + gBattleMons[battler].hp = dataUnsigned; if (!(effectFlags & (ITEM4_REVIVE >> 2)) && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { if (gBattleResults.numHealingItemsUsed < 255) gBattleResults.numHealingItemsUsed++; temp2 = gActiveBattler; - gActiveBattler = battlerId; + gActiveBattler = battler; BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gActiveBattler = temp2; @@ -5110,8 +5110,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov SetMonData(mon, MON_DATA_PP1 + temp2, &dataUnsigned); // Heal battler PP too (if applicable) - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battlerId, temp2)) - gBattleMons[battlerId].pp[temp2] = dataUnsigned; + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battler, temp2)) + gBattleMons[battler].pp[temp2] = dataUnsigned; retVal = FALSE; } @@ -5136,8 +5136,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov SetMonData(mon, MON_DATA_PP1 + moveIndex, &dataUnsigned); // Heal battler PP too (if applicable) - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battlerId, moveIndex)) - gBattleMons[battlerId].pp[moveIndex] = dataUnsigned; + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battler, moveIndex)) + gBattleMons[battler].pp[moveIndex] = dataUnsigned; retVal = FALSE; } @@ -5276,7 +5276,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov return retVal; } -bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId) +bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battler) { u32 status = GetMonData(mon, MON_DATA_STATUS, 0); @@ -5284,8 +5284,8 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, { status &= ~healMask; SetMonData(mon, MON_DATA_STATUS, &status); - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT) - gBattleMons[battlerId].status1 &= ~healMask; + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT) + gBattleMons[battler].status1 &= ~healMask; return FALSE; } else @@ -6874,22 +6874,22 @@ void BattleAnimateBackSprite(struct Sprite *sprite, u16 species) static u8 UNUSED GetOwnOpposingLinkMultiBattlerId(bool8 rightSide) { s32 i; - s32 battlerId = 0; + s32 battler = 0; u8 multiplayerId = GetMultiplayerId(); switch (gLinkPlayers[multiplayerId].id) { case 0: case 2: - battlerId = rightSide ? 1 : 3; + battler = rightSide ? 1 : 3; break; case 1: case 3: - battlerId = rightSide ? 2 : 0; + battler = rightSide ? 2 : 0; break; } for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayers[i].id == (s16)battlerId) + if (gLinkPlayers[i].id == (s16)battler) break; } return i; @@ -6898,21 +6898,21 @@ static u8 UNUSED GetOwnOpposingLinkMultiBattlerId(bool8 rightSide) u8 GetOpposingLinkMultiBattlerId(bool8 rightSide, u8 multiplayerId) { s32 i; - s32 battlerId = 0; + s32 battler = 0; switch (gLinkPlayers[multiplayerId].id) { case 0: case 2: - battlerId = rightSide ? 1 : 3; + battler = rightSide ? 1 : 3; break; case 1: case 3: - battlerId = rightSide ? 2 : 0; + battler = rightSide ? 2 : 0; break; } for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayers[i].id == (s16)battlerId) + if (gLinkPlayers[i].id == (s16)battler) break; } return i; diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index c5ef33878f..837e6675c9 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -955,14 +955,14 @@ void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId) void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet) { - u8 nature, taskId, animId, battlerId; + u8 nature, taskId, animId, battler; taskId = CreateTask(Task_HandleMonAnimation, 128); gTasks[taskId].tPtrHi = (u32)(sprite) >> 16; gTasks[taskId].tPtrLo = (u32)(sprite); - battlerId = sprite->data[0]; - nature = GetNature(&gPlayerParty[gBattlerPartyIndexes[battlerId]]); + battler = sprite->data[0]; + nature = GetNature(&gPlayerParty[gBattlerPartyIndexes[battler]]); // * 3 below because each back anim has 3 variants depending on nature animId = 3 * backAnimSet + sBackAnimNatureModTable[nature]; diff --git a/src/recorded_battle.c b/src/recorded_battle.c index ebd2a5800f..559fc445f1 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -27,7 +27,7 @@ struct PlayerInfo u32 trainerId; u8 name[PLAYER_NAME_LENGTH + 1]; u8 gender; - u16 battlerId; + u16 battler; u16 language; }; @@ -152,7 +152,7 @@ void RecordedBattle_SetTrainerInfo(void) { sPlayers[i].trainerId = gLinkPlayers[i].trainerId; sPlayers[i].gender = gLinkPlayers[i].gender; - sPlayers[i].battlerId = gLinkPlayers[i].id; + sPlayers[i].battler = gLinkPlayers[i].id; sPlayers[i].language = gLinkPlayers[i].language; // Record names @@ -178,7 +178,7 @@ void RecordedBattle_SetTrainerInfo(void) | (gSaveBlock2Ptr->playerTrainerId[3] << 24); sPlayers[0].gender = gSaveBlock2Ptr->playerGender; - sPlayers[0].battlerId = 0; + sPlayers[0].battler = 0; sPlayers[0].language = gGameLanguage; for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) @@ -186,29 +186,29 @@ void RecordedBattle_SetTrainerInfo(void) } } -void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action) +void RecordedBattle_SetBattlerAction(u8 battler, u8 action) { - if (sBattlerRecordSizes[battlerId] < BATTLER_RECORD_SIZE && sRecordMode != B_RECORD_MODE_PLAYBACK) - sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]++] = action; + if (sBattlerRecordSizes[battler] < BATTLER_RECORD_SIZE && sRecordMode != B_RECORD_MODE_PLAYBACK) + sBattleRecords[battler][sBattlerRecordSizes[battler]++] = action; } -void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear) +void RecordedBattle_ClearBattlerAction(u8 battler, u8 bytesToClear) { s32 i; for (i = 0; i < bytesToClear; i++) { - sBattlerRecordSizes[battlerId]--; - sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] = 0xFF; - if (sBattlerRecordSizes[battlerId] == 0) + sBattlerRecordSizes[battler]--; + sBattleRecords[battler][sBattlerRecordSizes[battler]] = 0xFF; + if (sBattlerRecordSizes[battler] == 0) break; } } -u8 RecordedBattle_GetBattlerAction(u8 battlerId) +u8 RecordedBattle_GetBattlerAction(u8 battler) { // Trying to read past array or invalid action byte, battle is over. - if (sBattlerRecordSizes[battlerId] >= BATTLER_RECORD_SIZE || sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] == 0xFF) + if (sBattlerRecordSizes[battler] >= BATTLER_RECORD_SIZE || sBattleRecords[battler][sBattlerRecordSizes[battler]] == 0xFF) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah ResetPaletteFadeControl(); @@ -218,7 +218,7 @@ u8 RecordedBattle_GetBattlerAction(u8 battlerId) } else { - return sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]++]; + return sBattleRecords[battler][sBattlerRecordSizes[battler]++]; } } @@ -268,11 +268,11 @@ void RecordedBattle_RecordAllBattlerData(u8 *src) { for (size = *src; size != 0;) { - u8 battlerId = GetNextRecordedDataByte(src, &idx, &size); + u8 battler = GetNextRecordedDataByte(src, &idx, &size); u8 numActions = GetNextRecordedDataByte(src, &idx, &size); for (i = 0; i < numActions; i++) - sBattleRecords[battlerId][sBattlerSavedRecordSizes[battlerId]++] = GetNextRecordedDataByte(src, &idx, &size); + sBattleRecords[battler][sBattlerSavedRecordSizes[battler]++] = GetNextRecordedDataByte(src, &idx, &size); } } } @@ -339,7 +339,7 @@ bool32 MoveRecordedBattleToSaveData(void) battleSave->playersName[i][j] = sPlayers[i].name[j]; battleSave->playersGender[i] = sPlayers[i].gender; battleSave->playersLanguage[i] = sPlayers[i].language; - battleSave->playersBattlers[i] = sPlayers[i].battlerId; + battleSave->playersBattlers[i] = sPlayers[i].battler; battleSave->playersTrainerId[i] = sPlayers[i].trainerId; } @@ -358,16 +358,16 @@ bool32 MoveRecordedBattleToSaveData(void) } else if (sBattleFlags & BATTLE_TYPE_MULTI) { - switch (sPlayers[0].battlerId) + switch (sPlayers[0].battler) { case 0: case 2: - if (!(sPlayers[gRecordedBattleMultiplayerId].battlerId & 1)) + if (!(sPlayers[gRecordedBattleMultiplayerId].battler & 1)) battleSave->battleFlags |= BATTLE_TYPE_RECORDED_IS_MASTER; break; case 1: case 3: - if ((sPlayers[gRecordedBattleMultiplayerId].battlerId & 1)) + if ((sPlayers[gRecordedBattleMultiplayerId].battler & 1)) battleSave->battleFlags |= BATTLE_TYPE_RECORDED_IS_MASTER; break; } @@ -707,35 +707,35 @@ void RecordedBattle_CopyBattlerMoves(void) void RecordedBattle_CheckMovesetChanges(u8 mode) { - s32 battlerId, j, k; + s32 battler, j, k; if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) return; - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { // Player's side only - if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) + if (GetBattlerSide(battler) != B_SIDE_OPPONENT) { if (mode == B_RECORD_MODE_RECORDING) { // Check if any of the battler's moves have changed. for (j = 0; j < MAX_MON_MOVES; j++) { - if (gBattleMons[battlerId].moves[j] != sPlayerMonMoves[battlerId / 2][j]) + if (gBattleMons[battler].moves[j] != sPlayerMonMoves[battler / 2][j]) break; } if (j != MAX_MON_MOVES) { // At least one of the moves has been changed - RecordedBattle_SetBattlerAction(battlerId, ACTION_MOVE_CHANGE); + RecordedBattle_SetBattlerAction(battler, ACTION_MOVE_CHANGE); for (j = 0; j < MAX_MON_MOVES; j++) { for (k = 0; k < MAX_MON_MOVES; k++) { - if (gBattleMons[battlerId].moves[j] == sPlayerMonMoves[battlerId / 2][k]) + if (gBattleMons[battler].moves[j] == sPlayerMonMoves[battler / 2][k]) { - RecordedBattle_SetBattlerAction(battlerId, k); + RecordedBattle_SetBattlerAction(battler, k); break; } } @@ -744,7 +744,7 @@ void RecordedBattle_CheckMovesetChanges(u8 mode) } else // B_RECORD_MODE_PLAYBACK { - if (sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] == ACTION_MOVE_CHANGE) + if (sBattleRecords[battler][sBattlerRecordSizes[battler]] == ACTION_MOVE_CHANGE) { u8 ppBonuses[MAX_MON_MOVES]; u8 moveSlots[MAX_MON_MOVES]; @@ -754,55 +754,55 @@ void RecordedBattle_CheckMovesetChanges(u8 mode) // We know the current action is ACTION_MOVE_CHANGE, retrieve // it without saving it to move on to the next action. - RecordedBattle_GetBattlerAction(battlerId); + RecordedBattle_GetBattlerAction(battler); for (j = 0; j < MAX_MON_MOVES; j++) - ppBonuses[j] = ((gBattleMons[battlerId].ppBonuses & (3 << (j << 1))) >> (j << 1)); + ppBonuses[j] = ((gBattleMons[battler].ppBonuses & (3 << (j << 1))) >> (j << 1)); for (j = 0; j < MAX_MON_MOVES; j++) { - moveSlots[j] = RecordedBattle_GetBattlerAction(battlerId); - movePp.moves[j] = gBattleMons[battlerId].moves[moveSlots[j]]; - movePp.currentPp[j] = gBattleMons[battlerId].pp[moveSlots[j]]; + moveSlots[j] = RecordedBattle_GetBattlerAction(battler); + movePp.moves[j] = gBattleMons[battler].moves[moveSlots[j]]; + movePp.currentPp[j] = gBattleMons[battler].pp[moveSlots[j]]; movePp.maxPp[j] = ppBonuses[moveSlots[j]]; - mimickedMoveSlots[j] = (gDisableStructs[battlerId].mimickedMoves & gBitTable[j]) >> j; + mimickedMoveSlots[j] = (gDisableStructs[battler].mimickedMoves & gBitTable[j]) >> j; } for (j = 0; j < MAX_MON_MOVES; j++) { - gBattleMons[battlerId].moves[j] = movePp.moves[j]; - gBattleMons[battlerId].pp[j] = movePp.currentPp[j]; + gBattleMons[battler].moves[j] = movePp.moves[j]; + gBattleMons[battler].pp[j] = movePp.currentPp[j]; } - gBattleMons[battlerId].ppBonuses = 0; - gDisableStructs[battlerId].mimickedMoves = 0; + gBattleMons[battler].ppBonuses = 0; + gDisableStructs[battler].mimickedMoves = 0; for (j = 0; j < MAX_MON_MOVES; j++) { - gBattleMons[battlerId].ppBonuses |= movePp.maxPp[j] << (j << 1); - gDisableStructs[battlerId].mimickedMoves |= mimickedMoveSlots[j] << j; + gBattleMons[battler].ppBonuses |= movePp.maxPp[j] << (j << 1); + gDisableStructs[battler].mimickedMoves |= mimickedMoveSlots[j] << j; } - if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED)) + if (!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { for (j = 0; j < MAX_MON_MOVES; j++) - ppBonuses[j] = (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1); + ppBonuses[j] = (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1); for (j = 0; j < MAX_MON_MOVES; j++) { - movePp.moves[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + moveSlots[j], NULL); - movePp.currentPp[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP1 + moveSlots[j], NULL); + movePp.moves[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + moveSlots[j], NULL); + movePp.currentPp[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP1 + moveSlots[j], NULL); movePp.maxPp[j] = ppBonuses[moveSlots[j]]; } for (j = 0; j < MAX_MON_MOVES; j++) { - SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + j, &movePp.moves[j]); - SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP1 + j, &movePp.currentPp[j]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + j, &movePp.moves[j]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP1 + j, &movePp.currentPp[j]); } ppBonusSet = 0; for (j = 0; j < MAX_MON_MOVES; j++) ppBonusSet |= movePp.maxPp[j] << (j << 1); - SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, &ppBonusSet); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP_BONUSES, &ppBonusSet); } - gChosenMoveByBattler[battlerId] = gBattleMons[battlerId].moves[*(gBattleStruct->chosenMovePositions + battlerId)]; + gChosenMoveByBattler[battler] = gBattleMons[battler].moves[*(gBattleStruct->chosenMovePositions + battler)]; } } } diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index fd2ed03cca..17a5d3b268 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -18,9 +18,9 @@ // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); -static bool8 LoadBattlerSpriteGfx(u8 battlerId); -static void CreateBattlerSprite(u8 battlerId); -static void CreateHealthboxSprite(u8 battlerId); +static bool8 LoadBattlerSpriteGfx(u8 battler); +static void CreateBattlerSprite(u8 battler); +static void CreateHealthboxSprite(u8 battler); static void ClearBattleBgCntBaseBlocks(void); void ReshowBattleScreenDummy(void) diff --git a/tools/mgba-rom-test-hydra/mgba-rom-test-hydra b/tools/mgba-rom-test-hydra/mgba-rom-test-hydra new file mode 100755 index 0000000000000000000000000000000000000000..f92182a1818ff806241fded0d3420b45c99a7204 GIT binary patch literal 30888 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 literal 0 HcmV?d00001 diff --git a/tools/trainerproc/trainerproc b/tools/trainerproc/trainerproc new file mode 100755 index 0000000000000000000000000000000000000000..89dba8c1dd10cab1b28159895472e947ba446cba GIT binary patch literal 55696 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%0De8-r2ozsZ;{mhiUII{GXVTyz%5cKN$I8m@b>^d zV$f-c`C5|Dv!M|fr-~RTP#3%YIRKv{fM-GetnHEmPiHWE`0Xor{#;S~{Q!K1AJ@PB z#{f?JV==)%B;y$VaHaSh4q(rTa64fDK8^w4R}KKb4sgTmJj-8Y;|t@p5E39qGN*8vYZn2AHF5}bU5Ch0!k+gM-I zZ?zK&6~RirfHUxMBhIkzIi!KPUzl_jh*Lx8fzb;u68L@2CUIgT_-8m>AZzYDWh4Yh z0Dgwr*5^!<;f&MI(8@N`$tYfB?@1{`{%5!p30n3p4oslI*XLN4?DKxDX=0yKU;I?3 zho4f+FDx`7{ERRY1g_zT89ySH3LKcrMS_Vu*T$(uZeX$^F)WOI-y)mOM-9Cem>59S z0YfQ2g{ttxS0m5TDRd?^Da&8V9&o5!pztHPcv;!w!E(ssR6S)g>=jOr>X@N;%H7jT z>~7EWvNF5?j8{NQ+)j^D+wAidm%CjhrJe~`Iu(Jk-ap@qQ4Uw&p$ZeF7fe(z_8Yv5 zni3#J;Hs+d;5;l|4{U)WsH!Nf$N9~wYP<&xe0uRG1sxSu*Q7w$TaGCZkFTaWP_5K@ z>l<5ArK2|q8&b(Vwf+V_NmlRcm6f*yjquXRzJ;FJYJYvAiit|IZ%H3E9=!D6Lz`1j ziO(Xu+~+ei0w-#{34XjX5}B)wgfVIfg5y=q6cX;&YExkWyt0x4@pu;C1E&UqlwPh(Wr)MGN^J{#ehL`f(ihb;zokXAiA+JM zrGudGOXo#XyUpW)S$J?--s6FUu$O+V#pCg|R#SK4McNw-4A92`GAA7P zOsP!CZ&|u1P(2?hG{e$5d50GheEAC+g86vkvk6_hRLM_(<_G=tHRJp>N(YJ+W#AZzd?e!lC3LnE>NV!0xpw8d?5h&NR#Q;2s)Ws zC80=V94Ntd+?enu>)#~kWh(a{B|hOMUoK>hU=L2xcL;i!P7=rn7ujW$pSEdePg2s$ zeM_0@q5xqQlT*^mb@N=nsY*#N_d#VU_dS8aE~ETjKxvOr(#w6tL@MZ{{1Q*5v<*Rf zmNGB*EoE9P=#BCVFx!8kK9Te>(LkBXeN$P#vHcooiM~WKlp8l9?Gz0rdeWJZ{x^UT z3dzSVOKK|jrv;SNCGRP{9e>I677IZYMW*cRFbA>UEO9T>dyr42m-~V;t(l)hj9W`; zR(SyVWO})-l&Rc*mt;o!e^}5<{mb=|OjW5*!9dC_`Tf~IFZTmvN@vuQFJt}B80cF! zaBP{5q`{qZ$^Mg|=W&xf{#QNDOJr)1h$1!C|2p8bha-lqBA-jh)L5U)%k%(fvC2%) z%jXs{m3Tm5m(0tw3s6##tY7Yn$#kPZU<>2Y`_qkEvRz3p_i1F>DfBPxTh=T4(S-8k z`ZsRlyk(l(TNS&L^fEopKrf%0$aM4nLT@(Eua9v8nMye&8(FW+pA33}$@a%$yhN^d zDLj5|54;&t!`SK4&6(5&oq7(tlI2l$}%XU;PE1 c?vfoR3T3?#m-buxqkpV}W1M3kFl3eg2h{~ Date: Fri, 9 May 2025 17:33:23 +0200 Subject: [PATCH 15/84] Replace: moveId -> move, moveIdx -> moveIndex (#2134) --- include/battle_gfx_sfx_util.h | 2 +- include/battle_tv.h | 2 +- include/global.h | 2 +- include/party_menu.h | 2 +- include/pokemon_storage_system.h | 2 +- include/tv.h | 2 +- src/apprentice.c | 40 +++++++++++------------ src/battle_controller_recorded_opponent.c | 4 +-- src/battle_controller_recorded_player.c | 4 +-- src/battle_dome.c | 38 ++++++++++----------- src/battle_gfx_sfx_util.c | 2 +- src/battle_script_commands.c | 12 +++---- src/battle_tower.c | 2 +- src/battle_transition.c | 24 +++++++------- src/battle_tv.c | 38 ++++++++++----------- src/contest_ai.c | 6 ++-- src/item_menu.c | 16 ++++----- src/move_relearner.c | 12 +++---- src/pokemon.c | 28 ++++++++-------- src/pokemon_storage_system.c | 4 +-- src/scrcmd.c | 8 ++--- src/secret_base.c | 10 +++--- src/tv.c | 6 ++-- 23 files changed, 133 insertions(+), 133 deletions(-) diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index f9ce1bb2ca..e65df4bf2a 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -9,7 +9,7 @@ void SpriteCB_TrainerSlideIn(struct Sprite *sprite); void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId, u16 argument); void InitAndLaunchSpecialAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId); -bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); +bool8 IsMoveWithoutAnimation(u16 move, u8 animationTurn); bool8 IsBattleSEPlaying(u8 battler); void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battler); void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battler); diff --git a/include/battle_tv.h b/include/battle_tv.h index b2a89451a1..5766907637 100644 --- a/include/battle_tv.h +++ b/include/battle_tv.h @@ -6,6 +6,6 @@ void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruc void BattleTv_SetDataBasedOnAnimation(u8 animationId); void TryPutLinkBattleTvShowOnAir(void); void BattleTv_ClearExplosionFaintCause(void); -u8 GetBattlerMoveSlotId(u8 battler, u16 moveId); +u8 GetBattlerMoveSlotId(u8 battler, u16 move); #endif // GUARD_BATTLE_TV_H diff --git a/include/global.h b/include/global.h index 62da1165c7..36ddbffbf2 100644 --- a/include/global.h +++ b/include/global.h @@ -459,7 +459,7 @@ struct ApprenticeQuestion u8 moveSlot:2; u8 suggestedChange:2; // TRUE if told to use held item or second move, FALSE if told to use no item or first move //u8 padding; - u16 data; // used both as an itemId and a moveId + u16 data; // used both as an itemId and a move }; struct PlayersApprentice diff --git a/include/party_menu.h b/include/party_menu.h index 2d33b3b9fc..15ab57b0a9 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -16,7 +16,7 @@ struct PartyMenu s8 slotId2; u8 action; u16 bagItem; - s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos + s16 data1; // used variously as a move, counter, moveSlotId, or cursorPos s16 learnMoveState; // data2, used only as a learn move state }; diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index eb25c0ff27..b4f0d6565e 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -57,7 +57,7 @@ bool8 CheckFreePokemonStorageSpace(void); bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition); u32 CountStorageNonEggMons(void); u32 CountAllStorageMons(void); -bool32 AnyStorageMonWithMove(u16 moveId); +bool32 AnyStorageMonWithMove(u16 move); void ResetWaldaWallpaper(void); void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked); diff --git a/include/tv.h b/include/tv.h index 31c8fcc50f..f47aa532d7 100644 --- a/include/tv.h +++ b/include/tv.h @@ -5,7 +5,7 @@ extern u8 *const gTVStringVarPtrs[3]; void ClearTVShowData(void); void TryPutBreakingNewsOnAir(void); -void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove); +void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIndex, const u16 *movePtr, u16 betterMove); void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facility); void DoTVShow(void); void DoTVShowInSearchOfTrainers(void); diff --git a/src/apprentice.c b/src/apprentice.c index 72ab8f24c8..7e41ad8f40 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -70,8 +70,8 @@ struct ApprenticeQuestionData { u16 speciesId; u16 altSpeciesId; - u16 moveId1; - u16 moveId2; + u16 move1; + u16 move2; }; // IWRAM common @@ -81,7 +81,7 @@ COMMON_DATA void (*gApprenticeFunc)(void) = NULL; // This file's functions. static u16 GetRandomAlternateMove(u8 monId); -static bool8 TrySetMove(u8 monId, u16 moveId); +static bool8 TrySetMove(u8 monId, u16 move); static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId); static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height); static void RemoveAndHideWindow(u8 windowId); @@ -337,7 +337,7 @@ static u16 GetRandomAlternateMove(u8 monId) u16 species; const u16 *learnset; bool32 needTMs = FALSE; - u16 moveId = MOVE_NONE; + u16 move = MOVE_NONE; bool32 shouldUseMove; u8 level; @@ -379,7 +379,7 @@ static u16 GetRandomAlternateMove(u8 monId) } while (!shouldUseMove); - moveId = ItemIdToBattleMoveId(ITEM_TM01 + id); + move = ItemIdToBattleMoveId(ITEM_TM01 + id); shouldUseMove = TRUE; if (numLearnsetMoves <= MAX_MON_MOVES) @@ -390,7 +390,7 @@ static u16 GetRandomAlternateMove(u8 monId) for (; j < numLearnsetMoves; j++) { // Keep looking for TMs until one not in the level up learnset is found - if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId) + if ((learnset[j] & LEVEL_UP_MOVE_ID) == move) { shouldUseMove = FALSE; break; @@ -414,13 +414,13 @@ static u16 GetRandomAlternateMove(u8 monId) { // Get a random move excluding the 4 it would know at max level u8 learnsetId = Random() % (numLearnsetMoves - MAX_MON_MOVES); - moveId = learnset[learnsetId] & LEVEL_UP_MOVE_ID; + move = learnset[learnsetId] & LEVEL_UP_MOVE_ID; shouldUseMove = TRUE; for (j = numLearnsetMoves - MAX_MON_MOVES; j < numLearnsetMoves; j++) { // Keep looking for moves until one not in the last 4 is found - if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId) + if ((learnset[j] & LEVEL_UP_MOVE_ID) == move) { shouldUseMove = FALSE; break; @@ -430,29 +430,29 @@ static u16 GetRandomAlternateMove(u8 monId) } } - if (TrySetMove(monId, moveId)) + if (TrySetMove(monId, move)) { - if (sValidApprenticeMoves[moveId]) + if (sValidApprenticeMoves[move]) break; i++; } } gApprenticePartyMovesData->moveCounter++; - return moveId; + return move; } -static bool8 TrySetMove(u8 monId, u16 moveId) +static bool8 TrySetMove(u8 monId, u16 move) { u8 i; for (i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++) { - if (gApprenticePartyMovesData->moves[monId][i] == moveId) + if (gApprenticePartyMovesData->moves[monId][i] == move) return FALSE; } - gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = moveId; + gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = move; return TRUE; } @@ -605,8 +605,8 @@ static void CreateApprenticeMenu(u8 menu) case APPRENTICE_ASK_MOVES: left = 17; top = 8; - strings[0] = gMoveNames[gApprenticeQuestionData->moveId1]; - strings[1] = gMoveNames[gApprenticeQuestionData->moveId2]; + strings[0] = gMoveNames[gApprenticeQuestionData->move1]; + strings[1] = gMoveNames[gApprenticeQuestionData->move2]; break; case APPRENTICE_ASK_GIVE: left = 18; @@ -1006,8 +1006,8 @@ static void InitQuestionData(void) count = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].monId; APPRENTICE_SPECIES_ID_NO_COND(id1, count); gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id1]; - gApprenticeQuestionData->moveId1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot); - gApprenticeQuestionData->moveId2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data; + gApprenticeQuestionData->move1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot); + gApprenticeQuestionData->move2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data; } } else if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHAT_ITEM) @@ -1062,10 +1062,10 @@ static void ApprenticeBufferString(void) StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]); break; case APPRENTICE_BUFF_MOVE1: - StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId1]); + StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->move1]); break; case APPRENTICE_BUFF_MOVE2: - StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId2]); + StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->move2]); break; case APPRENTICE_BUFF_ITEM: StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data)); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 8178e51d01..518086cbb7 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -1419,9 +1419,9 @@ static void RecordedOpponentHandleChooseMove(void) } else { - u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); + u8 moveIndex = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveIndex | (target << 8)); } RecordedOpponentBufferExecCompleted(); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index f11a759148..6b061487b4 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -1445,9 +1445,9 @@ static void RecordedPlayerHandleChooseMove(void) } else { - u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); + u8 moveIndex = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveIndex | (target << 8)); } RecordedPlayerBufferExecCompleted(); diff --git a/src/battle_dome.c b/src/battle_dome.c index 68cae14a6e..9573f67cc7 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2678,24 +2678,24 @@ int GetDomeTrainerSelectedMons(u16 tournamentTrainerId) static int SelectOpponentMons_Good(u16 tournamentTrainerId, bool8 allowRandom) { - int i, moveId, playerMonId; + int i, moveIndex, playerMonId; int partyMovePoints[FRONTIER_PARTY_SIZE]; for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { partyMovePoints[i] = 0; - for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++) { if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), + partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveIndex), GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_GOOD); } else { - partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId], + partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveIndex], GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_GOOD); } } @@ -2707,24 +2707,24 @@ static int SelectOpponentMons_Good(u16 tournamentTrainerId, bool8 allowRandom) // Identical to function above, but uses EFFECTIVENESS_MODE_BAD static int SelectOpponentMons_Bad(u16 tournamentTrainerId, bool8 allowRandom) { - int i, moveId, playerMonId; + int i, moveIndex, playerMonId; int partyMovePoints[FRONTIER_PARTY_SIZE]; for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { partyMovePoints[i] = 0; - for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++) { if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), + partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveIndex), GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_BAD); } else { - partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId], + partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveIndex], GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_BAD); } } @@ -5222,7 +5222,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun { int i, j, k; int moveScores[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; - u16 moveIds[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; + u16 moves[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; u16 bestScore = 0; u16 bestId = 0; int movePower = 0; @@ -5236,17 +5236,17 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun // TODO: Clean this up, looks like a different data structure (2D array) moveScores[i * MAX_MON_MOVES + j] = 0; if (DOME_TRAINERS[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN) - moveIds[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j); + moves[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j); else - moveIds[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j]; + moves[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j]; - movePower = gBattleMoves[moveIds[i * MAX_MON_MOVES + j]].power; + movePower = gBattleMoves[moves[i * MAX_MON_MOVES + j]].power; if (movePower == 0) movePower = 40; else if (movePower == 1) movePower = 60; - else if (moveIds[i * MAX_MON_MOVES + j] == MOVE_SELF_DESTRUCT - || moveIds[i * MAX_MON_MOVES + j] == MOVE_EXPLOSION) + else if (moves[i * MAX_MON_MOVES + j] == MOVE_SELF_DESTRUCT + || moves[i * MAX_MON_MOVES + j] == MOVE_EXPLOSION) movePower /= 2; for (k = 0; k < FRONTIER_PARTY_SIZE; k++) @@ -5265,7 +5265,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun else targetAbility = gSpeciesInfo[targetSpecies].abilities[0]; - var = AI_TypeCalc(moveIds[i * MAX_MON_MOVES + j], targetSpecies, targetAbility); + var = AI_TypeCalc(moves[i * MAX_MON_MOVES + j], targetSpecies, targetAbility); if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE && var & MOVE_RESULT_SUPER_EFFECTIVE) moveScores[i * MAX_MON_MOVES + j] += movePower; else if (var & MOVE_RESULT_NO_EFFECT) @@ -5285,7 +5285,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun } else if (bestScore == moveScores[i * MAX_MON_MOVES + j]) { - if (moveIds[bestId] < moveIds[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? + if (moves[bestId] < moves[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? bestId = i * MAX_MON_MOVES + j; } } @@ -5296,7 +5296,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun { for (i = 0; i < roundId - 1; i++) { - if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moveIds[j]) + if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moves[j]) break; } if (i != roundId - 1) @@ -5316,7 +5316,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun j = k; bestScore = moveScores[k]; } - else if (bestScore == moveScores[k] && moveIds[j] < moveIds[k]) // Yes, these conditions are redundant + else if (bestScore == moveScores[k] && moves[j] < moves[k]) // Yes, these conditions are redundant { j = k; bestScore = moveScores[k]; @@ -5328,7 +5328,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun if (moveScores[j] == 0) j = bestId; - return moveIds[j]; + return moves[j]; } static void Task_ShowTourneyTree(u8 taskId) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 9181b82667..56906804c8 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -545,7 +545,7 @@ static void Task_ClearBitWhenSpecialAnimDone(u8 taskId) #undef tBattlerId // Great function to include newly added moves that don't have animation yet. -bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn) +bool8 IsMoveWithoutAnimation(u16 move, u8 animationTurn) { return FALSE; } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 0f99173b11..a79851acc0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5464,8 +5464,8 @@ static void Cmd_yesnoboxlearnmove(void) } else { - u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); - if (IsHMMove2(moveId)) + u16 move = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); + if (IsHMMove2(move)) { PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, gActiveBattler); gBattleScripting.learnMoveState = 6; @@ -5474,7 +5474,7 @@ static void Cmd_yesnoboxlearnmove(void) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); - PREPARE_MOVE_BUFFER(gBattleTextBuff2, moveId) + PREPARE_MOVE_BUFFER(gBattleTextBuff2, move) RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterMonId], movePosition); SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterMonId], gMoveToLearn, movePosition); @@ -9508,7 +9508,7 @@ static void Cmd_assistattackselect(void) { s32 chooseableMovesNo = 0; struct Pokemon *party; - s32 monId, moveId; + s32 monId, moveIndex; u16 *validMoves = gBattleStruct->assistPossibleMoves; if (GET_BATTLER_SIDE(gBattlerAttacker) != B_SIDE_PLAYER) @@ -9525,10 +9525,10 @@ static void Cmd_assistattackselect(void) if (GetMonData(&party[monId], MON_DATA_SPECIES_OR_EGG) == SPECIES_EGG) continue; - for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { s32 i = 0; - u16 move = GetMonData(&party[monId], MON_DATA_MOVE1 + moveId); + u16 move = GetMonData(&party[monId], MON_DATA_MOVE1 + moveIndex); if (IsInvalidForSleepTalkOrAssist(move)) continue; diff --git a/src/battle_tower.c b/src/battle_tower.c index 0420a15f63..0190d3c922 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2417,7 +2417,7 @@ static void LoadMultiPartnerCandidatesData(void) static void GetPotentialPartnerMoveAndSpecies(u16 trainerId, u16 monId) { - u16 move = 0; + u16 move = MOVE_NONE; u16 species = 0; SetFacilityPtrsGetLevel(); diff --git a/src/battle_transition.c b/src/battle_transition.c index c23578e608..174602471b 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -79,7 +79,7 @@ struct RectangularSpiralLine { u8 state; s16 position; - u8 moveIdx; + u8 moveIndex; s16 reboundPosition; bool8 outward; }; @@ -3204,28 +3204,28 @@ static bool8 RectangularSpiral_Init(struct Task *task) // Line starting in top left sRectangularSpiralLines[0].state = SPIRAL_INWARD_START; sRectangularSpiralLines[0].position = -1; - sRectangularSpiralLines[0].moveIdx = 1; + sRectangularSpiralLines[0].moveIndex = 1; sRectangularSpiralLines[0].reboundPosition = 308; sRectangularSpiralLines[0].outward = FALSE; // Line starting in bottom right sRectangularSpiralLines[1].state = SPIRAL_INWARD_START; sRectangularSpiralLines[1].position = -1; - sRectangularSpiralLines[1].moveIdx = 1; + sRectangularSpiralLines[1].moveIndex = 1; sRectangularSpiralLines[1].reboundPosition = 308; sRectangularSpiralLines[1].outward = FALSE; // Line starting in top right sRectangularSpiralLines[2].state = SPIRAL_INWARD_START; sRectangularSpiralLines[2].position = -3; - sRectangularSpiralLines[2].moveIdx = 1; + sRectangularSpiralLines[2].moveIndex = 1; sRectangularSpiralLines[2].reboundPosition = 307; sRectangularSpiralLines[2].outward = FALSE; // Line starting in bottom left sRectangularSpiralLines[3].state = SPIRAL_INWARD_START; sRectangularSpiralLines[3].position = -3; - sRectangularSpiralLines[3].moveIdx = 1; + sRectangularSpiralLines[3].moveIndex = 1; sRectangularSpiralLines[3].reboundPosition = 307; sRectangularSpiralLines[3].outward = FALSE; @@ -3288,7 +3288,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Has spiral finished? // Note that most move data arrays endsin SPIRAL_END but it is // only ever reached on the final array of spiraling outward. - if (moveData[line->moveIdx] == SPIRAL_END) + if (moveData[line->moveIndex] == SPIRAL_END) return FALSE; // Presumably saving data for debug. @@ -3319,21 +3319,21 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Below check is never true. // SPIRAL_END was already checked, and position is never >= 640 - if (line->position >= 640 || moveData[line->moveIdx] == SPIRAL_END) + if (line->position >= 640 || moveData[line->moveIndex] == SPIRAL_END) return FALSE; - if (!line->outward && moveData[line->moveIdx] == SPIRAL_REBOUND) + if (!line->outward && moveData[line->moveIndex] == SPIRAL_REBOUND) { // Line has reached the final point of spiraling inward. // Time to flip and start spiraling outward. line->outward = TRUE; - line->moveIdx = 1; + line->moveIndex = 1; line->position = line->reboundPosition; line->state = SPIRAL_OUTWARD_START; } // Reached move target, advance to next movement. - if (line->position == moveData[line->moveIdx]) + if (line->position == moveData[line->moveIndex]) { line->state++; if (line->outward == TRUE) @@ -3343,7 +3343,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Still spiraling outward, loop back to the first state // but use the second set of move targets. // For example, the 28 in sRectangularSpiral_Major_OutwardUp - line->moveIdx++; + line->moveIndex++; line->state = SPIRAL_OUTWARD_START; } } @@ -3354,7 +3354,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Still spiraling inward, loop back to the first state // but use the second set of move targets. // For example, the 275 in sRectangularSpiral_Major_InwardRight - line->moveIdx++; + line->moveIndex++; line->state = SPIRAL_INWARD_START; } } diff --git a/src/battle_tv.c b/src/battle_tv.c index 33c720cc13..bf31f18f47 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -15,8 +15,8 @@ static bool8 IsNotSpecialBattleString(u16 stringId); static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3); static void TrySetBattleSeminarShow(void); static void AddPointsOnFainting(bool8 targetFainted); -static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot); -static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride); +static void AddPointsBasedOnWeather(u16 weatherFlags, u16 move, u8 moveSlot); +static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride); #define TABLE_END ((u16)-1) @@ -1056,7 +1056,7 @@ void TryPutLinkBattleTvShowOnAir(void) u8 countPlayer = 0, countOpponent = 0; s16 sum = 0; u16 species = 0; - u16 moveId = 0; + u16 move = MOVE_NONE; s32 i, j; int zero = 0, one = 1; //needed for matching @@ -1124,8 +1124,8 @@ void TryPutLinkBattleTvShowOnAir(void) } } - moveId = GetMonData(&gPlayerParty[playerBestMonId], MON_DATA_MOVE1 + i, NULL); - if (playerBestSum == 0 || moveId == 0) + move = GetMonData(&gPlayerParty[playerBestMonId], MON_DATA_MOVE1 + i, NULL); + if (playerBestSum == 0 || move == MOVE_NONE) return; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) @@ -1134,12 +1134,12 @@ void TryPutLinkBattleTvShowOnAir(void) || (playerBestMonId >= MULTI_PARTY_SIZE && GetLinkTrainerFlankId(gBattleScripting.multiplayerId))) { j = (opponentBestMonId < MULTI_PARTY_SIZE) ? FALSE : TRUE; - PutBattleUpdateOnTheAir(GetOpposingLinkMultiBattlerId(j, gBattleScripting.multiplayerId), moveId, playerBestSpecies, opponentBestSpecies); + PutBattleUpdateOnTheAir(GetOpposingLinkMultiBattlerId(j, gBattleScripting.multiplayerId), move, playerBestSpecies, opponentBestSpecies); } } else { - PutBattleUpdateOnTheAir(gBattleScripting.multiplayerId ^ 1, moveId, playerBestSpecies, opponentBestSpecies); + PutBattleUpdateOnTheAir(gBattleScripting.multiplayerId ^ 1, move, playerBestSpecies, opponentBestSpecies); } } @@ -1505,9 +1505,9 @@ static void TrySetBattleSeminarShow(void) gCurrentMove = currMoveSaved; } -static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) +static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride) { - if (gBattleMoves[moveId].power == 0) + if (gBattleMoves[move].power == 0) { *dmg = 0; return FALSE; @@ -1517,7 +1517,7 @@ static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) s32 i = 0; do { - if (moveId == sVariableDmgMoves[i]) + if (move == sVariableDmgMoves[i]) break; i++; } while (sVariableDmgMoves[i] != TABLE_END); @@ -1527,13 +1527,13 @@ static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) *dmg = 0; return FALSE; } - else if (moveId == MOVE_PSYWAVE) + else if (move == MOVE_PSYWAVE) { *dmg = gBattleMons[gBattlerAttacker].level; *dmg /= 2; return FALSE; } - else if (moveId == MOVE_MAGNITUDE) + else if (move == MOVE_MAGNITUDE) { *powerOverride = 10; return TRUE; @@ -1568,7 +1568,7 @@ void BattleTv_ClearExplosionFaintCause(void) } } -u8 GetBattlerMoveSlotId(u8 battler, u16 moveId) +u8 GetBattlerMoveSlotId(u8 battler, u16 move) { s32 i; struct Pokemon *party; @@ -1583,7 +1583,7 @@ u8 GetBattlerMoveSlotId(u8 battler, u16 moveId) { if (i >= MAX_MON_MOVES) break; - if (GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + i, NULL) == moveId) + if (GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + i, NULL) == move) break; i++; } @@ -1591,14 +1591,14 @@ u8 GetBattlerMoveSlotId(u8 battler, u16 moveId) return i; } -static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot) +static void AddPointsBasedOnWeather(u16 weatherFlags, u16 move, u8 moveSlot) { if (weatherFlags & B_WEATHER_RAIN) - AddMovePoints(PTS_RAIN, moveId, moveSlot, 0); + AddMovePoints(PTS_RAIN, move, moveSlot, 0); else if (weatherFlags & B_WEATHER_SUN) - AddMovePoints(PTS_SUN, moveId, moveSlot, 0); + AddMovePoints(PTS_SUN, move, moveSlot, 0); else if (weatherFlags & B_WEATHER_SANDSTORM) - AddMovePoints(PTS_SANDSTORM, moveId, moveSlot, 0); + AddMovePoints(PTS_SANDSTORM, move, moveSlot, 0); else if (weatherFlags & B_WEATHER_HAIL) - AddMovePoints(PTS_HAIL, moveId, moveSlot, 0); + AddMovePoints(PTS_HAIL, move, moveSlot, 0); } diff --git a/src/contest_ai.c b/src/contest_ai.c index a4bb5b4549..443e57f8be 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -326,8 +326,8 @@ u8 ContestAI_GetActionToUse(void) { // Randomly choose a move index. If it's the move // with the highest (or tied highest) score, return - u8 moveIdx = MOD(Random(), MAX_MON_MOVES); - u8 score = eContestAI.moveScores[moveIdx]; + u8 moveIndex = MOD(Random(), MAX_MON_MOVES); + u8 score = eContestAI.moveScores[moveIndex]; int i; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -335,7 +335,7 @@ u8 ContestAI_GetActionToUse(void) break; } if (i == MAX_MON_MOVES) - return moveIdx; + return moveIndex; } } diff --git a/src/item_menu.c b/src/item_menu.c index f0abfcf62a..6d52e4be1c 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -2549,7 +2549,7 @@ static void PrepareTMHMMoveWindow(void) static void PrintTMHMMoveData(u16 itemId) { u8 i; - u16 moveId; + u16 move; const u8 *text; FillWindowPixelBuffer(WIN_TMHM_INFO, PIXEL_FILL(0)); @@ -2561,35 +2561,35 @@ static void PrintTMHMMoveData(u16 itemId) } else { - moveId = ItemIdToBattleMoveId(itemId); - BlitMenuInfoIcon(WIN_TMHM_INFO, gBattleMoves[moveId].type + 1, 0, 0); + move = ItemIdToBattleMoveId(itemId); + BlitMenuInfoIcon(WIN_TMHM_INFO, gBattleMoves[move].type + 1, 0, 0); // Print TMHM power - if (gBattleMoves[moveId].power <= 1) + if (gBattleMoves[move].power <= 1) { text = gText_ThreeDashes; } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].power, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].power, STR_CONV_MODE_RIGHT_ALIGN, 3); text = gStringVar1; } BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 12, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); // Print TMHM accuracy - if (gBattleMoves[moveId].accuracy == 0) + if (gBattleMoves[move].accuracy == 0) { text = gText_ThreeDashes; } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); text = gStringVar1; } BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 24, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); // Print TMHM pp - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].pp, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, STR_CONV_MODE_RIGHT_ALIGN, 3); BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gStringVar1, 7, 36, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); CopyWindowToVram(WIN_TMHM_INFO, COPYWIN_GFX); diff --git a/src/move_relearner.c b/src/move_relearner.c index 975663e4d3..19da0cb0fb 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -705,9 +705,9 @@ static void DoMoveRelearnerMain(void) } else { - u16 moveId = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot); + u16 move = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot); - StringCopy(gStringVar3, gMoveNames[moveId]); + StringCopy(gStringVar3, gMoveNames[move]); RemoveMonPPBonus(&gPlayerParty[sMoveRelearnerStruct->partyMon], sMoveRelearnerStruct->moveSlot); SetMonMoveSlot(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove(), sMoveRelearnerStruct->moveSlot); StringCopy(gStringVar2, gMoveNames[GetCurrentSelectedMove()]); @@ -916,19 +916,19 @@ static void CreateLearnableMovesList(void) sMoveRelearnerStruct->numToShowAtOnce = LoadMoveRelearnerMovesList(sMoveRelearnerStruct->menuItems, sMoveRelearnerStruct->numMenuChoices); } -void MoveRelearnerShowHideHearts(s32 moveId) +void MoveRelearnerShowHideHearts(s32 move) { u16 numHearts; u16 i; - if (!sMoveRelearnerMenuSate.showContestInfo || moveId == LIST_CANCEL) + if (!sMoveRelearnerMenuSate.showContestInfo || move == LIST_CANCEL) { for (i = 0; i < 16; i++) gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE; } else { - numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].appeal / 10); + numHearts = (u8)(gContestEffects[gContestMoves[move].effect].appeal / 10); if (numHearts == 0xFF) numHearts = 0; @@ -942,7 +942,7 @@ void MoveRelearnerShowHideHearts(s32 moveId) gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = FALSE; } - numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].jam / 10); + numHearts = (u8)(gContestEffects[gContestMoves[move].effect].jam / 10); if (numHearts == 0xFF) numHearts = 0; diff --git a/src/pokemon.c b/src/pokemon.c index 310d686e69..d0b6c3302e 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5095,17 +5095,17 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // Heal PP for all moves for (temp2 = 0; (signed)(temp2) < (signed)(MAX_MON_MOVES); temp2++) { - u16 moveId; + u16 move; dataUnsigned = GetMonData(mon, MON_DATA_PP1 + temp2, NULL); - moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); - if (dataUnsigned != CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) + move = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); + if (dataUnsigned != CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) { dataUnsigned += itemEffect[itemEffectParam]; - moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant - if (dataUnsigned > CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) + move = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant + if (dataUnsigned > CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) { - moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant - dataUnsigned = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2); + move = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant + dataUnsigned = CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2); } SetMonData(mon, MON_DATA_PP1 + temp2, &dataUnsigned); @@ -5121,17 +5121,17 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov else { // Heal PP for one move - u16 moveId; + u16 move; dataUnsigned = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL); - moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); - if (dataUnsigned != CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + move = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); + if (dataUnsigned != CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) { dataUnsigned += itemEffect[itemEffectParam++]; - moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant - if (dataUnsigned > CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + move = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant + if (dataUnsigned > CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) { - moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant - dataUnsigned = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + move = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant + dataUnsigned = CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); } SetMonData(mon, MON_DATA_PP1 + moveIndex, &dataUnsigned); diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index b9caa364b1..6a24f24945 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -9633,9 +9633,9 @@ u32 CountAllStorageMons(void) return count; } -bool32 AnyStorageMonWithMove(u16 moveId) +bool32 AnyStorageMonWithMove(u16 move) { - u16 moves[] = {moveId, MOVES_COUNT}; + u16 moves[] = {move, MOVES_COUNT}; s32 i, j; for (i = 0; i < TOTAL_BOXES_COUNT; i++) diff --git a/src/scrcmd.c b/src/scrcmd.c index 218be539f5..916cea02d1 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1607,9 +1607,9 @@ bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx) bool8 ScrCmd_buffermovename(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); - u16 moveId = VarGet(ScriptReadHalfword(ctx)); + u16 move = VarGet(ScriptReadHalfword(ctx)); - StringCopy(sScriptStringVars[stringVarIndex], gMoveNames[moveId]); + StringCopy(sScriptStringVars[stringVarIndex], gMoveNames[move]); return FALSE; } @@ -1712,7 +1712,7 @@ bool8 ScrCmd_setmonmove(struct ScriptContext *ctx) bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) { u8 i; - u16 moveId = ScriptReadHalfword(ctx); + u16 move = ScriptReadHalfword(ctx); gSpecialVar_Result = PARTY_SIZE; for (i = 0; i < PARTY_SIZE; i++) @@ -1720,7 +1720,7 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL); if (!species) break; - if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId) == TRUE) + if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], move) == TRUE) { gSpecialVar_Result = i; gSpecialVar_0x8004 = species; diff --git a/src/secret_base.c b/src/secret_base.c index 9509cd0fc5..7d4975e388 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -771,7 +771,7 @@ static u8 GetAverageEVs(struct Pokemon *pokemon) void SetPlayerSecretBaseParty(void) { u16 i; - u16 moveIdx; + u16 moveIndex; u16 partyId; struct SecretBaseParty *party; @@ -781,8 +781,8 @@ void SetPlayerSecretBaseParty(void) { for (i = 0; i < PARTY_SIZE; i++) { - for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) - party->moves[i * MAX_MON_MOVES + moveIdx] = MOVE_NONE; + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + party->moves[i * MAX_MON_MOVES + moveIndex] = MOVE_NONE; party->species[i] = SPECIES_NONE; party->heldItems[i] = ITEM_NONE; @@ -793,8 +793,8 @@ void SetPlayerSecretBaseParty(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) { - for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) - party->moves[partyId * MAX_MON_MOVES + moveIdx] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIdx); + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + party->moves[partyId * MAX_MON_MOVES + moveIndex] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIndex); party->species[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); party->heldItems[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); diff --git a/src/tv.c b/src/tv.c index 26d568642f..dbbf64d33c 100644 --- a/src/tv.c +++ b/src/tv.c @@ -2199,7 +2199,7 @@ void TryPutLotteryWinnerReportOnAir(void) } } -void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove) +void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIndex, const u16 *movePtr, u16 betterMove) { TVShow *show; u8 i; @@ -2214,10 +2214,10 @@ void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 StringCopy(show->battleSeminar.playerName, gSaveBlock2Ptr->playerName); show->battleSeminar.foeSpecies = foeSpecies; show->battleSeminar.species = species; - show->battleSeminar.move = movePtr[moveIdx]; + show->battleSeminar.move = movePtr[moveIndex]; for (i = 0, j = 0; i < MAX_MON_MOVES; i++) { - if (i != moveIdx && movePtr[i]) + if (i != moveIndex && movePtr[i]) { show->battleSeminar.otherMoves[j] = movePtr[i]; j++; From 8d5d7c7fcafd6d0b546cd846d24513a825fb07ed Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sat, 10 May 2025 19:38:48 +0200 Subject: [PATCH 16/84] Fixes ai moves being recorded without correct index (#6803) Co-authored-by: Bassoonian --- src/battle_ai_util.c | 21 +++++++++++---------- test/battle/ai/ai.c | 23 +++++++++++++++++++++++ 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 6478950a85..9a3f95674c 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -128,19 +128,20 @@ void RecordLastUsedMoveBy(u32 battlerId, u32 move) BATTLE_HISTORY->moveHistory[battlerId][*index] = move; } -void RecordKnownMove(u32 battlerId, u32 move) +void RecordKnownMove(u32 battler, u32 move) { - s32 i; - for (i = 0; i < MAX_MON_MOVES; i++) + s32 moveIndex; + + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { - if (BATTLE_HISTORY->usedMoves[battlerId][i] == move) + if (gBattleMons[battler].moves[moveIndex] == move) break; - if (BATTLE_HISTORY->usedMoves[battlerId][i] == MOVE_NONE) - { - BATTLE_HISTORY->usedMoves[battlerId][i] = move; - AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].moves[i] = move; - break; - } + } + + if (moveIndex < MAX_MON_MOVES && BATTLE_HISTORY->usedMoves[battler][moveIndex] == MOVE_NONE) + { + BATTLE_HISTORY->usedMoves[battler][moveIndex] = move; + AI_PARTY->mons[GetBattlerSide(battler)][gBattlerPartyIndexes[battler]].moves[moveIndex] = move; } } diff --git a/test/battle/ai/ai.c b/test/battle/ai/ai.c index a23052b25c..6b837a543c 100644 --- a/test/battle/ai/ai.c +++ b/test/battle/ai/ai.c @@ -891,3 +891,26 @@ AI_SINGLE_BATTLE_TEST("AI sees popped Air Balloon after Air Balloon mon switches TURN { MOVE(player, MOVE_SCRATCH); EXPECT_MOVE(opponent, MOVE_EARTHQUAKE); SEND_OUT(player, 1); } } } + +SINGLE_BATTLE_TEST("AI correctly records used moves") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_GROWL, MOVE_FLOWER_TRICK, MOVE_TORCH_SONG); } + OPPONENT(SPECIES_WOBBUFFET) { Moves(MOVE_RAGE_FIST, MOVE_PSYCHIC, MOVE_SCRATCH, MOVE_EARTHQUAKE); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_EARTHQUAKE); } + TURN { MOVE(player, MOVE_FLOWER_TRICK); MOVE(opponent, MOVE_SCRATCH); } + TURN { MOVE(player, MOVE_TORCH_SONG); MOVE(opponent, MOVE_PSYCHIC); } + TURN { MOVE(player, MOVE_GROWL); MOVE(opponent, MOVE_RAGE_FIST); } + } THEN { + EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_PLAYER_LEFT][0], MOVE_TACKLE); + EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_PLAYER_LEFT][1], MOVE_GROWL); + EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_PLAYER_LEFT][2], MOVE_FLOWER_TRICK); + EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_PLAYER_LEFT][3], MOVE_TORCH_SONG); + + EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_OPPONENT_LEFT][0], MOVE_RAGE_FIST); + EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_OPPONENT_LEFT][1], MOVE_PSYCHIC); + EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_OPPONENT_LEFT][2], MOVE_SCRATCH); + EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_OPPONENT_LEFT][3], MOVE_EARTHQUAKE); + } +} From f4f82f23948a14629864ba0a94f08f56c47aac1f Mon Sep 17 00:00:00 2001 From: spindrift64 <102487911+spindrift64@users.noreply.github.com> Date: Sat, 10 May 2025 22:55:28 +0200 Subject: [PATCH 17/84] Toxic Spikes print whether the target is poisoned or badly poisoned (#6814) --- data/battle_scripts_1.s | 8 +++++++ include/battle_scripts.h | 1 + include/constants/battle_string_ids.h | 3 ++- src/battle_message.c | 1 + src/battle_script_commands.c | 10 +++++++-- test/battle/move_effect/toxic_spikes.c | 31 ++++++++++++++++++++++++++ 6 files changed, 51 insertions(+), 3 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 53ed13f9b6..7a47fff5b5 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6223,6 +6223,14 @@ BattleScript_ToxicSpikesPoisoned:: waitstate return +BattleScript_ToxicSpikesBadlyPoisoned:: + printstring STRINGID_TOXICSPIKESBADLYPOISONED + waitmessage B_WAIT_TIME_LONG + statusanimation BS_SCRIPTING + updatestatusicon BS_SCRIPTING + waitstate + return + BattleScript_StickyWebOnSwitchIn:: savetarget saveattacker diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 20ea1ccd49..d840ab5666 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -286,6 +286,7 @@ extern const u8 BattleScript_BadDreamsActivates[]; extern const u8 BattleScript_SwitchInAbilityMsg[]; extern const u8 BattleScript_SwitchInAbilityMsgRet[]; extern const u8 BattleScript_ToxicSpikesPoisoned[]; +extern const u8 BattleScript_ToxicSpikesBadlyPoisoned[]; extern const u8 BattleScript_ToxicSpikesAbsorbed[]; extern const u8 BattleScript_StickyWebOnSwitchIn[]; extern const u8 BattleScript_SolarPowerActivates[]; diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 3ba637c690..7c7e023fa3 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -729,8 +729,9 @@ #define STRINGID_ITDOESNTAFFECTTWOFOES 727 #define STRINGID_SENDCAUGHTMONPARTYORBOX 728 #define STRINGID_PKMNSENTTOPCAFTERCATCH 729 +#define STRINGID_TOXICSPIKESBADLYPOISONED 730 -#define BATTLESTRINGS_COUNT 730 +#define BATTLESTRINGS_COUNT 731 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, diff --git a/src/battle_message.c b/src/battle_message.c index 7b02496ac7..ff887d7f38 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -638,6 +638,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_STEALTHROCKDMG] = COMPOUND_STRING("Pointed stones dug into {B_SCR_NAME_WITH_PREFIX2}!"), [STRINGID_TOXICSPIKESABSORBED] = COMPOUND_STRING("The poison spikes disappeared from the ground around {B_SCR_TEAM2} team!"), [STRINGID_TOXICSPIKESPOISONED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was poisoned!"), + [STRINGID_TOXICSPIKESBADLYPOISONED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was badly poisoned!"), [STRINGID_STICKYWEBSWITCHIN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was caught in a sticky web!"), [STRINGID_HEALINGWISHCAMETRUE] = COMPOUND_STRING("The healing wish came true for {B_ATK_NAME_WITH_PREFIX2}!"), [STRINGID_HEALINGWISHHEALED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} regained health!"), diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 39e23021fa..cd3ef5a232 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8253,8 +8253,11 @@ static bool32 DoSwitchInEffectsForBattler(u32 battler) i = GetBattlerAbility(battler); if (CanBePoisoned(gBattlerAttacker, battler, i)) { - if (gSideTimers[GetBattlerSide(battler)].toxicSpikesAmount >= 2) + u32 tspikes = 0; + if (gSideTimers[GetBattlerSide(battler)].toxicSpikesAmount >= 2) { + tspikes = 1; gBattleMons[battler].status1 |= STATUS1_TOXIC_POISON; + } else gBattleMons[battler].status1 |= STATUS1_POISON; @@ -8262,7 +8265,10 @@ static bool32 DoSwitchInEffectsForBattler(u32 battler) MarkBattlerForControllerExec(battler); gBattleScripting.battler = battler; BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_ToxicSpikesPoisoned; + if (tspikes == 0) + gBattlescriptCurrInstr = BattleScript_ToxicSpikesPoisoned; + else + gBattlescriptCurrInstr = BattleScript_ToxicSpikesBadlyPoisoned; } } } diff --git a/test/battle/move_effect/toxic_spikes.c b/test/battle/move_effect/toxic_spikes.c index 641fc0520c..5452f66a8b 100644 --- a/test/battle/move_effect/toxic_spikes.c +++ b/test/battle/move_effect/toxic_spikes.c @@ -235,3 +235,34 @@ SINGLE_BATTLE_TEST("Toxic Spikes inflicts poison on switch in after Primal Rever STATUS_ICON(player, poison: TRUE); } } + +SINGLE_BATTLE_TEST("Toxic Spikes print normal poison for 1 layer") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(player, MOVE_TOXIC_SPIKES); } + TURN { SWITCH(opponent, 1); } + TURN {} + } SCENE { + MESSAGE("The opposing Wynaut was poisoned!"); + } +} + +SINGLE_BATTLE_TEST("Toxic Spikes print bad poison for 2 layers") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(player, MOVE_TOXIC_SPIKES); } + TURN { MOVE(player, MOVE_TOXIC_SPIKES); } + TURN { SWITCH(opponent, 1); } + TURN {} + } SCENE { + MESSAGE("The opposing Wynaut was badly poisoned!"); + } +} From 51b000860be6d26da989c8b2e51a3f66c664083e Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sun, 11 May 2025 08:36:39 +0200 Subject: [PATCH 18/84] Add BattlerId enum and document (#2135) --- include/constants/battle.h | 21 +++- src/battle_controllers.c | 228 ++++++++++++++++++------------------- src/battle_gfx_sfx_util.c | 12 +- src/contest.c | 12 +- 4 files changed, 142 insertions(+), 131 deletions(-) diff --git a/include/constants/battle.h b/include/constants/battle.h index e00008de71..0bc9cc658e 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -23,12 +23,23 @@ * +---------------------------+ */ -#define MAX_BATTLERS_COUNT 4 +enum BattlerPosition +{ + B_POSITION_PLAYER_LEFT, + B_POSITION_OPPONENT_LEFT, + B_POSITION_PLAYER_RIGHT, + B_POSITION_OPPONENT_RIGHT, + MAX_POSITION_COUNT, +}; -#define B_POSITION_PLAYER_LEFT 0 -#define B_POSITION_OPPONENT_LEFT 1 -#define B_POSITION_PLAYER_RIGHT 2 -#define B_POSITION_OPPONENT_RIGHT 3 +enum BattlerId +{ + B_BATTLER_0, + B_BATTLER_1, + B_BATTLER_2, + B_BATTLER_3, + MAX_BATTLERS_COUNT, +}; // These macros can be used with either battler ID or positions to get the partner or the opposite mon #define BATTLE_OPPOSITE(id) ((id) ^ BIT_SIDE) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 76f763909a..9586e18457 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -114,31 +114,31 @@ static void InitSinglePlayerBtlControllers(void) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } gBattlersCount = MAX_BATTLERS_COUNT; @@ -158,16 +158,16 @@ static void InitSinglePlayerBtlControllers(void) gBattleMainFunc = BeginBattleIntro; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - gBattlerControllerFuncs[0] = SetControllerToSafari; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToSafari; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) - gBattlerControllerFuncs[0] = SetControllerToWally; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToWally; else - gBattlerControllerFuncs[0] = SetControllerToPlayer; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; @@ -179,32 +179,32 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } else // see how the banks are switched { - gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } } else { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; } } } @@ -212,17 +212,17 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; @@ -232,17 +232,17 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; @@ -330,52 +330,52 @@ static void InitSinglePlayerBtlControllers(void) } else if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { - gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToRecordedOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } } else { - gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[3] = SetControllerToRecordedPlayer; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { - gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[0] = SetControllerToOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; } } } @@ -393,21 +393,21 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } else { - gBattlerControllerFuncs[1] = SetControllerToPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToLinkOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } @@ -418,33 +418,33 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToLinkOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } else { - gBattlerControllerFuncs[1] = SetControllerToPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToLinkOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToPlayer; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[2] = SetControllerToLinkOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } @@ -455,33 +455,33 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToLinkPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToLinkPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } else { - gBattlerControllerFuncs[0] = SetControllerToLinkPartner; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkPartner; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToLinkOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 56906804c8..8cc2555e4d 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -778,11 +778,11 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) } else if (state == 4) { - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_0]]); } else if (state == 5) { - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_1]]); } else { @@ -800,13 +800,13 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) else if (state == 5) LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]); else if (state == 6) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_0]]); else if (state == 7) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_1]]); else if (state == 8) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[2]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_2]]); else if (state == 9) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[3]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_3]]); else retVal = TRUE; } diff --git a/src/contest.c b/src/contest.c index c48df49334..85a8179f4d 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1347,13 +1347,13 @@ static bool8 SetupContestGraphics(u8 *stateVar) CreateApplauseMeterSprite(); CreateJudgeAttentionEyeTask(); CreateUnusedBlendTask(); - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; gBattleTypeFlags = 0; - gBattlerAttacker = B_POSITION_PLAYER_RIGHT; - gBattlerTarget = B_POSITION_OPPONENT_RIGHT; + gBattlerAttacker = B_BATTLER_2; + gBattlerTarget = B_BATTLER_3; // Unclear why judge sprite is assigned here // Overwritten in APPEALSTATE_SLIDE_MON_IN with the attacking contest mon gBattlerSpriteIds[gBattlerAttacker] = CreateJudgeSprite(); From 0ad3f929abb96561eeb1de439cd5f4dd9adf97be Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sun, 11 May 2025 11:34:16 +0200 Subject: [PATCH 19/84] Fixes Berserk Gene infinite loop (#6813) --- data/battle_scripts_1.s | 14 ++++-- include/battle_scripts.h | 1 + src/battle_util.c | 64 ++++++++++---------------- test/battle/hold_effect/berserk_gene.c | 16 +++++++ 4 files changed, 52 insertions(+), 43 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 7a47fff5b5..11797e72ed 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -10041,15 +10041,16 @@ BattleScript_CouldntFullyProtect:: return BattleScript_BerserkGeneRet:: + saveattacker savetarget copybyte gBattlerTarget, sBATTLER statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_BerserkGeneRet_TryConfuse setgraphicalstatchangevalues - playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1 + playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1 setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM call BattleScript_StatUp BattleScript_BerserkGeneRet_TryConfuse: - jumpifability BS_SCRIPTING, ABILITY_OWN_TEMPO, BattleScript_BerserkGeneRet_OwnTempoPrevents + jumpifability BS_ATTACKER, ABILITY_OWN_TEMPO, BattleScript_BerserkGeneRet_OwnTempoPrevents jumpifsafeguard BattleScript_BerserkGeneRet_SafeguardProtected seteffectprimary MOVE_EFFECT_CONFUSION goto BattleScript_BerserkGeneRet_End @@ -10064,9 +10065,14 @@ BattleScript_BerserkGeneRet_OwnTempoPrevents: printstring STRINGID_PKMNPREVENTSCONFUSIONWITH waitmessage B_WAIT_TIME_LONG BattleScript_BerserkGeneRet_End: + restoreattacker restoretarget - removeitem BS_SCRIPTING - end3 + removeitem BS_ATTACKER + return + +BattleScript_BerserkGeneRetEnd2:: + call BattleScript_BerserkGeneRet + end2 BattleScript_BoosterEnergyEnd2:: call BattleScript_BoosterEnergyRet diff --git a/include/battle_scripts.h b/include/battle_scripts.h index d840ab5666..958cd71892 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -492,6 +492,7 @@ extern const u8 BattleScript_MoveEffectStockpileWoreOff[]; extern const u8 BattleScript_StealthRockActivates[]; extern const u8 BattleScript_SpikesActivates[]; extern const u8 BattleScript_BerserkGeneRet[]; +extern const u8 BattleScript_BerserkGeneRetEnd2[]; extern const u8 BattleScript_TargetFormChangeWithStringNoPopup[]; extern const u8 BattleScript_DefDown[]; extern const u8 BattleScript_UltraBurst[]; diff --git a/src/battle_util.c b/src/battle_util.c index ccd4d6fb2d..3b6818b8dd 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -7163,6 +7163,28 @@ static enum ItemEffect TryEjectPack(u32 battler, enum ItemCaseId caseID) return ITEM_NO_EFFECT; } +static enum ItemEffect ConsumeBerserkGene(u32 battler, enum ItemCaseId caseID) +{ + if (CanBeInfinitelyConfused(battler)) + gStatuses4[battler] |= STATUS4_INFINITE_CONFUSION; + + BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE); + gBattlerAttacker = gEffectBattler = battler; + SET_STATCHANGER(STAT_ATK, 2, FALSE); + gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK; + gBattleScripting.animArg2 = 0; + if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN || caseID == ITEMEFFECT_NORMAL) + { + BattleScriptExecute(BattleScript_BerserkGeneRetEnd2); + } + else + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerserkGeneRet; + } + return ITEM_STATS_CHANGE; +} + static u32 ItemRestorePp(u32 battler, u32 itemId, enum ItemCaseId caseID) { struct Pokemon *party = GetBattlerParty(battler); @@ -7577,19 +7599,7 @@ static u8 ItemEffectMoveEnd(u32 battler, u16 holdEffect) } break; case HOLD_EFFECT_BERSERK_GENE: - BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE); - gEffectBattler = battler; - if (CanBeInfinitelyConfused(gEffectBattler)) - { - gStatuses4[gEffectBattler] |= STATUS4_INFINITE_CONFUSION; - } - SET_STATCHANGER(STAT_ATK, 2, FALSE); - - gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK; - gBattleScripting.animArg2 = 0; - - BattleScriptPushCursorAndCallback(BattleScript_BerserkGeneRet); - effect = ITEM_STATS_CHANGE; + effect = ConsumeBerserkGene(battler, ITEMEFFECT_NONE); break; case HOLD_EFFECT_MIRROR_HERB: effect = TryConsumeMirrorHerb(battler, ITEMEFFECT_NONE); @@ -7860,19 +7870,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) effect = TryEjectPack(battler, caseID); break; case HOLD_EFFECT_BERSERK_GENE: - BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE); - gEffectBattler = battler; - if (CanBeInfinitelyConfused(gEffectBattler)) - { - gStatuses4[gEffectBattler] |= STATUS4_INFINITE_CONFUSION; - } - SET_STATCHANGER(STAT_ATK, 2, FALSE); - - gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK; - gBattleScripting.animArg2 = 0; - - BattleScriptPushCursorAndCallback(BattleScript_BerserkGeneRet); - effect = ITEM_STATS_CHANGE; + effect = ConsumeBerserkGene(battler, caseID); break; case HOLD_EFFECT_MIRROR_HERB: effect = TryConsumeMirrorHerb(battler, caseID); @@ -8072,19 +8070,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) effect = TrySetMicleBerry(battler, gLastUsedItem, caseID); break; case HOLD_EFFECT_BERSERK_GENE: - BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE); - gEffectBattler = battler; - if (CanBeInfinitelyConfused(gEffectBattler)) - { - gStatuses4[gEffectBattler] |= STATUS4_INFINITE_CONFUSION; - } - SET_STATCHANGER(STAT_ATK, 2, FALSE); - - gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK; - gBattleScripting.animArg2 = 0; - - BattleScriptPushCursorAndCallback(BattleScript_BerserkGeneRet); - effect = ITEM_STATS_CHANGE; + effect = ConsumeBerserkGene(battler, caseID); break; case HOLD_EFFECT_MIRROR_HERB: effect = TryConsumeMirrorHerb(battler, caseID); diff --git a/test/battle/hold_effect/berserk_gene.c b/test/battle/hold_effect/berserk_gene.c index 164830ad52..640198c992 100644 --- a/test/battle/hold_effect/berserk_gene.c +++ b/test/battle/hold_effect/berserk_gene.c @@ -236,3 +236,19 @@ SINGLE_BATTLE_TEST("Berserk Gene causes confusion timer to not tick down", u32 s EXPECT_EQ(results[0].status2, results[1].status2); } } + +SINGLE_BATTLE_TEST("Berserk Gene does not cause an infinite loop") +{ + GIVEN { + ASSUME(GetMoveEffect(MOVE_BESTOW) == EFFECT_BESTOW); + PLAYER(SPECIES_TOXEL) { Item(ITEM_BERSERK_GENE); Ability(ABILITY_KLUTZ); } + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BESTOW); } + } SCENE { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); + MESSAGE("Using Berserk Gene, the Attack of the opposing Wobbuffet sharply rose!"); + } +} From 2bc82a886a596d444a6f76e1d86966c57b4146ad Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Sun, 11 May 2025 22:37:11 +0200 Subject: [PATCH 20/84] Add AUTO_GEN_TARGETS for .party files and map_groups_count, but on master (#6824) Co-authored-by: Hedara --- Makefile | 3 +++ map_data_rules.mk | 1 + 2 files changed, 4 insertions(+) diff --git a/Makefile b/Makefile index f2128cc25d..52b4c94b9e 100644 --- a/Makefile +++ b/Makefile @@ -350,6 +350,9 @@ clean-generated: COMPETITIVE_PARTY_SYNTAX := $(shell PATH="$(PATH)"; echo 'COMPETITIVE_PARTY_SYNTAX' | $(CPP) $(CPPFLAGS) -imacros include/gba/defines.h -imacros include/config/general.h | tail -n1) ifeq ($(COMPETITIVE_PARTY_SYNTAX),1) %.h: %.party ; $(CPP) $(CPPFLAGS) -traditional-cpp - < $< | $(TRAINERPROC) -o $@ -i $< - + +AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/trainers.h +AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/battle_partners.h endif $(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast diff --git a/map_data_rules.mk b/map_data_rules.mk index 6712698272..f3e8d5dc89 100755 --- a/map_data_rules.mk +++ b/map_data_rules.mk @@ -11,6 +11,7 @@ INCLUDECONSTS_OUTDIR := include/constants AUTO_GEN_TARGETS += $(INCLUDECONSTS_OUTDIR)/map_groups.h AUTO_GEN_TARGETS += $(INCLUDECONSTS_OUTDIR)/layouts.h +AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/map_group_count.h MAP_DIRS := $(dir $(wildcard $(MAPS_DIR)/*/map.json)) MAP_CONNECTIONS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/connections.inc,$(MAP_DIRS)) From a6b02b00c07112d6fc4dd38172e1c3e7d9e0c123 Mon Sep 17 00:00:00 2001 From: PhallenTree <168426989+PhallenTree@users.noreply.github.com> Date: Mon, 12 May 2025 14:16:40 +0100 Subject: [PATCH 21/84] Fixes restoretarget on empty stack when using G-Max Gravitas (#6827) --- data/battle_scripts_1.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 11797e72ed..4d278a6179 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2713,12 +2713,12 @@ BattleScript_EffectGravity:: attackstring ppreduce setgravity BattleScript_ButItFailed - savetarget attackanimation waitanimation BattleScript_EffectGravitySuccess:: printstring STRINGID_GRAVITYINTENSIFIED waitmessage B_WAIT_TIME_LONG + savetarget selectfirstvalidtarget BattleScript_GravityLoop: movevaluescleanup From 5f86fd7de6912c857534ca97fa3768d88af295eb Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Mon, 12 May 2025 17:38:03 +0200 Subject: [PATCH 22/84] Changed github CI to use arm-none-eabi-gcc (#6829) Co-authored-by: Hedara --- .github/workflows/build.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 449eaa8c38..c3040f55c7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,6 @@ on: jobs: build: runs-on: ubuntu-latest - container: devkitpro/devkitarm env: GAME_VERSION: EMERALD GAME_REVISION: 0 @@ -24,10 +23,8 @@ jobs: - name: Install binutils run: | sudo apt update - sudo apt install -y build-essential libpng-dev libelf-dev + sudo apt install -y binutils-arm-none-eabi gcc-arm-none-eabi libnewlib-arm-none-eabi libpng-dev python3 # build-essential and git are already installed - # gcc-arm-none-eabi is only needed for the modern build - # as an alternative to dkP - name: ROM env: From be03feca94bc66e313dcd864532da6b1242b7c84 Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Mon, 12 May 2025 18:07:22 +0200 Subject: [PATCH 23/84] Fixed double battles send out breaking (#6822) --- src/battle_script_commands.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index cd3ef5a232..f6fbff240f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5345,6 +5345,27 @@ static void Cmd_getexp(void) } } +static u32 CountAliveMonsForBattlerSide(u32 battler) +{ + u32 aliveMons = 0; + struct Pokemon *party = GetBattlerParty(battler); + + for (u32 partyMon = 0; partyMon < PARTY_SIZE; partyMon++) + { + if (GetMonData(&party[partyMon], MON_DATA_SPECIES) + && GetMonData(&party[partyMon], MON_DATA_HP) > 0 + && !GetMonData(&party[partyMon], MON_DATA_IS_EGG)) + aliveMons++; + } + + return aliveMons; +} + +bool32 NoAliveMonsForBattlerSide(u32 battler) +{ + return CountAliveMonsForBattlerSide(battler) == 0; +} + bool32 NoAliveMonsForPlayer(void) { u32 i; @@ -5460,7 +5481,12 @@ static void Cmd_checkteamslost(void) } else { - if (emptyOpponentSpots != 0 && emptyPlayerSpots != 0) + u32 occupiedPlayerSpots = (gBattlersCount / 2) - emptyPlayerSpots; + u32 occupiedOpponentSpots = (gBattlersCount / 2) - emptyOpponentSpots; + u32 alivePlayerPartyMons = CountAliveMonsForBattlerSide(B_POSITION_PLAYER_LEFT) - occupiedPlayerSpots; + u32 aliveOpponentPartyMons = CountAliveMonsForBattlerSide(B_POSITION_OPPONENT_LEFT) - occupiedOpponentSpots; + + if (emptyPlayerSpots > 0 && alivePlayerPartyMons > 0 && emptyOpponentSpots > 0 && aliveOpponentPartyMons > 0) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; From 14a66d612f0e7e7cc6d13cc45d66d9a4babe410a Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Mon, 12 May 2025 21:06:12 -0400 Subject: [PATCH 24/84] combine BattleScript_BerryStatRaiseRet and BattleScript_BerryStatRaiseEnd2, check ripen popup doesn't trigger except on berries --- data/battle_scripts_1.s | 19 +++++++------------ src/battle_util.c | 4 ++-- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4d278a6179..1236b6587f 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -9008,21 +9008,15 @@ BattleScript_BerryConfuseHealRet_Anim: return BattleScript_BerryStatRaiseEnd2:: - jumpifability BS_ATTACKER, ABILITY_RIPEN, BattleScript_BerryStatRaiseEnd2_AbilityPopup - goto BattleScript_BerryStatRaiseEnd2_Anim -BattleScript_BerryStatRaiseEnd2_AbilityPopup: - call BattleScript_AbilityPopUp -BattleScript_BerryStatRaiseEnd2_Anim: - statbuffchange STAT_CHANGE_ALLOW_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_BerryStatRaiseEnd2_End - setgraphicalstatchangevalues - playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1 - setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM - call BattleScript_StatUp - removeitem BS_ATTACKER -BattleScript_BerryStatRaiseEnd2_End:: + call BattleScript_BerryStatRaiseRet end2 BattleScript_BerryStatRaiseRet:: + @ to ensure `statbuffchange` has correct battler id, backup and use target + savetarget + copybyte gBattlerTarget, sBATTLER + jumpifnotberry BS_ATTACKER, BattleScript_BerryStatRaiseRet_Anim + @ check ripen popup if consuming berry jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_BerryStatRaiseRet_AbilityPopup goto BattleScript_BerryStatRaiseRet_Anim BattleScript_BerryStatRaiseRet_AbilityPopup: @@ -9035,6 +9029,7 @@ BattleScript_BerryStatRaiseRet_Anim: call BattleScript_StatUp removeitem BS_SCRIPTING BattleScript_BerryStatRaiseRet_End: + restoretarget return BattleScript_BerryFocusEnergyRet:: diff --git a/src/battle_util.c b/src/battle_util.c index 3b6818b8dd..668c2db2a5 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6972,7 +6972,7 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum if (CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, itemId), itemId)) { BufferStatChange(battler, statId, STRINGID_STATROSE); - gEffectBattler = battler; + gEffectBattler = gBattleScripting.battler = battler; if (GetBattlerAbility(battler) == ABILITY_RIPEN) SET_STATCHANGER(statId, 2, FALSE); else @@ -7010,7 +7010,7 @@ static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCa u16 battlerAbility = GetBattlerAbility(battler); u32 savedAttacker = gBattlerAttacker; // MoodyCantRaiseStat requires that the battler is set to gBattlerAttacker - gBattlerAttacker = battler; + gBattlerAttacker = gBattleScripting.battler = battler; stat = RandomUniformExcept(RNG_RANDOM_STAT_UP, STAT_ATK, NUM_STATS - 1, MoodyCantRaiseStat); gBattlerAttacker = savedAttacker; From d4c64d3b672735ac0b0ddbd4be0686da97c8dbd8 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Mon, 12 May 2025 21:11:25 -0400 Subject: [PATCH 25/84] rename berrystatraise script to consumablestatraise --- data/battle_scripts_1.s | 20 ++++++++++---------- include/battle_scripts.h | 4 ++-- src/battle_script_commands.c | 2 +- src/battle_util.c | 16 ++++++++-------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 1236b6587f..ada937ff4a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -9007,28 +9007,28 @@ BattleScript_BerryConfuseHealRet_Anim: removeitem BS_TARGET return -BattleScript_BerryStatRaiseEnd2:: - call BattleScript_BerryStatRaiseRet +BattleScript_ConsumableStatRaiseEnd2:: + call BattleScript_ConsumableStatRaiseRet end2 -BattleScript_BerryStatRaiseRet:: +BattleScript_ConsumableStatRaiseRet:: @ to ensure `statbuffchange` has correct battler id, backup and use target savetarget copybyte gBattlerTarget, sBATTLER - jumpifnotberry BS_ATTACKER, BattleScript_BerryStatRaiseRet_Anim + jumpifnotberry BS_SCRIPTING, BattleScript_ConsumableStatRaiseRet_Anim @ check ripen popup if consuming berry - jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_BerryStatRaiseRet_AbilityPopup - goto BattleScript_BerryStatRaiseRet_Anim -BattleScript_BerryStatRaiseRet_AbilityPopup: + jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_ConsumableStatRaiseRet_AbilityPopup + goto BattleScript_ConsumableStatRaiseRet_Anim +BattleScript_ConsumableStatRaiseRet_AbilityPopup: call BattleScript_AbilityPopUp -BattleScript_BerryStatRaiseRet_Anim: - statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_BerryStatRaiseRet_End +BattleScript_ConsumableStatRaiseRet_Anim: + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_ConsumableStatRaiseRet_End setgraphicalstatchangevalues playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1 setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM call BattleScript_StatUp removeitem BS_SCRIPTING -BattleScript_BerryStatRaiseRet_End: +BattleScript_ConsumableStatRaiseRet_End: restoretarget return diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 958cd71892..1e1189a688 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -237,8 +237,8 @@ extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItemInPalace[]; extern const u8 BattleScript_HangedOnMsg[]; extern const u8 BattleScript_BerryConfuseHealEnd2[]; extern const u8 BattleScript_BerryConfuseHealRet[]; -extern const u8 BattleScript_BerryStatRaiseEnd2[]; -extern const u8 BattleScript_BerryStatRaiseRet[]; +extern const u8 BattleScript_ConsumableStatRaiseEnd2[]; +extern const u8 BattleScript_ConsumableStatRaiseRet[]; extern const u8 BattleScript_BerryFocusEnergyRet[]; extern const u8 BattleScript_BerryFocusEnergyEnd2[]; extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f6fbff240f..9d9e183a46 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -11310,7 +11310,7 @@ static void Cmd_various(void) if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_ROOM_SERVICE && TryRoomService(battler)) { BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet; + gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet; } else { diff --git a/src/battle_util.c b/src/battle_util.c index 668c2db2a5..0e2be3fd76 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6983,12 +6983,12 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN || caseID == ITEMEFFECT_NORMAL) { - BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); + BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2); } else { BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet; + gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet; } return ITEM_STATS_CHANGE; } @@ -7034,12 +7034,12 @@ static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCa gBattleScripting.animArg2 = 0; if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN || caseID == ITEMEFFECT_NORMAL) { - BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); + BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2); } else { BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet; + gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet; } return ITEM_STATS_CHANGE; @@ -7109,7 +7109,7 @@ static enum ItemEffect DamagedStatBoostBerryEffect(u32 battler, u8 statId, u8 ca gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + statId; gBattleScripting.animArg2 = 0; BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet; + gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet; return ITEM_STATS_CHANGE; } return ITEM_NO_EFFECT; @@ -7127,12 +7127,12 @@ enum ItemEffect TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 item gBattleScripting.animArg2 = 0; if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN) { - BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); + BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2); } else { BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet; + gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet; } return ITEM_STATS_CHANGE; } @@ -7845,7 +7845,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) case HOLD_EFFECT_ROOM_SERVICE: if (TryRoomService(battler)) { - BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); + BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; From 60587682e3dce87c7e8f8695c34c773442a81c61 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Tue, 13 May 2025 10:32:03 +0200 Subject: [PATCH 26/84] Remove redundant script declaration in `battle_scripts.h` (#6837) --- include/battle_scripts.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 958cd71892..d8b3fb41ea 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -489,7 +489,6 @@ extern const u8 BattleScript_ShellTrapSetUp[]; extern const u8 BattleScript_StealthRockActivates[]; extern const u8 BattleScript_CouldntFullyProtect[]; extern const u8 BattleScript_MoveEffectStockpileWoreOff[]; -extern const u8 BattleScript_StealthRockActivates[]; extern const u8 BattleScript_SpikesActivates[]; extern const u8 BattleScript_BerserkGeneRet[]; extern const u8 BattleScript_BerserkGeneRetEnd2[]; From e64d260f522f5368ae9f4cd5d5d646ef9fad2ae2 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 13 May 2025 04:34:06 -0400 Subject: [PATCH 27/84] Added Ability TODO tests B (#6836) --- test/battle/ability/bad_dreams.c | 2 +- test/battle/ability/ball_fetch.c | 7 +++++++ test/battle/ability/battery.c | 5 +++++ test/battle/ability/beads_of_ruin.c | 2 ++ test/battle/ability/beast_boost.c | 13 +++++++++++++ test/battle/ability/berserk.c | 2 +- test/battle/ability/bulletproof.c | 4 ++++ .../ability/{cheeck_pouch.c => cheek_pouch.c} | 0 8 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 test/battle/ability/ball_fetch.c create mode 100644 test/battle/ability/battery.c create mode 100644 test/battle/ability/bulletproof.c rename test/battle/ability/{cheeck_pouch.c => cheek_pouch.c} (100%) diff --git a/test/battle/ability/bad_dreams.c b/test/battle/ability/bad_dreams.c index 8a1d3669a2..41cedf8e3e 100644 --- a/test/battle/ability/bad_dreams.c +++ b/test/battle/ability/bad_dreams.c @@ -2,7 +2,7 @@ #include "test/battle.h" // Also checks that non-sleeping enemy is not affected. -SINGLE_BATTLE_TEST("Bad Dreams causes the sleeping enemy Pokemon to lose 1/8 of hp") +SINGLE_BATTLE_TEST("Bad Dreams causes the sleeping enemy Pokemon to lose 1/8 of HP") { u32 status; PARAMETRIZE { status = STATUS1_NONE; } diff --git a/test/battle/ability/ball_fetch.c b/test/battle/ability/ball_fetch.c new file mode 100644 index 0000000000..7411d60a7d --- /dev/null +++ b/test/battle/ability/ball_fetch.c @@ -0,0 +1,7 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Ball Fetch causes the Pokémon to pick up the last failed Ball at the end of the turn"); +TO_DO_BATTLE_TEST("Ball Fetch doesn't trigger if the Pokémon is already holding an item"); +TO_DO_BATTLE_TEST("Ball Fetch only picks up the first failed ball, once per battle"); // Bestow can help test this +TO_DO_BATTLE_TEST("Ball Fetch doesn't trigger in Max Raid Battles"); diff --git a/test/battle/ability/battery.c b/test/battle/ability/battery.c new file mode 100644 index 0000000000..cecfa81d0c --- /dev/null +++ b/test/battle/ability/battery.c @@ -0,0 +1,5 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Battery increases Sp. Attack damage of allies by ~30%"); // 5325/4096 +TO_DO_BATTLE_TEST("Battery does not increase its own Sp. Attack damage"); diff --git a/test/battle/ability/beads_of_ruin.c b/test/battle/ability/beads_of_ruin.c index cfcfb17467..37240d2d68 100644 --- a/test/battle/ability/beads_of_ruin.c +++ b/test/battle/ability/beads_of_ruin.c @@ -73,3 +73,5 @@ SINGLE_BATTLE_TEST("Beads of Ruin's message displays correctly after all battler MESSAGE("The opposing Chi-Yu's Beads of Ruin weakened the Sp. Def of all surrounding Pokémon!"); } } + +TO_DO_BATTLE_TEST("Beads of Ruin reduce Defense if Wonder Room is active"); diff --git a/test/battle/ability/beast_boost.c b/test/battle/ability/beast_boost.c index 9b07c51f1d..8f823ab3f6 100644 --- a/test/battle/ability/beast_boost.c +++ b/test/battle/ability/beast_boost.c @@ -56,3 +56,16 @@ SINGLE_BATTLE_TEST("Beast Boost doesn't trigger if user is fainted") MESSAGE("2 sent out Wobbuffet!"); } } + +TO_DO_BATTLE_TEST("Beast Boost boosts Attack 1st in case of a stat tie"); +TO_DO_BATTLE_TEST("Beast Boost boosts Defense 2nd in case of a stat tie"); +TO_DO_BATTLE_TEST("Beast Boost boosts Special Attack 3rd in case of a stat tie"); +TO_DO_BATTLE_TEST("Beast Boost boosts Special Defense 4th in case of a stat tie"); +TO_DO_BATTLE_TEST("Beast Boost considers Power Split"); +TO_DO_BATTLE_TEST("Beast Boost considers Guard Split"); +TO_DO_BATTLE_TEST("Beast Boost considers Power Trick"); +TO_DO_BATTLE_TEST("Beast Boost considers Wonder Room"); +TO_DO_BATTLE_TEST("Beast Boost considers Speed Swap"); +TO_DO_BATTLE_TEST("Beast Boost doesn't consider stat stages"); +TO_DO_BATTLE_TEST("Beast Boost doesn't consider held items"); +TO_DO_BATTLE_TEST("Beast Boost doesn't consider status condition reductions"); diff --git a/test/battle/ability/berserk.c b/test/battle/ability/berserk.c index e4d625ebc5..80e418e3c5 100644 --- a/test/battle/ability/berserk.c +++ b/test/battle/ability/berserk.c @@ -1,7 +1,7 @@ #include "global.h" #include "test/battle.h" -SINGLE_BATTLE_TEST("Berserk activates only if the target had more than 50% of its hp") +SINGLE_BATTLE_TEST("Berserk activates only if the target had more than 50% of its HP") { bool32 activates = FALSE; u16 maxHp = 500, hp = 0; diff --git a/test/battle/ability/bulletproof.c b/test/battle/ability/bulletproof.c new file mode 100644 index 0000000000..733eb63a11 --- /dev/null +++ b/test/battle/ability/bulletproof.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Bulletproof makes ballistic moves fail against the ability user"); diff --git a/test/battle/ability/cheeck_pouch.c b/test/battle/ability/cheek_pouch.c similarity index 100% rename from test/battle/ability/cheeck_pouch.c rename to test/battle/ability/cheek_pouch.c From 484c41c49d712a82b4e18e6b55bb31239ba51da3 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Tue, 13 May 2025 14:56:31 +0100 Subject: [PATCH 28/84] Remove files that should not have been committed --- src/data/map_group_count.h | 1 - tools/mgba-rom-test-hydra/mgba-rom-test-hydra | Bin 30888 -> 0 bytes tools/patchelf/patchelf | Bin 16272 -> 0 bytes tools/trainerproc/trainerproc | Bin 55696 -> 0 bytes 4 files changed, 1 deletion(-) delete mode 100644 src/data/map_group_count.h delete mode 100755 tools/mgba-rom-test-hydra/mgba-rom-test-hydra delete mode 100755 tools/patchelf/patchelf delete mode 100755 tools/trainerproc/trainerproc diff --git a/src/data/map_group_count.h b/src/data/map_group_count.h deleted file mode 100644 index 4fe8a21b3b..0000000000 --- a/src/data/map_group_count.h +++ /dev/null @@ -1 +0,0 @@ -static const u8 MAP_GROUP_COUNT[] = {57, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 17, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 108, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0}; diff --git a/tools/mgba-rom-test-hydra/mgba-rom-test-hydra b/tools/mgba-rom-test-hydra/mgba-rom-test-hydra deleted file mode 100755 index f92182a1818ff806241fded0d3420b45c99a7204..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30888 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 diff --git a/tools/trainerproc/trainerproc b/tools/trainerproc/trainerproc deleted file mode 100755 index 89dba8c1dd10cab1b28159895472e947ba446cba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55696 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%0De8-r2ozsZ;{mhiUII{GXVTyz%5cKN$I8m@b>^d zV$f-c`C5|Dv!M|fr-~RTP#3%YIRKv{fM-GetnHEmPiHWE`0Xor{#;S~{Q!K1AJ@PB z#{f?JV==)%B;y$VaHaSh4q(rTa64fDK8^w4R}KKb4sgTmJj-8Y;|t@p5E39qGN*8vYZn2AHF5}bU5Ch0!k+gM-I zZ?zK&6~RirfHUxMBhIkzIi!KPUzl_jh*Lx8fzb;u68L@2CUIgT_-8m>AZzYDWh4Yh z0Dgwr*5^!<;f&MI(8@N`$tYfB?@1{`{%5!p30n3p4oslI*XLN4?DKxDX=0yKU;I?3 zho4f+FDx`7{ERRY1g_zT89ySH3LKcrMS_Vu*T$(uZeX$^F)WOI-y)mOM-9Cem>59S z0YfQ2g{ttxS0m5TDRd?^Da&8V9&o5!pztHPcv;!w!E(ssR6S)g>=jOr>X@N;%H7jT z>~7EWvNF5?j8{NQ+)j^D+wAidm%CjhrJe~`Iu(Jk-ap@qQ4Uw&p$ZeF7fe(z_8Yv5 zni3#J;Hs+d;5;l|4{U)WsH!Nf$N9~wYP<&xe0uRG1sxSu*Q7w$TaGCZkFTaWP_5K@ z>l<5ArK2|q8&b(Vwf+V_NmlRcm6f*yjquXRzJ;FJYJYvAiit|IZ%H3E9=!D6Lz`1j ziO(Xu+~+ei0w-#{34XjX5}B)wgfVIfg5y=q6cX;&YExkWyt0x4@pu;C1E&UqlwPh(Wr)MGN^J{#ehL`f(ihb;zokXAiA+JM zrGudGOXo#XyUpW)S$J?--s6FUu$O+V#pCg|R#SK4McNw-4A92`GAA7P zOsP!CZ&|u1P(2?hG{e$5d50GheEAC+g86vkvk6_hRLM_(<_G=tHRJp>N(YJ+W#AZzd?e!lC3LnE>NV!0xpw8d?5h&NR#Q;2s)Ws zC80=V94Ntd+?enu>)#~kWh(a{B|hOMUoK>hU=L2xcL;i!P7=rn7ujW$pSEdePg2s$ zeM_0@q5xqQlT*^mb@N=nsY*#N_d#VU_dS8aE~ETjKxvOr(#w6tL@MZ{{1Q*5v<*Rf zmNGB*EoE9P=#BCVFx!8kK9Te>(LkBXeN$P#vHcooiM~WKlp8l9?Gz0rdeWJZ{x^UT z3dzSVOKK|jrv;SNCGRP{9e>I677IZYMW*cRFbA>UEO9T>dyr42m-~V;t(l)hj9W`; zR(SyVWO})-l&Rc*mt;o!e^}5<{mb=|OjW5*!9dC_`Tf~IFZTmvN@vuQFJt}B80cF! zaBP{5q`{qZ$^Mg|=W&xf{#QNDOJr)1h$1!C|2p8bha-lqBA-jh)L5U)%k%(fvC2%) z%jXs{m3Tm5m(0tw3s6##tY7Yn$#kPZU<>2Y`_qkEvRz3p_i1F>DfBPxTh=T4(S-8k z`ZsRlyk(l(TNS&L^fEopKrf%0$aM4nLT@(Eua9v8nMye&8(FW+pA33}$@a%$yhN^d zDLj5|54;&t!`SK4&6(5&oq7(tlI2l$}%XU;PE1 c?vfoR3T3?#m-buxqkpV}W1M3kFl3eg2h{~ Date: Thu, 15 May 2025 10:40:35 +0200 Subject: [PATCH 29/84] Make make clean work again (#6848) Co-authored-by: Hedara --- Makefile | 3 --- 1 file changed, 3 deletions(-) diff --git a/Makefile b/Makefile index 52b4c94b9e..f2128cc25d 100644 --- a/Makefile +++ b/Makefile @@ -350,9 +350,6 @@ clean-generated: COMPETITIVE_PARTY_SYNTAX := $(shell PATH="$(PATH)"; echo 'COMPETITIVE_PARTY_SYNTAX' | $(CPP) $(CPPFLAGS) -imacros include/gba/defines.h -imacros include/config/general.h | tail -n1) ifeq ($(COMPETITIVE_PARTY_SYNTAX),1) %.h: %.party ; $(CPP) $(CPPFLAGS) -traditional-cpp - < $< | $(TRAINERPROC) -o $@ -i $< - - -AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/trainers.h -AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/battle_partners.h endif $(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast From 54e9505d2bf0e4ed245d06a4f8126e63401f6831 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Tue, 13 May 2025 14:58:40 +0100 Subject: [PATCH 30/84] Warn on suspicious setvar usages --- asm/macros/event.inc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index b8dedb7ffc..3356a8b98d 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -145,7 +145,10 @@ .endm @ Changes the value of destination to value. - .macro setvar destination:req, value:req + .macro setvar destination:req, value:req, warn=TRUE + .if \warn && ((\value >= VARS_START && \value <= VARS_END) || (\value >= SPECIAL_VARS_START && \value <= SPECIAL_VARS_END)) + .warning "setvar with a value that might be a VAR_ constant; did you mean copyvar instead?" + .endif .byte SCR_OP_SETVAR .2byte \destination .2byte \value From 4474bd5b809b61b36b1f9a7225b1b19068756e8b Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Thu, 15 May 2025 03:44:09 -0500 Subject: [PATCH 31/84] Add move description data for Z-Moves and Max/G-Max moves (#6852) --- src/data/moves_info.h | 368 +++++++++++++++++++++++++++++++----------- test/text.c | 2 +- 2 files changed, 271 insertions(+), 99 deletions(-) diff --git a/src/data/moves_info.h b/src/data/moves_info.h index f9897650a5..fa93c75054 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -105,6 +105,14 @@ static const u8 sFeintDescription[] = _( "An attack that hits foes\n" "using moves like Protect."); +static const u8 sProtectDescription[] = _( + "Evades attack, but may fail\n" + "if used in succession."); + +static const u8 sGMaxOneBlowDescription[] = _( + "G-max Urshifu attack.\n" + "Ignores Max Guard."); + const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = { [MOVE_NONE] = @@ -4778,9 +4786,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_PROTECT] = { .name = COMPOUND_STRING("Protect"), - .description = COMPOUND_STRING( - "Evades attack, but may fail\n" - "if used in succession."), + .description = sProtectDescription, .effect = EFFECT_PROTECT, .power = 0, .type = TYPE_NORMAL, @@ -5168,9 +5174,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_DETECT] = { .name = COMPOUND_STRING("Detect"), - .description = COMPOUND_STRING( - "Evades attack, but may fail\n" - "if used in succession."), + .description = sProtectDescription, .effect = EFFECT_PROTECT, .power = 0, .type = TYPE_FIGHTING, @@ -21011,7 +21015,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_BREAKNECK_BLITZ] = { .name = COMPOUND_STRING("Breakneck Blitz"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Builds momentum and crashes\n" + "into the foe. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_NORMAL, @@ -21024,8 +21030,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = }, [MOVE_ALL_OUT_PUMMELING] = { - .name = COMPOUND_STRING("All Out Pummeling"), - .description = sNullDescription, + .name = COMPOUND_STRING("All-Out Pummeling"), + .description = COMPOUND_STRING( + "Rams an energy orb into\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_FIGHTING, @@ -21039,7 +21047,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_SUPERSONIC_SKYSTRIKE] = { .name = COMPOUND_STRING("Supersonic Skystrike"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Soars up and plummets toward\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_FLYING, @@ -21053,7 +21063,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_ACID_DOWNPOUR] = { .name = COMPOUND_STRING("Acid Downpour"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Sinks the target in a poison\n" + "swamp. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_POISON, @@ -21067,7 +21079,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_TECTONIC_RAGE] = { .name = COMPOUND_STRING("Tectonic Rage"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Burrows deep and slams into\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_GROUND, @@ -21082,7 +21096,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_CONTINENTAL_CRUSH] = { .name = COMPOUND_STRING("Continental Crush"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Drops a huge rock mountain\n" + "on the foe. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_ROCK, @@ -21095,8 +21111,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = }, [MOVE_SAVAGE_SPIN_OUT] = { - .name = COMPOUND_STRING("Savage Spin Out"), - .description = sNullDescription, + .name = COMPOUND_STRING("Savage Spin-Out"), + .description = COMPOUND_STRING( + "Spits threads of silk to\n" + "bind the foe. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_BUG, @@ -21109,8 +21127,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = }, [MOVE_NEVER_ENDING_NIGHTMARE] = { - .name = COMPOUND_STRING("Never Ending Nightmare"), - .description = sNullDescription, + .name = COMPOUND_STRING("Never-Ending Nightmare"), + .description = COMPOUND_STRING( + "Deep-seated grudges trap\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_GHOST, @@ -21124,7 +21144,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_CORKSCREW_CRASH] = { .name = COMPOUND_STRING("Corkscrew Crash"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Spins very fast and rams\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_STEEL, @@ -21138,7 +21160,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_INFERNO_OVERDRIVE] = { .name = COMPOUND_STRING("Inferno Overdrive"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Breathes intense fire at\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_FIRE, @@ -21152,7 +21176,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_HYDRO_VORTEX] = { .name = COMPOUND_STRING("Hydro Vortex"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "A huge whirlpool swallows\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_WATER, @@ -21166,7 +21192,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_BLOOM_DOOM] = { .name = COMPOUND_STRING("Bloom Doom"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Uses plant energy to attack\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_GRASS, @@ -21180,7 +21208,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_GIGAVOLT_HAVOC] = { .name = COMPOUND_STRING("Gigavolt Havoc"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Hits the foe with powerful\n" + "electricity. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_ELECTRIC, @@ -21194,7 +21224,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_SHATTERED_PSYCHE] = { .name = COMPOUND_STRING("Shattered Psyche"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Controls the target to\n" + "hurt it. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_PSYCHIC, @@ -21208,7 +21240,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_SUBZERO_SLAMMER] = { .name = COMPOUND_STRING("Subzero Slammer"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Drops the temp and freezes\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_ICE, @@ -21222,7 +21256,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_DEVASTATING_DRAKE] = { .name = COMPOUND_STRING("Devastating Drake"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Develops aura and attacks\n" + "the target. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_DRAGON, @@ -21236,7 +21272,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_BLACK_HOLE_ECLIPSE] = { .name = COMPOUND_STRING("Black Hole Eclipse"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Sucks the target into dark\n" + "energy. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_DARK, @@ -21250,7 +21288,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_TWINKLE_TACKLE] = { .name = COMPOUND_STRING("Twinkle Tackle"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Toys with the target in a\n" + "charming space. Power varies."), .effect = EFFECT_HIT, .power = 1, .type = TYPE_FAIRY, @@ -21264,7 +21304,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_CATASTROPIKA] = { .name = COMPOUND_STRING("Catastropika"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Pikachu uses the max amount\n" + "of electricity and pounces."), .effect = EFFECT_HIT, .power = 210, .type = TYPE_ELECTRIC, @@ -21278,7 +21320,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_10000000_VOLT_THUNDERBOLT] = { .name = COMPOUND_STRING("10,000,000 Volt Thunderbolt"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Cap Pikachu unleashes jolt.\n" + "High critical-hit ratio."), .effect = EFFECT_HIT, .power = 195, .type = TYPE_ELECTRIC, @@ -21293,7 +21337,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_STOKED_SPARKSURFER] = { .name = COMPOUND_STRING("Stoked Sparksurfer"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Alolan Raichu attacks with\n" + "full force. Causes paralysis."), .effect = EFFECT_HIT, .power = 175, .type = TYPE_ELECTRIC, @@ -21311,7 +21357,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_EXTREME_EVOBOOST] = { .name = COMPOUND_STRING("Extreme Evoboost"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Eevee gets energy from\n" + "its friends. Boosts stats."), .effect = EFFECT_EXTREME_EVOBOOST, .power = 0, .type = TYPE_NORMAL, @@ -21325,7 +21373,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_PULVERIZING_PANCAKE] = { .name = COMPOUND_STRING("Pulverizing Pancake"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Snorlax energetically moves\n" + "and attacks with full force."), .effect = EFFECT_HIT, .power = 210, .type = TYPE_NORMAL, @@ -21339,7 +21389,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_GENESIS_SUPERNOVA] = { .name = COMPOUND_STRING("Genesis Supernova"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Mew attacks with full force.\n" + "Psychically charges terrain."), .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 185, .type = TYPE_PSYCHIC, @@ -21354,7 +21406,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_SINISTER_ARROW_RAID] = { .name = COMPOUND_STRING("Sinister Arrow Raid"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Decidueye shoots countless\n" + "arrows with full force."), .effect = EFFECT_HIT, .power = 180, .type = TYPE_GHOST, @@ -21368,7 +21422,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MALICIOUS_MOONSAULT] = { .name = COMPOUND_STRING("Malicious Moonsault"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Incineroar crashes into\n" + "the target with full force."), .effect = EFFECT_HIT, .power = 180, .type = TYPE_DARK, @@ -21382,7 +21438,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_OCEANIC_OPERETTA] = { .name = COMPOUND_STRING("Oceanic Operetta"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Primarina summons a massive\n" + "amount of water at the foe."), .effect = EFFECT_HIT, .power = 195, .type = TYPE_WATER, @@ -21396,7 +21454,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_SPLINTERED_STORMSHARDS] = { .name = COMPOUND_STRING("Splintered Stormshards"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Lycanroc attacks with full\n" + "force. Removes all terrain."), .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 190, .type = TYPE_ROCK, @@ -21411,7 +21471,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_LETS_SNUGGLE_FOREVER] = { .name = COMPOUND_STRING("Let's Snuggle Forever"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Mimikyu punches the target\n" + "with full force."), .effect = EFFECT_HIT, .power = 190, .type = TYPE_FAIRY, @@ -21425,7 +21487,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_CLANGOROUS_SOULBLAZE] = { .name = COMPOUND_STRING("Clangorous Soulblaze"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Kommo-o attacks with full\n" + "force. Boosts all stats."), .effect = EFFECT_HIT, .power = 185, .type = TYPE_DRAGON, @@ -21446,7 +21510,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_GUARDIAN_OF_ALOLA] = { .name = COMPOUND_STRING("Guardian of Alola"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "The Land Spirit Pokémon\n" + "greatly reduces the foe's HP."), .effect = EFFECT_GUARDIAN_OF_ALOLA, .power = 1, .type = TYPE_FAIRY, @@ -21460,7 +21526,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_SEARING_SUNRAZE_SMASH] = { .name = COMPOUND_STRING("Searing Sunraze Smash"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Solgaleo attacks with full\n" + "force. Ignores abilities."), .effect = EFFECT_HIT, .power = 200, .type = TYPE_STEEL, @@ -21475,7 +21543,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MENACING_MOONRAZE_MAELSTROM] = { .name = COMPOUND_STRING("Menacing Moonraze Maelstrom"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Lunala attacks with full\n" + "force. Ignores abilities."), .effect = EFFECT_HIT, .power = 200, .type = TYPE_GHOST, @@ -21489,8 +21559,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = }, [MOVE_LIGHT_THAT_BURNS_THE_SKY] = { - .name = COMPOUND_STRING("Light That Burns The Sky"), - .description = sNullDescription, + .name = COMPOUND_STRING("Light That Burns the Sky"), + .description = COMPOUND_STRING( + "Uses Necrozma's highest\n" + "attack. Ignores abilities."), .effect = EFFECT_PHOTON_GEYSER, .power = 200, .type = TYPE_PSYCHIC, @@ -21504,8 +21576,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = }, [MOVE_SOUL_STEALING_7_STAR_STRIKE] = { - .name = COMPOUND_STRING("Soul Stealing 7 Star Strike"), - .description = sNullDescription, + .name = COMPOUND_STRING("Soul-Stealing 7-Star Strike"), + .description = COMPOUND_STRING( + "Marshadow punches and\n" + "kicks with full force."), .effect = EFFECT_HIT, .power = 195, .type = TYPE_GHOST, @@ -21520,7 +21594,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_GUARD] = { .name = COMPOUND_STRING("Max Guard"), - .description = sNullDescription, + .description = sProtectDescription, .effect = EFFECT_PROTECT, .power = 0, .type = TYPE_NORMAL, @@ -21535,7 +21609,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_FLARE] = { .name = COMPOUND_STRING("Max Flare"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Fire Dynamax attack.\n" + "Intensifies sun for 5 turns."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_FIRE, @@ -21555,7 +21631,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_FLUTTERBY] = { .name = COMPOUND_STRING("Max Flutterby"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Bug Dynamax attack.\n" + "Lowers foe's Sp. Atk stat."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_BUG, @@ -21575,7 +21653,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_LIGHTNING] = { .name = COMPOUND_STRING("Max Lightning"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Electric Dynamax attack.\n" + "Turns the terrain electric."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_ELECTRIC, @@ -21595,7 +21675,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_STRIKE] = { .name = COMPOUND_STRING("Max Strike"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Normal Dynamax attack.\n" + "Lowers foe's Speed stat."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_NORMAL, @@ -21615,7 +21697,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_KNUCKLE] = { .name = COMPOUND_STRING("Max Knuckle"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Fighting Dynamax attack.\n" + "Boosts ally Attack stats."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_FIGHTING, @@ -21635,7 +21719,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_PHANTASM] = { .name = COMPOUND_STRING("Max Phantasm"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Ghost Dynamax attack.\n" + "Lowers foe's Defense stat."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_GHOST, @@ -21655,7 +21741,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_HAILSTORM] = { .name = COMPOUND_STRING("Max Hailstorm"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Ice Dynamax attack.\n" + "Summons hail for 5 turns."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_ICE, @@ -21675,7 +21763,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_OOZE] = { .name = COMPOUND_STRING("Max Ooze"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Poison Dynamax attack.\n" + "Boosts ally Sp. Atk stats."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_POISON, @@ -21695,7 +21785,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_GEYSER] = { .name = COMPOUND_STRING("Max Geyser"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Water Dynamax attack.\n" + "Summons rain for 5 turns."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_WATER, @@ -21715,7 +21807,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_AIRSTREAM] = { .name = COMPOUND_STRING("Max Airstream"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Flying Dynamax attack.\n" + "Boosts ally Speed stats."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_FLYING, @@ -21735,7 +21829,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_STARFALL] = { .name = COMPOUND_STRING("Max Starfall"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Fairy Dynamax attack.\n" + "Turns the terrain misty."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_FAIRY, @@ -21755,7 +21851,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_WYRMWIND] = { .name = COMPOUND_STRING("Max Wyrmwind"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Dragon Dynamax attack.\n" + "Lowers foe's Attack stat."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_DRAGON, @@ -21775,7 +21873,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_MINDSTORM] = { .name = COMPOUND_STRING("Max Mindstorm"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Psychic Dynamax attack.\n" + "Turns the terrain psychic."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_PSYCHIC, @@ -21795,7 +21895,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_ROCKFALL] = { .name = COMPOUND_STRING("Max Rockfall"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Rock Dynamax attack.\n" + "Summons a sandstorm."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_ROCK, @@ -21815,7 +21917,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_QUAKE] = { .name = COMPOUND_STRING("Max Quake"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Ground Dynamax attack.\n" + "Boosts ally Sp. Def stats."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_GROUND, @@ -21836,7 +21940,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_DARKNESS] = { .name = COMPOUND_STRING("Max Darkness"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Dark Dynamax attack.\n" + "Lowers foe's Sp. Def stat."), .effect = EFFECT_MAX_MOVE, .power = 1, .type = TYPE_DARK, @@ -21856,7 +21962,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_OVERGROWTH] = { .name = COMPOUND_STRING("Max Overgrowth"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Grass Dynamax attack.\n" + "Turns the terrain grassy."), .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_GRASS, @@ -21876,7 +21984,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_MAX_STEELSPIKE] = { .name = COMPOUND_STRING("Max Steelspike"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "Steel Dynamax attack.\n" + "Boosts ally Defense stats."), .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_STEEL, @@ -21896,7 +22006,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_VINE_LASH] = { .name = COMPOUND_STRING("G-Max Vine Lash"), - .description = sNullDescription, //ANIM TODO + .description = COMPOUND_STRING( + "G-max Venusaur attack.\n" + "Damages for 4 turns."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_GRASS, @@ -21916,7 +22028,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_WILDFIRE] = { .name = COMPOUND_STRING("G-Max Wildfire"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Charizard attack.\n" + "Damages for 4 turns."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_FIRE, @@ -21936,7 +22050,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_CANNONADE] = { .name = COMPOUND_STRING("G-Max Cannonade"), - .description = sNullDescription, //ANIM TODO + .description = COMPOUND_STRING( + "G-max Blastoise attack.\n" + "Damages for 4 turns."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_WATER, @@ -21956,7 +22072,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_BEFUDDLE] = { .name = COMPOUND_STRING("G-Max Befuddle"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Butterfree attack.\n" + "Poison, paralysis, or sleep."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_BUG, @@ -21976,7 +22094,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_VOLT_CRASH] = { .name = COMPOUND_STRING("G-Max Volt Crash"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Pikachu attack.\n" + "Paralyzes opponents."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_ELECTRIC, @@ -21996,7 +22116,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_GOLD_RUSH] = { .name = COMPOUND_STRING("G-Max Gold Rush"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Meowth attack.\n" + "Confuses and earns money."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_NORMAL, @@ -22016,7 +22138,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_CHI_STRIKE] = { .name = COMPOUND_STRING("G-Max Chi Strike"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Machamp attack.\n" + "Boosts critical-hit ratio."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_FIGHTING, @@ -22036,7 +22160,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_TERROR] = { .name = COMPOUND_STRING("G-Max Terror"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Gengar attack.\n" + "Prevents foes from escaping."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_GHOST, @@ -22056,7 +22182,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_FOAM_BURST] = { .name = COMPOUND_STRING("G-Max Foam Burst"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Kingler attack.\n" + "Harshly lowers foe's Speed."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_WATER, @@ -22076,7 +22204,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_RESONANCE] = { .name = COMPOUND_STRING("G-Max Resonance"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Lapras attack.\n" + "Reduces damage for 5 turns."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_ICE, @@ -22096,7 +22226,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_CUDDLE] = { .name = COMPOUND_STRING("G-Max Cuddle"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Eevee attack.\n" + "Infatuates opponents."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_NORMAL, @@ -22116,7 +22248,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_REPLENISH] = { .name = COMPOUND_STRING("G-Max Replenish"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Snorlax attack.\n" + "Restores eaten Berries."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_NORMAL, @@ -22136,7 +22270,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_MALODOR] = { .name = COMPOUND_STRING("G-Max Malodor"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Garbodor attack.\n" + "Poisons opponents."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_POISON, @@ -22156,7 +22292,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_MELTDOWN] = { .name = COMPOUND_STRING("G-Max Meltdown"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Melmetal attack.\n" + "Prevents repeat move use."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_STEEL, @@ -22176,7 +22314,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_DRUM_SOLO] = { .name = COMPOUND_STRING("G-Max Drum Solo"), - .description = sNullDescription, //ANIM TODO + .description = COMPOUND_STRING( + "G-max Rillaboom attack.\n" + "Ignores target's abilities."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_GRASS, @@ -22197,7 +22337,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_FIREBALL] = { .name = COMPOUND_STRING("G-Max Fireball"), - .description = sNullDescription, //ANIM TODO + .description = COMPOUND_STRING( + "G-max Cinderace attack.\n" + "Ignores target's abilities."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_FIRE, @@ -22218,7 +22360,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_HYDROSNIPE] = { .name = COMPOUND_STRING("G-Max Hydrosnipe"), - .description = sNullDescription, //ANIM TODO + .description = COMPOUND_STRING( + "G-max Inteleon attack.\n" + "Ignores target's abilities."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_WATER, @@ -22239,7 +22383,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_WIND_RAGE] = { .name = COMPOUND_STRING("G-Max Wind Rage"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Corviknight attack.\n" + "Removes opponent screens."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_FLYING, @@ -22259,7 +22405,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_GRAVITAS] = { .name = COMPOUND_STRING("G-Max Gravitas"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Orbeetle attack.\n" + "Changes gravity for 5 turns."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_PSYCHIC, @@ -22279,7 +22427,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_STONESURGE] = { .name = COMPOUND_STRING("G-Max Stonesurge"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Drednaw attack.\n" + "Scatters sharp rocks."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_WATER, @@ -22299,7 +22449,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_VOLCALITH] = { .name = COMPOUND_STRING("G-Max Volcalith"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Coalossal attack.\n" + "Damages for 4 turns."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_ROCK, @@ -22319,7 +22471,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_TARTNESS] = { .name = COMPOUND_STRING("G-Max Tartness"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Flapple attack.\n" + "Lowers foe's evasiveness."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_GRASS, @@ -22339,7 +22493,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_SWEETNESS] = { .name = COMPOUND_STRING("G-Max Sweetness"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Appletun attack.\n" + "Heals ally status conditions."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_GRASS, @@ -22359,7 +22515,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_SANDBLAST] = { .name = COMPOUND_STRING("G-Max Sandblast"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Sandaconda attack.\n" + "Traps foes in a sandstorm."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_GROUND, @@ -22379,7 +22537,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_STUN_SHOCK] = { .name = COMPOUND_STRING("G-Max Stun Shock"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Toxtricity attack.\n" + "Poisons or paralyzes foes."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_ELECTRIC, @@ -22399,7 +22559,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_CENTIFERNO] = { .name = COMPOUND_STRING("G-Max Centiferno"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Toxtricity attack.\n" + "Traps foes in flames."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_FIRE, @@ -22419,7 +22581,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_SMITE] = { .name = COMPOUND_STRING("G-Max Smite"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Hatterene attack.\n" + "Confuses opponents."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_FAIRY, @@ -22440,7 +22604,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_SNOOZE] = { .name = COMPOUND_STRING("G-Max Snooze"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Grimmsnarl attack.\n" + "Lulls foes into sleep."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_DARK, @@ -22460,7 +22626,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_FINALE] = { .name = COMPOUND_STRING("G-Max Finale"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Alcremie attack.\n" + "Heals ally HP."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_FAIRY, @@ -22480,7 +22648,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_STEELSURGE] = { .name = COMPOUND_STRING("G-Max Steelsurge"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Copperajah attack.\n" + "Scatters sharp spikes."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_STEEL, @@ -22500,7 +22670,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_DEPLETION] = { .name = COMPOUND_STRING("G-Max Depletion"), - .description = sNullDescription, + .description = COMPOUND_STRING( + "G-max Duraludon attack.\n" + "Reduces target's PP."), //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_DRAGON, @@ -22520,7 +22692,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_ONE_BLOW] = { .name = COMPOUND_STRING("G-Max One Blow"), - .description = sNullDescription, + .description = sGMaxOneBlowDescription, //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_DARK, @@ -22536,7 +22708,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = [MOVE_G_MAX_RAPID_FLOW] = { .name = COMPOUND_STRING("G-Max Rapid Flow"), - .description = sNullDescription, + .description = sGMaxOneBlowDescription, //ANIM TODO .effect = EFFECT_MAX_MOVE, .power = 10, .type = TYPE_WATER, diff --git a/test/text.c b/test/text.c index 7650c2dd59..8e9a205196 100644 --- a/test/text.c +++ b/test/text.c @@ -93,7 +93,7 @@ TEST("Move descriptions fit on Pokemon Summary Screen") u32 i; const u32 fontId = FONT_NORMAL, widthPx = 152; u32 move = MOVE_NONE; - for (i = 1; i < MOVES_COUNT; i++) + for (i = 1; i < MOVES_COUNT_ALL; i++) { PARAMETRIZE_LABEL("%S", GetMoveDescription(i)) { move = i; } } From 75cd16dae0c279b4db4f57196b6e02875bc9a214 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 15 May 2025 10:44:37 +0200 Subject: [PATCH 32/84] Fix potential bug in BattleScript_FriskActivates (#6850) --- data/battle_scripts_1.s | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index ada937ff4a..4967e90d95 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8528,9 +8528,11 @@ BattleScript_FriskMsg:: BattleScript_FriskActivates:: saveattacker + savetarget copybyte gBattlerAttacker, sBATTLER tryfriskmsg BS_SCRIPTING restoreattacker + restoretarget end3 BattleScript_ImposterActivates:: From a086d5f592a944fb97e6deb044cf67180e8f248d Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 15 May 2025 10:45:48 +0200 Subject: [PATCH 33/84] Reverts wrongly done gem fix and renames struggle effect (#6806) --- data/battle_scripts_1.s | 2 +- include/battle_scripts.h | 2 +- include/constants/battle_move_effects.h | 2 +- src/battle_main.c | 6 ++++-- src/battle_script_commands.c | 3 +-- src/data/battle_move_effects.h | 4 ++-- src/data/moves_info.h | 2 +- test/battle/hold_effect/gems.c | 16 ---------------- 8 files changed, 11 insertions(+), 26 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4967e90d95..7abff820b9 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -5229,7 +5229,7 @@ BattleScript_EffectSnatch:: waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd -BattleScript_EffectRecoilHP25:: +BattleScript_EffectStruggle:: jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit incrementgamestat GAME_STAT_USED_STRUGGLE goto BattleScript_EffectHit diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 25d96dc4b8..ab25df0684 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -816,7 +816,7 @@ extern const u8 BattleScript_MoveEffectEerieSpell[]; extern const u8 BattleScript_EffectJungleHealing[]; extern const u8 BattleScript_EffectCoaching[]; extern const u8 BattleScript_EffectDecorate[]; -extern const u8 BattleScript_EffectRecoilHP25[]; +extern const u8 BattleScript_EffectStruggle[]; extern const u8 BattleScript_EffectStuffCheeks[]; extern const u8 BattleScript_MoveEffectLightScreen[]; extern const u8 BattleScript_MoveEffectReflect[]; diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 6525cf1544..073d4d2058 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -292,7 +292,7 @@ enum { EFFECT_DYNAMAX_DOUBLE_DMG, EFFECT_DECORATE, EFFECT_SNIPE_SHOT, - EFFECT_RECOIL_HP_25, + EFFECT_STRUGGLE, EFFECT_STUFF_CHEEKS, EFFECT_GRAV_APPLE, EFFECT_HYPERSPACE_FURY, diff --git a/src/battle_main.c b/src/battle_main.c index 3f6c5e8617..7b33e16374 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -6074,10 +6074,12 @@ void SetTypeBeforeUsingMove(u32 move, u32 battler) gBattleStruct->dynamicMoveType = TYPE_ELECTRIC | F_DYNAMIC_TYPE_SET; // Check if a gem should activate. + u32 effect = GetMoveEffect(move); if (holdEffect == HOLD_EFFECT_GEMS && GetBattleMoveType(move) == ItemId_GetSecondaryId(heldItem) - && GetMoveEffect(move) != EFFECT_PLEDGE - && GetMovePower(move) > 1) + && effect != EFFECT_PLEDGE + && effect != EFFECT_OHKO + && effect != EFFECT_STRUGGLE) { gSpecialStatuses[battler].gemParam = GetBattlerHoldEffectParam(battler); gSpecialStatuses[battler].gemBoost = TRUE; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9d9e183a46..716e562aeb 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2201,8 +2201,7 @@ static void Cmd_adjustdamage(void) if (gSpecialStatuses[gBattlerAttacker].gemBoost && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) - && gBattleMons[gBattlerAttacker].item - && gCurrentMove != MOVE_STRUGGLE) + && gBattleMons[gBattlerAttacker].item) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_GemActivates; diff --git a/src/data/battle_move_effects.h b/src/data/battle_move_effects.h index d5b3d5dc54..6b4741ab5e 100644 --- a/src/data/battle_move_effects.h +++ b/src/data/battle_move_effects.h @@ -1876,9 +1876,9 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] = .battleTvScore = 0, // TODO: Assign points }, - [EFFECT_RECOIL_HP_25] = + [EFFECT_STRUGGLE] = { - .battleScript = BattleScript_EffectRecoilHP25, + .battleScript = BattleScript_EffectStruggle, .battleTvScore = 0, // TODO: Assign points }, diff --git a/src/data/moves_info.h b/src/data/moves_info.h index fa93c75054..70d3184ece 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -4333,7 +4333,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = "Used only if all PP are gone.\n" "Also hurts the user a little."), #if B_UPDATED_MOVE_DATA >= GEN_4 - .effect = EFFECT_RECOIL_HP_25, + .effect = EFFECT_STRUGGLE, .accuracy = 0, .mirrorMoveBanned = TRUE, .additionalEffects = ADDITIONAL_EFFECTS({ diff --git a/test/battle/hold_effect/gems.c b/test/battle/hold_effect/gems.c index 5486443808..52c85d7fb5 100644 --- a/test/battle/hold_effect/gems.c +++ b/test/battle/hold_effect/gems.c @@ -87,19 +87,3 @@ SINGLE_BATTLE_TEST("Gem is consumed if the move type is changed") ANIMATION(ANIM_TYPE_MOVE, MOVE_FEINT_ATTACK, player); } } - -SINGLE_BATTLE_TEST("Gem is not consumed if a no type damage move is used") //ie. Counter, Psywave, Super Fang. All these moves have 1 base power. -{ - ASSUME(GetMovePower(MOVE_PSYWAVE) == 1); - GIVEN { - PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_PSYCHIC_GEM); }; - OPPONENT(SPECIES_WOBBUFFET); - } WHEN { - TURN { MOVE(player, MOVE_PSYWAVE); } - } SCENE { - NONE_OF { - ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); - MESSAGE("The Psychic Gem strengthened Wobbuffet's power!"); - } - } -} From 7359d234c80621ae2f105c308cdaefdd212380b9 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Fri, 16 May 2025 02:35:30 -0500 Subject: [PATCH 34/84] PokeCommunity sprites batch (April 2025) (#6840) --- graphics/pokemon/bombirdier/back.png | Bin 638 -> 567 bytes graphics/pokemon/bombirdier/front.png | Bin 877 -> 780 bytes graphics/pokemon/bombirdier/normal.pal | 26 +++++------ graphics/pokemon/bombirdier/shiny.pal | 24 +++++----- graphics/pokemon/dipplin/back.png | Bin 538 -> 531 bytes graphics/pokemon/dipplin/front.png | Bin 550 -> 520 bytes graphics/pokemon/dipplin/normal.pal | 24 +++++----- graphics/pokemon/dipplin/shiny.pal | 24 +++++----- graphics/pokemon/hydrapple/back.png | Bin 829 -> 786 bytes graphics/pokemon/hydrapple/front.png | Bin 1159 -> 980 bytes graphics/pokemon/hydrapple/normal.pal | 30 ++++++------- graphics/pokemon/hydrapple/shiny.pal | 30 ++++++------- graphics/pokemon/oinkologne/back.png | Bin 495 -> 489 bytes graphics/pokemon/oinkologne/f/back.png | Bin 613 -> 490 bytes graphics/pokemon/oinkologne/f/front.png | Bin 771 -> 719 bytes graphics/pokemon/oinkologne/f/normal.pal | 31 ++++++------- graphics/pokemon/oinkologne/f/shiny.pal | 31 ++++++------- graphics/pokemon/oinkologne/front.png | Bin 602 -> 649 bytes graphics/pokemon/oinkologne/normal.pal | 30 ++++++------- graphics/pokemon/oinkologne/shiny.pal | 30 ++++++------- graphics/pokemon/terapagos/anim_front.png | Bin 1284 -> 0 bytes graphics/pokemon/terapagos/back.png | Bin 611 -> 533 bytes graphics/pokemon/terapagos/front.png | Bin 0 -> 995 bytes graphics/pokemon/terapagos/normal.pal | 30 ++++++------- graphics/pokemon/terapagos/shiny.pal | 30 ++++++------- .../pokemon/terapagos/terastal/anim_front.png | Bin 5458 -> 0 bytes graphics/pokemon/terapagos/terastal/back.png | Bin 4904 -> 1168 bytes graphics/pokemon/terapagos/terastal/front.png | Bin 0 -> 1216 bytes .../pokemon/terapagos/terastal/normal.pal | 30 ++++++------- graphics/pokemon/terapagos/terastal/shiny.pal | 30 ++++++------- src/data/graphics/pokemon.h | 4 +- .../pokemon/species_info/gen_8_families.h | 8 ++-- .../pokemon/species_info/gen_9_families.h | 42 +++++++++--------- 33 files changed, 229 insertions(+), 225 deletions(-) delete mode 100644 graphics/pokemon/terapagos/anim_front.png create mode 100644 graphics/pokemon/terapagos/front.png delete mode 100644 graphics/pokemon/terapagos/terastal/anim_front.png create mode 100644 graphics/pokemon/terapagos/terastal/front.png diff --git a/graphics/pokemon/bombirdier/back.png b/graphics/pokemon/bombirdier/back.png index eb45117013530504a8dab426d3bc1d746db2b869..d2f321a35be0e0549e55e9c058b22f1adcd9d42b 100644 GIT binary patch delta 542 zcmV+(0^$As1h)i`B!2;OQb$4nuFf3k0000mP)t-snbV~-DKJz~QA#;NW?NvoP-J;{ zcfGi}lYND>rK%7R5aHL_=G@-^000000000032jpu0005CNkl~B@*f`yfQNhtj||{kZGW&pF($}{MB6|C;0Jg$ zC@qdY1q;Xkit42<16V8f6YuyZmwF7TVWN<&3*TkHvaKi(TvtX{UR)WBX%7`daRxD+b2B3uH*Qn*+aX`)*o635F$BOkv;Ap+S6=!%2YEqXhp*4M^0n zVQ6zw|0r6AE`QUG4AgK#X+3J3&T^e9?cQIta6kZ!<1?9o~ zehSlqkEPJ}Re6&__ys9EZsYe;m~W#Brc=mGm`x!IW`9$7AV}{qARgan<26_tQ-DW4 zMhBxQ5Kf@1VC+#4DthIk^D}~yKn#AQ2{tfP_?TWQ0|IPW8nsgIRpmwn^gY2NbUN|LYxa gK9Gl>m>0hgKR%)=qHIw7N&o-=07*qoM6N<$f^=&1NdN!< delta 613 zcmV-r0-F7|1pWk&B!4haOjJdg(xfygFiJT>4-XF}(xGNsV7aQV@8jW)~De@28n5a2f=F8>@6kN5cD!}%2^GbW&O7CCO|13=Cb zkOY;$**S+3$7$>WKzTAE5CpXZIy-ZPn0L#vM1b-EpbM!Bw1H5;ruafwDv$uL3dprd zK$nMvc!&cKD}QVn5Gs_DfS6CfNd=s(>j%pM2{@^MZl2rqJHRUyP%7ZC%wJUyw=j(Z z@c>G|Z~oZB=~193KnL{uAZ&x5j52?*hYslSm%vmX!!Cadh|Aac1JIwSynGw~1(XVh z(6=82l7M3V2H-#};J3?*kT;+z|!ey zfo%wYc=UL=`U?%}0;dlXpWpngQ4lazV1i~HBNrG2m`K1r3V2z7eIElRlgAgr5Wv4r z!%wX=fnL~m7QpY7Al(GcR(U>3z)2roD?!The=}F-F&xJ|j{WY?{(sL8jx|tFQieC`00000NkvXXu0mjf=^-A| diff --git a/graphics/pokemon/bombirdier/front.png b/graphics/pokemon/bombirdier/front.png index b8aa83644ba1f142ff37e0e980d17ef7b4ef173b..618c5c7c9b66ce98cb5420f3d29cd7240a8bf87b 100644 GIT binary patch delta 737 zcmV<70v`SC28;%fH-FQmG$}Ap9VJRRLS|cFb!l#yK1t?GVv~J^w56&L5D?+l+WGhR z000000000000`d~h5!Hpib+I4R9JA9 z3nIGP_D>Nsp8YGs*WbP*ZWsV2z6F#7M#bW5GZh=mB8s z?R@P7xLd#xTE`H=r4`_|15O575Yi{$nO@7l3PFiVkiD&XnoWVJiAI1zmH?KAMKl6e z3qm;b4#38Icqnz4iGjx{bOd6M@z)Fx!gL!?2phfPOH`CVFvgOlMD@R0M|p>0Gay&R zJw8`n0is_8SOzhzIp_vd&vNfv1xVRr*j5eLURu_V6Ck??N;zGPJM00000NkvXXu0mjf1+hFv delta 835 zcmV-J1HAl<2JHrrH-FNkG$}AjIYJK)4<^!~W?Nvns;}?k;gfxZP#q;rN=xQUV*mU9 znLbIUtEYQ{doJbV^Z)q$gGR9J<*mVwTzAPj|trU)wf{%?Cv3o1Gk_Aj|zwz!S+ zd0JZHF#P{8=10B#4PfjufO-HgdSly!{r=TDbO4~2MW((~e}8=~km${UsRE2`=ygrK z4$5r5sl->MgbLzJf<4zK0Y*p5=LA77kX#TU8q+v0me6gIb2i&YGv@p0?`9t+{^v5 z1vSBDVEzOcmwy0M*@6NfVL+i$KNk9@8eRZn1>iJ`w<4SXRsf#>?=(!V!g~>R0203e z#KfDvumDC;hQonY!5E^Zg*}VAKJTM74}{W!X2Ev@c_X@#kZ^Q&AY=5H!JXiIYD#-L zFizU&*}*WlQ}4aE-eavTEVT3kksz$x-h0Lygli7wEq{ZAAR4VdLI5%g2#>#74ss<< z087!7pkF&2DBvKlT*!HszxT)!phyA$=Y${$bm~3Y=mg-jcgaHY{%AgC5`6)X=E)9P zdOmuT|N9$15SAqy!3s#6g~1!lNhEjgn4=ZObDp~7TN_N2%iCv z8;V3x0Dn~nahzzGq=M4H%d!fBcLQnxgc&ws6%gl0B2Pzw7+{tU093C*6lRGEAmZns z^XOOsax8(s-my6WLsSQIRUc`eI@)VWgdI!19dHZqD_XOYEHFLr}ja9N30k5cj9b1d{}iB!2;OQb$4nuFf3k0000mP)t-s0JraeK>(mND=T3RxLp9&j{*PF z7GJ9!|8_#fs8Ij#W(C{F4cO)l;eQ(e;o}=I9f1X5ZjS$= zhdBenJH|LG`1UZ}!&?Lw-v=TRkgg6vK-qx0hh5tD`+-R|R07(ieF3Bx)gffQe=Sd^8k-@ec!%VCON)t04<$j5o$hA-2HyP=4bVEn|!b zywUQ$3%0nKC6};1UzxVT+H|r)cz;l3-Az-l+IU`=Dln5dM{5d2+s&ur>-#c{Mb85cXw&wm=P~ z0BD$&=TrPGfO8J6;EIdJqkvtY3n9EHGR`+rq~_zi8zA9bDn9dG4=zPA?GFQ!mSOM8 vLgkY>;YkX$pekvmji)~^IyGGQGM>~ArEDHztGHd&00000NkvXXu0mjfT|?hW delta 512 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 diff --git a/graphics/pokemon/hydrapple/front.png b/graphics/pokemon/hydrapple/front.png index eecdea6d782df1824dd4c7112ecc90d50d6a6517..ca82294df1952bd446323b9e547339c79ceab5e6 100644 GIT binary patch delta 970 zcmV;*12z1I3DgIW7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-s0JrZD5D;Y$ z3?xk)D`5_g6AQf@5W*}v=1MiwB0XQL9r}oC%&K;z*h=u-oqYfRk}^@w000A0Nklw>Ew41^mRsj^7l|837q0%)&d4?lLTb-sk$q?gN=rGK*jcYbL$rR4tth^Snz zzXN1h7Px&YR9j>%zEj0Y{pgwiCX?MU|1c`-x80D75jH~BcE<#t2ss41m2 z^cI4Iw6A&t;k}&tEN+xJbr)<49?g}6+c!YTyZBcZY_`<_W`^%t0H;cvN&apLJobwqD2^csL|fF|ngxOSEF z`fhm*0#$C91TLFW_M+G0qpO72bkVPnP-`;tV&Lp6ri`Zcf3A1Lz|T0T#+x5g4B1XS zHf9g?f!#1o+a|1){0Kbq`yqJny%szV);$N&HU delta 1150 zcmV-^1cCe12Zsre7=Hu<00013M{Ml?001yhOjJdf(4bg2AP^7`m>3XX5C|Yh7>HOn z*ib-7fH?S|punh5C}0R!s2HHwNbtx|AXo_QchqYD00a0*L_t(YiG7tZi{nNV$7dC% z($-rKV<&ef$s%Y3E&^e(6_$g$bb+g{$OkwF#I~-MY)G*wmVaw?ML^aHVUn<{EEjIF z*rUdQkgPRVs5)dapCNC?a`x_!cM41R{pP(l|Nk3=&~6>zPh9*hMtj#0KJmXkdjR;n zb9(8H_Qwxiwtjizn&|_87QP9ld9n}CULsT{ft$h! z`W>5pSu74CzJF?n>m|xpv&{NIh$vq-0y;NEclDDHRaDo|(+_|{z7*YgKp+L*0<(>N ze;_?Lnx~$+67FSaiD0612 zg%|*2cYoYtDH-RGQH&?nS*m(0Mj4CW0brB^*F(qxU@nNL7&}Vo2Aqyi?L>3Z2^93 z#eW-}-N6>721dikSwP!*RU|F%8|c!aUqS*5hnf&|RXo>LH|FZsp8u7I{-nKOKOals z+H!l#qkW--yjoxSLrQzT?^6R*)XD*j0~(MvxUFssf9=<6=tyNnhkD207^##i+P}r? z%N^iiH4hGP?_EXD|JlWTO0k*;vWsnjKYx7x(m(Zk5U2RPoxAl6QeVOmdcz&?(Hh9q zPMfxeggOmzr1gB4ww=!4l}DNqAVi040@()_u7^Ku0tT-rg)%2UclzkM>D%(uevU`BtR>000hUSV?A0O#mtY000O800000007cc QlK=n!07*qoM6N<$g3^T&&Hw-a diff --git a/graphics/pokemon/hydrapple/normal.pal b/graphics/pokemon/hydrapple/normal.pal index 6fec9a7957..b29a319b81 100644 --- a/graphics/pokemon/hydrapple/normal.pal +++ b/graphics/pokemon/hydrapple/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -88 56 32 +0 183 239 16 16 16 -152 24 16 -96 16 8 -32 72 24 -136 88 56 -216 80 64 -72 128 56 -248 160 160 -192 168 80 -40 96 8 -88 168 24 -160 216 72 -240 200 80 -32 88 8 +101 16 12 +36 77 28 +43 97 14 +143 19 11 +189 28 16 +194 44 58 +230 74 53 +211 34 61 +95 171 29 +250 136 107 +204 170 118 +164 216 74 +240 221 157 +125 0 0 diff --git a/graphics/pokemon/hydrapple/shiny.pal b/graphics/pokemon/hydrapple/shiny.pal index d3d0f68f92..35e42dc80f 100644 --- a/graphics/pokemon/hydrapple/shiny.pal +++ b/graphics/pokemon/hydrapple/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -88 56 32 +0 183 239 16 16 16 -216 136 0 -192 80 0 -32 72 24 -136 88 56 -248 208 16 -72 128 56 -248 232 144 -192 168 80 -40 96 8 -88 168 24 -160 216 72 -240 200 80 -32 88 8 +128 65 0 +160 53 43 +43 97 14 +184 93 0 +214 143 1 +194 44 58 +255 211 22 +29 171 38 +95 171 29 +255 250 137 +204 170 118 +164 216 74 +240 221 157 +0 83 0 diff --git a/graphics/pokemon/oinkologne/back.png b/graphics/pokemon/oinkologne/back.png index 81810c233fd613adf011c9bbca4fba2cf59b6386..42c6c3bf303b3eea890e9a7e4d606f521beda196 100644 GIT binary patch delta 445 zcmV;u0Yd)o1L*^hHh-DZrFdv?u253Qy0pQ1fcW6(a3Db0q^X!VXvmOI@KB(*xVR7y z5cueb`1tq$000*XWC;KO0cS}>K~z|U?bX|sgCGnAPy<20!T$f}P9j19<>ow&=b;Z> z>+B|Y>9V|e^QId(^0e(7NX2<(IH!_;nC|-@myQEUp;%VVOn+Ze8^BtB5Mazk86_Om zIou9g0Bqv~_gqDHuE826yQ%)2rD`}0LX7j;pb!5zW@sCzVCJdxQrlo+w14R)-uBi(=5eI?@$$`?tczK5|Ns9vJVExl z&G+f+|Kje0JX*q0!twwB0c}Y{K~z|U?bgeVgD?yQ&?-)YEP2HL|Lxcg2_Y{Gt!6Re zO5H&3sS{At*XzlXC*}YkBEaoBE-^O=t-s$ggyvSCdrQhi1An!$9CJZHS$WxoYXYXm zv2Pb}(63cv! zfCL~Bs6BnOjJdg)1|IZQg~=^!Fqt%q^Zcdw16-$_~7WcP+-WAP`J3b z@PLRA5D@t2i1_&U0001J*mukT00C%8L_t(oh3(eCmV+P+1<*o>K#l$X&mDq@U^RfV zoAIsGp4=vg9$&8~PyTZBn!DwsZ44?Rx>Ij+j4^7QAWYF30Dp`Dbr%SN_e`)baYg|q zQknS!`I0Cr8T$0cL_H9%UCWd-|y@9+V5ljJKH-LIO zh9sy#APBV9SAvyyQhgIKyx9S=K;uARY(VEtI2fzY0etO(iip3;6I=l+@hgCdIDtHZ z5`e_W^mq77$1Cfv$FlRtbNIZao3!osR2~>LOPX%Z*v`2qd28!%mL?pOc-002ovPDHLkV1f+*&1(Pv delta 575 zcmV-F0>J(11LXveF@G&kOjJdf(4g2*fcT)ukSIX-c#s$v80f&x*`Blbpa}Tz@Bjb+ z@!#V3$O!oO_^6-@Di*#DGh4QD0V_ zht(?49L5-&PSa0clXK5}Zk}%uithnHi~_h`2LWc3fACg}On-3mUBKj)Vs$yqWx}%H zUcn7N6Py#sasz;fAs{Bmyxi~u1kZ9@$@S&4-TUBftFAq+v9}Yi& zvTvk_pGpEUA_;nX>WvR$g7}+T}_V74nn0VIS)!2Ke4Air1I0ddP4+Y>SXfJPED{){-c{!_T)lod*k05dsab&;xiXC#lI~0)OO<0YK@5=dsc;Hq?IUmbC@@ zYsJU}to-feX#qSSKoMxD)c{T4@Yn(rll%h!ve|bLs#KX!y=@M%5uvUtq6sMZtq2t% z4X0`mI5tpL|3sietPyYo7!WEz+`uUWlmNlrfrda$fGPis=m2jCRfMwfxX(d+yK+y! z10W300XR+pjIYB9Kml2R6BQIa4G_%F+a-YEzqSPr0rvO#G2o|vpg;1CHAclEgf##F N002ovPDHLkV1i4e1f2i? diff --git a/graphics/pokemon/oinkologne/f/front.png b/graphics/pokemon/oinkologne/f/front.png index c3f10ed9f325e3c30e22176fa67146585769956f..a4841d6b0ff8b8b78f2a0778bb9cab2b3a0d209c 100644 GIT binary patch delta 682 zcmV;b0#*Hk2G0eMF@G>nOjJdg)1@dF7+5GMKrk>^KtOm%K!7kXuxMDgP+-WAP`J3b z@PLRA5D@t2i1_&U0002*GGJH$00K=(L_t(oh3%HxlB^&MMGXOjCi?%MJGr3J9vgAy z=~Q*PYDyXRViN;#n!fRk@rdz{`ci&{aL&~$ip2xKh~f}UZhxL<+HMHF_t-~(C^(#{ zT;S_q*D*#gLI(jp1S6=b;uOF+D89x=g3N%9h+GJP7Xto(O*|}XK>7QL0NxYjoJG$< zzV(L%UPI!4ljh=@0D{i~FzW&cyM>q%)qK(?01BSMCaLQnuv`#LTO3YduXMFD^k zk_~!$4B&$WoqxiKzSz4UjSxZ$07)d$6+pu+@s&)^t4=9~cK}Z=ucHUZeysq0^#*7N z*0fY!pL{tnPs2s;3u0BEnl#y~^p?dOA_;ZFcns~UZVAQ#N|5IPcLRJDJ+oklYJsGuJpmX&&cIqb zdKS`Sfb^1TfcDW}0PqdaJ(u^0Er8pdsbJVZOfg;nBJ%JEzwK zM8yJ8)8;FcF#vZrZcx=pIvOK?@|K|#Y@b!?BqPyzcsw>Ie~713e&c_P9~({}7Z3iT QQvd(}07*qoM6N<$f&i2)J^%m! delta 734 zcmV<40wMj+1%n2VF@G&kOjJdf(4g2*fcT)ukSIX-c#s$v7+^q1Kqx5qpa{rlSO5S3 zkXTUo$O!oO_^6+|_l#|*2F1bPY`e_zD=@+Gu0${7O{MydMcx!dRhUn zg22w94Nx{9`|Pl!hce1yV^y<|Km22w=V@vP{wx|^_-Fv0nChf724I>VkEsRNF2;U7 z8!$ko4PXrb@(Td0$`Qbp!NBsgXBL2oNS^$hTz>>$u79K6Ym2Lx^#sE7c>d*V{wFhZ z1RP7~02_Sz=^N|?2|?(nENnr&f&^}x?V@Egd)BMoGpk0RPCEeE#3hP zkwFC{eH-8q^G_Fmqy83<$_7j=;AG$qFsMHR*n`&@$fmymc<)qgdmGAbDAt2J^fEe#F zknDIQ-B?NM$uXu50Nxc+d9yRqg;mGD*ZZw&Hh9U^^LTgI{(W2Y8~-}K0FVkR`Px)C QcK`qY07*qoM6N<$f<9_aegFUf diff --git a/graphics/pokemon/oinkologne/f/normal.pal b/graphics/pokemon/oinkologne/f/normal.pal index ba2c645dc6..2dc009715d 100644 --- a/graphics/pokemon/oinkologne/f/normal.pal +++ b/graphics/pokemon/oinkologne/f/normal.pal @@ -1,18 +1,19 @@ JASC-PAL 0100 -15 -152 208 160 -216 80 128 -248 160 200 -144 40 64 -248 120 144 -24 24 24 -96 64 72 -64 40 40 -248 160 8 -200 104 88 -0 0 0 -144 88 80 -248 200 8 +16 +153 211 165 +40 24 24 +88 40 40 +64 48 48 +88 64 64 +120 72 64 +128 48 48 +176 104 88 +184 80 96 +200 144 80 +184 184 184 +240 128 136 +16 16 16 +248 232 136 248 248 248 -168 160 160 +0 0 0 diff --git a/graphics/pokemon/oinkologne/f/shiny.pal b/graphics/pokemon/oinkologne/f/shiny.pal index 9a427f2a72..ed20dc8af3 100644 --- a/graphics/pokemon/oinkologne/f/shiny.pal +++ b/graphics/pokemon/oinkologne/f/shiny.pal @@ -1,18 +1,19 @@ JASC-PAL 0100 -15 -152 208 160 -216 80 128 -248 160 200 -144 40 64 -248 120 144 -24 24 24 -232 192 206 -217 158 179 -248 160 8 -248 240 240 -0 0 0 -241 223 226 -248 200 8 +16 +153 211 165 +174 80 82 +120 104 112 +193 122 128 +217 164 169 +200 186 180 +128 48 48 +248 224 232 +184 80 96 +200 144 80 +184 184 184 +240 128 136 +16 16 16 +248 232 136 248 248 248 -168 160 160 +0 0 0 diff --git a/graphics/pokemon/oinkologne/front.png b/graphics/pokemon/oinkologne/front.png index 22263f09036f9766a95bd0d10fb3faa7731577a6..d3fd42dd299046b26a129117522fd4b03c2dee40 100644 GIT binary patch delta 606 zcmV-k0-^od1c?QZHh-DZr63R}C?GH}C^$zxOh7nLa3DZlR%MttXvmOI@KB(*xVR7y z5cueb`1tq$005~+aYFzA0tZP%K~z|U?Umbd!ypVqV zT?36wd_sUipOcvo020$4Ko8~Plwbm#rb%+jAbb@71F#TQ08G-<56?j~OUfFjmr^nC z2EacVK+-Gc9e+VpaTP>0V=Fa=Y0}vM2 zwk$CM#H+PmTR$R>#^z_<!p32>6B}9O|8L92(}kR0%u%*=b%8jtyK`_(^E!yMF*J0~de|p{c(DtO()PfN-Wi zxzQ^^iI$u@0DHB4ZUC6ydfw@80qXtZs&)7Fy9R6sa}d|KQ78bQEu*yQF2D&zvNAw) z+d)|a>QDtJ8q31YZ{wO^FG8Nr4)irOw=LL6S`29I?E~oBKo>xkfet{qb3n-=-2g}u zX#j+m?pG_l6%OH|@v84{VPMnTeF*?UN*OdS^Gh6!d=H=sfT_$%u0_bZ+ZCySC}lib s8GLI_D#{TDfP*S_8__xEC;nl41LYkcPG~h{y8r+H07*qoM6N<$f=U(we*gdg delta 559 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 delta 568 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 Vw^yuNkOj&bPU0OPKI|El@^8Fi|L6b! diff --git a/graphics/pokemon/terapagos/terastal/back.png b/graphics/pokemon/terapagos/terastal/back.png index cfa96b0ab0759268db77436517b04a7c45c58f88..083593c6fb55cb4bf1b73b1825ac4b6964b32051 100644 GIT binary patch delta 789 zcmV+w1M2*!CXfk`7$67(0001;w}I>c00D$)LqkwWLqi~Na&Km7Y-IodD3P-i0d)a? z{&{6`0000mP)t-snbV~j8XEUS8voTTJ$}GGRmMiq?CrN#lTN_DC{Zlau|b6MrRJFs z5D@jC-v9sqIKlEf0007uNkl$2N02!zih!f`;@@Bg-479=~FOq))Bb;kHy zoJji#&`Li)S6p$$6<7Qz%kcvThY z-w?REQ=z8bmcF9 zJpmv@Z$A>)?nt%au~U$sr0oya0LUkRWTtIt*sdL+0=#2kd6Y#%22f~Wb}z^;`50kv3WLaht{mWLj$Y)b*M{ki=? zu)TJUNhgBv%m~e40YeY}@}y!S*N987nl`^ki{|~nU2O5V&kmvh+bnZ`$Z6I~55oO^ z58a@p4WehKJx~wZ6Mk5VlKY+d1n_W}4rAy+@J$SZae>zI(JM^=SLTOx&GR*kcibwz z1|1Ho%PX(rk-`Lkum*tlOPr-?W@mQL?R)6Mjan&80xEa`fG}$i#Q+Yq?jx!X)q}J} z_H>;lwW9{%=qrGZ=}Aav3$cV`4Z`U#VJZ&OJK)uW1;ATg)245y(GS2L06DqXj(1d_ z8+qEsJoSF)cdP3uOCQ%|0wgX4$+I#xfdj7W9&d!MbrwGaF7K@Qgt+30|2}>JQ(-+Y T7@-rV00000NkvXXu0mjfF)nnI literal 4904 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 QkgSj_Fid)6PD1v-0b+CC^8f$< diff --git a/graphics/pokemon/terapagos/terastal/front.png b/graphics/pokemon/terapagos/terastal/front.png new file mode 100644 index 0000000000000000000000000000000000000000..fbdf844767e75c862319014f7ce61695796d7bb9 GIT binary patch literal 1216 zcmV;x1V8(UP)EX>4Tx04R}tkv&MmP!xqvQ)@*k4t5Z6$WWc^qEZ}d6^c+H)C#RSn7s54ni!H4 z7e~Rh;NZ_<)xpJCR|i)?5c~mgc5qU3krMAq3N2#1@OU5R-E(;FK0s*Jm}d1P0Zq5f zY&s?83oByy6}<=`j08e5vy53u%D}h2?x~mRF3z+3`~Iu}wP-OQAQC5;VcNv&#EDJY z;Ji;9WffT^J|~_q>4LKlnXct28y~B}Gy|=*4k9#(?lH&}ul&_p#%&PJrMuaHV(r8%<#5lk`SM ziyZ-j+rY(jM^pBI%N=0&$&gLim4dW{QVDoJqi-qzL$^TxsyDaxIZhvd9L*|o0~{Oz z<7LWT^Lck)_uT&NY0vKmR1R{Q{&{6`0000mP)t-snbV~j8XEUS8voTTEiH^bRmN3S z%JN2;lTN@WioYz=u|b6MrRJFs5D@jC-v9sqIwMR^0008JNkl(D`YFoJtmkYBBTodK0*j3jj_nS z1QI+nGbZss1p_`cVTIoy=pDx*fR?+n6b=G1SW4I+hPQaNXgJQ23IOh+9SxRv)@2R8|D>l_pyhi2WxxfAM1(Fs>=h}sbhUmg; zUM52=T4sks=8F!~`)$le)AOb05Ky(}&pKpH513Sek)kqgLVNsY22?(skZ|R&oga~% e+WdF@r|S>e)H~k$c)N`N0000 Date: Fri, 16 May 2025 06:09:39 -0400 Subject: [PATCH 35/84] Consolidated stat-priority ability tests (#6863) --- test/battle/ability/beast_boost.c | 37 ++++++++++++++-- test/battle/ability/protosynthesis.c | 65 +++++++++------------------- test/battle/ability/quark_drive.c | 65 +++++++++------------------- 3 files changed, 75 insertions(+), 92 deletions(-) diff --git a/test/battle/ability/beast_boost.c b/test/battle/ability/beast_boost.c index 8f823ab3f6..3adb4eb9cd 100644 --- a/test/battle/ability/beast_boost.c +++ b/test/battle/ability/beast_boost.c @@ -57,10 +57,39 @@ SINGLE_BATTLE_TEST("Beast Boost doesn't trigger if user is fainted") } } -TO_DO_BATTLE_TEST("Beast Boost boosts Attack 1st in case of a stat tie"); -TO_DO_BATTLE_TEST("Beast Boost boosts Defense 2nd in case of a stat tie"); -TO_DO_BATTLE_TEST("Beast Boost boosts Special Attack 3rd in case of a stat tie"); -TO_DO_BATTLE_TEST("Beast Boost boosts Special Defense 4th in case of a stat tie"); +SINGLE_BATTLE_TEST("Beast Boost prioritizes stats in the case of a tie in the following order: Atk, Def, Sp.Atk, Sp.Def, Speed") +{ + u8 stats[] = {1, 1, 1, 1, 1}; + + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; stats[0] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; } + GIVEN { + PLAYER(SPECIES_NIHILEGO) { Ability(ABILITY_BEAST_BOOST); Attack(stats[0]); Defense(stats[1]); SpAttack(stats[2]); SpDefense(stats[3]); Speed(stats[4]); } + OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(1); } + } WHEN { + TURN { MOVE(player, MOVE_SCRATCH); SEND_OUT(opponent, 1); } + } SCENE { + ABILITY_POPUP(player, ABILITY_BEAST_BOOST); + switch(i) { + case 0: + MESSAGE("Nihilego's Beast Boost raised its Attack!"); + break; + case 1: + MESSAGE("Nihilego's Beast Boost raised its Defense!"); + break; + case 2: + MESSAGE("Nihilego's Beast Boost raised its Sp. Atk!"); + break; + case 3: + MESSAGE("Nihilego's Beast Boost raised its Sp. Def!"); + break; + } + } +} + TO_DO_BATTLE_TEST("Beast Boost considers Power Split"); TO_DO_BATTLE_TEST("Beast Boost considers Guard Split"); TO_DO_BATTLE_TEST("Beast Boost considers Power Trick"); diff --git a/test/battle/ability/protosynthesis.c b/test/battle/ability/protosynthesis.c index d895879c60..6fd271acb2 100644 --- a/test/battle/ability/protosynthesis.c +++ b/test/battle/ability/protosynthesis.c @@ -100,59 +100,36 @@ SINGLE_BATTLE_TEST("Protosynthesis activates on switch-in") } } -SINGLE_BATTLE_TEST("Protosynthesis boosts Attack 1st in case of a stat tie") +SINGLE_BATTLE_TEST("Protosynthesis prioritizes stats in the case of a tie in the following order: Atk, Def, Sp.Atk, Sp.Def, Speed") { - GIVEN { - PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(5); Defense(5); SpAttack(5); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_GROUDON) { Ability(ABILITY_DROUGHT); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_DROUGHT); - ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS); - MESSAGE("Great Tusk's Attack was heightened!"); - } -} + u8 stats[] = {1, 1, 1, 1, 1}; -SINGLE_BATTLE_TEST("Protosynthesis boosts Defense 2nd in case of a stat tie") -{ + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; stats[0] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; } GIVEN { - PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(4); Defense(5); SpAttack(5); SpDefense(5); Speed(5); } + PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(stats[0]); Defense(stats[1]); SpAttack(stats[2]); SpDefense(stats[3]); Speed(stats[4]); } OPPONENT(SPECIES_GROUDON) { Ability(ABILITY_DROUGHT); Speed(5); } } WHEN { TURN { } } SCENE { ABILITY_POPUP(opponent, ABILITY_DROUGHT); ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS); - MESSAGE("Great Tusk's Defense was heightened!"); - } -} - -SINGLE_BATTLE_TEST("Protosynthesis boosts Special Attack 3rd in case of a stat tie") -{ - GIVEN { - PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(4); Defense(4); SpAttack(5); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_GROUDON) { Ability(ABILITY_DROUGHT); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_DROUGHT); - ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS); - MESSAGE("Great Tusk's Sp. Atk was heightened!"); - } -} - -SINGLE_BATTLE_TEST("Protosynthesis boosts Special Defense 4th in case of a stat tie") -{ - GIVEN { - PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(4); Defense(4); SpAttack(4); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_GROUDON) { Ability(ABILITY_DROUGHT); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_DROUGHT); - ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS); - MESSAGE("Great Tusk's Sp. Def was heightened!"); + switch(i) { + case 0: + MESSAGE("Great Tusk's Attack was heightened!"); + break; + case 1: + MESSAGE("Great Tusk's Defense was heightened!"); + break; + case 2: + MESSAGE("Great Tusk's Sp. Atk was heightened!"); + break; + case 3: + MESSAGE("Great Tusk's Sp. Def was heightened!"); + break; + } } } diff --git a/test/battle/ability/quark_drive.c b/test/battle/ability/quark_drive.c index e4850e7001..61a51d3d35 100644 --- a/test/battle/ability/quark_drive.c +++ b/test/battle/ability/quark_drive.c @@ -115,59 +115,36 @@ SINGLE_BATTLE_TEST("Quark Drive activates on Electric Terrain even if not ground } } -SINGLE_BATTLE_TEST("Quark Drive boosts Attack 1st in case of a stat tie") +SINGLE_BATTLE_TEST("Quark Drive prioritizes stats in the case of a tie in the following order: Atk, Def, Sp.Atk, Sp.Def, Speed") { - GIVEN { - PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(5); Defense(5); SpAttack(5); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_ELECTRIC_SURGE); - ABILITY_POPUP(player, ABILITY_QUARK_DRIVE); - MESSAGE("Iron Treads's Attack was heightened!"); - } -} + u8 stats[] = {1, 1, 1, 1, 1}; -SINGLE_BATTLE_TEST("Quark Drive boosts Defense 2nd in case of a stat tie") -{ + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; stats[0] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; } GIVEN { - PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(4); Defense(5); SpAttack(5); SpDefense(5); Speed(5); } + PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(stats[0]); Defense(stats[1]); SpAttack(stats[2]); SpDefense(stats[3]); Speed(stats[4]); } OPPONENT(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); Speed(5); } } WHEN { TURN { } } SCENE { ABILITY_POPUP(opponent, ABILITY_ELECTRIC_SURGE); ABILITY_POPUP(player, ABILITY_QUARK_DRIVE); - MESSAGE("Iron Treads's Defense was heightened!"); - } -} - -SINGLE_BATTLE_TEST("Quark Drive boosts Special Attack 3rd in case of a stat tie") -{ - GIVEN { - PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(4); Defense(4); SpAttack(5); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_ELECTRIC_SURGE); - ABILITY_POPUP(player, ABILITY_QUARK_DRIVE); - MESSAGE("Iron Treads's Sp. Atk was heightened!"); - } -} - -SINGLE_BATTLE_TEST("Quark Drive boosts Special Defense 4th in case of a stat tie") -{ - GIVEN { - PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(4); Defense(4); SpAttack(4); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_ELECTRIC_SURGE); - ABILITY_POPUP(player, ABILITY_QUARK_DRIVE); - MESSAGE("Iron Treads's Sp. Def was heightened!"); + switch(i) { + case 0: + MESSAGE("Iron Treads's Attack was heightened!"); + break; + case 1: + MESSAGE("Iron Treads's Defense was heightened!"); + break; + case 2: + MESSAGE("Iron Treads's Sp. Atk was heightened!"); + break; + case 3: + MESSAGE("Iron Treads's Sp. Def was heightened!"); + break; + } } } From 6711df36a3956b359be120733d7f44cfc403a7d6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 May 2025 06:20:44 -0400 Subject: [PATCH 36/84] Create missing ability and move effect test files (#6845) --- test/battle/ability/competitive.c | 4 + test/battle/ability/dark_aura.c | 4 + test/battle/ability/delta_stream.c | 4 + test/battle/ability/early_bird.c | 4 + test/battle/ability/fairy_aura.c | 4 + test/battle/ability/filter.c | 4 + test/battle/ability/flare_boost.c | 4 + test/battle/ability/flower_veil.c | 4 + test/battle/ability/forewarn.c | 4 + test/battle/ability/friend_guard.c | 4 + test/battle/ability/fur_coat.c | 4 + test/battle/ability/gluttony.c | 4 + test/battle/ability/gooey.c | 4 + test/battle/ability/gorilla_tactics.c | 4 + test/battle/ability/grass_pelt.c | 4 + test/battle/ability/guts.c | 4 + test/battle/ability/hadron_engine.c | 4 + test/battle/ability/heatproof.c | 4 + test/battle/ability/heavy_metal.c | 4 + test/battle/ability/honey_gather.c | 4 + test/battle/ability/huge_power.c | 4 + test/battle/ability/hustle.c | 4 + test/battle/ability/illuminate.c | 4 + test/battle/ability/imposter.c | 4 + test/battle/ability/infiltrator.c | 4 + test/battle/ability/iron_barbs.c | 4 + test/battle/ability/iron_fist.c | 4 + test/battle/ability/justified.c | 4 + test/battle/ability/klutz.c | 4 + test/battle/ability/levitate.c | 4 + test/battle/ability/libero.c | 4 + test/battle/ability/light_metal.c | 4 + test/battle/ability/long_reach.c | 4 + test/battle/ability/magma_armor.c | 4 + test/battle/ability/magnet_pull.c | 4 + test/battle/ability/marvel_scale.c | 4 + test/battle/ability/mega_launcher.c | 4 + test/battle/ability/minus.c | 4 + test/battle/ability/mold_breaker.c | 4 + test/battle/ability/multiscale.c | 4 + test/battle/ability/multitype.c | 4 + test/battle/ability/natural_cure.c | 4 + test/battle/ability/no_guard.c | 4 + test/battle/ability/perish_body.c | 4 + test/battle/ability/pickpocket.c | 4 + test/battle/ability/plus.c | 4 + test/battle/ability/poison_puppeteer.c | 4 - test/battle/ability/power_construct.c | 4 + test/battle/ability/power_of_alchemy.c | 4 + test/battle/ability/power_spot.c | 4 + test/battle/ability/prism_armor.c | 4 + test/battle/ability/propeller_tail.c | 4 + test/battle/ability/punk_rock.c | 4 + test/battle/ability/pure_power.c | 4 + test/battle/ability/quick_feet.c | 4 + test/battle/ability/receiver.c | 4 + test/battle/ability/reckless.c | 4 + test/battle/ability/rks_system.c | 4 + test/battle/ability/rock_head.c | 4 + test/battle/ability/run_away.c | 4 + test/battle/ability/sand_spit.c | 4 + test/battle/ability/sand_stream.c | 4 + test/battle/ability/screen_cleaner.c | 4 + test/battle/ability/serene_grace.c | 4 + test/battle/ability/shadow_shield.c | 4 + test/battle/ability/shadow_tag.c | 4 + test/battle/ability/simple.c | 4 + test/battle/ability/skill_link.c | 4 + test/battle/ability/slow_start.c | 4 + test/battle/ability/soul_heart.c | 4 + test/battle/ability/soundproof.c | 4 + test/battle/ability/stakeout.c | 4 + test/battle/ability/stall.c | 4 + test/battle/ability/steadfast.c | 4 + test/battle/ability/steely_spirit.c | 4 + test/battle/ability/strong_jaw.c | 4 + test/battle/ability/suction_cups.c | 4 + test/battle/ability/surge_surfer.c | 4 + test/battle/ability/sweet_veil.c | 4 + test/battle/ability/synchronize.c | 4 + test/battle/ability/tangled_feet.c | 4 + test/battle/ability/technician.c | 4 + test/battle/ability/telepathy.c | 4 + test/battle/ability/teravolt.c | 4 + test/battle/ability/thick_fat.c | 4 + test/battle/ability/tinted_lens.c | 4 + test/battle/ability/tough_claws.c | 4 + test/battle/ability/toxic_boost.c | 4 + test/battle/ability/triage.c | 4 + test/battle/ability/truant.c | 4 + test/battle/ability/turboblaze.c | 4 + test/battle/ability/unaware.c | 4 + test/battle/ability/unseen_fist.c | 4 + test/battle/ability/victory_star.c | 4 + test/battle/ability/vital_spirit.c | 4 + test/battle/ability/wandering_spirit.c | 4 + test/battle/ability/water_bubble.c | 4 + test/battle/ability/water_veil.c | 4 + test/battle/ability/well_baked_body.c | 4 + test/battle/ability/wimp_out.c | 4 + test/battle/ability/wonder_guard.c | 4 + test/battle/ability/wonder_skin.c | 4 + test/battle/move_effect/facade.c | 4 + test/battle/move_effect/fairy_lock.c | 4 + test/battle/move_effect/false_swipe.c | 4 + test/battle/move_effect/fell_stinger.c | 4 + test/battle/move_effect/final_gambit.c | 4 + test/battle/move_effect/first_turn_only.c | 4 + test/battle/move_effect/flail.c | 4 + test/battle/move_effect/flatter.c | 4 + test/battle/move_effect/foresight.c | 4 + test/battle/move_effect/frustration.c | 4 + test/battle/move_effect/fusion_combo.c | 4 + test/battle/move_effect/gear_up.c | 4 + test/battle/move_effect/geomancy.c | 4 + test/battle/move_effect/grassy_glide.c | 4 + test/battle/move_effect/grav_apple.c | 4 + test/battle/move_effect/growth.c | 4 + test/battle/move_effect/grudge.c | 4 + test/battle/move_effect/guard_swap.c | 4 + test/battle/move_effect/guardian_of_alola.c | 4 + test/battle/move_effect/gyro_ball.c | 4 + test/battle/move_effect/hail.c | 4 + test/battle/move_effect/happy_hour.c | 4 + test/battle/move_effect/heal_block.c | 4 + test/battle/move_effect/heart_swap.c | 4 + test/battle/move_effect/heat_crash.c | 4 + test/battle/move_effect/helping_hand.c | 4 + test/battle/move_effect/hit_enemy_heal_ally.c | 4 + test/battle/move_effect/hyperspace_fury.c | 4 + test/battle/move_effect/imprison.c | 4 + test/battle/move_effect/ingrain.c | 4 + test/battle/move_effect/jungle_healing.c | 4 + test/battle/move_effect/lash_out.c | 4 + test/battle/move_effect/level_damage.c | 4 + test/battle/move_effect/light_screen.c | 4 + test/battle/move_effect/lock_on.c | 4 + test/battle/move_effect/low_kick.c | 4 + test/battle/move_effect/magic_room.c | 4 + test/battle/move_effect/magnet_rise.c | 4 + test/battle/move_effect/magnetic_flux.c | 4 + test/battle/move_effect/magnitude.c | 4 + test/battle/move_effect/mat_block.c | 4 + test/battle/move_effect/max_move.c | 4 + test/battle/move_effect/me_first.c | 4 + test/battle/move_effect/mean_look.c | 4 + test/battle/move_effect/memento.c | 4 + test/battle/move_effect/metal_burst.c | 4 + test/battle/move_effect/mimic.c | 4 + test/battle/move_effect/minimize.c | 4 + test/battle/move_effect/miracle_eye.c | 4 + test/battle/move_effect/mirror_coat.c | 4 + test/battle/move_effect/mist.c | 4 + test/battle/move_effect/mud_sport.c | 4 + test/battle/move_effect/natural_gift.c | 4 + test/battle/move_effect/nature_power.c | 4 + test/battle/move_effect/nightmare.c | 4 + test/battle/move_effect/no_retreat.c | 4 + test/battle/move_effect/noble_roar.c | 4 + test/battle/move_effect/order_up.c | 4 + test/battle/move_effect/pain_split.c | 4 + test/battle/move_effect/paralyze.c | 4 + test/battle/move_effect/parting_shot.c | 4 + test/battle/move_effect/payback.c | 4 + test/battle/move_effect/perish_song.c | 4 + test/battle/move_effect/placeholder.c | 4 + test/battle/move_effect/poison.c | 4 + test/battle/move_effect/poltergeist.c | 4 + test/battle/move_effect/power_swap.c | 4 + test/battle/move_effect/power_trick.c | 4 + test/battle/move_effect/present.c | 4 + test/battle/move_effect/psyblade.c | 4 + test/battle/move_effect/psych_up.c | 4 + test/battle/move_effect/psycho_shift.c | 4 + test/battle/move_effect/psyshock.c | 4 + test/battle/move_effect/psywave.c | 4 + test/battle/move_effect/punishment.c | 4 + test/battle/move_effect/purify.c | 4 + test/battle/move_effect/quiver_dance.c | 4 + test/battle/move_effect/rage.c | 4 + test/battle/move_effect/rain_always_hit.c | 4 + test/battle/move_effect/rain_dance.c | 4 + test/battle/move_effect/recoil_hp_25.c | 4 + test/battle/move_effect/recycle.c | 4 + test/battle/move_effect/rest.c | 4 + test/battle/move_effect/restore_hp.c | 4 + test/battle/move_effect/return.c | 4 + test/battle/move_effect/revenge.c | 4 + test/battle/move_effect/rising_voltage.c | 4 + test/battle/move_effect/rollout.c | 4 + test/battle/move_effect/safeguard.c | 4 + test/battle/move_effect/sandstorm.c | 4 + test/battle/move_effect/shell_smash.c | 4 + test/battle/move_effect/shift_gear.c | 4 + test/battle/move_effect/shore_up.c | 4 + test/battle/move_effect/sky_drop.c | 4 + test/battle/move_effect/smack_down.c | 19 --- test/battle/move_effect/smelling_salts.c | 63 --------- test/battle/move_effect/snatch.c | 4 + test/battle/move_effect/snipe_shot.c | 4 + test/battle/move_effect/snowscape.c | 4 + test/battle/move_effect/soak.c | 4 + test/battle/move_effect/softboiled.c | 4 + test/battle/move_effect/sparkling_aria.c | 25 ---- .../move_effect/special_attack_down_2.c | 4 + test/battle/move_effect/special_attack_up.c | 4 + test/battle/move_effect/special_attack_up_2.c | 4 + .../battle/move_effect/special_defense_down.c | 4 + .../move_effect/special_defense_down_2.c | 4 + test/battle/move_effect/special_defense_up.c | 4 + .../battle/move_effect/special_defense_up_2.c | 4 + test/battle/move_effect/speed_down_2.c | 4 + test/battle/move_effect/speed_up.c | 4 + test/battle/move_effect/speed_up_2.c | 4 + test/battle/move_effect/spite.c | 4 + test/battle/move_effect/stored_power.c | 4 + test/battle/move_effect/sunny_day.c | 4 + test/battle/move_effect/super_fang.c | 4 + test/battle/move_effect/swagger.c | 4 + test/battle/move_effect/synchronoise.c | 4 + test/battle/move_effect/taunt.c | 4 + test/battle/move_effect/terrain_pulse.c | 4 + test/battle/move_effect/third_type.c | 4 + test/battle/move_effect/tickle.c | 4 + test/battle/move_effect/topsy_turvy.c | 4 + test/battle/move_effect/toxic_thread.c | 4 + test/battle/move_effect/transform.c | 4 + test/battle/move_effect/trick.c | 4 + test/battle/move_effect/trick_room.c | 4 + test/battle/move_effect/trump_card.c | 4 + test/battle/move_effect/two_typed_move.c | 4 + test/battle/move_effect/venom_drench.c | 4 + test/battle/move_effect/victory_dance.c | 4 + test/battle/move_effect/wake_up_slap.c | 57 -------- test/battle/move_effect/water_sport.c | 4 + test/battle/move_effect/will_o_wisp.c | 4 + test/battle/move_effect/wish.c | 4 + test/battle/move_effect/wonder_room.c | 4 + test/battle/move_effect/yawn.c | 4 + .../flame_burst.c | 0 .../move_effect_secondary/remove_status.c | 132 ++++++++++++++++++ .../salt_cure.c | 0 .../battle/move_effect_secondary/smack_down.c | 28 ++++ .../move_effect_secondary/will_o_wisp.c | 4 + .../ignore_type_if_flying_and_ungrounded.c} | 19 +-- .../{ability => }/switch_in_abilities.c | 0 246 files changed, 1101 insertions(+), 186 deletions(-) create mode 100644 test/battle/ability/competitive.c create mode 100644 test/battle/ability/dark_aura.c create mode 100644 test/battle/ability/delta_stream.c create mode 100644 test/battle/ability/early_bird.c create mode 100644 test/battle/ability/fairy_aura.c create mode 100644 test/battle/ability/filter.c create mode 100644 test/battle/ability/flare_boost.c create mode 100644 test/battle/ability/flower_veil.c create mode 100644 test/battle/ability/forewarn.c create mode 100644 test/battle/ability/friend_guard.c create mode 100644 test/battle/ability/fur_coat.c create mode 100644 test/battle/ability/gluttony.c create mode 100644 test/battle/ability/gooey.c create mode 100644 test/battle/ability/gorilla_tactics.c create mode 100644 test/battle/ability/grass_pelt.c create mode 100644 test/battle/ability/guts.c create mode 100644 test/battle/ability/hadron_engine.c create mode 100644 test/battle/ability/heatproof.c create mode 100644 test/battle/ability/heavy_metal.c create mode 100644 test/battle/ability/honey_gather.c create mode 100644 test/battle/ability/huge_power.c create mode 100644 test/battle/ability/hustle.c create mode 100644 test/battle/ability/illuminate.c create mode 100644 test/battle/ability/imposter.c create mode 100644 test/battle/ability/infiltrator.c create mode 100644 test/battle/ability/iron_barbs.c create mode 100644 test/battle/ability/iron_fist.c create mode 100644 test/battle/ability/justified.c create mode 100644 test/battle/ability/klutz.c create mode 100644 test/battle/ability/levitate.c create mode 100644 test/battle/ability/libero.c create mode 100644 test/battle/ability/light_metal.c create mode 100644 test/battle/ability/long_reach.c create mode 100644 test/battle/ability/magma_armor.c create mode 100644 test/battle/ability/magnet_pull.c create mode 100644 test/battle/ability/marvel_scale.c create mode 100644 test/battle/ability/mega_launcher.c create mode 100644 test/battle/ability/minus.c create mode 100644 test/battle/ability/mold_breaker.c create mode 100644 test/battle/ability/multiscale.c create mode 100644 test/battle/ability/multitype.c create mode 100644 test/battle/ability/natural_cure.c create mode 100644 test/battle/ability/no_guard.c create mode 100644 test/battle/ability/perish_body.c create mode 100644 test/battle/ability/pickpocket.c create mode 100644 test/battle/ability/plus.c create mode 100644 test/battle/ability/power_construct.c create mode 100644 test/battle/ability/power_of_alchemy.c create mode 100644 test/battle/ability/power_spot.c create mode 100644 test/battle/ability/prism_armor.c create mode 100644 test/battle/ability/propeller_tail.c create mode 100644 test/battle/ability/punk_rock.c create mode 100644 test/battle/ability/pure_power.c create mode 100644 test/battle/ability/quick_feet.c create mode 100644 test/battle/ability/receiver.c create mode 100644 test/battle/ability/reckless.c create mode 100644 test/battle/ability/rks_system.c create mode 100644 test/battle/ability/rock_head.c create mode 100644 test/battle/ability/run_away.c create mode 100644 test/battle/ability/sand_spit.c create mode 100644 test/battle/ability/sand_stream.c create mode 100644 test/battle/ability/screen_cleaner.c create mode 100644 test/battle/ability/serene_grace.c create mode 100644 test/battle/ability/shadow_shield.c create mode 100644 test/battle/ability/shadow_tag.c create mode 100644 test/battle/ability/simple.c create mode 100644 test/battle/ability/skill_link.c create mode 100644 test/battle/ability/slow_start.c create mode 100644 test/battle/ability/soul_heart.c create mode 100644 test/battle/ability/soundproof.c create mode 100644 test/battle/ability/stakeout.c create mode 100644 test/battle/ability/stall.c create mode 100644 test/battle/ability/steadfast.c create mode 100644 test/battle/ability/steely_spirit.c create mode 100644 test/battle/ability/strong_jaw.c create mode 100644 test/battle/ability/suction_cups.c create mode 100644 test/battle/ability/surge_surfer.c create mode 100644 test/battle/ability/sweet_veil.c create mode 100644 test/battle/ability/synchronize.c create mode 100644 test/battle/ability/tangled_feet.c create mode 100644 test/battle/ability/technician.c create mode 100644 test/battle/ability/telepathy.c create mode 100644 test/battle/ability/teravolt.c create mode 100644 test/battle/ability/thick_fat.c create mode 100644 test/battle/ability/tinted_lens.c create mode 100644 test/battle/ability/tough_claws.c create mode 100644 test/battle/ability/toxic_boost.c create mode 100644 test/battle/ability/triage.c create mode 100644 test/battle/ability/truant.c create mode 100644 test/battle/ability/turboblaze.c create mode 100644 test/battle/ability/unaware.c create mode 100644 test/battle/ability/unseen_fist.c create mode 100644 test/battle/ability/victory_star.c create mode 100644 test/battle/ability/vital_spirit.c create mode 100644 test/battle/ability/wandering_spirit.c create mode 100644 test/battle/ability/water_bubble.c create mode 100644 test/battle/ability/water_veil.c create mode 100644 test/battle/ability/well_baked_body.c create mode 100644 test/battle/ability/wimp_out.c create mode 100644 test/battle/ability/wonder_guard.c create mode 100644 test/battle/ability/wonder_skin.c create mode 100644 test/battle/move_effect/facade.c create mode 100644 test/battle/move_effect/fairy_lock.c create mode 100644 test/battle/move_effect/false_swipe.c create mode 100644 test/battle/move_effect/fell_stinger.c create mode 100644 test/battle/move_effect/final_gambit.c create mode 100644 test/battle/move_effect/first_turn_only.c create mode 100644 test/battle/move_effect/flail.c create mode 100644 test/battle/move_effect/flatter.c create mode 100644 test/battle/move_effect/foresight.c create mode 100644 test/battle/move_effect/frustration.c create mode 100644 test/battle/move_effect/fusion_combo.c create mode 100644 test/battle/move_effect/gear_up.c create mode 100644 test/battle/move_effect/geomancy.c create mode 100644 test/battle/move_effect/grassy_glide.c create mode 100644 test/battle/move_effect/grav_apple.c create mode 100644 test/battle/move_effect/growth.c create mode 100644 test/battle/move_effect/grudge.c create mode 100644 test/battle/move_effect/guard_swap.c create mode 100644 test/battle/move_effect/guardian_of_alola.c create mode 100644 test/battle/move_effect/gyro_ball.c create mode 100644 test/battle/move_effect/hail.c create mode 100644 test/battle/move_effect/happy_hour.c create mode 100644 test/battle/move_effect/heal_block.c create mode 100644 test/battle/move_effect/heart_swap.c create mode 100644 test/battle/move_effect/heat_crash.c create mode 100644 test/battle/move_effect/helping_hand.c create mode 100644 test/battle/move_effect/hit_enemy_heal_ally.c create mode 100644 test/battle/move_effect/hyperspace_fury.c create mode 100644 test/battle/move_effect/imprison.c create mode 100644 test/battle/move_effect/ingrain.c create mode 100644 test/battle/move_effect/jungle_healing.c create mode 100644 test/battle/move_effect/lash_out.c create mode 100644 test/battle/move_effect/level_damage.c create mode 100644 test/battle/move_effect/light_screen.c create mode 100644 test/battle/move_effect/lock_on.c create mode 100644 test/battle/move_effect/low_kick.c create mode 100644 test/battle/move_effect/magic_room.c create mode 100644 test/battle/move_effect/magnet_rise.c create mode 100644 test/battle/move_effect/magnetic_flux.c create mode 100644 test/battle/move_effect/magnitude.c create mode 100644 test/battle/move_effect/mat_block.c create mode 100644 test/battle/move_effect/max_move.c create mode 100644 test/battle/move_effect/me_first.c create mode 100644 test/battle/move_effect/mean_look.c create mode 100644 test/battle/move_effect/memento.c create mode 100644 test/battle/move_effect/metal_burst.c create mode 100644 test/battle/move_effect/mimic.c create mode 100644 test/battle/move_effect/minimize.c create mode 100644 test/battle/move_effect/miracle_eye.c create mode 100644 test/battle/move_effect/mirror_coat.c create mode 100644 test/battle/move_effect/mist.c create mode 100644 test/battle/move_effect/mud_sport.c create mode 100644 test/battle/move_effect/natural_gift.c create mode 100644 test/battle/move_effect/nature_power.c create mode 100644 test/battle/move_effect/nightmare.c create mode 100644 test/battle/move_effect/no_retreat.c create mode 100644 test/battle/move_effect/noble_roar.c create mode 100644 test/battle/move_effect/order_up.c create mode 100644 test/battle/move_effect/pain_split.c create mode 100644 test/battle/move_effect/paralyze.c create mode 100644 test/battle/move_effect/parting_shot.c create mode 100644 test/battle/move_effect/payback.c create mode 100644 test/battle/move_effect/perish_song.c create mode 100644 test/battle/move_effect/placeholder.c create mode 100644 test/battle/move_effect/poison.c create mode 100644 test/battle/move_effect/poltergeist.c create mode 100644 test/battle/move_effect/power_swap.c create mode 100644 test/battle/move_effect/power_trick.c create mode 100644 test/battle/move_effect/present.c create mode 100644 test/battle/move_effect/psyblade.c create mode 100644 test/battle/move_effect/psych_up.c create mode 100644 test/battle/move_effect/psycho_shift.c create mode 100644 test/battle/move_effect/psyshock.c create mode 100644 test/battle/move_effect/psywave.c create mode 100644 test/battle/move_effect/punishment.c create mode 100644 test/battle/move_effect/purify.c create mode 100644 test/battle/move_effect/quiver_dance.c create mode 100644 test/battle/move_effect/rage.c create mode 100644 test/battle/move_effect/rain_always_hit.c create mode 100644 test/battle/move_effect/rain_dance.c create mode 100644 test/battle/move_effect/recoil_hp_25.c create mode 100644 test/battle/move_effect/recycle.c create mode 100644 test/battle/move_effect/rest.c create mode 100644 test/battle/move_effect/restore_hp.c create mode 100644 test/battle/move_effect/return.c create mode 100644 test/battle/move_effect/revenge.c create mode 100644 test/battle/move_effect/rising_voltage.c create mode 100644 test/battle/move_effect/rollout.c create mode 100644 test/battle/move_effect/safeguard.c create mode 100644 test/battle/move_effect/sandstorm.c create mode 100644 test/battle/move_effect/shell_smash.c create mode 100644 test/battle/move_effect/shift_gear.c create mode 100644 test/battle/move_effect/shore_up.c create mode 100644 test/battle/move_effect/sky_drop.c delete mode 100644 test/battle/move_effect/smack_down.c delete mode 100644 test/battle/move_effect/smelling_salts.c create mode 100644 test/battle/move_effect/snatch.c create mode 100644 test/battle/move_effect/snipe_shot.c create mode 100644 test/battle/move_effect/snowscape.c create mode 100644 test/battle/move_effect/soak.c create mode 100644 test/battle/move_effect/softboiled.c delete mode 100644 test/battle/move_effect/sparkling_aria.c create mode 100644 test/battle/move_effect/special_attack_down_2.c create mode 100644 test/battle/move_effect/special_attack_up.c create mode 100644 test/battle/move_effect/special_attack_up_2.c create mode 100644 test/battle/move_effect/special_defense_down.c create mode 100644 test/battle/move_effect/special_defense_down_2.c create mode 100644 test/battle/move_effect/special_defense_up.c create mode 100644 test/battle/move_effect/special_defense_up_2.c create mode 100644 test/battle/move_effect/speed_down_2.c create mode 100644 test/battle/move_effect/speed_up.c create mode 100644 test/battle/move_effect/speed_up_2.c create mode 100644 test/battle/move_effect/spite.c create mode 100644 test/battle/move_effect/stored_power.c create mode 100644 test/battle/move_effect/sunny_day.c create mode 100644 test/battle/move_effect/super_fang.c create mode 100644 test/battle/move_effect/swagger.c create mode 100644 test/battle/move_effect/synchronoise.c create mode 100644 test/battle/move_effect/taunt.c create mode 100644 test/battle/move_effect/terrain_pulse.c create mode 100644 test/battle/move_effect/third_type.c create mode 100644 test/battle/move_effect/tickle.c create mode 100644 test/battle/move_effect/topsy_turvy.c create mode 100644 test/battle/move_effect/toxic_thread.c create mode 100644 test/battle/move_effect/transform.c create mode 100644 test/battle/move_effect/trick.c create mode 100644 test/battle/move_effect/trick_room.c create mode 100644 test/battle/move_effect/trump_card.c create mode 100644 test/battle/move_effect/two_typed_move.c create mode 100644 test/battle/move_effect/venom_drench.c create mode 100644 test/battle/move_effect/victory_dance.c delete mode 100644 test/battle/move_effect/wake_up_slap.c create mode 100644 test/battle/move_effect/water_sport.c create mode 100644 test/battle/move_effect/will_o_wisp.c create mode 100644 test/battle/move_effect/wish.c create mode 100644 test/battle/move_effect/wonder_room.c create mode 100644 test/battle/move_effect/yawn.c rename test/battle/{move_effect => move_effect_secondary}/flame_burst.c (100%) create mode 100644 test/battle/move_effect_secondary/remove_status.c rename test/battle/{move_effect => move_effect_secondary}/salt_cure.c (100%) create mode 100644 test/battle/move_effect_secondary/smack_down.c create mode 100644 test/battle/move_effect_secondary/will_o_wisp.c rename test/battle/{move_effect/thousand_arrows.c => move_flags/ignore_type_if_flying_and_ungrounded.c} (70%) rename test/battle/{ability => }/switch_in_abilities.c (100%) diff --git a/test/battle/ability/competitive.c b/test/battle/ability/competitive.c new file mode 100644 index 0000000000..cc3e582eab --- /dev/null +++ b/test/battle/ability/competitive.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Competitive (Ability) test titles") diff --git a/test/battle/ability/dark_aura.c b/test/battle/ability/dark_aura.c new file mode 100644 index 0000000000..eb1bf05246 --- /dev/null +++ b/test/battle/ability/dark_aura.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Dark Aura (Ability) test titles") diff --git a/test/battle/ability/delta_stream.c b/test/battle/ability/delta_stream.c new file mode 100644 index 0000000000..5b4081cb1e --- /dev/null +++ b/test/battle/ability/delta_stream.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Delta Stream (Ability) test titles") diff --git a/test/battle/ability/early_bird.c b/test/battle/ability/early_bird.c new file mode 100644 index 0000000000..9b368970f6 --- /dev/null +++ b/test/battle/ability/early_bird.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Early Bird (Ability) test titles") diff --git a/test/battle/ability/fairy_aura.c b/test/battle/ability/fairy_aura.c new file mode 100644 index 0000000000..3b8d400b02 --- /dev/null +++ b/test/battle/ability/fairy_aura.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fairy Aura (Ability) test titles") diff --git a/test/battle/ability/filter.c b/test/battle/ability/filter.c new file mode 100644 index 0000000000..ca323b1be2 --- /dev/null +++ b/test/battle/ability/filter.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Filter (Ability) test titles") diff --git a/test/battle/ability/flare_boost.c b/test/battle/ability/flare_boost.c new file mode 100644 index 0000000000..a4ff14382a --- /dev/null +++ b/test/battle/ability/flare_boost.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flare Boost (Ability) test titles") diff --git a/test/battle/ability/flower_veil.c b/test/battle/ability/flower_veil.c new file mode 100644 index 0000000000..c1952360d1 --- /dev/null +++ b/test/battle/ability/flower_veil.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flower Veil (Ability) test titles") diff --git a/test/battle/ability/forewarn.c b/test/battle/ability/forewarn.c new file mode 100644 index 0000000000..810fcd975f --- /dev/null +++ b/test/battle/ability/forewarn.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Forewarn (Ability) test titles") diff --git a/test/battle/ability/friend_guard.c b/test/battle/ability/friend_guard.c new file mode 100644 index 0000000000..5e4776731e --- /dev/null +++ b/test/battle/ability/friend_guard.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Friend Guard (Ability) test titles") diff --git a/test/battle/ability/fur_coat.c b/test/battle/ability/fur_coat.c new file mode 100644 index 0000000000..56fb197114 --- /dev/null +++ b/test/battle/ability/fur_coat.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fur Coat (Ability) test titles") diff --git a/test/battle/ability/gluttony.c b/test/battle/ability/gluttony.c new file mode 100644 index 0000000000..4ceda945f6 --- /dev/null +++ b/test/battle/ability/gluttony.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gluttony (Ability) test titles") diff --git a/test/battle/ability/gooey.c b/test/battle/ability/gooey.c new file mode 100644 index 0000000000..ad78e30c39 --- /dev/null +++ b/test/battle/ability/gooey.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gooey (Ability) test titles") diff --git a/test/battle/ability/gorilla_tactics.c b/test/battle/ability/gorilla_tactics.c new file mode 100644 index 0000000000..2bafd88165 --- /dev/null +++ b/test/battle/ability/gorilla_tactics.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gorilla Tactics (Ability) test titles") diff --git a/test/battle/ability/grass_pelt.c b/test/battle/ability/grass_pelt.c new file mode 100644 index 0000000000..1696b71e10 --- /dev/null +++ b/test/battle/ability/grass_pelt.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grass Pelt (Ability) test titles") diff --git a/test/battle/ability/guts.c b/test/battle/ability/guts.c new file mode 100644 index 0000000000..459adc0e69 --- /dev/null +++ b/test/battle/ability/guts.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Guts (Ability) test titles") diff --git a/test/battle/ability/hadron_engine.c b/test/battle/ability/hadron_engine.c new file mode 100644 index 0000000000..e6324c0c51 --- /dev/null +++ b/test/battle/ability/hadron_engine.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Hadron Engine (Ability) test titles") diff --git a/test/battle/ability/heatproof.c b/test/battle/ability/heatproof.c new file mode 100644 index 0000000000..7f1d772bb7 --- /dev/null +++ b/test/battle/ability/heatproof.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heatproof (Ability) test titles") diff --git a/test/battle/ability/heavy_metal.c b/test/battle/ability/heavy_metal.c new file mode 100644 index 0000000000..baaa039b19 --- /dev/null +++ b/test/battle/ability/heavy_metal.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heavy Metal (Ability) test titles") diff --git a/test/battle/ability/honey_gather.c b/test/battle/ability/honey_gather.c new file mode 100644 index 0000000000..56dbb22f2e --- /dev/null +++ b/test/battle/ability/honey_gather.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Honey Gather (Ability) test titles") diff --git a/test/battle/ability/huge_power.c b/test/battle/ability/huge_power.c new file mode 100644 index 0000000000..9362bf8ce3 --- /dev/null +++ b/test/battle/ability/huge_power.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Huge Power (Ability) test titles") diff --git a/test/battle/ability/hustle.c b/test/battle/ability/hustle.c new file mode 100644 index 0000000000..c399bfa501 --- /dev/null +++ b/test/battle/ability/hustle.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Hustle (Ability) test titles") diff --git a/test/battle/ability/illuminate.c b/test/battle/ability/illuminate.c new file mode 100644 index 0000000000..72bf1f6f81 --- /dev/null +++ b/test/battle/ability/illuminate.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Illuminate (Ability) test titles") diff --git a/test/battle/ability/imposter.c b/test/battle/ability/imposter.c new file mode 100644 index 0000000000..98f6cc29fc --- /dev/null +++ b/test/battle/ability/imposter.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Imposter (Ability) test titles") diff --git a/test/battle/ability/infiltrator.c b/test/battle/ability/infiltrator.c new file mode 100644 index 0000000000..faf00ee113 --- /dev/null +++ b/test/battle/ability/infiltrator.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Infiltrator (Ability) test titles") diff --git a/test/battle/ability/iron_barbs.c b/test/battle/ability/iron_barbs.c new file mode 100644 index 0000000000..8b1525a9f6 --- /dev/null +++ b/test/battle/ability/iron_barbs.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Iron Barbs (Ability) test titles") diff --git a/test/battle/ability/iron_fist.c b/test/battle/ability/iron_fist.c new file mode 100644 index 0000000000..ae26f9cdd0 --- /dev/null +++ b/test/battle/ability/iron_fist.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Iron Fist (Ability) test titles") diff --git a/test/battle/ability/justified.c b/test/battle/ability/justified.c new file mode 100644 index 0000000000..3416d77415 --- /dev/null +++ b/test/battle/ability/justified.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Justified (Ability) test titles") diff --git a/test/battle/ability/klutz.c b/test/battle/ability/klutz.c new file mode 100644 index 0000000000..76216edd17 --- /dev/null +++ b/test/battle/ability/klutz.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Klutz (Ability) test titles") diff --git a/test/battle/ability/levitate.c b/test/battle/ability/levitate.c new file mode 100644 index 0000000000..a1c1dc927d --- /dev/null +++ b/test/battle/ability/levitate.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Levitate (Ability) test titles") diff --git a/test/battle/ability/libero.c b/test/battle/ability/libero.c new file mode 100644 index 0000000000..8ea93df3c0 --- /dev/null +++ b/test/battle/ability/libero.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Libero (Ability) test titles") diff --git a/test/battle/ability/light_metal.c b/test/battle/ability/light_metal.c new file mode 100644 index 0000000000..8ad4a6a4b5 --- /dev/null +++ b/test/battle/ability/light_metal.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Light Metal (Ability) test titles") diff --git a/test/battle/ability/long_reach.c b/test/battle/ability/long_reach.c new file mode 100644 index 0000000000..3558ea92b2 --- /dev/null +++ b/test/battle/ability/long_reach.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Long Reach (Ability) test titles") diff --git a/test/battle/ability/magma_armor.c b/test/battle/ability/magma_armor.c new file mode 100644 index 0000000000..e61444baee --- /dev/null +++ b/test/battle/ability/magma_armor.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magma Armor (Ability) test titles") diff --git a/test/battle/ability/magnet_pull.c b/test/battle/ability/magnet_pull.c new file mode 100644 index 0000000000..538b15f824 --- /dev/null +++ b/test/battle/ability/magnet_pull.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magnet Pull (Ability) test titles") diff --git a/test/battle/ability/marvel_scale.c b/test/battle/ability/marvel_scale.c new file mode 100644 index 0000000000..4fc7ee3c62 --- /dev/null +++ b/test/battle/ability/marvel_scale.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Marvel Scale (Ability) test titles") diff --git a/test/battle/ability/mega_launcher.c b/test/battle/ability/mega_launcher.c new file mode 100644 index 0000000000..dae3799f81 --- /dev/null +++ b/test/battle/ability/mega_launcher.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mega Launcher (Ability) test titles") diff --git a/test/battle/ability/minus.c b/test/battle/ability/minus.c new file mode 100644 index 0000000000..bf841465a6 --- /dev/null +++ b/test/battle/ability/minus.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Minus (Ability) test titles") diff --git a/test/battle/ability/mold_breaker.c b/test/battle/ability/mold_breaker.c new file mode 100644 index 0000000000..2c04deeeef --- /dev/null +++ b/test/battle/ability/mold_breaker.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mold Breaker (Ability) test titles") diff --git a/test/battle/ability/multiscale.c b/test/battle/ability/multiscale.c new file mode 100644 index 0000000000..f2a808d69a --- /dev/null +++ b/test/battle/ability/multiscale.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Multiscale (Ability) test titles") diff --git a/test/battle/ability/multitype.c b/test/battle/ability/multitype.c new file mode 100644 index 0000000000..a8b384180f --- /dev/null +++ b/test/battle/ability/multitype.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Multitype (Ability) test titles") diff --git a/test/battle/ability/natural_cure.c b/test/battle/ability/natural_cure.c new file mode 100644 index 0000000000..760c341e12 --- /dev/null +++ b/test/battle/ability/natural_cure.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Natural Cure (Ability) test titles") diff --git a/test/battle/ability/no_guard.c b/test/battle/ability/no_guard.c new file mode 100644 index 0000000000..e365968d45 --- /dev/null +++ b/test/battle/ability/no_guard.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write No Guard (Ability) test titles") diff --git a/test/battle/ability/perish_body.c b/test/battle/ability/perish_body.c new file mode 100644 index 0000000000..92562ef885 --- /dev/null +++ b/test/battle/ability/perish_body.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Perish Body (Ability) test titles") diff --git a/test/battle/ability/pickpocket.c b/test/battle/ability/pickpocket.c new file mode 100644 index 0000000000..1e8ec6a526 --- /dev/null +++ b/test/battle/ability/pickpocket.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Pickpocket (Ability) test titles") diff --git a/test/battle/ability/plus.c b/test/battle/ability/plus.c new file mode 100644 index 0000000000..5b56018bf6 --- /dev/null +++ b/test/battle/ability/plus.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Plus (Ability) test titles") diff --git a/test/battle/ability/poison_puppeteer.c b/test/battle/ability/poison_puppeteer.c index d5c470ad37..db27691415 100644 --- a/test/battle/ability/poison_puppeteer.c +++ b/test/battle/ability/poison_puppeteer.c @@ -1,10 +1,6 @@ #include "global.h" #include "test/battle.h" -ASSUMPTIONS -{ -} - SINGLE_BATTLE_TEST("Poison Puppeteer confuses target if it was poisoned by a damaging move") { GIVEN { diff --git a/test/battle/ability/power_construct.c b/test/battle/ability/power_construct.c new file mode 100644 index 0000000000..6a8ca9db5f --- /dev/null +++ b/test/battle/ability/power_construct.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power Construct (Ability) test titles") diff --git a/test/battle/ability/power_of_alchemy.c b/test/battle/ability/power_of_alchemy.c new file mode 100644 index 0000000000..137a20a43d --- /dev/null +++ b/test/battle/ability/power_of_alchemy.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power of Alchemy (Ability) test titles") diff --git a/test/battle/ability/power_spot.c b/test/battle/ability/power_spot.c new file mode 100644 index 0000000000..c44eb9a924 --- /dev/null +++ b/test/battle/ability/power_spot.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power Spot (Ability) test titles") diff --git a/test/battle/ability/prism_armor.c b/test/battle/ability/prism_armor.c new file mode 100644 index 0000000000..532642d3a2 --- /dev/null +++ b/test/battle/ability/prism_armor.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Prism Armor (Ability) test titles") diff --git a/test/battle/ability/propeller_tail.c b/test/battle/ability/propeller_tail.c new file mode 100644 index 0000000000..eb8df38c8f --- /dev/null +++ b/test/battle/ability/propeller_tail.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Propeller Tail (Ability) test titles") diff --git a/test/battle/ability/punk_rock.c b/test/battle/ability/punk_rock.c new file mode 100644 index 0000000000..01a5459a0d --- /dev/null +++ b/test/battle/ability/punk_rock.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Punk Rock (Ability) test titles") diff --git a/test/battle/ability/pure_power.c b/test/battle/ability/pure_power.c new file mode 100644 index 0000000000..e33479252c --- /dev/null +++ b/test/battle/ability/pure_power.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Pure Power (Ability) test titles") diff --git a/test/battle/ability/quick_feet.c b/test/battle/ability/quick_feet.c new file mode 100644 index 0000000000..fde10a7593 --- /dev/null +++ b/test/battle/ability/quick_feet.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Quick Feet (Ability) test titles") diff --git a/test/battle/ability/receiver.c b/test/battle/ability/receiver.c new file mode 100644 index 0000000000..a9155b7244 --- /dev/null +++ b/test/battle/ability/receiver.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Receiver (Ability) test titles") diff --git a/test/battle/ability/reckless.c b/test/battle/ability/reckless.c new file mode 100644 index 0000000000..49d5c59262 --- /dev/null +++ b/test/battle/ability/reckless.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Reckless (Ability) test titles") diff --git a/test/battle/ability/rks_system.c b/test/battle/ability/rks_system.c new file mode 100644 index 0000000000..17c4d2d4a7 --- /dev/null +++ b/test/battle/ability/rks_system.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write RKS System (Ability) test titles") diff --git a/test/battle/ability/rock_head.c b/test/battle/ability/rock_head.c new file mode 100644 index 0000000000..56db705778 --- /dev/null +++ b/test/battle/ability/rock_head.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rock Head (Ability) test titles") diff --git a/test/battle/ability/run_away.c b/test/battle/ability/run_away.c new file mode 100644 index 0000000000..c49eef7213 --- /dev/null +++ b/test/battle/ability/run_away.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Run Away (Ability) test titles") diff --git a/test/battle/ability/sand_spit.c b/test/battle/ability/sand_spit.c new file mode 100644 index 0000000000..c2128f65de --- /dev/null +++ b/test/battle/ability/sand_spit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sand Spit (Ability) test titles") diff --git a/test/battle/ability/sand_stream.c b/test/battle/ability/sand_stream.c new file mode 100644 index 0000000000..6cd1b06eb4 --- /dev/null +++ b/test/battle/ability/sand_stream.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sand Stream (Ability) test titles") diff --git a/test/battle/ability/screen_cleaner.c b/test/battle/ability/screen_cleaner.c new file mode 100644 index 0000000000..dd4ad761d1 --- /dev/null +++ b/test/battle/ability/screen_cleaner.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Screen Cleaner (Ability) test titles") diff --git a/test/battle/ability/serene_grace.c b/test/battle/ability/serene_grace.c new file mode 100644 index 0000000000..75dad60618 --- /dev/null +++ b/test/battle/ability/serene_grace.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Serene Grace (Ability) test titles") diff --git a/test/battle/ability/shadow_shield.c b/test/battle/ability/shadow_shield.c new file mode 100644 index 0000000000..7a28500761 --- /dev/null +++ b/test/battle/ability/shadow_shield.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shadow Shield (Ability) test titles") diff --git a/test/battle/ability/shadow_tag.c b/test/battle/ability/shadow_tag.c new file mode 100644 index 0000000000..f00696d8b7 --- /dev/null +++ b/test/battle/ability/shadow_tag.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shadow Tag (Ability) test titles") diff --git a/test/battle/ability/simple.c b/test/battle/ability/simple.c new file mode 100644 index 0000000000..cfdbf407ea --- /dev/null +++ b/test/battle/ability/simple.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Simple (Ability) test titles") diff --git a/test/battle/ability/skill_link.c b/test/battle/ability/skill_link.c new file mode 100644 index 0000000000..2da8ee2c58 --- /dev/null +++ b/test/battle/ability/skill_link.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Skill Link (Ability) test titles") diff --git a/test/battle/ability/slow_start.c b/test/battle/ability/slow_start.c new file mode 100644 index 0000000000..d5b3f5bcb5 --- /dev/null +++ b/test/battle/ability/slow_start.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Slow Start (Ability) test titles") diff --git a/test/battle/ability/soul_heart.c b/test/battle/ability/soul_heart.c new file mode 100644 index 0000000000..393fbb6c20 --- /dev/null +++ b/test/battle/ability/soul_heart.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Soul Heart (Ability) test titles") diff --git a/test/battle/ability/soundproof.c b/test/battle/ability/soundproof.c new file mode 100644 index 0000000000..a7135942d1 --- /dev/null +++ b/test/battle/ability/soundproof.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Soundproof (Ability) test titles") diff --git a/test/battle/ability/stakeout.c b/test/battle/ability/stakeout.c new file mode 100644 index 0000000000..2bbea394fd --- /dev/null +++ b/test/battle/ability/stakeout.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Stakeout (Ability) test titles") diff --git a/test/battle/ability/stall.c b/test/battle/ability/stall.c new file mode 100644 index 0000000000..f93eac14c4 --- /dev/null +++ b/test/battle/ability/stall.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Stall (Ability) test titles") diff --git a/test/battle/ability/steadfast.c b/test/battle/ability/steadfast.c new file mode 100644 index 0000000000..fc35e94278 --- /dev/null +++ b/test/battle/ability/steadfast.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Steadfast (Ability) test titles") diff --git a/test/battle/ability/steely_spirit.c b/test/battle/ability/steely_spirit.c new file mode 100644 index 0000000000..e84893ad8c --- /dev/null +++ b/test/battle/ability/steely_spirit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Steely Spirit (Ability) test titles") diff --git a/test/battle/ability/strong_jaw.c b/test/battle/ability/strong_jaw.c new file mode 100644 index 0000000000..1b9ce7fba7 --- /dev/null +++ b/test/battle/ability/strong_jaw.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Strong Jaw (Ability) test titles") diff --git a/test/battle/ability/suction_cups.c b/test/battle/ability/suction_cups.c new file mode 100644 index 0000000000..bcf23c5e18 --- /dev/null +++ b/test/battle/ability/suction_cups.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Suction Cups (Ability) test titles") diff --git a/test/battle/ability/surge_surfer.c b/test/battle/ability/surge_surfer.c new file mode 100644 index 0000000000..c0b1056a2d --- /dev/null +++ b/test/battle/ability/surge_surfer.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Surge Surfer (Ability) test titles") diff --git a/test/battle/ability/sweet_veil.c b/test/battle/ability/sweet_veil.c new file mode 100644 index 0000000000..2cedae3c14 --- /dev/null +++ b/test/battle/ability/sweet_veil.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sweet Veil (Ability) test titles") diff --git a/test/battle/ability/synchronize.c b/test/battle/ability/synchronize.c new file mode 100644 index 0000000000..43cf87d5fe --- /dev/null +++ b/test/battle/ability/synchronize.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Synchronize (Ability) test titles") diff --git a/test/battle/ability/tangled_feet.c b/test/battle/ability/tangled_feet.c new file mode 100644 index 0000000000..fb50ba191d --- /dev/null +++ b/test/battle/ability/tangled_feet.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Tangled Feet (Ability) test titles") diff --git a/test/battle/ability/technician.c b/test/battle/ability/technician.c new file mode 100644 index 0000000000..bd529a5a01 --- /dev/null +++ b/test/battle/ability/technician.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Technician (Ability) test titles") diff --git a/test/battle/ability/telepathy.c b/test/battle/ability/telepathy.c new file mode 100644 index 0000000000..220b2e7180 --- /dev/null +++ b/test/battle/ability/telepathy.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Telepathy (Ability) test titles") diff --git a/test/battle/ability/teravolt.c b/test/battle/ability/teravolt.c new file mode 100644 index 0000000000..e9739a720d --- /dev/null +++ b/test/battle/ability/teravolt.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Teravolt (Ability) test titles") diff --git a/test/battle/ability/thick_fat.c b/test/battle/ability/thick_fat.c new file mode 100644 index 0000000000..bcc4c9487c --- /dev/null +++ b/test/battle/ability/thick_fat.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Thick Fat (Ability) test titles") diff --git a/test/battle/ability/tinted_lens.c b/test/battle/ability/tinted_lens.c new file mode 100644 index 0000000000..9ddb69ec17 --- /dev/null +++ b/test/battle/ability/tinted_lens.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Tinted Lens (Ability) test titles") diff --git a/test/battle/ability/tough_claws.c b/test/battle/ability/tough_claws.c new file mode 100644 index 0000000000..4e6f4ecf8b --- /dev/null +++ b/test/battle/ability/tough_claws.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Tough Claws (Ability) test titles") diff --git a/test/battle/ability/toxic_boost.c b/test/battle/ability/toxic_boost.c new file mode 100644 index 0000000000..85960c5b02 --- /dev/null +++ b/test/battle/ability/toxic_boost.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Toxic Boost (Ability) test titles") diff --git a/test/battle/ability/triage.c b/test/battle/ability/triage.c new file mode 100644 index 0000000000..753d32b717 --- /dev/null +++ b/test/battle/ability/triage.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Triage (Ability) test titles") diff --git a/test/battle/ability/truant.c b/test/battle/ability/truant.c new file mode 100644 index 0000000000..85c0fe7749 --- /dev/null +++ b/test/battle/ability/truant.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Truant (Ability) test titles") diff --git a/test/battle/ability/turboblaze.c b/test/battle/ability/turboblaze.c new file mode 100644 index 0000000000..a715c23111 --- /dev/null +++ b/test/battle/ability/turboblaze.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Turboblaze (Ability) test titles") diff --git a/test/battle/ability/unaware.c b/test/battle/ability/unaware.c new file mode 100644 index 0000000000..5eb83cb9df --- /dev/null +++ b/test/battle/ability/unaware.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Unaware (Ability) test titles") diff --git a/test/battle/ability/unseen_fist.c b/test/battle/ability/unseen_fist.c new file mode 100644 index 0000000000..046ef7d2fb --- /dev/null +++ b/test/battle/ability/unseen_fist.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Unseen Fist (Ability) test titles") diff --git a/test/battle/ability/victory_star.c b/test/battle/ability/victory_star.c new file mode 100644 index 0000000000..46c3aca825 --- /dev/null +++ b/test/battle/ability/victory_star.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Victory Star (Ability) test titles") diff --git a/test/battle/ability/vital_spirit.c b/test/battle/ability/vital_spirit.c new file mode 100644 index 0000000000..2539df2334 --- /dev/null +++ b/test/battle/ability/vital_spirit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Vital Spirit (Ability) test titles") diff --git a/test/battle/ability/wandering_spirit.c b/test/battle/ability/wandering_spirit.c new file mode 100644 index 0000000000..d32fb7c7b2 --- /dev/null +++ b/test/battle/ability/wandering_spirit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wandering Spirit (Ability) test titles") diff --git a/test/battle/ability/water_bubble.c b/test/battle/ability/water_bubble.c new file mode 100644 index 0000000000..2f04b18096 --- /dev/null +++ b/test/battle/ability/water_bubble.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Water Bubble (Ability) test titles") diff --git a/test/battle/ability/water_veil.c b/test/battle/ability/water_veil.c new file mode 100644 index 0000000000..428243fc10 --- /dev/null +++ b/test/battle/ability/water_veil.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Water Veil (Ability) test titles") diff --git a/test/battle/ability/well_baked_body.c b/test/battle/ability/well_baked_body.c new file mode 100644 index 0000000000..ae555b47cf --- /dev/null +++ b/test/battle/ability/well_baked_body.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Well-Baked Body (Ability) test titles") diff --git a/test/battle/ability/wimp_out.c b/test/battle/ability/wimp_out.c new file mode 100644 index 0000000000..3ceea91788 --- /dev/null +++ b/test/battle/ability/wimp_out.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wimp Out (Ability) test titles") diff --git a/test/battle/ability/wonder_guard.c b/test/battle/ability/wonder_guard.c new file mode 100644 index 0000000000..673b6c113a --- /dev/null +++ b/test/battle/ability/wonder_guard.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wonder Guard (Ability) test titles") diff --git a/test/battle/ability/wonder_skin.c b/test/battle/ability/wonder_skin.c new file mode 100644 index 0000000000..6501894f1c --- /dev/null +++ b/test/battle/ability/wonder_skin.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wonder Skin (Ability) test titles") diff --git a/test/battle/move_effect/facade.c b/test/battle/move_effect/facade.c new file mode 100644 index 0000000000..cc1e21e34f --- /dev/null +++ b/test/battle/move_effect/facade.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Facade (Move Effect) test titles") diff --git a/test/battle/move_effect/fairy_lock.c b/test/battle/move_effect/fairy_lock.c new file mode 100644 index 0000000000..a42aa6aa48 --- /dev/null +++ b/test/battle/move_effect/fairy_lock.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fairy Lock (Move Effect) test titles") diff --git a/test/battle/move_effect/false_swipe.c b/test/battle/move_effect/false_swipe.c new file mode 100644 index 0000000000..da2cbf6a21 --- /dev/null +++ b/test/battle/move_effect/false_swipe.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write False Swipe (Move Effect) test titles") diff --git a/test/battle/move_effect/fell_stinger.c b/test/battle/move_effect/fell_stinger.c new file mode 100644 index 0000000000..2613dc2d9d --- /dev/null +++ b/test/battle/move_effect/fell_stinger.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fell Stinger (Move Effect) test titles") diff --git a/test/battle/move_effect/final_gambit.c b/test/battle/move_effect/final_gambit.c new file mode 100644 index 0000000000..be815abf5a --- /dev/null +++ b/test/battle/move_effect/final_gambit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Final Gambit (Move Effect) test titles") diff --git a/test/battle/move_effect/first_turn_only.c b/test/battle/move_effect/first_turn_only.c new file mode 100644 index 0000000000..b26245a3d9 --- /dev/null +++ b/test/battle/move_effect/first_turn_only.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fake Out/First Impression (Move Effect) test titles") diff --git a/test/battle/move_effect/flail.c b/test/battle/move_effect/flail.c new file mode 100644 index 0000000000..af5544d9b4 --- /dev/null +++ b/test/battle/move_effect/flail.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flail (Move Effect) test titles") diff --git a/test/battle/move_effect/flatter.c b/test/battle/move_effect/flatter.c new file mode 100644 index 0000000000..7effb09329 --- /dev/null +++ b/test/battle/move_effect/flatter.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flatter (Move Effect) test titles") diff --git a/test/battle/move_effect/foresight.c b/test/battle/move_effect/foresight.c new file mode 100644 index 0000000000..082e2d6fa4 --- /dev/null +++ b/test/battle/move_effect/foresight.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Foresight (Move Effect) test titles") diff --git a/test/battle/move_effect/frustration.c b/test/battle/move_effect/frustration.c new file mode 100644 index 0000000000..eb994c5076 --- /dev/null +++ b/test/battle/move_effect/frustration.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Frustration (Move Effect) test titles") diff --git a/test/battle/move_effect/fusion_combo.c b/test/battle/move_effect/fusion_combo.c new file mode 100644 index 0000000000..7561536b11 --- /dev/null +++ b/test/battle/move_effect/fusion_combo.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fusion Flare/Bolt (Move Effect) test titles") diff --git a/test/battle/move_effect/gear_up.c b/test/battle/move_effect/gear_up.c new file mode 100644 index 0000000000..03aba9a395 --- /dev/null +++ b/test/battle/move_effect/gear_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gear Up (Move Effect) test titles") diff --git a/test/battle/move_effect/geomancy.c b/test/battle/move_effect/geomancy.c new file mode 100644 index 0000000000..f5b113a452 --- /dev/null +++ b/test/battle/move_effect/geomancy.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Geomancy (Move Effect) test titles") diff --git a/test/battle/move_effect/grassy_glide.c b/test/battle/move_effect/grassy_glide.c new file mode 100644 index 0000000000..00219fb1dd --- /dev/null +++ b/test/battle/move_effect/grassy_glide.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grassy Glide (Move Effect) test titles") diff --git a/test/battle/move_effect/grav_apple.c b/test/battle/move_effect/grav_apple.c new file mode 100644 index 0000000000..7ce2dd26c7 --- /dev/null +++ b/test/battle/move_effect/grav_apple.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grav Apple (Move Effect) test titles") diff --git a/test/battle/move_effect/growth.c b/test/battle/move_effect/growth.c new file mode 100644 index 0000000000..7b53f56cfc --- /dev/null +++ b/test/battle/move_effect/growth.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Growth (Move Effect) test titles") diff --git a/test/battle/move_effect/grudge.c b/test/battle/move_effect/grudge.c new file mode 100644 index 0000000000..f0e0e53b6a --- /dev/null +++ b/test/battle/move_effect/grudge.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grudge (Move Effect) test titles") diff --git a/test/battle/move_effect/guard_swap.c b/test/battle/move_effect/guard_swap.c new file mode 100644 index 0000000000..f0e0e53b6a --- /dev/null +++ b/test/battle/move_effect/guard_swap.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grudge (Move Effect) test titles") diff --git a/test/battle/move_effect/guardian_of_alola.c b/test/battle/move_effect/guardian_of_alola.c new file mode 100644 index 0000000000..fe33236363 --- /dev/null +++ b/test/battle/move_effect/guardian_of_alola.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Guardian of Alola (Move Effect) test titles") diff --git a/test/battle/move_effect/gyro_ball.c b/test/battle/move_effect/gyro_ball.c new file mode 100644 index 0000000000..e6cbfa46c9 --- /dev/null +++ b/test/battle/move_effect/gyro_ball.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gyro Ball (Move Effect) test titles") diff --git a/test/battle/move_effect/hail.c b/test/battle/move_effect/hail.c new file mode 100644 index 0000000000..9fdbe0ab37 --- /dev/null +++ b/test/battle/move_effect/hail.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Hail (Move Effect) test titles") diff --git a/test/battle/move_effect/happy_hour.c b/test/battle/move_effect/happy_hour.c new file mode 100644 index 0000000000..4e271068e2 --- /dev/null +++ b/test/battle/move_effect/happy_hour.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Happy Hour (Move Effect) test titles") diff --git a/test/battle/move_effect/heal_block.c b/test/battle/move_effect/heal_block.c new file mode 100644 index 0000000000..2bb4367dd4 --- /dev/null +++ b/test/battle/move_effect/heal_block.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heal Block (Move Effect) test titles") diff --git a/test/battle/move_effect/heart_swap.c b/test/battle/move_effect/heart_swap.c new file mode 100644 index 0000000000..1c4d22e204 --- /dev/null +++ b/test/battle/move_effect/heart_swap.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heart Swap (Move Effect) test titles") diff --git a/test/battle/move_effect/heat_crash.c b/test/battle/move_effect/heat_crash.c new file mode 100644 index 0000000000..8b2d0a0433 --- /dev/null +++ b/test/battle/move_effect/heat_crash.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heat Crash (Move Effect) test titles") diff --git a/test/battle/move_effect/helping_hand.c b/test/battle/move_effect/helping_hand.c new file mode 100644 index 0000000000..81d64e113d --- /dev/null +++ b/test/battle/move_effect/helping_hand.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Helping Hand (Move Effect) test titles") diff --git a/test/battle/move_effect/hit_enemy_heal_ally.c b/test/battle/move_effect/hit_enemy_heal_ally.c new file mode 100644 index 0000000000..018672cd6c --- /dev/null +++ b/test/battle/move_effect/hit_enemy_heal_ally.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Pollen Puff (Move Effect) test titles") diff --git a/test/battle/move_effect/hyperspace_fury.c b/test/battle/move_effect/hyperspace_fury.c new file mode 100644 index 0000000000..080758c94b --- /dev/null +++ b/test/battle/move_effect/hyperspace_fury.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Hyperspace Fury (Move Effect) test titles") diff --git a/test/battle/move_effect/imprison.c b/test/battle/move_effect/imprison.c new file mode 100644 index 0000000000..dd4e496692 --- /dev/null +++ b/test/battle/move_effect/imprison.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Imprison (Move Effect) test titles") diff --git a/test/battle/move_effect/ingrain.c b/test/battle/move_effect/ingrain.c new file mode 100644 index 0000000000..19213f10d9 --- /dev/null +++ b/test/battle/move_effect/ingrain.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Ingrain (Move Effect) test titles") diff --git a/test/battle/move_effect/jungle_healing.c b/test/battle/move_effect/jungle_healing.c new file mode 100644 index 0000000000..12b964a049 --- /dev/null +++ b/test/battle/move_effect/jungle_healing.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Jungle Healing (Move Effect) test titles") diff --git a/test/battle/move_effect/lash_out.c b/test/battle/move_effect/lash_out.c new file mode 100644 index 0000000000..dd8e9eb0e9 --- /dev/null +++ b/test/battle/move_effect/lash_out.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Lash Out (Move Effect) test titles") diff --git a/test/battle/move_effect/level_damage.c b/test/battle/move_effect/level_damage.c new file mode 100644 index 0000000000..63bd121577 --- /dev/null +++ b/test/battle/move_effect/level_damage.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Seismic Toss/Night Shade (Move Effect) test titles") diff --git a/test/battle/move_effect/light_screen.c b/test/battle/move_effect/light_screen.c new file mode 100644 index 0000000000..56eedebbd4 --- /dev/null +++ b/test/battle/move_effect/light_screen.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Light Screen (Move Effect) test titles") diff --git a/test/battle/move_effect/lock_on.c b/test/battle/move_effect/lock_on.c new file mode 100644 index 0000000000..9e7b93cff4 --- /dev/null +++ b/test/battle/move_effect/lock_on.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Lock-On/Mind Reader (Move Effect) test titles") diff --git a/test/battle/move_effect/low_kick.c b/test/battle/move_effect/low_kick.c new file mode 100644 index 0000000000..c68b152e2d --- /dev/null +++ b/test/battle/move_effect/low_kick.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Low Kick (Move Effect) test titles") diff --git a/test/battle/move_effect/magic_room.c b/test/battle/move_effect/magic_room.c new file mode 100644 index 0000000000..9fde0046fd --- /dev/null +++ b/test/battle/move_effect/magic_room.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magic Room (Move Effect) test titles") diff --git a/test/battle/move_effect/magnet_rise.c b/test/battle/move_effect/magnet_rise.c new file mode 100644 index 0000000000..9fde0046fd --- /dev/null +++ b/test/battle/move_effect/magnet_rise.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magic Room (Move Effect) test titles") diff --git a/test/battle/move_effect/magnetic_flux.c b/test/battle/move_effect/magnetic_flux.c new file mode 100644 index 0000000000..f574db0089 --- /dev/null +++ b/test/battle/move_effect/magnetic_flux.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magnetic Flux (Move Effect) test titles") diff --git a/test/battle/move_effect/magnitude.c b/test/battle/move_effect/magnitude.c new file mode 100644 index 0000000000..75799a4dcb --- /dev/null +++ b/test/battle/move_effect/magnitude.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magnitude (Move Effect) test titles") diff --git a/test/battle/move_effect/mat_block.c b/test/battle/move_effect/mat_block.c new file mode 100644 index 0000000000..78921a7329 --- /dev/null +++ b/test/battle/move_effect/mat_block.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mat Block (Move Effect) test titles") diff --git a/test/battle/move_effect/max_move.c b/test/battle/move_effect/max_move.c new file mode 100644 index 0000000000..41c2a4e32c --- /dev/null +++ b/test/battle/move_effect/max_move.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Max Moves (Move Effect) test titles") diff --git a/test/battle/move_effect/me_first.c b/test/battle/move_effect/me_first.c new file mode 100644 index 0000000000..e5fbd2a7fb --- /dev/null +++ b/test/battle/move_effect/me_first.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Me First (Move Effect) test titles") diff --git a/test/battle/move_effect/mean_look.c b/test/battle/move_effect/mean_look.c new file mode 100644 index 0000000000..a5fa8ff0c1 --- /dev/null +++ b/test/battle/move_effect/mean_look.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mean Look (Move Effect) test titles") diff --git a/test/battle/move_effect/memento.c b/test/battle/move_effect/memento.c new file mode 100644 index 0000000000..c83ffc1ab1 --- /dev/null +++ b/test/battle/move_effect/memento.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Memento (Move Effect) test titles") diff --git a/test/battle/move_effect/metal_burst.c b/test/battle/move_effect/metal_burst.c new file mode 100644 index 0000000000..4fec370e85 --- /dev/null +++ b/test/battle/move_effect/metal_burst.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Metal Burst (Move Effect) test titles") diff --git a/test/battle/move_effect/mimic.c b/test/battle/move_effect/mimic.c new file mode 100644 index 0000000000..4a51a4b79e --- /dev/null +++ b/test/battle/move_effect/mimic.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mimic (Move Effect) test titles") diff --git a/test/battle/move_effect/minimize.c b/test/battle/move_effect/minimize.c new file mode 100644 index 0000000000..f0196936a5 --- /dev/null +++ b/test/battle/move_effect/minimize.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Minimize (Move Effect) test titles") diff --git a/test/battle/move_effect/miracle_eye.c b/test/battle/move_effect/miracle_eye.c new file mode 100644 index 0000000000..784323f1cc --- /dev/null +++ b/test/battle/move_effect/miracle_eye.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Miracle Eye (Move Effect) test titles") diff --git a/test/battle/move_effect/mirror_coat.c b/test/battle/move_effect/mirror_coat.c new file mode 100644 index 0000000000..2a3d6ef250 --- /dev/null +++ b/test/battle/move_effect/mirror_coat.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mirror Coat (Move Effect) test titles") diff --git a/test/battle/move_effect/mist.c b/test/battle/move_effect/mist.c new file mode 100644 index 0000000000..332d82a6f9 --- /dev/null +++ b/test/battle/move_effect/mist.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mist (Move Effect) test titles") diff --git a/test/battle/move_effect/mud_sport.c b/test/battle/move_effect/mud_sport.c new file mode 100644 index 0000000000..143bbe1447 --- /dev/null +++ b/test/battle/move_effect/mud_sport.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mud Sport (Move Effect) test titles") diff --git a/test/battle/move_effect/natural_gift.c b/test/battle/move_effect/natural_gift.c new file mode 100644 index 0000000000..dd9b0bd466 --- /dev/null +++ b/test/battle/move_effect/natural_gift.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Natural Gift (Move Effect) test titles") diff --git a/test/battle/move_effect/nature_power.c b/test/battle/move_effect/nature_power.c new file mode 100644 index 0000000000..1e9692f88d --- /dev/null +++ b/test/battle/move_effect/nature_power.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Nature Power (Move Effect) test titles") diff --git a/test/battle/move_effect/nightmare.c b/test/battle/move_effect/nightmare.c new file mode 100644 index 0000000000..c243664f2d --- /dev/null +++ b/test/battle/move_effect/nightmare.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Nightmare (Move Effect) test titles") diff --git a/test/battle/move_effect/no_retreat.c b/test/battle/move_effect/no_retreat.c new file mode 100644 index 0000000000..bf2a15dfbf --- /dev/null +++ b/test/battle/move_effect/no_retreat.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write No Retreat (Move Effect) test titles") diff --git a/test/battle/move_effect/noble_roar.c b/test/battle/move_effect/noble_roar.c new file mode 100644 index 0000000000..4fd182b84d --- /dev/null +++ b/test/battle/move_effect/noble_roar.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Noble Roar (Move Effect) test titles") diff --git a/test/battle/move_effect/order_up.c b/test/battle/move_effect/order_up.c new file mode 100644 index 0000000000..fffd773403 --- /dev/null +++ b/test/battle/move_effect/order_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Order Up (Move Effect) test titles") diff --git a/test/battle/move_effect/pain_split.c b/test/battle/move_effect/pain_split.c new file mode 100644 index 0000000000..be92aecc7d --- /dev/null +++ b/test/battle/move_effect/pain_split.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Pain Split (Move Effect) test titles") diff --git a/test/battle/move_effect/paralyze.c b/test/battle/move_effect/paralyze.c new file mode 100644 index 0000000000..a3f1a5574a --- /dev/null +++ b/test/battle/move_effect/paralyze.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Paralyze (Move Effect) test titles") diff --git a/test/battle/move_effect/parting_shot.c b/test/battle/move_effect/parting_shot.c new file mode 100644 index 0000000000..4d55d09315 --- /dev/null +++ b/test/battle/move_effect/parting_shot.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Parting Shot (Move Effect) test titles") diff --git a/test/battle/move_effect/payback.c b/test/battle/move_effect/payback.c new file mode 100644 index 0000000000..1f078987a1 --- /dev/null +++ b/test/battle/move_effect/payback.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Payback (Move Effect) test titles") diff --git a/test/battle/move_effect/perish_song.c b/test/battle/move_effect/perish_song.c new file mode 100644 index 0000000000..bfbe7eedc8 --- /dev/null +++ b/test/battle/move_effect/perish_song.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Perish Song (Move Effect) test titles") diff --git a/test/battle/move_effect/placeholder.c b/test/battle/move_effect/placeholder.c new file mode 100644 index 0000000000..1b06392b9a --- /dev/null +++ b/test/battle/move_effect/placeholder.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Placeholder (Move Effect) test titles") diff --git a/test/battle/move_effect/poison.c b/test/battle/move_effect/poison.c new file mode 100644 index 0000000000..5b26ccf62d --- /dev/null +++ b/test/battle/move_effect/poison.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Poison (Move Effect) test titles") diff --git a/test/battle/move_effect/poltergeist.c b/test/battle/move_effect/poltergeist.c new file mode 100644 index 0000000000..f90031d8a8 --- /dev/null +++ b/test/battle/move_effect/poltergeist.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Poltergeist (Move Effect) test titles") diff --git a/test/battle/move_effect/power_swap.c b/test/battle/move_effect/power_swap.c new file mode 100644 index 0000000000..214a8488cc --- /dev/null +++ b/test/battle/move_effect/power_swap.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power Swap (Move Effect) test titles") diff --git a/test/battle/move_effect/power_trick.c b/test/battle/move_effect/power_trick.c new file mode 100644 index 0000000000..a8f89051e7 --- /dev/null +++ b/test/battle/move_effect/power_trick.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power Trick (Move Effect) test titles") diff --git a/test/battle/move_effect/present.c b/test/battle/move_effect/present.c new file mode 100644 index 0000000000..bd21f13de4 --- /dev/null +++ b/test/battle/move_effect/present.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Present (Move Effect) test titles") diff --git a/test/battle/move_effect/psyblade.c b/test/battle/move_effect/psyblade.c new file mode 100644 index 0000000000..3a5778d1f4 --- /dev/null +++ b/test/battle/move_effect/psyblade.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psyblade (Move Effect) test titles") diff --git a/test/battle/move_effect/psych_up.c b/test/battle/move_effect/psych_up.c new file mode 100644 index 0000000000..36241a4ed7 --- /dev/null +++ b/test/battle/move_effect/psych_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psych Up (Move Effect) test titles") diff --git a/test/battle/move_effect/psycho_shift.c b/test/battle/move_effect/psycho_shift.c new file mode 100644 index 0000000000..4382ca4575 --- /dev/null +++ b/test/battle/move_effect/psycho_shift.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psycho Shift (Move Effect) test titles") diff --git a/test/battle/move_effect/psyshock.c b/test/battle/move_effect/psyshock.c new file mode 100644 index 0000000000..6b3ee54c5c --- /dev/null +++ b/test/battle/move_effect/psyshock.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psyshock (Move Effect) test titles") diff --git a/test/battle/move_effect/psywave.c b/test/battle/move_effect/psywave.c new file mode 100644 index 0000000000..627e45ea3e --- /dev/null +++ b/test/battle/move_effect/psywave.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psywave (Move Effect) test titles") diff --git a/test/battle/move_effect/punishment.c b/test/battle/move_effect/punishment.c new file mode 100644 index 0000000000..45f0b899af --- /dev/null +++ b/test/battle/move_effect/punishment.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Punishment (Move Effect) test titles") diff --git a/test/battle/move_effect/purify.c b/test/battle/move_effect/purify.c new file mode 100644 index 0000000000..134c96119f --- /dev/null +++ b/test/battle/move_effect/purify.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Purify (Move Effect) test titles") diff --git a/test/battle/move_effect/quiver_dance.c b/test/battle/move_effect/quiver_dance.c new file mode 100644 index 0000000000..5a7ff5b944 --- /dev/null +++ b/test/battle/move_effect/quiver_dance.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Quiver Dance (Move Effect) test titles") diff --git a/test/battle/move_effect/rage.c b/test/battle/move_effect/rage.c new file mode 100644 index 0000000000..33025a6b0e --- /dev/null +++ b/test/battle/move_effect/rage.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rage (Move Effect) test titles") diff --git a/test/battle/move_effect/rain_always_hit.c b/test/battle/move_effect/rain_always_hit.c new file mode 100644 index 0000000000..3bed952a37 --- /dev/null +++ b/test/battle/move_effect/rain_always_hit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Bleakwind/Wildbolt/Sandsear Storm (Move Effect) test titles") diff --git a/test/battle/move_effect/rain_dance.c b/test/battle/move_effect/rain_dance.c new file mode 100644 index 0000000000..f9c3786b71 --- /dev/null +++ b/test/battle/move_effect/rain_dance.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rain Dance (Move Effect) test titles") diff --git a/test/battle/move_effect/recoil_hp_25.c b/test/battle/move_effect/recoil_hp_25.c new file mode 100644 index 0000000000..9abb1bcfd0 --- /dev/null +++ b/test/battle/move_effect/recoil_hp_25.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Struggle (Move Effect) test titles") diff --git a/test/battle/move_effect/recycle.c b/test/battle/move_effect/recycle.c new file mode 100644 index 0000000000..53f2e5c2ff --- /dev/null +++ b/test/battle/move_effect/recycle.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Recycle (Move Effect) test titles") diff --git a/test/battle/move_effect/rest.c b/test/battle/move_effect/rest.c new file mode 100644 index 0000000000..4d0d85b560 --- /dev/null +++ b/test/battle/move_effect/rest.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rest (Move Effect) test titles") diff --git a/test/battle/move_effect/restore_hp.c b/test/battle/move_effect/restore_hp.c new file mode 100644 index 0000000000..57f756115e --- /dev/null +++ b/test/battle/move_effect/restore_hp.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Recover/Slack Off/Heal Order (Move Effect) test titles") diff --git a/test/battle/move_effect/return.c b/test/battle/move_effect/return.c new file mode 100644 index 0000000000..50945ca556 --- /dev/null +++ b/test/battle/move_effect/return.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Return (Move Effect) test titles") diff --git a/test/battle/move_effect/revenge.c b/test/battle/move_effect/revenge.c new file mode 100644 index 0000000000..980bca9e33 --- /dev/null +++ b/test/battle/move_effect/revenge.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Revenge (Move Effect) test titles") diff --git a/test/battle/move_effect/rising_voltage.c b/test/battle/move_effect/rising_voltage.c new file mode 100644 index 0000000000..de6ca67c04 --- /dev/null +++ b/test/battle/move_effect/rising_voltage.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rising Voltage (Move Effect) test titles") diff --git a/test/battle/move_effect/rollout.c b/test/battle/move_effect/rollout.c new file mode 100644 index 0000000000..c137ca4fc8 --- /dev/null +++ b/test/battle/move_effect/rollout.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rollout (Move Effect) test titles") diff --git a/test/battle/move_effect/safeguard.c b/test/battle/move_effect/safeguard.c new file mode 100644 index 0000000000..44dee766ee --- /dev/null +++ b/test/battle/move_effect/safeguard.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Safeguard (Move Effect) test titles") diff --git a/test/battle/move_effect/sandstorm.c b/test/battle/move_effect/sandstorm.c new file mode 100644 index 0000000000..7a70a2f3ff --- /dev/null +++ b/test/battle/move_effect/sandstorm.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sandstorm (Move Effect) test titles") diff --git a/test/battle/move_effect/shell_smash.c b/test/battle/move_effect/shell_smash.c new file mode 100644 index 0000000000..af31e771ad --- /dev/null +++ b/test/battle/move_effect/shell_smash.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shell Smash (Move Effect) test titles") diff --git a/test/battle/move_effect/shift_gear.c b/test/battle/move_effect/shift_gear.c new file mode 100644 index 0000000000..990e815cb3 --- /dev/null +++ b/test/battle/move_effect/shift_gear.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shift Gear (Move Effect) test titles") diff --git a/test/battle/move_effect/shore_up.c b/test/battle/move_effect/shore_up.c new file mode 100644 index 0000000000..91ee4f05b6 --- /dev/null +++ b/test/battle/move_effect/shore_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shore Up (Move Effect) test titles") diff --git a/test/battle/move_effect/sky_drop.c b/test/battle/move_effect/sky_drop.c new file mode 100644 index 0000000000..f0482788dd --- /dev/null +++ b/test/battle/move_effect/sky_drop.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sky Drop (Move Effect) test titles") diff --git a/test/battle/move_effect/smack_down.c b/test/battle/move_effect/smack_down.c deleted file mode 100644 index eb924ea1ac..0000000000 --- a/test/battle/move_effect/smack_down.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_SMACK_DOWN, MOVE_EFFECT_SMACK_DOWN) == TRUE); -} - -SINGLE_BATTLE_TEST("Smack Down does not ground mons behind substitutes") -{ - GIVEN { - PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_SKARMORY); - } WHEN { - TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SMACK_DOWN); } - } SCENE { - NOT MESSAGE("The opposing Skarmory fell straight down!"); - } -} diff --git a/test/battle/move_effect/smelling_salts.c b/test/battle/move_effect/smelling_salts.c deleted file mode 100644 index 6b1d0b2d7e..0000000000 --- a/test/battle/move_effect/smelling_salts.c +++ /dev/null @@ -1,63 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_SMELLING_SALTS, MOVE_EFFECT_REMOVE_STATUS) == TRUE); - ASSUME(GetMoveEffectArg_Status(MOVE_SMELLING_SALTS) == STATUS1_PARALYSIS); -} - -SINGLE_BATTLE_TEST("Smelling Salts does not cure paralyzed pokemons behind substitutes or get increased power") -{ - u32 ability; - PARAMETRIZE { ability = ABILITY_INNER_FOCUS; } - PARAMETRIZE { ability = ABILITY_INFILTRATOR; } - GIVEN { - PLAYER(SPECIES_CROBAT) { Ability(ability); } - OPPONENT(SPECIES_SEISMITOAD) { Status1(STATUS1_PARALYSIS); } - } WHEN { - TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_CELEBRATE); } - TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SMELLING_SALTS); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); - if (ability == ABILITY_INNER_FOCUS) - { - MESSAGE("The substitute took damage for the opposing Seismitoad!"); - NONE_OF - { - MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. - MESSAGE("The opposing Seismitoad was cured of paralysis!"); - STATUS_ICON(opponent, none: TRUE); - } - } - else - { - MESSAGE("The opposing Seismitoad was cured of paralysis!"); - STATUS_ICON(opponent, none: TRUE); - } - } -} - -SINGLE_BATTLE_TEST("Smelling Salts get incread power vs. paralyzed targets") -{ - u32 status1; - PARAMETRIZE { status1 = STATUS1_PARALYSIS; } - PARAMETRIZE { status1 = STATUS1_NONE; } - GIVEN { - PLAYER(SPECIES_CROBAT); - OPPONENT(SPECIES_LOTAD) { Status1(status1); } - } WHEN { - TURN { MOVE(player, MOVE_SMELLING_SALTS); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); - if (status1 == STATUS1_PARALYSIS) - { - MESSAGE("The opposing Lotad fainted!"); - } - else - { - NOT MESSAGE("The opposing Lotad fainted!"); - MESSAGE("The opposing Lotad used Celebrate!"); - } - } -} diff --git a/test/battle/move_effect/snatch.c b/test/battle/move_effect/snatch.c new file mode 100644 index 0000000000..f8e2891837 --- /dev/null +++ b/test/battle/move_effect/snatch.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Snatch (Move Effect) test titles") diff --git a/test/battle/move_effect/snipe_shot.c b/test/battle/move_effect/snipe_shot.c new file mode 100644 index 0000000000..7ef7cbeb28 --- /dev/null +++ b/test/battle/move_effect/snipe_shot.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Snipe Shot (Move Effect) test titles") diff --git a/test/battle/move_effect/snowscape.c b/test/battle/move_effect/snowscape.c new file mode 100644 index 0000000000..a0d1275f66 --- /dev/null +++ b/test/battle/move_effect/snowscape.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Snowscape (Move Effect) test titles") diff --git a/test/battle/move_effect/soak.c b/test/battle/move_effect/soak.c new file mode 100644 index 0000000000..156e1f9558 --- /dev/null +++ b/test/battle/move_effect/soak.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Soak (Move Effect) test titles") diff --git a/test/battle/move_effect/softboiled.c b/test/battle/move_effect/softboiled.c new file mode 100644 index 0000000000..a4cbce5b93 --- /dev/null +++ b/test/battle/move_effect/softboiled.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Softboiled (Move Effect) test titles") diff --git a/test/battle/move_effect/sparkling_aria.c b/test/battle/move_effect/sparkling_aria.c deleted file mode 100644 index 86b906228b..0000000000 --- a/test/battle/move_effect/sparkling_aria.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_SPARKLING_ARIA, MOVE_EFFECT_REMOVE_STATUS) == TRUE); - ASSUME(GetMoveEffectArg_Status(MOVE_SPARKLING_ARIA) == STATUS1_BURN); - ASSUME(IsSoundMove(MOVE_SPARKLING_ARIA)); -} - -DOUBLE_BATTLE_TEST("Sparkling Aria cures burns from all Pokemon on the field and behind substitutes") -{ - GIVEN { - PLAYER(SPECIES_PRIMARINA); - PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } - OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } - OPPONENT(SPECIES_WYNAUT) { Status1(STATUS1_BURN); } - } WHEN { - TURN { MOVE(opponentLeft, MOVE_SUBSTITUTE); MOVE(opponentRight, MOVE_CELEBRATE); MOVE(playerRight, MOVE_CELEBRATE); MOVE(playerLeft, MOVE_SPARKLING_ARIA); } - } SCENE { - MESSAGE("The opposing Wobbuffet's burn was cured!"); - MESSAGE("Wobbuffet's burn was cured!"); - MESSAGE("The opposing Wynaut's burn was cured!"); - } -} diff --git a/test/battle/move_effect/special_attack_down_2.c b/test/battle/move_effect/special_attack_down_2.c new file mode 100644 index 0000000000..b62d4b52ac --- /dev/null +++ b/test/battle/move_effect/special_attack_down_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Eerie Impulse (Move Effect) test titles") diff --git a/test/battle/move_effect/special_attack_up.c b/test/battle/move_effect/special_attack_up.c new file mode 100644 index 0000000000..964566a8db --- /dev/null +++ b/test/battle/move_effect/special_attack_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sp.Atk +1 (Move Effect) test titles") // Pre-gen5 Growth diff --git a/test/battle/move_effect/special_attack_up_2.c b/test/battle/move_effect/special_attack_up_2.c new file mode 100644 index 0000000000..c4bf38d6aa --- /dev/null +++ b/test/battle/move_effect/special_attack_up_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Nasty Plot (Move Effect) test titles") diff --git a/test/battle/move_effect/special_defense_down.c b/test/battle/move_effect/special_defense_down.c new file mode 100644 index 0000000000..1769ff6975 --- /dev/null +++ b/test/battle/move_effect/special_defense_down.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sp.Def -1 (Move Effect) test titles") // No move has this effect diff --git a/test/battle/move_effect/special_defense_down_2.c b/test/battle/move_effect/special_defense_down_2.c new file mode 100644 index 0000000000..5fff5bdd7b --- /dev/null +++ b/test/battle/move_effect/special_defense_down_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fake Tears/Metal Sound (Move Effect) test titles") diff --git a/test/battle/move_effect/special_defense_up.c b/test/battle/move_effect/special_defense_up.c new file mode 100644 index 0000000000..66bbfa4dc5 --- /dev/null +++ b/test/battle/move_effect/special_defense_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sp.Def +1 (Move Effect) test titles") // No move has this effect diff --git a/test/battle/move_effect/special_defense_up_2.c b/test/battle/move_effect/special_defense_up_2.c new file mode 100644 index 0000000000..1685663452 --- /dev/null +++ b/test/battle/move_effect/special_defense_up_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Amnesia (Move Effect) test titles") diff --git a/test/battle/move_effect/speed_down_2.c b/test/battle/move_effect/speed_down_2.c new file mode 100644 index 0000000000..e3b95e3fe9 --- /dev/null +++ b/test/battle/move_effect/speed_down_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Scary Face/Cotton Spore (Move Effect) test titles") diff --git a/test/battle/move_effect/speed_up.c b/test/battle/move_effect/speed_up.c new file mode 100644 index 0000000000..1b0d417ef6 --- /dev/null +++ b/test/battle/move_effect/speed_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Speed +1 (Move Effect) test titles") // No move has this effect diff --git a/test/battle/move_effect/speed_up_2.c b/test/battle/move_effect/speed_up_2.c new file mode 100644 index 0000000000..7202555498 --- /dev/null +++ b/test/battle/move_effect/speed_up_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Agility/Rock Polish (Move Effect) test titles") diff --git a/test/battle/move_effect/spite.c b/test/battle/move_effect/spite.c new file mode 100644 index 0000000000..6a23e16dd2 --- /dev/null +++ b/test/battle/move_effect/spite.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Spite (Move Effect) test titles") diff --git a/test/battle/move_effect/stored_power.c b/test/battle/move_effect/stored_power.c new file mode 100644 index 0000000000..55788a1ff0 --- /dev/null +++ b/test/battle/move_effect/stored_power.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Stored Power (Move Effect) test titles") diff --git a/test/battle/move_effect/sunny_day.c b/test/battle/move_effect/sunny_day.c new file mode 100644 index 0000000000..d7fed979d9 --- /dev/null +++ b/test/battle/move_effect/sunny_day.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sunny Day (Move Effect) test titles") diff --git a/test/battle/move_effect/super_fang.c b/test/battle/move_effect/super_fang.c new file mode 100644 index 0000000000..33e162395d --- /dev/null +++ b/test/battle/move_effect/super_fang.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Super Fang (Move Effect) test titles") diff --git a/test/battle/move_effect/swagger.c b/test/battle/move_effect/swagger.c new file mode 100644 index 0000000000..5845d4292f --- /dev/null +++ b/test/battle/move_effect/swagger.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Swagger (Move Effect) test titles") diff --git a/test/battle/move_effect/synchronoise.c b/test/battle/move_effect/synchronoise.c new file mode 100644 index 0000000000..9b68ccc63a --- /dev/null +++ b/test/battle/move_effect/synchronoise.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Synchronoise (Move Effect) test titles") diff --git a/test/battle/move_effect/taunt.c b/test/battle/move_effect/taunt.c new file mode 100644 index 0000000000..91fe13364d --- /dev/null +++ b/test/battle/move_effect/taunt.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Taunt (Move Effect) test titles") diff --git a/test/battle/move_effect/terrain_pulse.c b/test/battle/move_effect/terrain_pulse.c new file mode 100644 index 0000000000..75b6802451 --- /dev/null +++ b/test/battle/move_effect/terrain_pulse.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Terrain Pulse (Move Effect) test titles") diff --git a/test/battle/move_effect/third_type.c b/test/battle/move_effect/third_type.c new file mode 100644 index 0000000000..c3bcab38d2 --- /dev/null +++ b/test/battle/move_effect/third_type.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Trick-or-Treat/Forest's Curse (Move Effect) test titles") diff --git a/test/battle/move_effect/tickle.c b/test/battle/move_effect/tickle.c new file mode 100644 index 0000000000..b5f5a56d69 --- /dev/null +++ b/test/battle/move_effect/tickle.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Tickle (Move Effect) test titles") diff --git a/test/battle/move_effect/topsy_turvy.c b/test/battle/move_effect/topsy_turvy.c new file mode 100644 index 0000000000..6e5ce38097 --- /dev/null +++ b/test/battle/move_effect/topsy_turvy.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Topsy Turvy (Move Effect) test titles") diff --git a/test/battle/move_effect/toxic_thread.c b/test/battle/move_effect/toxic_thread.c new file mode 100644 index 0000000000..9471b24bd6 --- /dev/null +++ b/test/battle/move_effect/toxic_thread.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Toxic Thread (Move Effect) test titles") diff --git a/test/battle/move_effect/transform.c b/test/battle/move_effect/transform.c new file mode 100644 index 0000000000..fd6e5f5a94 --- /dev/null +++ b/test/battle/move_effect/transform.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Transform (Move Effect) test titles") diff --git a/test/battle/move_effect/trick.c b/test/battle/move_effect/trick.c new file mode 100644 index 0000000000..3aa26af67a --- /dev/null +++ b/test/battle/move_effect/trick.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Trick (Move Effect) test titles") diff --git a/test/battle/move_effect/trick_room.c b/test/battle/move_effect/trick_room.c new file mode 100644 index 0000000000..615931ef15 --- /dev/null +++ b/test/battle/move_effect/trick_room.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Trick Room (Move Effect) test titles") diff --git a/test/battle/move_effect/trump_card.c b/test/battle/move_effect/trump_card.c new file mode 100644 index 0000000000..21b5c48ca3 --- /dev/null +++ b/test/battle/move_effect/trump_card.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Trump Card (Move Effect) test titles") diff --git a/test/battle/move_effect/two_typed_move.c b/test/battle/move_effect/two_typed_move.c new file mode 100644 index 0000000000..43c3515739 --- /dev/null +++ b/test/battle/move_effect/two_typed_move.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flying Press (Move Effect) test titles") diff --git a/test/battle/move_effect/venom_drench.c b/test/battle/move_effect/venom_drench.c new file mode 100644 index 0000000000..00dac65858 --- /dev/null +++ b/test/battle/move_effect/venom_drench.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Venom Drench (Move Effect) test titles") diff --git a/test/battle/move_effect/victory_dance.c b/test/battle/move_effect/victory_dance.c new file mode 100644 index 0000000000..cd1d892428 --- /dev/null +++ b/test/battle/move_effect/victory_dance.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Victory Dance (Move Effect) test titles") diff --git a/test/battle/move_effect/wake_up_slap.c b/test/battle/move_effect/wake_up_slap.c deleted file mode 100644 index 0e172bf053..0000000000 --- a/test/battle/move_effect/wake_up_slap.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_WAKE_UP_SLAP, MOVE_EFFECT_REMOVE_STATUS) == TRUE); - ASSUME(GetMoveEffectArg_Status(MOVE_WAKE_UP_SLAP) == STATUS1_SLEEP); -} - -SINGLE_BATTLE_TEST("Wake-Up Slap does not cure paralyzed pokemons behind substitutes or get increased power") -{ - u32 ability; - PARAMETRIZE { ability = ABILITY_INNER_FOCUS; } - PARAMETRIZE { ability = ABILITY_INFILTRATOR; } - GIVEN { - PLAYER(SPECIES_CROBAT) { Ability(ability); } - OPPONENT(SPECIES_SEISMITOAD); - } WHEN { - TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SING); } - TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_WAKE_UP_SLAP); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); - if (ability == ABILITY_INNER_FOCUS) { - MESSAGE("The substitute took damage for the opposing Seismitoad!"); - NONE_OF - { - MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. - MESSAGE("The opposing Seismitoad woke up!"); - STATUS_ICON(opponent, none: TRUE); - } - } else { - MESSAGE("The opposing Seismitoad woke up!"); - STATUS_ICON(opponent, none: TRUE); - } - } -} - -SINGLE_BATTLE_TEST("Wake-Up Slap gets increased power against sleeping targets") -{ - u32 status1; - PARAMETRIZE { status1 = STATUS1_SLEEP; } - PARAMETRIZE { status1 = STATUS1_NONE; } - GIVEN { - PLAYER(SPECIES_CROBAT); - OPPONENT(SPECIES_LOTAD) { Status1(status1); } - } WHEN { - TURN { MOVE(player, MOVE_WAKE_UP_SLAP); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); - if (status1 == STATUS1_SLEEP) { - MESSAGE("The opposing Lotad fainted!"); - } else { - NOT MESSAGE("The opposing Lotad fainted!"); - MESSAGE("The opposing Lotad used Celebrate!"); - } - } -} diff --git a/test/battle/move_effect/water_sport.c b/test/battle/move_effect/water_sport.c new file mode 100644 index 0000000000..f7521c1fcc --- /dev/null +++ b/test/battle/move_effect/water_sport.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Water Sport (Move Effect) test titles") diff --git a/test/battle/move_effect/will_o_wisp.c b/test/battle/move_effect/will_o_wisp.c new file mode 100644 index 0000000000..08b1bd6c69 --- /dev/null +++ b/test/battle/move_effect/will_o_wisp.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Will-O-Wisp (Move Effect) test titles") diff --git a/test/battle/move_effect/wish.c b/test/battle/move_effect/wish.c new file mode 100644 index 0000000000..e96a3e1b11 --- /dev/null +++ b/test/battle/move_effect/wish.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wish (Move Effect) test titles") diff --git a/test/battle/move_effect/wonder_room.c b/test/battle/move_effect/wonder_room.c new file mode 100644 index 0000000000..113b7c55eb --- /dev/null +++ b/test/battle/move_effect/wonder_room.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wonder Room (Move Effect) test titles") diff --git a/test/battle/move_effect/yawn.c b/test/battle/move_effect/yawn.c new file mode 100644 index 0000000000..ec150cc9bb --- /dev/null +++ b/test/battle/move_effect/yawn.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Yawn (Move Effect) test titles") diff --git a/test/battle/move_effect/flame_burst.c b/test/battle/move_effect_secondary/flame_burst.c similarity index 100% rename from test/battle/move_effect/flame_burst.c rename to test/battle/move_effect_secondary/flame_burst.c diff --git a/test/battle/move_effect_secondary/remove_status.c b/test/battle/move_effect_secondary/remove_status.c new file mode 100644 index 0000000000..0ff3d0f78c --- /dev/null +++ b/test/battle/move_effect_secondary/remove_status.c @@ -0,0 +1,132 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Smelling Salts does not cure paralyzed pokemons behind substitutes or get increased power") +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_INNER_FOCUS; } + PARAMETRIZE { ability = ABILITY_INFILTRATOR; } + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_SMELLING_SALTS, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_SMELLING_SALTS) == STATUS1_PARALYSIS); + PLAYER(SPECIES_CROBAT) { Ability(ability); } + OPPONENT(SPECIES_SEISMITOAD) { Status1(STATUS1_PARALYSIS); } + } WHEN { + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_CELEBRATE); } + TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SMELLING_SALTS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); + if (ability == ABILITY_INNER_FOCUS) + { + MESSAGE("The substitute took damage for the opposing Seismitoad!"); + NONE_OF + { + MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. + MESSAGE("The opposing Seismitoad was cured of paralysis!"); + STATUS_ICON(opponent, none: TRUE); + } + } + else + { + MESSAGE("The opposing Seismitoad was cured of paralysis!"); + STATUS_ICON(opponent, none: TRUE); + } + } +} + +SINGLE_BATTLE_TEST("Smelling Salts get incread power vs. paralyzed targets") +{ + u32 status1; + PARAMETRIZE { status1 = STATUS1_PARALYSIS; } + PARAMETRIZE { status1 = STATUS1_NONE; } + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_SMELLING_SALTS, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_SMELLING_SALTS) == STATUS1_PARALYSIS); + PLAYER(SPECIES_CROBAT); + OPPONENT(SPECIES_LOTAD) { Status1(status1); } + } WHEN { + TURN { MOVE(player, MOVE_SMELLING_SALTS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); + if (status1 == STATUS1_PARALYSIS) + { + MESSAGE("The opposing Lotad fainted!"); + } + else + { + NOT MESSAGE("The opposing Lotad fainted!"); + MESSAGE("The opposing Lotad used Celebrate!"); + } + } +} + +SINGLE_BATTLE_TEST("Wake-Up Slap does not cure paralyzed pokemons behind substitutes or get increased power") +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_INNER_FOCUS; } + PARAMETRIZE { ability = ABILITY_INFILTRATOR; } + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_WAKE_UP_SLAP, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_WAKE_UP_SLAP) == STATUS1_SLEEP); + PLAYER(SPECIES_CROBAT) { Ability(ability); } + OPPONENT(SPECIES_SEISMITOAD); + } WHEN { + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SING); } + TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_WAKE_UP_SLAP); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); + if (ability == ABILITY_INNER_FOCUS) { + MESSAGE("The substitute took damage for the opposing Seismitoad!"); + NONE_OF + { + MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. + MESSAGE("The opposing Seismitoad woke up!"); + STATUS_ICON(opponent, none: TRUE); + } + } else { + MESSAGE("The opposing Seismitoad woke up!"); + STATUS_ICON(opponent, none: TRUE); + } + } +} + +SINGLE_BATTLE_TEST("Wake-Up Slap gets increased power against sleeping targets") +{ + u32 status1; + PARAMETRIZE { status1 = STATUS1_SLEEP; } + PARAMETRIZE { status1 = STATUS1_NONE; } + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_WAKE_UP_SLAP, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_WAKE_UP_SLAP) == STATUS1_SLEEP); + PLAYER(SPECIES_CROBAT); + OPPONENT(SPECIES_LOTAD) { Status1(status1); } + } WHEN { + TURN { MOVE(player, MOVE_WAKE_UP_SLAP); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); + if (status1 == STATUS1_SLEEP) { + MESSAGE("The opposing Lotad fainted!"); + } else { + NOT MESSAGE("The opposing Lotad fainted!"); + MESSAGE("The opposing Lotad used Celebrate!"); + } + } +} + +DOUBLE_BATTLE_TEST("Sparkling Aria cures burns from all Pokemon on the field and behind substitutes") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_SPARKLING_ARIA, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_SPARKLING_ARIA) == STATUS1_BURN); + PLAYER(SPECIES_PRIMARINA); + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } + OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } + OPPONENT(SPECIES_WYNAUT) { Status1(STATUS1_BURN); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_SUBSTITUTE); MOVE(opponentRight, MOVE_CELEBRATE); MOVE(playerRight, MOVE_CELEBRATE); MOVE(playerLeft, MOVE_SPARKLING_ARIA); } + } SCENE { + MESSAGE("The opposing Wobbuffet's burn was cured!"); + MESSAGE("Wobbuffet's burn was cured!"); + MESSAGE("The opposing Wynaut's burn was cured!"); + } +} diff --git a/test/battle/move_effect/salt_cure.c b/test/battle/move_effect_secondary/salt_cure.c similarity index 100% rename from test/battle/move_effect/salt_cure.c rename to test/battle/move_effect_secondary/salt_cure.c diff --git a/test/battle/move_effect_secondary/smack_down.c b/test/battle/move_effect_secondary/smack_down.c new file mode 100644 index 0000000000..64eba3889c --- /dev/null +++ b/test/battle/move_effect_secondary/smack_down.c @@ -0,0 +1,28 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Smack Down does not ground mons behind substitutes") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_SMACK_DOWN, MOVE_EFFECT_SMACK_DOWN) == TRUE); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_SKARMORY); + } WHEN { + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SMACK_DOWN); } + } SCENE { + NOT MESSAGE("The opposing Skarmory fell straight down!"); + } +} + +SINGLE_BATTLE_TEST("Thousand Arrows does not ground mons behind substitutes") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_THOUSAND_ARROWS, MOVE_EFFECT_SMACK_DOWN)); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_SKARMORY); + } WHEN { + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_THOUSAND_ARROWS); } + } SCENE { + NOT MESSAGE("The opposing Skarmory fell straight down!"); + } +} diff --git a/test/battle/move_effect_secondary/will_o_wisp.c b/test/battle/move_effect_secondary/will_o_wisp.c new file mode 100644 index 0000000000..08b1bd6c69 --- /dev/null +++ b/test/battle/move_effect_secondary/will_o_wisp.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Will-O-Wisp (Move Effect) test titles") diff --git a/test/battle/move_effect/thousand_arrows.c b/test/battle/move_flags/ignore_type_if_flying_and_ungrounded.c similarity index 70% rename from test/battle/move_effect/thousand_arrows.c rename to test/battle/move_flags/ignore_type_if_flying_and_ungrounded.c index c62e71001d..8536986c6c 100644 --- a/test/battle/move_effect/thousand_arrows.c +++ b/test/battle/move_flags/ignore_type_if_flying_and_ungrounded.c @@ -1,30 +1,13 @@ #include "global.h" #include "test/battle.h" -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_THOUSAND_ARROWS, MOVE_EFFECT_SMACK_DOWN)); - ASSUME(MoveIgnoresTypeIfFlyingAndUngrounded(MOVE_THOUSAND_ARROWS) == TRUE); -} - -SINGLE_BATTLE_TEST("Thousand Arrows does not ground mons behind substitutes") -{ - GIVEN { - PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_SKARMORY); - } WHEN { - TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_THOUSAND_ARROWS); } - } SCENE { - NOT MESSAGE("The opposing Skarmory fell straight down!"); - } -} - SINGLE_BATTLE_TEST("Thousand Arrows does neutral damage to non-grounded Flying types regardless of other typings") { u32 pokemon; PARAMETRIZE { pokemon = SPECIES_SKARMORY; } PARAMETRIZE { pokemon = SPECIES_SCYTHER; } GIVEN { + ASSUME(MoveIgnoresTypeIfFlyingAndUngrounded(MOVE_THOUSAND_ARROWS) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(pokemon); } WHEN { diff --git a/test/battle/ability/switch_in_abilities.c b/test/battle/switch_in_abilities.c similarity index 100% rename from test/battle/ability/switch_in_abilities.c rename to test/battle/switch_in_abilities.c From 16357c7e29453edbfa65d36de8904246ae4bc40e Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 16 May 2025 13:04:44 +0200 Subject: [PATCH 37/84] Streamline pointer notation (#2139) --- include/battle.h | 8 +-- include/battle_controllers.h | 2 +- include/battle_script_commands.h | 2 +- include/contest.h | 10 ++-- include/global.h | 2 +- include/item.h | 2 +- include/item_menu.h | 2 +- include/link.h | 2 +- include/list_menu.h | 4 +- include/mauville_old_man.h | 4 +- include/menu_specialized.h | 2 +- include/mini_printf.h | 4 +- include/mystery_gift_client.h | 10 ++-- include/mystery_gift_link.h | 14 ++--- include/mystery_gift_server.h | 18 +++--- include/mystery_gift_view.h | 4 +- include/pokenav.h | 2 +- include/tilesets.h | 4 +- src/agb_flash_1m.c | 4 +- src/battle_anim.c | 2 +- src/battle_anim_flying.c | 2 +- src/battle_arena.c | 2 +- src/battle_bg.c | 2 +- src/battle_controllers.c | 2 +- src/battle_dome.c | 12 ++-- src/battle_factory.c | 2 +- src/battle_factory_screen.c | 20 +++---- src/battle_gfx_sfx_util.c | 4 +- src/battle_main.c | 8 +-- src/battle_message.c | 10 ++-- src/battle_palace.c | 2 +- src/battle_pike.c | 4 +- src/battle_pyramid.c | 2 +- src/battle_pyramid_bag.c | 4 +- src/battle_script_commands.c | 2 +- src/battle_tower.c | 2 +- src/battle_transition.c | 4 +- src/berry_blender.c | 10 ++-- src/berry_crush.c | 8 +-- src/berry_fix_program.c | 2 +- src/bg.c | 4 +- src/contest.c | 6 +- src/data/battle_frontier/apprentice.h | 2 +- src/data/tilesets/headers.h | 4 +- src/dodrio_berry_picking.c | 28 ++++----- src/ereader_helpers.c | 20 +++---- src/evolution_scene.c | 8 +-- src/frontier_util.c | 2 +- src/hall_of_fame.c | 16 +++--- src/item.c | 2 +- src/libisagbprn.c | 2 +- src/load_save.c | 2 +- src/m4a_tables.c | 2 +- src/map_name_popup.c | 2 +- src/mauville_old_man.c | 58 +++++++++---------- src/menu_specialized.c | 2 +- src/mini_printf.c | 6 +- src/mystery_gift_client.c | 32 +++++------ src/mystery_gift_link.c | 16 +++--- src/mystery_gift_menu.c | 40 ++++++------- src/mystery_gift_server.c | 30 +++++----- src/mystery_gift_view.c | 18 +++--- src/pokedex.c | 2 +- src/pokedex_area_region_map.c | 2 +- src/pokedex_area_screen.c | 2 +- src/pokemon.c | 6 +- src/pokemon_animation.c | 2 +- src/pokemon_jump.c | 4 +- src/pokemon_summary_screen.c | 4 +- src/pokenav_conditions_search_results.c | 24 ++++---- src/pokenav_list.c | 6 +- src/pokenav_menu_handler_gfx.c | 66 +++++++++++----------- src/pokenav_ribbons_list.c | 28 ++++----- src/rom_header_gf.c | 36 ++++++------ src/save.c | 2 +- src/scrcmd.c | 4 +- src/script.c | 2 +- src/shop.c | 2 +- src/sound.c | 2 +- src/sprite.c | 8 +-- src/starter_choose.c | 10 ++-- src/trader.c | 6 +- src/trainer_hill.c | 2 +- src/union_room.c | 20 +++---- src/union_room_battle.c | 6 +- src/union_room_chat.c | 4 +- src/union_room_player_avatar.c | 38 ++++++------- src/window.c | 2 +- src/wireless_communication_status_screen.c | 14 ++--- 89 files changed, 406 insertions(+), 406 deletions(-) diff --git a/include/battle.h b/include/battle.h index 061768b489..855f085de0 100644 --- a/include/battle.h +++ b/include/battle.h @@ -218,11 +218,11 @@ struct StatsArray struct BattleResources { - struct SecretBase* secretBase; + struct SecretBase *secretBase; struct ResourceFlags *flags; - struct BattleScriptsStack* battleScriptsStack; - struct BattleCallbacksStack* battleCallbackStack; - struct StatsArray* beforeLvlUp; + struct BattleScriptsStack *battleScriptsStack; + struct BattleCallbacksStack *battleCallbackStack; + struct StatsArray *beforeLvlUp; struct AI_ThinkingStruct *ai; struct BattleHistory *battleHistory; struct BattleScriptsStack *AI_ScriptsStack; diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 20f3e698cf..33e188f284 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -288,7 +288,7 @@ void BtlController_EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM); void BtlController_EmitFaintingCry(u8 bufferId); void BtlController_EmitIntroSlide(u8 bufferId, u8 environmentId); void BtlController_EmitIntroTrainerBallThrow(u8 bufferId); -void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 flags); +void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus *hpAndStatus, u8 flags); void BtlController_EmitHidePartyStatusSummary(u8 bufferId); void BtlController_EmitEndBounceEffect(u8 bufferId); void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 4fed623b00..6ec99e8abc 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -21,7 +21,7 @@ void BufferMoveToLearnIntoBattleTextBuff2(void); void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); bool8 UproarWakeUpCheck(u8 battler); -extern void (* const gBattleScriptingCommandsTable[])(void); +extern void (*const gBattleScriptingCommandsTable[])(void); extern const u8 gBattlePalaceNatureToMoveGroupLikelihood[NUM_NATURES][4]; #endif // GUARD_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/contest.h b/include/contest.h index 9328188b97..69b07eacc8 100644 --- a/include/contest.h +++ b/include/contest.h @@ -290,11 +290,11 @@ struct ContestResources struct ContestGraphicsState *gfxState; struct ContestMoveAnimData *moveAnim; struct ContestTV *tv; - struct ContestUnused * unused; - u8 * contestBgTilemaps[CONTESTANT_COUNT]; - void * boxBlinkTiles1; - void * boxBlinkTiles2; - void * animBgTileBuffer; + struct ContestUnused *unused; + u8 *contestBgTilemaps[CONTESTANT_COUNT]; + void *boxBlinkTiles1; + void *boxBlinkTiles2; + void *animBgTileBuffer; }; #define eContest (*gContestResources->contest) diff --git a/include/global.h b/include/global.h index 36ddbffbf2..fe2f926434 100644 --- a/include/global.h +++ b/include/global.h @@ -1070,7 +1070,7 @@ struct SaveBlock1 // sizeof: 0x3D88 }; -extern struct SaveBlock1* gSaveBlock1Ptr; +extern struct SaveBlock1 *gSaveBlock1Ptr; struct MapPosition { diff --git a/include/item.h b/include/item.h index af8ff8b9d0..a00d750deb 100644 --- a/include/item.h +++ b/include/item.h @@ -58,7 +58,7 @@ u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos); u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 pocketPos); void CompactItemsInBagPocket(struct BagPocket *bagPocket); void SortBerriesOrTMHMs(struct BagPocket *bagPocket); -void MoveItemSlotInList(struct ItemSlot* itemSlots_, u32 from, u32 to_); +void MoveItemSlotInList(struct ItemSlot *itemSlots_, u32 from, u32 to_); void ClearBag(void); u16 CountTotalItemQuantityInBag(u16 itemId); bool8 AddPyramidBagItem(u16 itemId, u16 count); diff --git a/include/item_menu.h b/include/item_menu.h index 09ddd729c4..88f6a8733b 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -102,7 +102,7 @@ void ResetBagScrollPositions(void); void ChooseBerryForMachine(void (*exitCallback)(void)); void CB2_ChooseBerry(void); void Task_FadeAndCloseBagMenu(u8 taskId); -void BagMenu_YesNo(u8 taskId, u8 windowType, const struct YesNoFuncTable* funcTable); +void BagMenu_YesNo(u8 taskId, u8 windowType, const struct YesNoFuncTable *funcTable); void UpdatePocketItemList(u8 pocketId); void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void ( *callback)(u8 taskId)); void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); diff --git a/include/link.h b/include/link.h index 66dd5fecd2..a1189ff1e1 100644 --- a/include/link.h +++ b/include/link.h @@ -233,7 +233,7 @@ struct Link struct BlockRequest { - void * address; + void *address; u32 size; }; diff --git a/include/list_menu.h b/include/list_menu.h index 9299ede6c8..522c6bae38 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -38,8 +38,8 @@ struct ListMenuItem struct ListMenuTemplate { const struct ListMenuItem *items; - void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list); - void (* itemPrintFunc)(u8 windowId, u32 itemId, u8 y); + void (*moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list); + void (*itemPrintFunc)(u8 windowId, u32 itemId, u8 y); u16 totalItems; u16 maxShowed; u8 windowId; diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h index 9e5986ee81..049a3e5c10 100644 --- a/include/mauville_old_man.h +++ b/include/mauville_old_man.h @@ -7,8 +7,8 @@ void SetMauvilleOldMan(void); u8 GetCurrentMauvilleOldMan(void); void SetMauvilleOldManObjEventGfx(void); void SanitizeMauvilleOldManForRuby(OldMan *dest); -void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language); -void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 language); +void SanitizeReceivedRubyOldMan(union OldMan *oldMan, u32 version, u32 language); +void SanitizeReceivedEmeraldOldMan(union OldMan *oldMan, u32 version, u32 language); void ResetMauvilleOldManFlag(void); #endif // GUARD_MAUVILLE_OLD_MAN_H diff --git a/include/menu_specialized.h b/include/menu_specialized.h index 152afb59ac..a0bd406313 100644 --- a/include/menu_specialized.h +++ b/include/menu_specialized.h @@ -115,7 +115,7 @@ void GetConditionMenuMonNameAndLocString(u8 *locationDst, u8 *nameDst, u16 boxId void GetConditionMenuMonConditions(struct ConditionGraph *graph, u8 *sheen, u16 boxId, u16 monId, u16 partyId, u16 id, u16 numMons, bool8 excludesCancel); void GetConditionMenuMonGfx(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel); void LoadConditionMonPicTemplate(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal); -void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals); +void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate *template, struct SpritePalette *pals); s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst); // Condition sparkles diff --git a/include/mini_printf.h b/include/mini_printf.h index a891327cc4..ae5c226628 100644 --- a/include/mini_printf.h +++ b/include/mini_printf.h @@ -45,8 +45,8 @@ #else -s32 mini_vsnprintf(char* buffer, u32 buffer_len, const char *fmt, va_list va); -s32 mini_vpprintf(void* buf, const char *fmt, va_list va); +s32 mini_vsnprintf(char *buffer, u32 buffer_len, const char *fmt, va_list va); +s32 mini_vpprintf(void *buf, const char *fmt, va_list va); #endif #endif diff --git a/include/mystery_gift_client.h b/include/mystery_gift_client.h index 8214d69eff..b8a0e5d72d 100644 --- a/include/mystery_gift_client.h +++ b/include/mystery_gift_client.h @@ -75,16 +75,16 @@ struct MysteryGiftClient u32 funcId; u32 funcState; u32 cmdidx; - void * sendBuffer; - void * recvBuffer; - struct MysteryGiftClientCmd * script; - void * msg; + void *sendBuffer; + void *recvBuffer; + struct MysteryGiftClientCmd *script; + void *msg; struct MysteryGiftLink link; bool32 isWonderNews; }; void MysteryGiftClient_Create(bool32 isWonderNews); -u32 MysteryGiftClient_Run(u16 * endVal); +u32 MysteryGiftClient_Run(u16 *endVal); void MysteryGiftClient_AdvanceState(void); void * MysteryGiftClient_GetMsg(void); void MysteryGiftClient_SetParam(u32 value); diff --git a/include/mystery_gift_link.h b/include/mystery_gift_link.h index 32100db5f1..8dc0f56694 100644 --- a/include/mystery_gift_link.h +++ b/include/mystery_gift_link.h @@ -34,16 +34,16 @@ struct MysteryGiftLink u16 sendCounter; u16 sendCRC; u16 sendSize; - void * recvBuffer; - const void * sendBuffer; + void *recvBuffer; + const void *sendBuffer; u32 (*recvFunc)(struct MysteryGiftLink *); u32 (*sendFunc)(struct MysteryGiftLink *); }; -void MysteryGiftLink_Init(struct MysteryGiftLink * link, u32 sendPlayerId, u32 recvPlayerId); -void MysteryGiftLink_InitSend(struct MysteryGiftLink * link, u32 ident, const void * src, u32 size); -bool32 MysteryGiftLink_Recv(struct MysteryGiftLink * link); -bool32 MysteryGiftLink_Send(struct MysteryGiftLink * link); -void MysteryGiftLink_InitRecv(struct MysteryGiftLink * link, u32 ident, void * dest); +void MysteryGiftLink_Init(struct MysteryGiftLink *link, u32 sendPlayerId, u32 recvPlayerId); +void MysteryGiftLink_InitSend(struct MysteryGiftLink *link, u32 ident, const void *src, u32 size); +bool32 MysteryGiftLink_Recv(struct MysteryGiftLink *link); +bool32 MysteryGiftLink_Send(struct MysteryGiftLink *link); +void MysteryGiftLink_InitRecv(struct MysteryGiftLink *link, u32 ident, void *dest); #endif //GUARD_MYSTERY_GIFT_LINK_H diff --git a/include/mystery_gift_server.h b/include/mystery_gift_server.h index 8e3842f73c..d70d3e7da6 100644 --- a/include/mystery_gift_server.h +++ b/include/mystery_gift_server.h @@ -71,7 +71,7 @@ struct MysteryGiftServerCmd { u32 instr; u32 parameter; - const void * ptr; + const void *ptr; }; struct MysteryGiftServer @@ -80,14 +80,14 @@ struct MysteryGiftServer u32 param; u32 funcId; u32 cmdidx; - const struct MysteryGiftServerCmd * script; - void * recvBuffer; - struct WonderCard * card; - struct WonderNews * news; - struct MysteryGiftLinkGameData * linkGameData; - const void * ramScript; + const struct MysteryGiftServerCmd *script; + void *recvBuffer; + struct WonderCard *card; + struct WonderNews *news; + struct MysteryGiftLinkGameData *linkGameData; + const void *ramScript; u32 ramScriptSize; - const void * clientScript; + const void *clientScript; u32 clientScriptSize; u32 stamp; struct MysteryGiftLink link; @@ -95,6 +95,6 @@ struct MysteryGiftServer void MysterGiftServer_CreateForCard(); void MysterGiftServer_CreateForNews(); -u32 MysterGiftServer_Run(u16 * endVal); +u32 MysterGiftServer_Run(u16 *endVal); #endif //GUARD_MYSTERY_GIFT_SERVER_H diff --git a/include/mystery_gift_view.h b/include/mystery_gift_view.h index 038093c7a1..7b94aa4d72 100644 --- a/include/mystery_gift_view.h +++ b/include/mystery_gift_view.h @@ -9,8 +9,8 @@ enum { NEWS_INPUT_NONE = 0xFF }; -bool32 WonderCard_Init(struct WonderCard * card, struct WonderCardMetadata * metadata); -bool32 WonderNews_Init(const struct WonderNews * news); +bool32 WonderCard_Init(struct WonderCard *card, struct WonderCardMetadata *metadata); +bool32 WonderNews_Init(const struct WonderNews *news); s32 WonderCard_Enter(void); s32 WonderNews_Enter(void); s32 WonderCard_Exit(bool32 flag); diff --git a/include/pokenav.h b/include/pokenav.h index 174c338e27..f274cfcb23 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -33,7 +33,7 @@ typedef void (*PokenavListBufferItemFunc)(struct PokenavListItem *, u8 *); struct PokenavListTemplate { - struct PokenavListItem * list; + struct PokenavListItem *list; u16 count; u16 startIndex; u8 itemSize; diff --git a/include/tilesets.h b/include/tilesets.h index c7cc8edac9..e06444e446 100644 --- a/include/tilesets.h +++ b/include/tilesets.h @@ -4,7 +4,7 @@ extern const u32 gTilesetTiles_General[]; extern const u16 gTilesetPalettes_General[][16]; -extern const struct Tileset * const gTilesetPointer_SecretBase; -extern const struct Tileset * const gTilesetPointer_SecretBaseRedCave; +extern const struct Tileset *const gTilesetPointer_SecretBase; +extern const struct Tileset *const gTilesetPointer_SecretBaseRedCave; #endif //GUARD_tilesets_H diff --git a/src/agb_flash_1m.c b/src/agb_flash_1m.c index 6fc4f3d600..f5ebd83ac8 100644 --- a/src/agb_flash_1m.c +++ b/src/agb_flash_1m.c @@ -3,7 +3,7 @@ static const char AgbLibFlashVersion[] = "FLASH1M_V103"; -static const struct FlashSetupInfo * const sSetupInfos[] = +static const struct FlashSetupInfo *const sSetupInfos[] = { &MX29L010, &LE26FV10N1TS, @@ -14,7 +14,7 @@ u16 IdentifyFlash(void) { u16 result; u16 flashId; - const struct FlashSetupInfo * const *setupInfo; + const struct FlashSetupInfo *const *setupInfo; REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8; diff --git a/src/battle_anim.c b/src/battle_anim.c index ea6a1b8925..fb2817af99 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -115,7 +115,7 @@ EWRAM_DATA u8 gAnimCustomPanning = 0; #include "data/battle_anim.h" -static void (* const sScriptCmdTable[])(void) = +static void (*const sScriptCmdTable[])(void) = { Cmd_loadspritegfx, // 0x00 Cmd_unloadspritegfx, // 0x01 diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index c5e59a65af..872e136f93 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -900,7 +900,7 @@ static void AnimUnusedBubbleThrow(struct Sprite *sprite) sprite->callback = TranslateAnimSpriteToTargetMonLocation; } -static void AnimWhirlwindLine(struct Sprite * sprite) +static void AnimWhirlwindLine(struct Sprite *sprite) { u16 offset; u8 mult; diff --git a/src/battle_arena.c b/src/battle_arena.c index ed3cf16dfd..f452ed4ec3 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -341,7 +341,7 @@ static const struct CompressedSpriteSheet sBattleArenaJudgmentSymbolsSpriteSheet {0} }; -static void (* const sArenaFunctions[])(void) = +static void (*const sArenaFunctions[])(void) = { [BATTLE_ARENA_FUNC_INIT] = InitArenaChallenge, [BATTLE_ARENA_FUNC_GET_DATA] = GetArenaData, diff --git a/src/battle_bg.c b/src/battle_bg.c index c32f5ec623..5d803f993c 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -593,7 +593,7 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate * const gBattleWindowTemplates[] = +const struct WindowTemplate *const gBattleWindowTemplates[] = { [B_WIN_TYPE_NORMAL] = sStandardBattleWindowTemplates, [B_WIN_TYPE_ARENA] = sBattleArenaWindowTemplates, diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 9586e18457..ad5dab67b7 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1496,7 +1496,7 @@ void BtlController_EmitIntroTrainerBallThrow(u8 bufferId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 flags) +void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus *hpAndStatus, u8 flags) { s32 i; diff --git a/src/battle_dome.c b/src/battle_dome.c index 9573f67cc7..62ad04cedb 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -997,7 +997,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreePokeballSelected[] = ANIMCMD_END, }; -static const union AnimCmd * const sSpriteAnimTable_TourneyTreePokeball[] = +static const union AnimCmd *const sSpriteAnimTable_TourneyTreePokeball[] = { sSpriteAnim_TourneyTreePokeballNormal, sSpriteAnim_TourneyTreePokeballSelected, @@ -1027,7 +1027,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonSelected[] = ANIMCMD_END, }; -static const union AnimCmd * const sSpriteAnimTable_TourneyTreeCancelButton[] = +static const union AnimCmd *const sSpriteAnimTable_TourneyTreeCancelButton[] = { sSpriteAnim_TourneyTreeCancelButtonNormal, sSpriteAnim_TourneyTreeCancelButtonSelected, @@ -1056,7 +1056,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonSelected[] = ANIMCMD_END, }; -static const union AnimCmd * const sSpriteAnimTable_TourneyTreeExitButton[] = +static const union AnimCmd *const sSpriteAnimTable_TourneyTreeExitButton[] = { sSpriteAnim_TourneyTreeExitButtonNormal, sSpriteAnim_TourneyTreeExitButtonSelected, @@ -1097,13 +1097,13 @@ static const union AnimCmd sSpriteAnim_RightArrow[] = ANIMCMD_END, }; -static const union AnimCmd * const sSpriteAnimTable_VerticalScrollArrow[] = +static const union AnimCmd *const sSpriteAnimTable_VerticalScrollArrow[] = { sSpriteAnim_UpArrow, sSpriteAnim_DownArrow, }; -static const union AnimCmd * const sSpriteAnimTable_HorizontalScrollArrow[] = +static const union AnimCmd *const sSpriteAnimTable_HorizontalScrollArrow[] = { sSpriteAnim_LeftArrow, sSpriteAnim_RightArrow, @@ -1134,7 +1134,7 @@ static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate = // Organized by seed starting position, i.e. seed 0 battles seed 8 first static const u8 sTourneyTreeTrainerIds[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1}; -static void (* const sBattleDomeFunctions[])(void) = +static void (*const sBattleDomeFunctions[])(void) = { [BATTLE_DOME_FUNC_INIT] = InitDomeChallenge, [BATTLE_DOME_FUNC_GET_DATA] = GetDomeData, diff --git a/src/battle_factory.c b/src/battle_factory.c index faed16ebb0..04961430a0 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -121,7 +121,7 @@ static const u16 *const sMoveStyles[FACTORY_NUM_STYLES - 1] = [FACTORY_STYLE_WEATHER - 1] = sMoves_DependsOnTheBattlesFlow, }; -static void (* const sBattleFactoryFunctions[])(void) = +static void (*const sBattleFactoryFunctions[])(void) = { [BATTLE_FACTORY_FUNC_INIT] = InitFactoryChallenge, [BATTLE_FACTORY_FUNC_GET_DATA] = GetBattleFactoryData, diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index adf241153f..eea04b99d3 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -299,7 +299,7 @@ static const struct SpritePalette sSelect_SpritePalettes[] = {}, }; -u8 static (* const sSelect_MenuOptionFuncs[])(void) = +u8 static (*const sSelect_MenuOptionFuncs[])(void) = { Select_OptionSummary, Select_OptionRentDeselect, @@ -517,17 +517,17 @@ static const union AnimCmd sAnim_Select_Pokeball_Moving[] = ANIMCMD_END, }; -static const union AnimCmd * const sAnims_Select_Interface[] = +static const union AnimCmd *const sAnims_Select_Interface[] = { sAnim_Select_Interface, }; -static const union AnimCmd * const sAnims_Select_MonPicBgAnim[] = +static const union AnimCmd *const sAnims_Select_MonPicBgAnim[] = { sAnim_Select_MonPicBgAnim, }; -static const union AnimCmd * const sAnims_Select_Pokeball[] = +static const union AnimCmd *const sAnims_Select_Pokeball[] = { sAnim_Select_Pokeball_Still, sAnim_Select_Pokeball_Moving, @@ -569,7 +569,7 @@ static const union AffineAnimCmd sAffineAnim_Select_MonPicBg_Open[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd * const sAffineAnims_Select_MonPicBgAnim[] = +static const union AffineAnimCmd *const sAffineAnims_Select_MonPicBgAnim[] = { sAffineAnim_Select_MonPicBg_Opening, sAffineAnim_Select_MonPicBg_Closing, @@ -772,17 +772,17 @@ static const union AnimCmd sAnim_Swap_Pokeball_Moving[] = ANIMCMD_END, }; -static const union AnimCmd * const sAnims_Swap_Interface[] = +static const union AnimCmd *const sAnims_Swap_Interface[] = { sAnim_Swap_Interface, }; -static const union AnimCmd * const sAnims_Swap_MonPicBgAnim[] = +static const union AnimCmd *const sAnims_Swap_MonPicBgAnim[] = { sAnim_Swap_MonPicBgAnim, }; -static const union AnimCmd * const sAnims_Swap_Pokeball[] = +static const union AnimCmd *const sAnims_Swap_Pokeball[] = { sAnim_Swap_Pokeball_Still, sAnim_Swap_Pokeball_Moving, @@ -824,7 +824,7 @@ static const union AffineAnimCmd sAffineAnim_Swap_MonPicBg_Open[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd * const sAffineAnims_Swap_MonPicBgAnim[] = +static const union AffineAnimCmd *const sAffineAnims_Swap_MonPicBgAnim[] = { sAffineAnim_Swap_MonPicBg_Opening, sAffineAnim_Swap_MonPicBg_Closing, @@ -886,7 +886,7 @@ static const struct SpriteTemplate sSpriteTemplate_Swap_MonPicBgAnim = .callback = SpriteCallbackDummy }; -void static (* const sSwap_MenuOptionFuncs[])(u8 taskId) = +void static (*const sSwap_MenuOptionFuncs[])(u8 taskId) = { Swap_OptionSummary, Swap_OptionSwap, diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 8cc2555e4d..7047aaabcc 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -27,8 +27,8 @@ #include "constants/battle_palace.h" extern const u8 gBattlePalaceNatureToMoveTarget[]; -extern const u8 * const gBattleAnims_General[]; -extern const u8 * const gBattleAnims_Special[]; +extern const u8 *const gBattleAnims_General[]; +extern const u8 *const gBattleAnims_Special[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; diff --git a/src/battle_main.c b/src/battle_main.c index c6fbe1c9a4..4c810a5a66 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -147,7 +147,7 @@ EWRAM_DATA u32 gBattleTypeFlags = 0; EWRAM_DATA u8 gBattleEnvironment = 0; EWRAM_DATA u32 gUnusedFirstBattleVar1 = 0; // Never read EWRAM_DATA struct MultiPartnerMenuPokemon gMultiPartnerParty[MULTI_PARTY_SIZE] = {0}; -EWRAM_DATA static struct MultiPartnerMenuPokemon* sMultiPartnerPartyBuffer = NULL; +EWRAM_DATA static struct MultiPartnerMenuPokemon *sMultiPartnerPartyBuffer = NULL; EWRAM_DATA u8 *gBattleAnimBgTileBuffer = NULL; EWRAM_DATA u8 *gBattleAnimBgTilemapBuffer = NULL; EWRAM_DATA u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200] = {0}; @@ -533,7 +533,7 @@ const struct TrainerMoney gTrainerMoneyTable[] = #include "data/text/abilities.h" -static void (* const sTurnActionsFuncsTable[])(void) = +static void (*const sTurnActionsFuncsTable[])(void) = { [B_ACTION_USE_MOVE] = HandleAction_UseMove, [B_ACTION_USE_ITEM] = HandleAction_UseItem, @@ -551,7 +551,7 @@ static void (* const sTurnActionsFuncsTable[])(void) = [B_ACTION_NOTHING_FAINTED] = HandleAction_NothingIsFainted, }; -static void (* const sEndTurnFuncsTable[])(void) = +static void (*const sEndTurnFuncsTable[])(void) = { [0] = HandleEndTurn_ContinueBattle, [B_OUTCOME_WON] = HandleEndTurn_BattleWon, @@ -574,7 +574,7 @@ const u8 gStatusConditionString_IceJpn[] = _("こおり$$$$"); const u8 gStatusConditionString_ConfusionJpn[] = _("こんらん$$$"); const u8 gStatusConditionString_LoveJpn[] = _("メロメロ$$$"); -const u8 * const gStatusConditionStringsTable[][2] = +const u8 *const gStatusConditionStringsTable[][2] = { {gStatusConditionString_PoisonJpn, gText_Poison}, {gStatusConditionString_SleepJpn, gText_Sleep}, diff --git a/src/battle_message.c b/src/battle_message.c index 9cc26698e5..265859b02d 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -431,7 +431,7 @@ static const u8 sText_SpDef2[] = _("SP. DEF"); static const u8 sText_Accuracy[] = _("accuracy"); static const u8 sText_Evasiveness[] = _("evasiveness"); -const u8 * const gStatNamesTable[NUM_BATTLE_STATS] = +const u8 *const gStatNamesTable[NUM_BATTLE_STATS] = { [STAT_HP] = sText_HP2, [STAT_ATK] = sText_Attack2, @@ -449,7 +449,7 @@ static const u8 sText_PokeblockWasTooSweet[] = _("was too sweet!"); static const u8 sText_PokeblockWasTooBitter[] = _("was too bitter!"); static const u8 sText_PokeblockWasTooSour[] = _("was too sour!"); -const u8 * const gPokeblockWasTooXStringTable[FLAVOR_COUNT] = +const u8 *const gPokeblockWasTooXStringTable[FLAVOR_COUNT] = { [FLAVOR_SPICY] = sText_PokeblockWasTooSpicy, [FLAVOR_DRY] = sText_PokeblockWasTooDry, @@ -514,7 +514,7 @@ static const u8 sText_Trainer2WinText[]; static const u8 sText_TwoInGameTrainersDefeated[]; static const u8 sText_Trainer2LoseText[]; -const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] = +const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] = { [STRINGID_TRAINER1LOSETEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer1LoseText, [STRINGID_PKMNGAINEDEXP - BATTLESTRINGS_TABLE_START] = sText_PkmnGainedEXP, @@ -1293,7 +1293,7 @@ static const u8 sText_SpAtk[] = _("SP. ATK"); static const u8 sText_SpDef[] = _("SP. DEF"); // Unused -static const u8 * const sStatNamesTable2[] = +static const u8 *const sStatNamesTable2[] = { sText_HP, sText_SpAtk, sText_Attack, sText_SpDef, sText_Defense, sText_Speed @@ -1406,7 +1406,7 @@ static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost t static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!"); static const u8 sText_RefCommenceBattle[] = _("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}!\nCommence battling!"); -const u8 * const gRefereeStringsTable[] = +const u8 *const gRefereeStringsTable[] = { [B_MSG_REF_NOTHING_IS_DECIDED] = sText_RefIfNothingIsDecided, [B_MSG_REF_THATS_IT] = sText_RefThatsIt, diff --git a/src/battle_palace.c b/src/battle_palace.c index a521acea2b..e7f8432d7e 100644 --- a/src/battle_palace.c +++ b/src/battle_palace.c @@ -26,7 +26,7 @@ static void SetRandomPalacePrize(void); static void GivePalacePrize(void); // Const rom data. -static void (* const sBattlePalaceFunctions[])(void) = +static void (*const sBattlePalaceFunctions[])(void) = { [BATTLE_PALACE_FUNC_INIT] = InitPalaceChallenge, [BATTLE_PALACE_FUNC_GET_DATA] = GetPalaceData, diff --git a/src/battle_pike.c b/src/battle_pike.c index ba24e58ae7..790c4088c1 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -476,7 +476,7 @@ static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] = [FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0}, }; -static void (* const sBattlePikeFunctions[])(void) = +static void (*const sBattlePikeFunctions[])(void) = { [BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType, [BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData, @@ -531,7 +531,7 @@ static const u8 sNumMonsToHealBeforePikeQueen[][3] = {0, 1, 2}, }; -static bool8 (* const sStatusInflictionScreenFlashFuncs[])(struct Task *) = +static bool8 (*const sStatusInflictionScreenFlashFuncs[])(struct Task *) = { StatusInflictionFadeOut, StatusInflictionFadeIn }; diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index b4bb3cacca..cfec08083b 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -784,7 +784,7 @@ static const u8 sHintTextTypes[] = HINT_EXIT_SHORT_REMAINING_ITEMS, }; -static void (* const sBattlePyramidFunctions[])(void) = +static void (*const sBattlePyramidFunctions[])(void) = { [BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge, [BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData, diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index bf9a7704b1..a9cbfd6821 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -327,7 +327,7 @@ static const union AnimCmd sAnim_PyramidBag[] = ANIMCMD_END, }; -static const union AnimCmd * const sAnims_PyramidBag[] = +static const union AnimCmd *const sAnims_PyramidBag[] = { sAnim_PyramidBag, }; @@ -352,7 +352,7 @@ enum { ANIM_BAG_SHAKE, }; -static const union AffineAnimCmd * const sAffineAnims_PyramidBag[] = +static const union AffineAnimCmd *const sAffineAnims_PyramidBag[] = { [ANIM_BAG_STILL] = sAffineAnim_PyramidBag_Still, [ANIM_BAG_SHAKE] = sAffineAnim_PyramidBag_Shake, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a79851acc0..3bca12eb51 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -326,7 +326,7 @@ static void Cmd_finishaction(void); static void Cmd_finishturn(void); static void Cmd_trainerslideout(void); -void (* const gBattleScriptingCommandsTable[])(void) = +void (*const gBattleScriptingCommandsTable[])(void) = { Cmd_attackcanceler, //0x0 Cmd_accuracycheck, //0x1 diff --git a/src/battle_tower.c b/src/battle_tower.c index 0190d3c922..35852a1f00 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -799,7 +799,7 @@ struct #include "data/battle_frontier/battle_tent.h" -static void (* const sBattleTowerFuncs[])(void) = +static void (*const sBattleTowerFuncs[])(void) = { [BATTLE_TOWER_FUNC_INIT] = InitTowerChallenge, [BATTLE_TOWER_FUNC_GET_DATA] = GetTowerData, diff --git a/src/battle_transition.c b/src/battle_transition.c index 174602471b..03ed10c5f4 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -278,7 +278,7 @@ static s16 IsTrainerPicSlideDone(s16); static bool8 TransitionIntro_FadeToGray(struct Task *); static bool8 TransitionIntro_FadeFromGray(struct Task *); static bool8 IsIntroTaskDone(void); -static bool16 UpdateRectangularSpiralLine(const s16 * const *, struct RectangularSpiralLine *); +static bool16 UpdateRectangularSpiralLine(const s16 *const *, struct RectangularSpiralLine *); static void SpriteCB_FldEffPokeballTrail(struct Sprite *); static void SpriteCB_MugshotTrainerPic(struct Sprite *); static void SpriteCB_WhiteBarFade(struct Sprite *); @@ -3281,7 +3281,7 @@ static bool8 RectangularSpiral_End(struct Task *task) } // Returns TRUE if a tile should be drawn, FALSE otherwise -static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, struct RectangularSpiralLine *line) +static bool16 UpdateRectangularSpiralLine(const s16 *const *moveDataTable, struct RectangularSpiralLine *line) { const s16 *moveData = moveDataTable[line->state]; diff --git a/src/berry_blender.c b/src/berry_blender.c index 5f0e170607..6a9b196440 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1207,7 +1207,7 @@ static void CreateBerrySprite(u16 itemId, u8 playerId) sBerrySpriteData[playerId][4]); } -static void ConvertItemToBlenderBerry(struct BlenderBerry* berry, u16 itemId) +static void ConvertItemToBlenderBerry(struct BlenderBerry *berry, u16 itemId) { const struct Berry *berryInfo = GetBerryInfo(ITEM_TO_BERRY(itemId)); @@ -1539,7 +1539,7 @@ static u8 GetArrowProximity(u16 arrowPos, u8 playerId) return PROXIMITY_MISS; } -static void SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, struct BlenderBerry* playerBerry) +static void SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, struct BlenderBerry *playerBerry) { u16 opponentSetId = 0; u16 opponentBerryId; @@ -2243,7 +2243,7 @@ static void Blender_DummiedOutFunc(s16 bgX, s16 bgY) } -static bool8 AreBlenderBerriesSame(struct BlenderBerry* berries, u8 a, u8 b) +static bool8 AreBlenderBerriesSame(struct BlenderBerry *berries, u8 a, u8 b) { // First check to itemId is pointless (and wrong anyway?), always false when this is called // Only used to determine if two enigma berries are equivalent @@ -2260,7 +2260,7 @@ static bool8 AreBlenderBerriesSame(struct BlenderBerry* berries, u8 a, u8 b) return FALSE; } -static u32 CalculatePokeblockColor(struct BlenderBerry* berries, s16 *_flavors, u8 numPlayers, u8 negativeFlavors) +static u32 CalculatePokeblockColor(struct BlenderBerry *berries, s16 *_flavors, u8 numPlayers, u8 negativeFlavors) { s16 flavors[FLAVOR_COUNT + 1]; s32 i, j; @@ -2491,7 +2491,7 @@ static void CalculatePokeblock(struct BlenderBerry *berries, struct Pokeblock *p flavors[i] = sPokeblockFlavors[i]; } -static void UNUSED Debug_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 numPlayers, u8 *flavors, u16 maxRPM) +static void UNUSED Debug_CalculatePokeblock(struct BlenderBerry *berries, struct Pokeblock *pokeblock, u8 numPlayers, u8 *flavors, u16 maxRPM) { CalculatePokeblock(berries, pokeblock, numPlayers, flavors, maxRPM); } diff --git a/src/berry_crush.c b/src/berry_crush.c index c7bff2abcd..b116fc21f2 100644 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -914,7 +914,7 @@ static const u8 *const sResultsTexts[] = [RESULTS_PAGE_POWER + NUM_RESULTS_PAGES] = gText_PressingPowerRankings, }; -static u32 (*const sBerryCrushCommands[])(struct BerryCrushGame * game, u8 * data) = +static u32 (*const sBerryCrushCommands[])(struct BerryCrushGame *game, u8 *data) = { [CMD_NONE] = NULL, [CMD_FADE] = Cmd_BeginNormalPaletteFade, @@ -1590,14 +1590,14 @@ static void PrintTextCentered(u8 windowId, u8 left, u8 colorId, const u8 *string AddTextPrinterParameterized3(windowId, FONT_SHORT, left, 0, sTextColorTable[colorId], 0, string); } -static void PrintResultsText(struct BerryCrushGame * game, u8 page, u8 sp14, u8 baseY) +static void PrintResultsText(struct BerryCrushGame *game, u8 page, u8 sp14, u8 baseY) { u8 i, j; u8 playerId = 0; u8 ranking = 0; s32 x; u8 stat; - struct BerryCrushGame_Results * results = &game->results; + struct BerryCrushGame_Results *results = &game->results; u32 xOffset; s32 y; @@ -1942,7 +1942,7 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game) static void CopyPlayerNameWindowGfxToBg(struct BerryCrushGame *game) { u8 i = 0; - u8 * windowGfx; + u8 *windowGfx; LZ77UnCompWram(gBerryCrush_TextWindows_Tilemap, gDecompressionBuffer); diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index 5900cb298a..98938c78b5 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -26,7 +26,7 @@ struct { u8 curScene; u16 timer; struct MultiBootParam mb; -} static * sBerryFix; +} static *sBerryFix; static void BerryFix_Main(void); static void BerryFix_GpuSet(void); diff --git a/src/bg.c b/src/bg.c index 166c59df0c..6264a1e426 100644 --- a/src/bg.c +++ b/src/bg.c @@ -916,7 +916,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 wi { case BG_TYPE_NORMAL: { - const u16 * srcCopy = src; + const u16 *srcCopy = src; for (destY16 = destY; destY16 < (destY + height); destY16++) { for (destX16 = destX; destX16 < (destX + width); destX16++) @@ -928,7 +928,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 wi } case BG_TYPE_AFFINE: { - const u8 * srcCopy = src; + const u8 *srcCopy = src; mode = GetBgMetricAffineMode(bg, 0x1); for (destY16 = destY; destY16 < (destY + height); destY16++) { diff --git a/src/contest.c b/src/contest.c index 85a8179f4d..b73e23122e 100644 --- a/src/contest.c +++ b/src/contest.c @@ -420,7 +420,7 @@ static const union AffineAnimCmd sAffineAnim_SliderHeart_SpinAppear[] = AFFINEANIMCMD_END }; -static const union AffineAnimCmd* const sAffineAnims_SliderHeart[] = +static const union AffineAnimCmd *const sAffineAnims_SliderHeart[] = { [SLIDER_HEART_ANIM_NORMAL] = sAffineAnim_SliderHeart_Normal, [SLIDER_HEART_ANIM_DISAPPEAR] = sAffineAnim_SliderHeart_SpinDisappear, @@ -2855,7 +2855,7 @@ void SetContestants(u8 contestType, u8 rank) u8 opponentsCount = 0; u8 opponents[100]; bool8 allowPostgameContestants = FALSE; - const u8 * filter; + const u8 *filter; TryPutPlayerLast(); @@ -3011,7 +3011,7 @@ static void DrawContestantWindowText(void) static u8 *Contest_CopyStringWithColor(const u8 *string, u8 color) { - u8 * ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent); + u8 *ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent); ptr[-1] = color; // Overwrites the "{COLOR TRANSPARENT}" part of the string. ptr = StringCopy(ptr, string); diff --git a/src/data/battle_frontier/apprentice.h b/src/data/battle_frontier/apprentice.h index 6a378b2464..bae966cffd 100644 --- a/src/data/battle_frontier/apprentice.h +++ b/src/data/battle_frontier/apprentice.h @@ -948,7 +948,7 @@ static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] = QUESTION_ID_WIN_SPEECH }; -static void (* const sApprenticeFunctions[])(void) = +static void (*const sApprenticeFunctions[])(void) = { [APPRENTICE_FUNC_GAVE_LVLMODE] = Script_GivenApprenticeLvlMode, [APPRENTICE_FUNC_SET_LVLMODE] = Script_SetApprenticeLvlMode, diff --git a/src/data/tilesets/headers.h b/src/data/tilesets/headers.h index 2eae1be1ea..f6cac20c05 100644 --- a/src/data/tilesets/headers.h +++ b/src/data/tilesets/headers.h @@ -636,8 +636,8 @@ const struct Tileset gTileset_SecretBase = .callback = NULL, }; -const struct Tileset * const gTilesetPointer_SecretBase = &gTileset_SecretBase; -const struct Tileset * const gTilesetPointer_SecretBaseRedCave = &gTileset_SecretBaseRedCave; +const struct Tileset *const gTilesetPointer_SecretBase = &gTileset_SecretBase; +const struct Tileset *const gTilesetPointer_SecretBaseRedCave = &gTileset_SecretBaseRedCave; const struct Tileset gTileset_EliteFour = { diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index ce1877c6cd..16ea035c7c 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -275,13 +275,13 @@ struct DodrioGame /*0x3308*/ struct DodrioGame_ScoreResults scoreResults[MAX_RFU_PLAYERS]; }; // size = 0x3330 -EWRAM_DATA static struct DodrioGame * sGame = NULL; -EWRAM_DATA static u16 * sDodrioSpriteIds[MAX_RFU_PLAYERS] = {NULL}; -EWRAM_DATA static u16 * sCloudSpriteIds[NUM_CLOUDS] = {NULL}; -EWRAM_DATA static u16 * sBerrySpriteIds[NUM_BERRY_COLUMNS] = {NULL}; -EWRAM_DATA static u16 * sBerryIconSpriteIds[NUM_BERRY_TYPES] = {NULL}; -EWRAM_DATA static struct StatusBar * sStatusBar = NULL; -EWRAM_DATA static struct DodrioGame_Gfx * sGfx = NULL; +EWRAM_DATA static struct DodrioGame *sGame = NULL; +EWRAM_DATA static u16 *sDodrioSpriteIds[MAX_RFU_PLAYERS] = {NULL}; +EWRAM_DATA static u16 *sCloudSpriteIds[NUM_CLOUDS] = {NULL}; +EWRAM_DATA static u16 *sBerrySpriteIds[NUM_BERRY_COLUMNS] = {NULL}; +EWRAM_DATA static u16 *sBerryIconSpriteIds[NUM_BERRY_TYPES] = {NULL}; +EWRAM_DATA static struct StatusBar *sStatusBar = NULL; +EWRAM_DATA static struct DodrioGame_Gfx *sGfx = NULL; static bool32 sExitingGame; @@ -695,7 +695,7 @@ static void ResetTasksAndSprites(void) FreeAllSpritePalettes(); } -static void InitDodrioGame(struct DodrioGame * game) +static void InitDodrioGame(struct DodrioGame *game) { u8 i; @@ -1433,7 +1433,7 @@ static void Task_NewGameIntro(u8 taskId) static void Task_CommunicateMonInfo(u8 taskId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; u8 i; switch (tState) @@ -1759,7 +1759,7 @@ static void HandleSound_Member(void) } for (i = berryStart; i < berryEnd; i++) { - struct DodrioGame_Berries * berries = &sGame->players[sGame->multiplayerId].berries; + struct DodrioGame_Berries *berries = &sGame->players[sGame->multiplayerId].berries; if (berries->fallDist[i] >= MAX_FALL_DIST) { if (!sGame->playingSquishSound[i]) @@ -1802,7 +1802,7 @@ static void VBlankCB_DodrioGame(void) ProcessSpriteCopyRequests(); } -static void InitMonInfo(struct DodrioGame_MonInfo * monInfo, struct Pokemon *mon) +static void InitMonInfo(struct DodrioGame_MonInfo *monInfo, struct Pokemon *mon) { monInfo->isShiny = IsMonShiny(mon); } @@ -1861,7 +1861,7 @@ static void InitFirstWaveOfBerries(void) for (i = berryStart; i < berryEnd; i++) { - struct DodrioGame_Berries * berries = &sGame->player.berries; + struct DodrioGame_Berries *berries = &sGame->player.berries; berries->fallDist[i] = (i % 2 == 0) ? 1 : 0; berries->ids[i] = BERRY_BLUE; } @@ -1995,7 +1995,7 @@ static bool32 TryPickBerry(u8 playerId, u8 pickState, u8 column) { s32 pick = 0; u8 numPlayersIdx = sGame->numPlayers - 1; - struct DodrioGame_Berries * berries = &sGame->player.berries; + struct DodrioGame_Berries *berries = &sGame->player.berries; switch (pickState) { @@ -3841,7 +3841,7 @@ static void LoadDodrioGfx(void) LoadSpritePalette(&shiny); } -static void CreateDodrioSprite(struct DodrioGame_MonInfo * monInfo, u8 playerId, u8 id, u8 numPlayers) +static void CreateDodrioSprite(struct DodrioGame_MonInfo *monInfo, u8 playerId, u8 id, u8 numPlayers) { struct SpriteTemplate template = { diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index c5b8712b5c..0e49967049 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -378,7 +378,7 @@ static u8 GetTrainerHillUnkVal(void) return (gSaveBlock1Ptr->trainerHill.unused + 1) % 256; } -static bool32 ValidateTrainerChecksum(struct EReaderTrainerHillTrainer * hillTrainer) +static bool32 ValidateTrainerChecksum(struct EReaderTrainerHillTrainer *hillTrainer) { int checksum = CalcByteArraySum((u8 *)hillTrainer, offsetof(typeof(*hillTrainer), checksum)); if (checksum != hillTrainer->checksum) @@ -387,7 +387,7 @@ static bool32 ValidateTrainerChecksum(struct EReaderTrainerHillTrainer * hillTra return TRUE; } -bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet * hillSet) +bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet *hillSet) { u32 i; u32 checksum; @@ -426,7 +426,7 @@ static bool32 ValidateTrainerHillChecksum(struct EReaderTrainerHillSet *hillSet) return TRUE; } -static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet * hillSet, struct TrainerHillChallenge * challenge) +static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet *hillSet, struct TrainerHillChallenge *challenge) { int i; @@ -465,7 +465,7 @@ static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet * hillSe return TRUE; } -bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet * hillSet) +bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *hillSet) { void *buffer = AllocZeroed(SECTOR_SIZE); bool32 result = TryWriteTrainerHill_Internal(hillSet, buffer); @@ -473,7 +473,7 @@ bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet * hillSet) return result; } -static bool32 TryReadTrainerHill_Internal(struct EReaderTrainerHillSet * dest, u8 * buffer) +static bool32 TryReadTrainerHill_Internal(struct EReaderTrainerHillSet *dest, u8 *buffer) { if (TryReadSpecialSaveSector(SECTOR_ID_TRAINER_HILL, buffer) != SAVE_STATUS_OK) return FALSE; @@ -485,7 +485,7 @@ static bool32 TryReadTrainerHill_Internal(struct EReaderTrainerHillSet * dest, u return TRUE; } -static bool32 TryReadTrainerHill(struct EReaderTrainerHillSet * hillSet) +static bool32 TryReadTrainerHill(struct EReaderTrainerHillSet *hillSet) { u8 *buffer = AllocZeroed(SECTOR_SIZE); bool32 result = TryReadTrainerHill_Internal(hillSet, buffer); @@ -501,7 +501,7 @@ bool32 ReadTrainerHillAndValidate(void) return result; } -int EReader_Send(int size, const void * src) +int EReader_Send(int size, const void *src) { int result; int sendStatus; @@ -542,7 +542,7 @@ int EReader_Send(int size, const void * src) return result; } -int EReader_Recv(void * dest) +int EReader_Recv(void *dest) { int result; int recvStatus; @@ -619,7 +619,7 @@ static void OpenSerial32(void) sCounter2 = 0; } -int EReaderHandleTransfer(u8 mode, size_t size, const void * data, void * recvBuffer) +int EReaderHandleTransfer(u8 mode, size_t size, const void *data, void *recvBuffer) { switch (sSendRecvMgr.state) { @@ -712,7 +712,7 @@ static u16 DetermineSendRecvState(u8 mode) return resp; } -static void SetUpTransferManager(size_t size, const void * data, void * recvBuffer) +static void SetUpTransferManager(size_t size, const void *data, void *recvBuffer) { if (sSendRecvMgr.isParent) { diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 520c8eb551..f09425720a 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -211,7 +211,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u u8 name[POKEMON_NAME_BUFFER_SIZE]; u16 currSpecies; u32 trainerId, personality; - const struct CompressedSpritePalette* pokePal; + const struct CompressedSpritePalette *pokePal; u8 id; SetHBlankCallback(NULL); @@ -311,7 +311,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u static void CB2_EvolutionSceneLoadGraphics(void) { u8 id; - const struct CompressedSpritePalette* pokePal; + const struct CompressedSpritePalette *pokePal; u16 postEvoSpecies; u32 trainerId, personality; struct Pokemon *mon = &gPlayerParty[gTasks[sEvoStructPtr->evoTaskId].tPartyId]; @@ -420,7 +420,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) break; case 4: { - const struct CompressedSpritePalette* pokePal; + const struct CompressedSpritePalette *pokePal; u32 trainerId = GetMonData(mon, MON_DATA_OT_ID); u32 personality = GetMonData(mon, MON_DATA_PERSONALITY); DecompressPicFromTable_2(&gMonFrontPicTable[postEvoSpecies], @@ -470,7 +470,7 @@ void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSprit u8 name[POKEMON_NAME_BUFFER_SIZE]; u16 currSpecies; u32 trainerId, personality; - const struct CompressedSpritePalette* pokePal; + const struct CompressedSpritePalette *pokePal; u8 id; GetMonData(mon, MON_DATA_NICKNAME, name); diff --git a/src/frontier_util.c b/src/frontier_util.c index 1858792b4e..66fb74da03 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -604,7 +604,7 @@ static const u16 sBattledBrainBitFlags[NUM_FRONTIER_FACILITIES][2] = [FRONTIER_FACILITY_PYRAMID] = {1 << 12, 1 << 13}, }; -static void (* const sFrontierUtilFuncs[])(void) = +static void (*const sFrontierUtilFuncs[])(void) = { [FRONTIER_UTIL_FUNC_GET_STATUS] = GetChallengeStatus, [FRONTIER_UTIL_FUNC_GET_DATA] = GetFrontierData, diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 91850ec72e..c9038ecf64 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -97,7 +97,7 @@ static void Task_HofPC_HandlePaletteOnExit(u8 taskId); static void Task_HofPC_HandleExit(u8 taskId); static void Task_HofPC_ExitOnButtonPress(u8 taskId); static void SpriteCB_GetOnScreenAndAnimate(struct Sprite *sprite); -static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2); +static void HallOfFame_PrintMonInfo(struct HallofFameMon *currMon, u8 unused1, u8 unused2); static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2); static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2); static void Task_DoDomeConfetti(u8 taskId); @@ -296,7 +296,7 @@ static const union AnimCmd sAnim_WhiteConfettiC[] = ANIMCMD_END }; -static const union AnimCmd * const sAnims_Confetti[] = +static const union AnimCmd *const sAnims_Confetti[] = { sAnim_PinkConfettiA, sAnim_RedConfettiA, @@ -563,7 +563,7 @@ static void Task_Hof_DisplayMon(u8 taskId) s16 startX, startY, destX, destY; u16 currMonId = gTasks[taskId].tDisplayedMonId; - struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId]; + struct HallofFameMon *currMon = &sHofMonPtr->mon[currMonId]; if (gTasks[taskId].tMonNumber > PARTY_SIZE / 2) { @@ -597,7 +597,7 @@ static void Task_Hof_DisplayMon(u8 taskId) static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId) { u16 currMonId = gTasks[taskId].tDisplayedMonId; - struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId]; + struct HallofFameMon *currMon = &sHofMonPtr->mon[currMonId]; struct Sprite *monSprite = &gSprites[gTasks[taskId].tMonSpriteId(currMonId)]; if (monSprite->callback == SpriteCallbackDummy) @@ -612,7 +612,7 @@ static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId) static void Task_Hof_TryDisplayAnotherMon(u8 taskId) { u16 currPokeID = gTasks[taskId].tDisplayedMonId; - struct HallofFameMon* currMon = &sHofMonPtr->mon[currPokeID]; + struct HallofFameMon *currMon = &sHofMonPtr->mon[currPokeID]; if (gTasks[taskId].tFrameCount != 0) { @@ -889,7 +889,7 @@ static void Task_HofPC_CopySaveData(u8 taskId) static void Task_HofPC_DrawSpritesPrintText(u8 taskId) { struct HallofFameTeam *savedTeams = sHofMonPtr; - struct HallofFameMon* currMon; + struct HallofFameMon *currMon; u16 i; for (i = 0; i < gTasks[taskId].tCurrTeamNo; i++) @@ -955,7 +955,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) static void Task_HofPC_PrintMonInfo(u8 taskId) { struct HallofFameTeam *savedTeams = sHofMonPtr; - struct HallofFameMon* currMon; + struct HallofFameMon *currMon; u16 i; u16 currMonID; @@ -1111,7 +1111,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2) CopyWindowToVram(0, COPYWIN_FULL); } -static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2) +static void HallOfFame_PrintMonInfo(struct HallofFameMon *currMon, u8 unused1, u8 unused2) { u8 text[max(32, POKEMON_NAME_LENGTH + 1)]; u8 *stringPtr; diff --git a/src/item.c b/src/item.c index b67cf5f218..d4a544f11f 100644 --- a/src/item.c +++ b/src/item.c @@ -632,7 +632,7 @@ void SortBerriesOrTMHMs(struct BagPocket *bagPocket) } } -void MoveItemSlotInList(struct ItemSlot* itemSlots_, u32 from, u32 to_) +void MoveItemSlotInList(struct ItemSlot *itemSlots_, u32 from, u32 to_) { // dumb assignments needed to match struct ItemSlot *itemSlots = itemSlots_; diff --git a/src/libisagbprn.c b/src/libisagbprn.c index fab9b5990b..a7de7df088 100644 --- a/src/libisagbprn.c +++ b/src/libisagbprn.c @@ -224,7 +224,7 @@ void MgbaClose(void) *REG_DEBUG_ENABLE = 0; } -void MgbaPrintf(s32 level, const char* ptr, ...) +void MgbaPrintf(s32 level, const char *ptr, ...) { va_list args; diff --git a/src/load_save.c b/src/load_save.c index a6284ffebd..117ba3e27c 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -69,7 +69,7 @@ void ClearSav1(void) // Offset is the sum of the trainer id bytes void SetSaveBlocksPointers(u16 offset) { - struct SaveBlock1** sav1_LocalVar = &gSaveBlock1Ptr; + struct SaveBlock1 **sav1_LocalVar = &gSaveBlock1Ptr; offset = (offset + Random()) & (SAVEBLOCK_MOVE_RANGE - 4); diff --git a/src/m4a_tables.c b/src/m4a_tables.c index 4d012cea28..6fb3b273a3 100644 --- a/src/m4a_tables.c +++ b/src/m4a_tables.c @@ -3,7 +3,7 @@ // Some of these functions have different signatures, so we need to make this // an array of void pointers or a struct. It's simpler to just make it an array // for now. -void * const gMPlayJumpTableTemplate[] = +void *const gMPlayJumpTableTemplate[] = { ply_fine, ply_goto, diff --git a/src/map_name_popup.c b/src/map_name_popup.c index d004b18d56..725bb80838 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -186,7 +186,7 @@ static const u8 sText_PyramidFloor6[] = _("PYRAMID FLOOR 6"); static const u8 sText_PyramidFloor7[] = _("PYRAMID FLOOR 7"); static const u8 sText_Pyramid[] = _("PYRAMID"); -static const u8 * const sBattlePyramid_MapHeaderStrings[FRONTIER_STAGES_PER_CHALLENGE + 1] = +static const u8 *const sBattlePyramid_MapHeaderStrings[FRONTIER_STAGES_PER_CHALLENGE + 1] = { sText_PyramidFloor1, sText_PyramidFloor2, diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index db25df253b..03b4b6663a 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -34,7 +34,7 @@ static u8 sSelectedStory; COMMON_DATA struct BardSong gBardSong = {0}; static EWRAM_DATA u16 sUnusedPitchTableIndex = 0; -static EWRAM_DATA struct MauvilleManStoryteller * sStorytellerPtr = NULL; +static EWRAM_DATA struct MauvilleManStoryteller *sStorytellerPtr = NULL; static EWRAM_DATA u8 sStorytellerWindowId = 0; static const u16 sDefaultBardSongLyrics[NUM_BARD_SONG_WORDS] = { @@ -46,7 +46,7 @@ static const u16 sDefaultBardSongLyrics[NUM_BARD_SONG_WORDS] = { EC_WORD_DANCE }; -static const u8 * const sGiddyAdjectives[] = { +static const u8 *const sGiddyAdjectives[] = { GiddyText_SoPretty, GiddyText_SoDarling, GiddyText_SoRelaxed, @@ -60,7 +60,7 @@ static const u8 * const sGiddyAdjectives[] = { // Non-random lines Giddy can say. Not all are strictly // questions, but most are, and the player will receive // a Yes/No prompt afterwards regardless. -static const u8 * const sGiddyQuestions[GIDDY_MAX_QUESTIONS] = { +static const u8 *const sGiddyQuestions[GIDDY_MAX_QUESTIONS] = { GiddyText_ISoWantToGoOnAVacation, GiddyText_IBoughtCrayonsWith120Colors, GiddyText_WouldntItBeNiceIfWeCouldFloat, @@ -176,9 +176,9 @@ void SaveBardSongLyrics(void) static void PrepareSongText(void) { struct MauvilleManBard *bard = &gSaveBlock1Ptr->oldMan.bard; - u16 * lyrics = !gSpecialVar_0x8004 ? bard->songLyrics : bard->newSongLyrics; - u8 * wordEnd = gStringVar4; - u8 * str = wordEnd; + u16 *lyrics = !gSpecialVar_0x8004 ? bard->songLyrics : bard->newSongLyrics; + u8 *wordEnd = gStringVar4; + u8 *str = wordEnd; u16 paragraphNum; // Easy chat "words" aren't strictly single words, e.g. EC_WORD_MATCH_UP is the string "MATCH UP". @@ -454,12 +454,12 @@ static void EnableTextPrinters(void) gDisableTextPrinters = FALSE; } -static void DisableTextPrinters(struct TextPrinterTemplate * printer, u16 renderCmd) +static void DisableTextPrinters(struct TextPrinterTemplate *printer, u16 renderCmd) { gDisableTextPrinters = TRUE; } -static void DrawSongTextWindow(const u8 * str) +static void DrawSongTextWindow(const u8 *str) { DrawDialogueFrame(0, FALSE); AddTextPrinterParameterized(0, FONT_NORMAL, str, 0, 1, 1, DisableTextPrinters); @@ -750,7 +750,7 @@ void SetMauvilleOldManObjEventGfx(void) // Language fixers? -void SanitizeMauvilleOldManForRuby(union OldMan * oldMan) +void SanitizeMauvilleOldManForRuby(union OldMan *oldMan) { s32 i; u8 playerName[PLAYER_NAME_LENGTH + 1]; @@ -759,7 +759,7 @@ void SanitizeMauvilleOldManForRuby(union OldMan * oldMan) { case MAUVILLE_MAN_TRADER: { - struct MauvilleOldManTrader * trader = &oldMan->trader; + struct MauvilleOldManTrader *trader = &oldMan->trader; for (i = 0; i < NUM_TRADER_ITEMS; i++) { if (trader->language[i] == LANGUAGE_JAPANESE) @@ -769,7 +769,7 @@ void SanitizeMauvilleOldManForRuby(union OldMan * oldMan) } case MAUVILLE_MAN_STORYTELLER: { - struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; + struct MauvilleManStoryteller *storyteller = &oldMan->storyteller; for (i = 0; i < NUM_STORYTELLER_TALES; i++) { if (storyteller->gameStatIDs[i] != 0) @@ -790,7 +790,7 @@ void SanitizeMauvilleOldManForRuby(union OldMan * oldMan) } } -static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language1, u32 language2, u32 language3) +static void UNUSED SetMauvilleOldManLanguage(union OldMan *oldMan, u32 language1, u32 language2, u32 language3) { s32 i; @@ -798,7 +798,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language { case MAUVILLE_MAN_TRADER: { - struct MauvilleOldManTrader * trader = &oldMan->trader; + struct MauvilleOldManTrader *trader = &oldMan->trader; for (i = 0; i < NUM_TRADER_ITEMS; i++) { @@ -811,7 +811,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language break; case MAUVILLE_MAN_STORYTELLER: { - struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; + struct MauvilleManStoryteller *storyteller = &oldMan->storyteller; for (i = 0; i < NUM_STORYTELLER_TALES; i++) { @@ -824,7 +824,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language break; case MAUVILLE_MAN_BARD: { - struct MauvilleManBard * bard = &oldMan->bard; + struct MauvilleManBard *bard = &oldMan->bard; if (language3 == LANGUAGE_JAPANESE) bard->language = language1; @@ -834,7 +834,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language break; case MAUVILLE_MAN_HIPSTER: { - struct MauvilleManHipster * hipster = &oldMan->hipster; + struct MauvilleManHipster *hipster = &oldMan->hipster; if (language3 == LANGUAGE_JAPANESE) hipster->language = language1; @@ -844,7 +844,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language break; case MAUVILLE_MAN_GIDDY: { - struct MauvilleManGiddy * giddy = &oldMan->giddy; + struct MauvilleManGiddy *giddy = &oldMan->giddy; if (language3 == LANGUAGE_JAPANESE) giddy->language = language1; @@ -855,13 +855,13 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language } } -void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 language) +void SanitizeReceivedEmeraldOldMan(union OldMan *oldMan, u32 version, u32 language) { u8 playerName[PLAYER_NAME_LENGTH + 1]; s32 i; if (oldMan->common.id == MAUVILLE_MAN_STORYTELLER && language == LANGUAGE_JAPANESE) { - struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; + struct MauvilleManStoryteller *storyteller = &oldMan->storyteller; for (i = 0; i < NUM_STORYTELLER_TALES; i++) { @@ -878,7 +878,7 @@ void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 langu } } -void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language) +void SanitizeReceivedRubyOldMan(union OldMan *oldMan, u32 version, u32 language) { bool32 isRuby = (version == VERSION_SAPPHIRE || version == VERSION_RUBY); @@ -886,14 +886,14 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language { case MAUVILLE_MAN_TRADER: { - struct MauvilleOldManTrader * trader = &oldMan->trader; + struct MauvilleOldManTrader *trader = &oldMan->trader; s32 i; if (isRuby) { for (i = 0; i < NUM_TRADER_ITEMS; i++) { - u8 * str = trader->playerNames[i]; + u8 *str = trader->playerNames[i]; if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN) { StripExtCtrlCodes(str); @@ -920,7 +920,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language case MAUVILLE_MAN_STORYTELLER: { - struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; + struct MauvilleManStoryteller *storyteller = &oldMan->storyteller; s32 i; if (isRuby) @@ -935,7 +935,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language break; case MAUVILLE_MAN_BARD: { - struct MauvilleManBard * bard = &oldMan->bard; + struct MauvilleManBard *bard = &oldMan->bard; if (isRuby) { @@ -945,7 +945,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language break; case MAUVILLE_MAN_HIPSTER: { - struct MauvilleManHipster * hipster = &oldMan->hipster; + struct MauvilleManHipster *hipster = &oldMan->hipster; if (isRuby) { @@ -955,7 +955,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language break; case MAUVILLE_MAN_GIDDY: { - struct MauvilleManGiddy * giddy = &oldMan->giddy; + struct MauvilleManGiddy *giddy = &oldMan->giddy; if (isRuby) { @@ -1299,9 +1299,9 @@ static void GetStoryByStattellerPlayerName(u32 player, void *dst) memcpy(dst, name, PLAYER_NAME_LENGTH); } -static void StorytellerSetPlayerName(u32 player, const u8 * src) +static void StorytellerSetPlayerName(u32 player, const u8 *src) { - u8 * name = sStorytellerPtr->trainerNames[player]; + u8 *name = sStorytellerPtr->trainerNames[player]; memset(name, EOS, PLAYER_NAME_LENGTH); memcpy(name, src, PLAYER_NAME_LENGTH); } @@ -1317,7 +1317,7 @@ static void StorytellerRecordNewStat(u32 player, u32 stat) sStorytellerPtr->language[player] = gGameLanguage; } -static void ScrambleStatList(u8 * arr, s32 count) +static void ScrambleStatList(u8 *arr, s32 count) { s32 i; diff --git a/src/menu_specialized.c b/src/menu_specialized.c index 1272277aa5..6f04a4febc 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -1194,7 +1194,7 @@ void LoadConditionMonPicTemplate(struct SpriteSheet *sheet, struct SpriteTemplat *pal = dataPal; } -void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals) +void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate *template, struct SpritePalette *pals) { u8 i; diff --git a/src/mini_printf.c b/src/mini_printf.c index 17665cdf06..3caf246048 100644 --- a/src/mini_printf.c +++ b/src/mini_printf.c @@ -214,11 +214,11 @@ static s32 mini_itoa(s32 value, u32 radix, s32 uppercase, bool32 unsig, char *bu return len; } -static s32 mini_pad(char* ptr, s32 len, char pad_char, s32 pad_to, char *buffer) +static s32 mini_pad(char *ptr, s32 len, char pad_char, s32 pad_to, char *buffer) { s32 i; bool32 overflow = FALSE; - char * pbuffer = buffer; + char *pbuffer = buffer; if(pad_to == 0) pad_to = len; if (len > pad_to) @@ -260,7 +260,7 @@ s32 mini_vsnprintf(char *buffer, u32 buffer_len, const char *fmt, va_list va) return b.pbuffer - b.buffer; } -s32 mini_vpprintf(void* buf, const char *fmt, va_list va) +s32 mini_vpprintf(void *buf, const char *fmt, va_list va) { char bf[24]; char bf2[24]; diff --git a/src/mystery_gift_client.c b/src/mystery_gift_client.c index 567751bad3..78937d6c9b 100644 --- a/src/mystery_gift_client.c +++ b/src/mystery_gift_client.c @@ -19,7 +19,7 @@ enum { FUNC_RUN_BUFFER, }; -EWRAM_DATA static struct MysteryGiftClient * sClient = NULL; +EWRAM_DATA static struct MysteryGiftClient *sClient = NULL; static void MysteryGiftClient_Init(struct MysteryGiftClient *, u32, u32); static u32 MysteryGiftClient_CallFunc(struct MysteryGiftClient *); @@ -34,7 +34,7 @@ void MysteryGiftClient_Create(bool32 isWonderNews) sClient->isWonderNews = isWonderNews; } -u32 MysteryGiftClient_Run(u16 * endVal) +u32 MysteryGiftClient_Run(u16 *endVal) { u32 result; if (sClient == NULL) @@ -64,7 +64,7 @@ void MysteryGiftClient_SetParam(u32 val) sClient->param = val; } -static void MysteryGiftClient_Init(struct MysteryGiftClient * client, u32 sendPlayerId, u32 recvPlayerId) +static void MysteryGiftClient_Init(struct MysteryGiftClient *client, u32 sendPlayerId, u32 recvPlayerId) { client->unused = 0; client->funcId = FUNC_INIT; @@ -76,7 +76,7 @@ static void MysteryGiftClient_Init(struct MysteryGiftClient * client, u32 sendPl MysteryGiftLink_Init(&client->link, sendPlayerId, recvPlayerId); } -static void MysteryGiftClient_Free(struct MysteryGiftClient * client) +static void MysteryGiftClient_Free(struct MysteryGiftClient *client) { Free(client->sendBuffer); Free(client->recvBuffer); @@ -84,20 +84,20 @@ static void MysteryGiftClient_Free(struct MysteryGiftClient * client) Free(client->msg); } -static void MysteryGiftClient_CopyRecvScript(struct MysteryGiftClient * client) +static void MysteryGiftClient_CopyRecvScript(struct MysteryGiftClient *client) { memcpy(client->script, client->recvBuffer, MG_LINK_BUFFER_SIZE); client->cmdidx = 0; } -static void MysteryGiftClient_InitSendWord(struct MysteryGiftClient * client, u32 ident, u32 word) +static void MysteryGiftClient_InitSendWord(struct MysteryGiftClient *client, u32 ident, u32 word) { CpuFill32(0, client->sendBuffer, MG_LINK_BUFFER_SIZE); *(u32 *)client->sendBuffer = word; MysteryGiftLink_InitSend(&client->link, ident, client->sendBuffer, sizeof(word)); } -static u32 Client_Init(struct MysteryGiftClient * client) +static u32 Client_Init(struct MysteryGiftClient *client) { memcpy(client->script, gMysteryGiftClientScript_Init, MG_LINK_BUFFER_SIZE); client->cmdidx = 0; @@ -106,13 +106,13 @@ static u32 Client_Init(struct MysteryGiftClient * client) return CLI_RET_INIT; } -static u32 Client_Done(struct MysteryGiftClient * client) +static u32 Client_Done(struct MysteryGiftClient *client) { return CLI_RET_END; } -static u32 Client_Recv(struct MysteryGiftClient * client) +static u32 Client_Recv(struct MysteryGiftClient *client) { if (MysteryGiftLink_Recv(&client->link)) { @@ -122,7 +122,7 @@ static u32 Client_Recv(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_Send(struct MysteryGiftClient * client) +static u32 Client_Send(struct MysteryGiftClient *client) { if (MysteryGiftLink_Send(&client->link)) { @@ -132,10 +132,10 @@ static u32 Client_Send(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_Run(struct MysteryGiftClient * client) +static u32 Client_Run(struct MysteryGiftClient *client) { // process command - struct MysteryGiftClientCmd * cmd = &client->script[client->cmdidx]; + struct MysteryGiftClientCmd *cmd = &client->script[client->cmdidx]; client->cmdidx++; switch (cmd->instr) { @@ -245,7 +245,7 @@ static u32 Client_Run(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_Wait(struct MysteryGiftClient * client) +static u32 Client_Wait(struct MysteryGiftClient *client) { if (client->funcState) { @@ -255,7 +255,7 @@ static u32 Client_Wait(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_RunMysteryEventScript(struct MysteryGiftClient * client) +static u32 Client_RunMysteryEventScript(struct MysteryGiftClient *client) { switch (client->funcState) { @@ -274,7 +274,7 @@ static u32 Client_RunMysteryEventScript(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_RunBufferScript(struct MysteryGiftClient * client) +static u32 Client_RunBufferScript(struct MysteryGiftClient *client) { // exec arbitrary code u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; @@ -286,7 +286,7 @@ static u32 Client_RunBufferScript(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 MysteryGiftClient_CallFunc(struct MysteryGiftClient * client) +static u32 MysteryGiftClient_CallFunc(struct MysteryGiftClient *client) { u32 (*funcs[])(struct MysteryGiftClient *) = { [FUNC_INIT] = Client_Init, diff --git a/src/mystery_gift_link.c b/src/mystery_gift_link.c index 55f4b78527..2e0031722d 100644 --- a/src/mystery_gift_link.c +++ b/src/mystery_gift_link.c @@ -26,17 +26,17 @@ struct SendRecvHeader static u32 MGL_Receive(struct MysteryGiftLink *); static u32 MGL_Send(struct MysteryGiftLink *); -u32 MysteryGiftLink_Recv(struct MysteryGiftLink * link) +u32 MysteryGiftLink_Recv(struct MysteryGiftLink *link) { return link->recvFunc(link); } -u32 MysteryGiftLink_Send(struct MysteryGiftLink * link) +u32 MysteryGiftLink_Send(struct MysteryGiftLink *link) { return link->sendFunc(link); } -void MysteryGiftLink_Init(struct MysteryGiftLink * link, u32 sendPlayerId, u32 recvPlayerId) +void MysteryGiftLink_Init(struct MysteryGiftLink *link, u32 sendPlayerId, u32 recvPlayerId) { link->sendPlayerId = sendPlayerId; link->recvPlayerId = recvPlayerId; @@ -53,7 +53,7 @@ void MysteryGiftLink_Init(struct MysteryGiftLink * link, u32 sendPlayerId, u32 r link->recvFunc = MGL_Receive; } -void MysteryGiftLink_InitSend(struct MysteryGiftLink * link, u32 ident, const void * src, u32 size) +void MysteryGiftLink_InitSend(struct MysteryGiftLink *link, u32 ident, const void *src, u32 size) { link->state = 0; link->sendIdent = ident; @@ -66,7 +66,7 @@ void MysteryGiftLink_InitSend(struct MysteryGiftLink * link, u32 ident, const vo link->sendBuffer = src; } -void MysteryGiftLink_InitRecv(struct MysteryGiftLink * link, u32 ident, void * dest) +void MysteryGiftLink_InitRecv(struct MysteryGiftLink *link, u32 ident, void *dest) { link->state = 0; link->recvIdent = ident; @@ -76,7 +76,7 @@ void MysteryGiftLink_InitRecv(struct MysteryGiftLink * link, u32 ident, void * d link->recvBuffer = dest; } -static void MGL_ReceiveBlock(u32 playerId, void * dest, size_t size) +static void MGL_ReceiveBlock(u32 playerId, void *dest, size_t size) { memcpy(dest, gBlockRecvBuffer[playerId], size); } @@ -94,7 +94,7 @@ static void MGL_ResetReceived(u32 playerId) ResetBlockReceivedFlag(playerId); } -static bool32 MGL_Receive(struct MysteryGiftLink * link) +static bool32 MGL_Receive(struct MysteryGiftLink *link) { struct SendRecvHeader header; @@ -159,7 +159,7 @@ static bool32 MGL_Receive(struct MysteryGiftLink * link) return FALSE; } -static bool32 MGL_Send(struct MysteryGiftLink * link) +static bool32 MGL_Send(struct MysteryGiftLink *link) { struct SendRecvHeader header; diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 78e4a45715..7bf6152c61 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -64,7 +64,7 @@ struct MysteryGiftTaskData bool8 isWonderNews; bool8 sourceIsFriend; u8 msgId; - u8 * clientMsg; + u8 *clientMsg; }; static const struct BgTemplate sBGTemplates[] = { @@ -485,8 +485,8 @@ void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void) // Print the text window at the top of the screen with the title and control instructions void PrintMysteryGiftOrEReaderHeader(bool8 isEReader, bool32 useCancel) { - const u8 * title; - const u8 * options; + const u8 *title; + const u8 *options; FillWindowPixelBuffer(WIN_HEADER, 0); if (!isEReader) { @@ -597,7 +597,7 @@ static void ShowDownArrow(void) DrawDownArrow(WIN_MSG, DOWN_ARROW_X, DOWN_ARROW_Y, 1, TRUE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]); } -static bool32 UNUSED HideDownArrowAndWaitButton(u8 * textState) +static bool32 UNUSED HideDownArrowAndWaitButton(u8 *textState) { switch (*textState) { @@ -614,7 +614,7 @@ static bool32 UNUSED HideDownArrowAndWaitButton(u8 * textState) return FALSE; } -static bool32 PrintStringAndWait2Seconds(u8 * counter, const u8 * str) +static bool32 PrintStringAndWait2Seconds(u8 *counter, const u8 *str) { if (*counter == 0) MG_AddMessageTextPrinter(str); @@ -631,7 +631,7 @@ static bool32 PrintStringAndWait2Seconds(u8 * counter, const u8 * str) } } -static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu) +static u32 MysteryGift_HandleThreeOptionMenu(u8 *unused0, u16 *unused1, u8 whichMenu) { struct ListMenuTemplate listMenuTemplate = sListMenuTemplate_ThreeOptions; struct WindowTemplate windowTemplate = sWindowTemplate_ThreeOptions; @@ -662,7 +662,7 @@ static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whi return response; } -s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, const u8 * str) +s8 DoMysteryGiftYesNo(u8 *textState, u16 *windowId, bool8 yesNoBoxPlacement, const u8 *str) { struct WindowTemplate windowTemplate; s8 input; @@ -719,7 +719,7 @@ s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, c } // Handle the "Receive/Send/Toss" menu that appears when selecting Wonder Card/News -static s32 HandleGiftSelectMenu(u8 * textState, u16 * windowId, bool32 cannotToss, bool32 cannotSend) +static s32 HandleGiftSelectMenu(u8 *textState, u16 *windowId, bool32 cannotToss, bool32 cannotSend) { struct WindowTemplate UNUSED windowTemplate; s32 input; @@ -786,7 +786,7 @@ static bool32 ValidateCardOrNews(bool32 isWonderNews) return ValidateSavedWonderNews(); } -static bool32 HandleLoadWonderCardOrNews(u8 * state, bool32 isWonderNews) +static bool32 HandleLoadWonderCardOrNews(u8 *state, bool32 isWonderNews) { switch (*state) { @@ -852,7 +852,7 @@ static bool32 ExitWonderCardOrNews(bool32 isWonderNews, bool32 useCancel) } } -static s32 AskDiscardGift(u8 * textState, u16 * windowId, bool32 isWonderNews) +static s32 AskDiscardGift(u8 *textState, u16 *windowId, bool32 isWonderNews) { if (!isWonderNews) return DoMysteryGiftYesNo(textState, windowId, TRUE, gText_IfThrowAwayCardEventWontHappen); @@ -860,7 +860,7 @@ static s32 AskDiscardGift(u8 * textState, u16 * windowId, bool32 isWonderNews) return DoMysteryGiftYesNo(textState, windowId, TRUE, gText_OkayToDiscardNews); } -static bool32 PrintThrownAway(u8 * textState, bool32 isWonderNews) +static bool32 PrintThrownAway(u8 *textState, bool32 isWonderNews) { if (!isWonderNews) return PrintMysteryGiftMenuMessage(textState, gText_WonderCardThrownAway); @@ -868,7 +868,7 @@ static bool32 PrintThrownAway(u8 * textState, bool32 isWonderNews) return PrintMysteryGiftMenuMessage(textState, gText_WonderNewsThrownAway); } -static bool32 SaveOnMysteryGiftMenu(u8 * state) +static bool32 SaveOnMysteryGiftMenu(u8 *state) { switch (*state) { @@ -897,9 +897,9 @@ static bool32 SaveOnMysteryGiftMenu(u8 * state) return FALSE; } -static const u8 * GetClientResultMessage(bool32 * successMsg, bool8 isWonderNews, bool8 sourceIsFriend, u32 msgId) +static const u8 * GetClientResultMessage(bool32 *successMsg, bool8 isWonderNews, bool8 sourceIsFriend, u32 msgId) { - const u8 * msg = NULL; + const u8 *msg = NULL; *successMsg = FALSE; switch (msgId) @@ -969,7 +969,7 @@ static const u8 * GetClientResultMessage(bool32 * successMsg, bool8 isWonderNews return msg; } -static bool32 PrintSuccessMessage(u8 * state, const u8 * msg, u16 * timer) +static bool32 PrintSuccessMessage(u8 *state, const u8 *msg, u16 *timer) { switch (*state) { @@ -996,9 +996,9 @@ static bool32 PrintSuccessMessage(u8 * state, const u8 * msg, u16 * timer) return FALSE; } -static const u8 * GetServerResultMessage(bool32 * wonderSuccess, bool8 sourceIsFriend, u32 msgId) +static const u8 * GetServerResultMessage(bool32 *wonderSuccess, bool8 sourceIsFriend, u32 msgId) { - const u8 * result = gText_CommunicationError; + const u8 *result = gText_CommunicationError; *wonderSuccess = FALSE; switch (msgId) { @@ -1053,10 +1053,10 @@ static const u8 * GetServerResultMessage(bool32 * wonderSuccess, bool8 sourceIsF return result; } -static bool32 PrintServerResultMessage(u8 * state, u16 * timer, bool8 sourceIsFriend, u32 msgId) +static bool32 PrintServerResultMessage(u8 *state, u16 *timer, bool8 sourceIsFriend, u32 msgId) { bool32 wonderSuccess; - const u8 * str = GetServerResultMessage(&wonderSuccess, sourceIsFriend, msgId); + const u8 *str = GetServerResultMessage(&wonderSuccess, sourceIsFriend, msgId); if (wonderSuccess) return PrintSuccessMessage(state, str, timer); else @@ -1111,7 +1111,7 @@ enum { static void CreateMysteryGiftTask(void) { u8 taskId = CreateTask(Task_MysteryGift, 0); - struct MysteryGiftTaskData * data = (void *)gTasks[taskId].data; + struct MysteryGiftTaskData *data = (void *)gTasks[taskId].data; data->state = MG_STATE_TO_MAIN_MENU; data->textState = 0; data->unused4 = 0; diff --git a/src/mystery_gift_server.c b/src/mystery_gift_server.c index 891870659d..c90e43dee0 100644 --- a/src/mystery_gift_server.c +++ b/src/mystery_gift_server.c @@ -13,7 +13,7 @@ enum { FUNC_RUN, }; -EWRAM_DATA static struct MysteryGiftServer * sServer = NULL; +EWRAM_DATA static struct MysteryGiftServer *sServer = NULL; static void MysteryGiftServer_Init(struct MysteryGiftServer *, const void *, u32, u32); static void MysteryGiftServer_Free(struct MysteryGiftServer *); @@ -34,7 +34,7 @@ void MysterGiftServer_CreateForCard(void) MysteryGiftServer_Init(sServer, gMysteryGiftServerScript_SendWonderCard, 0, 1); } -u32 MysterGiftServer_Run(u16 * endVal) +u32 MysterGiftServer_Run(u16 *endVal) { u32 result; if (sServer == NULL) @@ -49,7 +49,7 @@ u32 MysterGiftServer_Run(u16 * endVal) return result; } -static void MysteryGiftServer_Init(struct MysteryGiftServer * svr, const void * script, u32 sendPlayerId, u32 recvPlayerId) +static void MysteryGiftServer_Init(struct MysteryGiftServer *svr, const void *script, u32 sendPlayerId, u32 recvPlayerId) { svr->unused = 0; svr->funcId = FUNC_INIT; @@ -62,7 +62,7 @@ static void MysteryGiftServer_Init(struct MysteryGiftServer * svr, const void * MysteryGiftLink_Init(&svr->link, sendPlayerId, recvPlayerId); } -static void MysteryGiftServer_Free(struct MysteryGiftServer * svr) +static void MysteryGiftServer_Free(struct MysteryGiftServer *svr) { Free(svr->card); Free(svr->news); @@ -70,7 +70,7 @@ static void MysteryGiftServer_Free(struct MysteryGiftServer * svr) Free(svr->linkGameData); } -static void MysteryGiftServer_InitSend(struct MysteryGiftServer * svr, u32 ident, const void * src, u32 size) +static void MysteryGiftServer_InitSend(struct MysteryGiftServer *svr, u32 ident, const void *src, u32 size) { AGB_ASSERT(size <= MG_LINK_BUFFER_SIZE); MysteryGiftLink_InitSend(&svr->link, ident, src, size); @@ -78,7 +78,7 @@ static void MysteryGiftServer_InitSend(struct MysteryGiftServer * svr, u32 ident // Given the command pointer parameter and the 'default' normal data. // If the command's pointer is not empty use that as the send data, otherwise use the default. -static const void * MysteryGiftServer_GetSendData(const void * dynamicData, const void * defaultData) +static const void * MysteryGiftServer_GetSendData(const void *dynamicData, const void *defaultData) { if (dynamicData != NULL) return dynamicData; @@ -86,7 +86,7 @@ static const void * MysteryGiftServer_GetSendData(const void * dynamicData, cons return defaultData; } -static u32 MysteryGiftServer_Compare(const void * a, const void * b) +static u32 MysteryGiftServer_Compare(const void *a, const void *b) { if (b < a) return 0; @@ -96,36 +96,36 @@ static u32 MysteryGiftServer_Compare(const void * a, const void * b) return 2; } -static u32 Server_Init(struct MysteryGiftServer * svr) +static u32 Server_Init(struct MysteryGiftServer *svr) { svr->funcId = FUNC_RUN; return SVR_RET_INIT; } -static u32 Server_Done(struct MysteryGiftServer * svr) +static u32 Server_Done(struct MysteryGiftServer *svr) { return SVR_RET_END; } -static u32 Server_Recv(struct MysteryGiftServer * svr) +static u32 Server_Recv(struct MysteryGiftServer *svr) { if (MysteryGiftLink_Recv(&svr->link)) svr->funcId = FUNC_RUN; return SVR_RET_ACTIVE; } -static u32 Server_Send(struct MysteryGiftServer * svr) +static u32 Server_Send(struct MysteryGiftServer *svr) { if (MysteryGiftLink_Send(&svr->link)) svr->funcId = FUNC_RUN; return SVR_RET_ACTIVE; } -static u32 Server_Run(struct MysteryGiftServer * svr) +static u32 Server_Run(struct MysteryGiftServer *svr) { // process command - const struct MysteryGiftServerCmd * cmd = &svr->script[svr->cmdidx]; - const void * ptr; + const struct MysteryGiftServerCmd *cmd = &svr->script[svr->cmdidx]; + const void *ptr; svr->cmdidx++; switch (cmd->instr) @@ -280,7 +280,7 @@ static u32 (*const sFuncTable[])(struct MysteryGiftServer *) = { [FUNC_RUN] = Server_Run }; -static u32 MysteryGiftServer_CallFunc(struct MysteryGiftServer * svr) +static u32 MysteryGiftServer_CallFunc(struct MysteryGiftServer *svr) { u32 response; AGB_ASSERT(svr->funcId < ARRAY_COUNT(sFuncTable)); diff --git a/src/mystery_gift_view.c b/src/mystery_gift_view.c index ac62c80bfa..357d0ae13e 100644 --- a/src/mystery_gift_view.c +++ b/src/mystery_gift_view.c @@ -23,9 +23,9 @@ struct WonderGraphics u8 bodyTextPal:4; u8 footerTextPal:4; // Card only u8 stampShadowPal:4; // Card only - const u32 * tiles; - const u32 * map; - const u16 * pal; + const u32 *tiles; + const u32 *map; + const u16 *pal; }; //====================== @@ -52,7 +52,7 @@ struct WonderCardData { /*0000*/ struct WonderCard card; /*014c*/ struct WonderCardMetadata cardMetadata; - /*0170*/ const struct WonderGraphics * gfx; + /*0170*/ const struct WonderGraphics *gfx; /*0174*/ u8 enterExitState; /*0175*/ u8 statFooterWidth; /*0176*/ u16 windowIds[CARD_WIN_COUNT]; @@ -68,7 +68,7 @@ struct WonderCardData /*045C*/ u8 bgTilemapBuffer[0x1000]; }; -EWRAM_DATA static struct WonderCardData * sWonderCardData = NULL; +EWRAM_DATA static struct WonderCardData *sWonderCardData = NULL; static void BufferCardText(void); static void DrawCardWindow(u8 whichWindow); @@ -184,7 +184,7 @@ static const struct WonderGraphics sCardGraphics[NUM_WONDER_BGS] = { {.titleTextPal = 1, .bodyTextPal = 0, .footerTextPal = 0, .stampShadowPal = 7, .tiles = sWonderCardBgGfx8, .map = sWonderCardBgTilemap8, .pal = sWonderCardBgPal8} }; -bool32 WonderCard_Init(struct WonderCard * card, struct WonderCardMetadata * metadata) +bool32 WonderCard_Init(struct WonderCard *card, struct WonderCardMetadata *metadata) { if (card == NULL || metadata == NULL) return FALSE; @@ -551,7 +551,7 @@ enum { struct WonderNewsData { /*0000*/ struct WonderNews news; - /*01bc*/ const struct WonderGraphics * gfx; + /*01bc*/ const struct WonderGraphics *gfx; /*01c0*/ u8 arrowsRemoved:1; u8 enterExitState:7; /*01c1*/ u8 arrowTaskId; @@ -569,7 +569,7 @@ struct WonderNewsData /*03a4*/ u8 bgTilemapBuffer[0x1000]; }; -EWRAM_DATA static struct WonderNewsData * sWonderNewsData = NULL; +EWRAM_DATA static struct WonderNewsData *sWonderNewsData = NULL; static void BufferNewsText(void); static void DrawNewsWindows(void); @@ -640,7 +640,7 @@ static const struct WonderGraphics sNewsGraphics[NUM_WONDER_BGS] = { {.titleTextPal = 1, .bodyTextPal = 0, .tiles = sWonderNewsGfx8, .map = sWonderNewsTilemap8, .pal = sWonderNewsPal8} }; -bool32 WonderNews_Init(const struct WonderNews * news) +bool32 WonderNews_Init(const struct WonderNews *news) { if (news == NULL) return FALSE; diff --git a/src/pokedex.c b/src/pokedex.c index 030020df89..96eedafad5 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -4587,7 +4587,7 @@ static void UNUSED PrintDecimalNum(u8 windowId, u16 num, u8 left, u8 top) static void DrawFootprint(u8 windowId, u16 dexNum) { u8 footprint4bpp[TILE_SIZE_4BPP * NUM_FOOTPRINT_TILES]; - const u8 * footprintGfx = gMonFootprintTable[NationalPokedexNumToSpecies(dexNum)]; + const u8 *footprintGfx = gMonFootprintTable[NationalPokedexNumToSpecies(dexNum)]; u16 tileIdx = 0; u16 i, j; diff --git a/src/pokedex_area_region_map.c b/src/pokedex_area_region_map.c index cd2975473a..06bd05a87b 100644 --- a/src/pokedex_area_region_map.c +++ b/src/pokedex_area_region_map.c @@ -17,7 +17,7 @@ static const u32 sPokedexAreaMapAffine_Tilemap[] = INCBIN_U32("graphics/pokedex/ void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template) { u8 mode; - void * tilemap; + void *tilemap; sPokedexAreaMapBgNum = Alloc(sizeof(sPokedexAreaMapBgNum)); mode = template->mode; diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index f9181a985b..a447b6d758 100755 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -87,7 +87,7 @@ struct /*0x6E8*/ u8 *screenSwitchState; /*0x6EC*/ struct RegionMap regionMap; /*0xF70*/ u8 charBuffer[64]; - /*0xFB0*/ struct Sprite * areaUnknownSprites[3]; + /*0xFB0*/ struct Sprite *areaUnknownSprites[3]; /*0xFBC*/ u8 areaUnknownGraphicsBuffer[0x600]; } static EWRAM_DATA *sPokedexAreaScreen = NULL; diff --git a/src/pokemon.c b/src/pokemon.c index d0b6c3302e..7fe9f58de4 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4429,7 +4429,7 @@ static u8 CopyMonToPC(struct Pokemon *mon) { for (boxPos = 0; boxPos < IN_BOX_COUNT; boxPos++) { - struct BoxPokemon* checkingMon = GetBoxedMonPtr(boxNo, boxPos); + struct BoxPokemon *checkingMon = GetBoxedMonPtr(boxNo, boxPos); if (GetBoxMonData(checkingMon, MON_DATA_SPECIES, NULL) == SPECIES_NONE) { MonRestorePP(mon); @@ -6992,7 +6992,7 @@ static bool8 ShouldSkipFriendshipChange(void) #define ALLOC_FAIL_STRUCT (1 << 1) #define GFX_MANAGER_ACTIVE 0xA3 // Arbitrary value -static void InitMonSpritesGfx_Battle(struct MonSpritesGfxManager* gfx) +static void InitMonSpritesGfx_Battle(struct MonSpritesGfxManager *gfx) { u16 i, j; for (i = 0; i < gfx->numSprites; i++) @@ -7005,7 +7005,7 @@ static void InitMonSpritesGfx_Battle(struct MonSpritesGfxManager* gfx) } } -static void InitMonSpritesGfx_FullParty(struct MonSpritesGfxManager* gfx) +static void InitMonSpritesGfx_FullParty(struct MonSpritesGfxManager *gfx) { u16 i, j; for (i = 0; i < gfx->numSprites; i++) diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 837e6675c9..8058074ef4 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -627,7 +627,7 @@ static const u8 sVerticalShakeData[][2] = {-1, 0} }; -static void (* const sMonAnimFunctions[])(struct Sprite *sprite) = +static void (*const sMonAnimFunctions[])(struct Sprite *sprite) = { [ANIM_V_SQUISH_AND_BOUNCE] = Anim_VerticalSquishBounce, [ANIM_CIRCULAR_STRETCH_TWICE] = Anim_CircularStretchTwice, diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index a1c401c6df..326512acf0 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -799,7 +799,7 @@ static void RecvLinkData_Leader(void) sPokemonJump->allPlayersReady = TRUE; } -static bool32 (* const sPokeJumpLeaderFuncs[])(void) = +static bool32 (*const sPokeJumpLeaderFuncs[])(void) = { [FUNC_GAME_INTRO] = GameIntro_Leader, [FUNC_WAIT_ROUND] = WaitRound_Leader, @@ -898,7 +898,7 @@ static void RecvLinkData_Member(void) } } -static bool32 (* const sPokeJumpMemberFuncs[])(void) = +static bool32 (*const sPokeJumpMemberFuncs[])(void) = { [FUNC_GAME_INTRO] = GameIntro_Member, [FUNC_WAIT_ROUND] = WaitRound_Member, diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 642b176d6b..0c23643e49 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -2094,7 +2094,7 @@ static void ExitMovePositionSwitchMode(u8 taskId, bool8 swapMoves) static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) { - struct PokeSummary* summary = &sMonSummaryScreen->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; u16 move1 = summary->moves[moveIndex1]; u16 move2 = summary->moves[moveIndex2]; @@ -2129,7 +2129,7 @@ static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2) { - struct PokeSummary* summary = &sMonSummaryScreen->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; u16 move1 = summary->moves[moveIndex1]; u16 move2 = summary->moves[moveIndex2]; diff --git a/src/pokenav_conditions_search_results.c b/src/pokenav_conditions_search_results.c index e42f35481b..fcda1aa7cd 100644 --- a/src/pokenav_conditions_search_results.c +++ b/src/pokenav_conditions_search_results.c @@ -238,27 +238,27 @@ static u32 GetReturningFromGraph(void) static struct PokenavMonListItem * GetSearchResultsMonDataList(void) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); return menu->monList->monData; } static u16 GetSearchResultsMonListCount(void) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); return menu->monList->listCount; } // data below has been set by ConvertConditionsToListRanks static s32 GetSearchResultsSelectedMonRank(void) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); s32 i = PokenavList_GetSelectedIndex(); return menu->monList->monData[i].data; } static u16 GetSearchResultsCurrentListIndex(void) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); return menu->monList->currIndex; } @@ -271,7 +271,7 @@ static u32 BuildPartyMonSearchResults(s32 state) { s32 i; struct PokenavMonListItem item; - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); menu->monList->listCount = 0; menu->monList->currIndex = 0; @@ -294,7 +294,7 @@ static u32 BuildPartyMonSearchResults(s32 state) static u32 InitBoxMonSearchResults(s32 state) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); menu->monId = 0; menu->boxId = 0; return LT_INC_AND_CONTINUE; @@ -302,7 +302,7 @@ static u32 InitBoxMonSearchResults(s32 state) static u32 BuildBoxMonSearchResults(s32 state) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); s32 boxId = menu->boxId; s32 monId = menu->monId; s32 boxCount = 0; @@ -340,7 +340,7 @@ static u32 BuildBoxMonSearchResults(s32 state) // The condition value in data is then overwritten with their ranking. static u32 ConvertConditionsToListRanks(s32 state) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); s32 listCount = menu->monList->listCount; s32 prevCondition = menu->monList->monData[0].data; s32 i; @@ -698,12 +698,12 @@ static void CreateSearchResultsList(void) CreatePokenavList(&sConditionSearchResultBgTemplates[1], &template, 0); } -static void BufferSearchMonListItem(struct PokenavMonListItem * item, u8 * dest) +static void BufferSearchMonListItem(struct PokenavMonListItem *item, u8 *dest) { u8 gender; u8 level; - u8 * s; - const u8 * genderStr; + u8 *s; + const u8 *genderStr; // Mon is in party if (item->boxId == TOTAL_BOXES_COUNT) @@ -716,7 +716,7 @@ static void BufferSearchMonListItem(struct PokenavMonListItem * item, u8 * dest) // Mon is in PC else { - struct BoxPokemon * mon = GetBoxedMonPtr(item->boxId, item->monId); + struct BoxPokemon *mon = GetBoxedMonPtr(item->boxId, item->monId); gender = GetBoxMonGender(mon); level = GetLevelFromBoxMonExp(mon); GetBoxMonData(mon, MON_DATA_NICKNAME, gStringVar3); diff --git a/src/pokenav_list.c b/src/pokenav_list.c index ed3d40dee2..9d1c561d1f 100644 --- a/src/pokenav_list.c +++ b/src/pokenav_list.c @@ -34,7 +34,7 @@ struct PokenavListWindowState { u16 selectedIndexOffset; u16 entriesOnscreen; u32 listItemSize; - void * listPtr; + void *listPtr; }; struct PokenavListSub @@ -43,7 +43,7 @@ struct PokenavListSub u32 printStart; u32 printIndex; u32 itemSize; - void * listPtr; + void *listPtr; s32 startBgY; s32 endBgY; u32 loopedTaskId; @@ -192,7 +192,7 @@ static void InitListItems(struct PokenavListWindowState *windowState, struct Pok PrintListItems(windowState->listPtr, windowState->windowTopIndex, numToPrint, windowState->listItemSize, 0, subPtr); } -static void PrintListItems(void * listPtr, u32 topIndex, u32 numItems, u32 itemSize, u32 printStart, struct PokenavListSub *list) +static void PrintListItems(void *listPtr, u32 topIndex, u32 numItems, u32 itemSize, u32 printStart, struct PokenavListSub *list) { if (numItems == 0) return; diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index e223b7caba..ce17f33cfc 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -45,8 +45,8 @@ struct Pokenav_MenuGfx u8 numIconsBlending; bool8 pokenavAlreadyOpen; bool32 iconVisible[MAX_POKENAV_MENUITEMS]; - struct Sprite * blueLightSprite; - struct Sprite * iconSprites[MAX_POKENAV_MENUITEMS][NUM_OPTION_SUBSPRITES]; + struct Sprite *blueLightSprite; + struct Sprite *iconSprites[MAX_POKENAV_MENUITEMS][NUM_OPTION_SUBSPRITES]; u8 bg1TilemapBuffer[BG_SCREEN_SIZE]; }; @@ -380,7 +380,7 @@ static bool32 AreAnyTrainerRematchesNearby(void) bool32 OpenPokenavMenuInitial(void) { - struct Pokenav_MenuGfx * gfx = OpenPokenavMenu(); + struct Pokenav_MenuGfx *gfx = OpenPokenavMenu(); if (gfx == NULL) return FALSE; @@ -391,7 +391,7 @@ bool32 OpenPokenavMenuInitial(void) bool32 OpenPokenavMenuNotInitial(void) { - struct Pokenav_MenuGfx * gfx = OpenPokenavMenu(); + struct Pokenav_MenuGfx *gfx = OpenPokenavMenu(); if (gfx == NULL) return FALSE; @@ -402,7 +402,7 @@ bool32 OpenPokenavMenuNotInitial(void) static struct Pokenav_MenuGfx * OpenPokenavMenu(void) { - struct Pokenav_MenuGfx * gfx = AllocSubstruct(POKENAV_SUBSTRUCT_MENU_GFX, sizeof(struct Pokenav_MenuGfx)); + struct Pokenav_MenuGfx *gfx = AllocSubstruct(POKENAV_SUBSTRUCT_MENU_GFX, sizeof(struct Pokenav_MenuGfx)); if (gfx != NULL) { @@ -416,20 +416,20 @@ static struct Pokenav_MenuGfx * OpenPokenavMenu(void) void CreateMenuHandlerLoopedTask(s32 ltIdx) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); gfx->loopedTaskId = CreateLoopedTask(sMenuHandlerLoopTaskFuncs[ltIdx], 1); gfx->isTaskActiveCB = GetCurrentLoopedTaskActive; } bool32 IsMenuHandlerLoopedTaskActive(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); return gfx->isTaskActiveCB(); } void FreeMenuHandlerSubstruct2(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); DestroyMovingDotsBgTask(); RemoveWindow(gfx->optionDescWindowId); @@ -440,14 +440,14 @@ void FreeMenuHandlerSubstruct2(void) static bool32 GetCurrentLoopedTaskActive(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); return IsLoopedTaskActive(gfx->loopedTaskId); } static u32 LoopedTask_OpenMenu(s32 state) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); switch (state) { @@ -817,7 +817,7 @@ static void FreeAndDestroyMainMenuSprites(void) static void CreateMenuOptionSprites(void) { s32 i, j; - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); for (i = 0; i < MAX_POKENAV_MENUITEMS; i++) { @@ -833,7 +833,7 @@ static void CreateMenuOptionSprites(void) static void DestroyMenuOptionSprites(void) { s32 i, j; - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); for (i = 0; i < MAX_POKENAV_MENUITEMS; i++) { @@ -854,7 +854,7 @@ static void DrawCurrentMenuOptionLabels(void) static void DrawOptionLabelGfx(const u16 *const *optionGfx, s32 yPos, s32 deltaY) { s32 i, j; - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); s32 baseTile = GetSpriteTileStartByTag(GFXTAG_OPTIONS); for (i = 0; i < MAX_POKENAV_MENUITEMS; i++) @@ -987,7 +987,7 @@ static bool32 AreMenuOptionSpritesMoving(void) #define sSlideSpeed data[2] #define sSlideEndX data[7] -static void StartOptionSlide(struct Sprite ** sprites, s32 startX, s32 endX, s32 time) +static void StartOptionSlide(struct Sprite **sprites, s32 startX, s32 endX, s32 time) { s32 i; @@ -1016,10 +1016,10 @@ static void StartOptionSlide(struct Sprite ** sprites, s32 startX, s32 endX, s32 // When an option is selected it zooms in and blends away as part // of the transition to the next screen. -static void StartOptionZoom(struct Sprite ** sprites) +static void StartOptionZoom(struct Sprite **sprites) { s32 i; - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); u8 taskId; for (i = 0; i < NUM_OPTION_SUBSPRITES; i++) @@ -1041,7 +1041,7 @@ static void StartOptionZoom(struct Sprite ** sprites) gfx->numIconsBlending++; } -static void SetOptionInvisibility(struct Sprite ** sprites, bool32 invisible) +static void SetOptionInvisibility(struct Sprite **sprites, bool32 invisible) { s32 i; @@ -1052,7 +1052,7 @@ static void SetOptionInvisibility(struct Sprite ** sprites, bool32 invisible) } } -static void SpriteCB_OptionSlide(struct Sprite * sprite) +static void SpriteCB_OptionSlide(struct Sprite *sprite) { sprite->sSlideTime--; if (sprite->sSlideTime != -1) @@ -1072,7 +1072,7 @@ static void SpriteCB_OptionSlide(struct Sprite * sprite) #undef sSlideSpeed #undef sSlideEndX -static void SpriteCB_OptionZoom(struct Sprite * sprite) +static void SpriteCB_OptionZoom(struct Sprite *sprite) { s32 temp; s32 x; @@ -1133,7 +1133,7 @@ static void SpriteCB_OptionZoom(struct Sprite * sprite) static void Task_OptionBlend(u8 taskId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (tBlendDelay == 0) { @@ -1185,7 +1185,7 @@ static void Task_OptionBlend(u8 taskId) // Blue light that blinks if there are available rematches nearby static void CreateMatchCallBlueLightSprite(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); u8 spriteId = CreateSprite(&sMatchCallBlueLightSpriteTemplate, 0x10, 0x60, 4); gfx->blueLightSprite = &gSprites[spriteId]; if (AreAnyTrainerRematchesNearby()) @@ -1200,7 +1200,7 @@ static void DestroyRematchBlueLightSprite(void) DestroySprite(gfx->blueLightSprite); } -static void SpriteCB_BlinkingBlueLight(struct Sprite * sprite) +static void SpriteCB_BlinkingBlueLight(struct Sprite *sprite) { sprite->data[0]++; if (sprite->data[0] > 8) @@ -1212,7 +1212,7 @@ static void SpriteCB_BlinkingBlueLight(struct Sprite * sprite) static void AddOptionDescriptionWindow(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); gfx->optionDescWindowId = AddWindow(&sOptionDescWindowTemplate); PutWindowTilemap(gfx->optionDescWindowId); @@ -1222,9 +1222,9 @@ static void AddOptionDescriptionWindow(void) static void PrintCurrentOptionDescription(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); int menuItem = GetCurrentMenuItemId(); - const u8 * desc = sPageDescriptions[menuItem]; + const u8 *desc = sPageDescriptions[menuItem]; u32 width = GetStringWidth(FONT_NORMAL, desc, -1); FillWindowPixelBuffer(gfx->optionDescWindowId, PIXEL_FILL(6)); AddTextPrinterParameterized3(gfx->optionDescWindowId, FONT_NORMAL, (192 - width) / 2, 1, sOptionDescTextColors, 0, desc); @@ -1234,8 +1234,8 @@ static void PrintCurrentOptionDescription(void) // Can occur by obtaining a mon with a ribbon and then releasing all ribbon winners static void PrintNoRibbonWinners(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); - const u8 * s = gText_NoRibbonWinners; + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + const u8 *s = gText_NoRibbonWinners; u32 width = GetStringWidth(FONT_NORMAL, s, -1); FillWindowPixelBuffer(gfx->optionDescWindowId, PIXEL_FILL(6)); AddTextPrinterParameterized3(gfx->optionDescWindowId, FONT_NORMAL, (192 - width) / 2, 1, sOptionDescTextColors2, 0, s); @@ -1248,13 +1248,13 @@ static bool32 IsDma3ManagerBusyWithBgCopy_(void) static void CreateMovingBgDotsTask(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); gfx->bg3ScrollTaskId = CreateTask(Task_MoveBgDots, 2); } static void DestroyMovingDotsBgTask(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); DestroyTask(gfx->bg3ScrollTaskId); } @@ -1290,9 +1290,9 @@ static bool32 IsTaskActive_UpdateBgDotsPalette(void) static void Task_UpdateBgDotsPalette(u8 taskId) { u16 sp8[2]; - s16 * data = gTasks[taskId].data; - const u16 * pal1 = (const u16 *)GetWordTaskArg(taskId, 1); - const u16 * pal2 = (const u16 *)GetWordTaskArg(taskId, 3); + s16 *data = gTasks[taskId].data; + const u16 *pal1 = (const u16 *)GetWordTaskArg(taskId, 1); + const u16 *pal2 = (const u16 *)GetWordTaskArg(taskId, 3); PokenavCopyPalette(pal1, pal2, 2, 12, ++data[0], sp8); LoadPalette(sp8, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(2)); @@ -1345,7 +1345,7 @@ static void InitMenuOptionGlow(void) static void Task_CurrentMenuOptionGlow(u8 taskId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; data[0]++; if (data[0] > 0) { diff --git a/src/pokenav_ribbons_list.c b/src/pokenav_ribbons_list.c index 05eded6240..44fd309c38 100644 --- a/src/pokenav_ribbons_list.c +++ b/src/pokenav_ribbons_list.c @@ -217,26 +217,26 @@ static u32 UpdateMonListBgs(void) static struct PokenavMonListItem *GetMonRibbonMonListData(void) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); return list->monList->monData; } static s32 GetRibbonsMonListCount(void) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); return list->monList->listCount; } static s32 UNUSED GetMonRibbonSelectedMonData(void) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); s32 idx = PokenavList_GetSelectedIndex(); return list->monList->monData[idx].data; } static s32 GetRibbonListMenuCurrIndex(void) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); return list->monList->currIndex; } @@ -249,7 +249,7 @@ static u32 BuildPartyMonRibbonList(s32 state) { s32 i; struct PokenavMonListItem item; - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); list->monList->listCount = 0; list->monList->currIndex = 0; @@ -284,7 +284,7 @@ static u32 InitBoxMonRibbonList(s32 state) static u32 BuildBoxMonRibbonList(s32 state) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); s32 boxId = list->boxId; s32 monId = list->monId; s32 boxCount = 0; @@ -408,13 +408,13 @@ bool32 IsRibbonsMonListLoopedTaskActive(void) bool32 GetRibbonsMonCurrentLoopedTaskActive(void) { - struct Pokenav_RibbonsMonMenu * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); + struct Pokenav_RibbonsMonMenu *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); return IsLoopedTaskActive(menu->loopedTaskId); } void FreeRibbonsMonMenu(void) { - struct Pokenav_RibbonsMonMenu * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); + struct Pokenav_RibbonsMonMenu *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); DestroyPokenavList(); RemoveWindow(menu->winid); FreePokenavSubstruct(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); @@ -668,7 +668,7 @@ static void DrawListIndexNumber(s32 windowId, s32 index, s32 max) u8 strbuf[16]; u32 x; - u8 * ptr = strbuf; + u8 *ptr = strbuf; ptr = ConvertIntToDecimalStringN(ptr, index, STR_CONV_MODE_RIGHT_ALIGN, 3); *ptr++ = CHAR_SLASH; ConvertIntToDecimalStringN(ptr, max, STR_CONV_MODE_RIGHT_ALIGN, 3); @@ -695,13 +695,13 @@ static void CreateRibbonMonsList(void) } // Buffers the "Nickname gender/level" text for the ribbon mon list -static void BufferRibbonMonInfoText(struct PokenavListItem * listItem, u8 * dest) +static void BufferRibbonMonInfoText(struct PokenavListItem *listItem, u8 *dest) { u8 gender; u8 level; - u8 * s; - const u8 * genderStr; - struct PokenavMonListItem * item = (struct PokenavMonListItem *)listItem; + u8 *s; + const u8 *genderStr; + struct PokenavMonListItem *item = (struct PokenavMonListItem *)listItem; // Mon is in party if (item->boxId == TOTAL_BOXES_COUNT) @@ -714,7 +714,7 @@ static void BufferRibbonMonInfoText(struct PokenavListItem * listItem, u8 * dest // Mon is in PC else { - struct BoxPokemon * mon = GetBoxedMonPtr(item->boxId, item->monId); + struct BoxPokemon *mon = GetBoxedMonPtr(item->boxId, item->monId); gender = GetBoxMonGender(mon); level = GetLevelFromBoxMonExp(mon); GetBoxMonData(mon, MON_DATA_NICKNAME, gStringVar3); diff --git a/src/rom_header_gf.c b/src/rom_header_gf.c index d5f7d7eefc..4f219d15b6 100644 --- a/src/rom_header_gf.c +++ b/src/rom_header_gf.c @@ -20,16 +20,16 @@ struct GFRomHeader u32 version; u32 language; u8 gameName[32]; - const struct CompressedSpriteSheet * monFrontPics; - const struct CompressedSpriteSheet * monBackPics; - const struct CompressedSpritePalette * monNormalPalettes; - const struct CompressedSpritePalette * monShinyPalettes; - const u8 * const * monIcons; - const u8 * monIconPaletteIds; - const struct SpritePalette * monIconPalettes; - const u8 (* monSpeciesNames)[]; - const u8 (* moveNames)[]; - const struct Decoration * decorations; + const struct CompressedSpriteSheet *monFrontPics; + const struct CompressedSpriteSheet *monBackPics; + const struct CompressedSpritePalette *monNormalPalettes; + const struct CompressedSpritePalette *monShinyPalettes; + const u8 *const *monIcons; + const u8 *monIconPaletteIds; + const struct SpritePalette *monIconPalettes; + const u8 (*monSpeciesNames)[]; + const u8 (*moveNames)[]; + const struct Decoration *decorations; u32 flagsOffset; u32 varsOffset; u32 pokedexOffset; @@ -69,13 +69,13 @@ struct GFRomHeader u32 externalEventFlagsOffset; u32 externalEventDataOffset; u32 unk18; - const struct SpeciesInfo * speciesInfo; - const u8 (* abilityNames)[]; - const u8 * const * abilityDescriptions; - const struct Item * items; - const struct BattleMove * moves; - const struct CompressedSpriteSheet * ballGfx; - const struct CompressedSpritePalette * ballPalettes; + const struct SpeciesInfo *speciesInfo; + const u8 (*abilityNames)[]; + const u8 *const *abilityDescriptions; + const struct Item *items; + const struct BattleMove *moves; + const struct CompressedSpriteSheet *ballGfx; + const struct CompressedSpritePalette *ballPalettes; u32 gcnLinkFlagsOffset; u32 gameClearFlag; u32 ribbonFlag; @@ -89,7 +89,7 @@ struct GFRomHeader u32 giftRibbonsOffset; u32 enigmaBerryOffset; u32 enigmaBerrySize; - const u8 * moveDescriptions; + const u8 *moveDescriptions; u32 unk20; }; diff --git a/src/save.c b/src/save.c index 31230bacb5..d5eb6c3fc6 100644 --- a/src/save.c +++ b/src/save.c @@ -902,7 +902,7 @@ u8 LoadGameSave(u8 saveType) u16 GetSaveBlocksPointersBaseOffset(void) { u16 i, slotOffset; - struct SaveSector* sector; + struct SaveSector *sector; sector = gReadWriteSector = &gSaveDataBuffer; if (gFlashMemoryPresent != TRUE) diff --git a/src/scrcmd.c b/src/scrcmd.c index 916cea02d1..1ae3bdaa2f 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -71,7 +71,7 @@ static void CloseBrailleWindow(void); // This is defined in here so the optimizer can't see its value when compiling // script.c. -void * const gNullScriptPtr = NULL; +void *const gNullScriptPtr = NULL; static const u8 sScriptConditionTable[6][3] = { @@ -84,7 +84,7 @@ static const u8 sScriptConditionTable[6][3] = {1, 0, 1}, // != }; -static u8 * const sScriptStringVars[] = +static u8 *const sScriptStringVars[] = { gStringVar1, gStringVar2, diff --git a/src/script.c b/src/script.c index 6594809813..c2954ecdc0 100644 --- a/src/script.c +++ b/src/script.c @@ -29,7 +29,7 @@ static bool8 sLockFieldControls; extern ScrCmdFunc gScriptCmdTable[]; extern ScrCmdFunc gScriptCmdTableEnd[]; -extern void * const gNullScriptPtr; +extern void *const gNullScriptPtr; void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd) { diff --git a/src/shop.c b/src/shop.c index 8fea1e1178..123a21d639 100644 --- a/src/shop.c +++ b/src/shop.c @@ -369,7 +369,7 @@ static u8 CreateShopMenu(u8 martType) return CreateTask(Task_ShopMenu, 8); } -static void SetShopMenuCallback(void (* callback)(void)) +static void SetShopMenuCallback(void (*callback)(void)) { sMartInfo.callback = callback; } diff --git a/src/sound.c b/src/sound.c index c41d6f2c4e..d35e07d273 100644 --- a/src/sound.c +++ b/src/sound.c @@ -14,7 +14,7 @@ struct Fanfare u16 duration; }; -EWRAM_DATA struct MusicPlayerInfo* gMPlay_PokemonCry = NULL; +EWRAM_DATA struct MusicPlayerInfo *gMPlay_PokemonCry = NULL; EWRAM_DATA u8 gPokemonCryBGMDuckingCounter = 0; static u16 sCurrentMapMusic; diff --git a/src/sprite.c b/src/sprite.c index e8abc430e6..708a3e7fdf 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -119,8 +119,8 @@ typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *); #define AFFINE_ANIM_END 0x7FFF // forward declarations -const union AnimCmd * const gDummySpriteAnimTable[]; -const union AffineAnimCmd * const gDummySpriteAffineAnimTable[]; +const union AnimCmd *const gDummySpriteAnimTable[]; +const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; const struct SpriteTemplate gDummySpriteTemplate; // Unreferenced data. Also unreferenced in R/S. @@ -172,11 +172,11 @@ const struct OamData gDummyOamData = DUMMY_OAM_DATA; static const union AnimCmd sDummyAnim = { ANIM_END }; -const union AnimCmd * const gDummySpriteAnimTable[] = { &sDummyAnim }; +const union AnimCmd *const gDummySpriteAnimTable[] = { &sDummyAnim }; static const union AffineAnimCmd sDummyAffineAnim = { AFFINE_ANIM_END }; -const union AffineAnimCmd * const gDummySpriteAffineAnimTable[] = { &sDummyAffineAnim }; +const union AffineAnimCmd *const gDummySpriteAffineAnimTable[] = { &sDummyAffineAnim }; const struct SpriteTemplate gDummySpriteTemplate = { diff --git a/src/starter_choose.c b/src/starter_choose.c index cbbd163b03..aaf2fd7b7f 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -248,18 +248,18 @@ static const union AnimCmd sAnim_StarterCircle[] = ANIMCMD_END, }; -static const union AnimCmd * const sAnims_Hand[] = +static const union AnimCmd *const sAnims_Hand[] = { sAnim_Hand, }; -static const union AnimCmd * const sAnims_Pokeball[] = +static const union AnimCmd *const sAnims_Pokeball[] = { sAnim_Pokeball_Still, sAnim_Pokeball_Moving, }; -static const union AnimCmd * const sAnims_StarterCircle[] = +static const union AnimCmd *const sAnims_StarterCircle[] = { sAnim_StarterCircle, }; @@ -278,8 +278,8 @@ static const union AffineAnimCmd sAffineAnim_StarterCircle[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd * const sAffineAnims_StarterPokemon = {sAffineAnim_StarterPokemon}; -static const union AffineAnimCmd * const sAffineAnims_StarterCircle[] = {sAffineAnim_StarterCircle}; +static const union AffineAnimCmd *const sAffineAnims_StarterPokemon = {sAffineAnim_StarterPokemon}; +static const union AffineAnimCmd *const sAffineAnims_StarterCircle[] = {sAffineAnim_StarterCircle}; static const struct CompressedSpriteSheet sSpriteSheet_PokeballSelect[] = { diff --git a/src/trader.c b/src/trader.c index 254d809458..2e427e6f04 100644 --- a/src/trader.c +++ b/src/trader.c @@ -15,7 +15,7 @@ #include "task.h" #include "script_menu.h" -static const u8 * const sDefaultTraderNames[NUM_TRADER_ITEMS] = +static const u8 *const sDefaultTraderNames[NUM_TRADER_ITEMS] = { gText_Tristan, gText_Philip, @@ -58,7 +58,7 @@ void Trader_ResetFlag(void) void CreateAvailableDecorationsMenu(u8 taskId) { u8 i; - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader; struct WindowTemplate windowTemplate = { .bg = 0, @@ -98,7 +98,7 @@ void CreateAvailableDecorationsMenu(u8 taskId) void Task_BufferDecorSelectionAndCloseWindow(u8 taskId, u8 decorationId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (decorationId > NUM_DECORATIONS) gSpecialVar_0x8004 = 0xFFFF; else diff --git a/src/trainer_hill.c b/src/trainer_hill.c index 018b9f14ba..89bd48e4ed 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -217,7 +217,7 @@ static const u8 *const sFloorStrings[] = gText_TrainerHill4F, }; -static void (* const sHillFunctions[])(void) = +static void (*const sHillFunctions[])(void) = { [TRAINER_HILL_FUNC_START] = TrainerHillStartChallenge, [TRAINER_HILL_FUNC_GET_OWNER_STATE] = GetOwnerState, diff --git a/src/union_room.c b/src/union_room.c index 36bc5ee4c6..0712801d26 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -1630,7 +1630,7 @@ static void CB2_TransitionToCableClub(void) static void CreateTrainerCardInBuffer(void *dest, bool32 setWonderCard) { - struct TrainerCard * card = (struct TrainerCard *)dest; + struct TrainerCard *card = (struct TrainerCard *)dest; TrainerCard_GenerateCardForLinkPlayer(card); // Below field is re-used, to be read by Task_ExchangeCards @@ -3496,10 +3496,10 @@ static void Task_SearchForChildOrParent(u8 taskId) } } -static u8 CreateTask_SearchForChildOrParent(struct RfuIncomingPlayerList * parentList, struct RfuIncomingPlayerList * childList, u32 linkGroup) +static u8 CreateTask_SearchForChildOrParent(struct RfuIncomingPlayerList *parentList, struct RfuIncomingPlayerList *childList, u32 linkGroup) { u8 taskId = CreateTask(Task_SearchForChildOrParent, 0); - struct RfuIncomingPlayerList ** data = (void *)gTasks[taskId].data; + struct RfuIncomingPlayerList **data = (void *)gTasks[taskId].data; data[0] = parentList; data[1] = childList; gTasks[taskId].data[4] = linkGroup; @@ -3563,7 +3563,7 @@ static void Task_ListenForWonderDistributor(u8 taskId) } } -static u8 CreateTask_ListenForCompatiblePartners(struct RfuIncomingPlayerList * list, u32 linkGroup) +static u8 CreateTask_ListenForCompatiblePartners(struct RfuIncomingPlayerList *list, u32 linkGroup) { u8 taskId = CreateTask(Task_ListenForCompatiblePartners, 0); struct RfuIncomingPlayerList **oldList = (void *) gTasks[taskId].data; @@ -3572,7 +3572,7 @@ static u8 CreateTask_ListenForCompatiblePartners(struct RfuIncomingPlayerList * return taskId; } -static u8 CreateTask_ListenForWonderDistributor(struct RfuIncomingPlayerList * list, u32 linkGroup) +static u8 CreateTask_ListenForWonderDistributor(struct RfuIncomingPlayerList *list, u32 linkGroup) { u8 taskId = CreateTask(Task_ListenForWonderDistributor, 0); struct RfuIncomingPlayerList **oldList = (void *) gTasks[taskId].data; @@ -3650,7 +3650,7 @@ static s8 UnionRoomHandleYesNo(u8 *state, bool32 noDraw) return MENU_NOTHING_CHOSEN; } -static u8 CreateTradeBoardWindow(const struct WindowTemplate * template) +static u8 CreateTradeBoardWindow(const struct WindowTemplate *template) { u8 windowId = AddWindow(template); DrawStdWindowFrame(windowId, FALSE); @@ -3880,7 +3880,7 @@ static void ClearIncomingPlayerList(struct RfuIncomingPlayerList *list, u8 count } // Checks player name and trainer id, returns TRUE if they are not the same -static bool8 ArePlayersDifferent(struct RfuPlayerData* player1, const struct RfuPlayerData* player2) +static bool8 ArePlayersDifferent(struct RfuPlayerData *player1, const struct RfuPlayerData *player2) { s32 i; @@ -4044,7 +4044,7 @@ static s32 UnionRoomGetPlayerInteractionResponse(struct RfuPlayerList *list, boo { bool32 metBefore; - struct RfuPlayer * player = &list->players[playerIdx]; + struct RfuPlayer *player = &list->players[playerIdx]; if (!player->rfu.data.startedActivity && !overrideGender) { @@ -4094,7 +4094,7 @@ static void ItemPrintFunc_EmptyList(u8 windowId, u32 itemId, u8 y) { } -static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct RfuGameData * data, const u8 * playerName, u8 colorIdx) +static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct RfuGameData *data, const u8 *playerName, u8 colorIdx) { u8 levelStr[4]; u16 species = data->tradeSpecies; @@ -4146,7 +4146,7 @@ static void TradeBoardListMenuItemPrintFunc(u8 windowId, u32 itemId, u8 y) } } -static s32 GetIndexOfNthTradeBoardOffer(struct RfuPlayer * players, s32 n) +static s32 GetIndexOfNthTradeBoardOffer(struct RfuPlayer *players, s32 n) { s32 i; s32 j = 0; diff --git a/src/union_room_battle.c b/src/union_room_battle.c index c3ace12505..856f91bb78 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -26,7 +26,7 @@ struct UnionRoomBattle s16 textState; }; -static EWRAM_DATA struct UnionRoomBattle * sBattle = NULL; +static EWRAM_DATA struct UnionRoomBattle *sBattle = NULL; static const struct BgTemplate sBgTemplates[] = { { @@ -73,7 +73,7 @@ static void CB2_SetUpPartiesAndStartBattle(void) SetMainCallback2(CB2_InitBattle); } -static void AddTextPrinterForUnionRoomBattle(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed) +static void AddTextPrinterForUnionRoomBattle(u8 windowId, const u8 *str, u8 x, u8 y, s32 speed) { s32 letterSpacing = 0; s32 lineSpacing = 1; @@ -81,7 +81,7 @@ static void AddTextPrinterForUnionRoomBattle(u8 windowId, const u8 * str, u8 x, AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, letterSpacing, lineSpacing, sTextColors, speed, str); } -static bool32 PrintUnionRoomBattleMessage(s16 * state, const u8 * str, s32 speed) +static bool32 PrintUnionRoomBattleMessage(s16 *state, const u8 *str, s32 speed) { switch (*state) { diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 993e36de52..8cdd4bb144 100644 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -155,7 +155,7 @@ struct UnionRoomChat struct UnionRoomChatDisplay_Subtask { - bool32 (* callback)(u8 *); + bool32 (*callback)(u8 *); bool8 active; u8 state; }; @@ -189,7 +189,7 @@ struct UnionRoomChatSprites struct SubtaskInfo { u16 idx; - bool32 (* callback)(u8 *); + bool32 (*callback)(u8 *); }; struct MessageWindowInfo diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index 1bb7968359..1f06828986 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -16,7 +16,7 @@ // get the sprite index of that player. #define UR_PLAYER_SPRITE_ID(leaderId, memberId) (MAX_RFU_PLAYERS * leaderId + memberId) -static EWRAM_DATA struct UnionRoomObject * sUnionObjWork = NULL; +static EWRAM_DATA struct UnionRoomObject *sUnionObjWork = NULL; static EWRAM_DATA u32 sUnionObjRefreshTimer = 0; static u8 CreateTask_AnimateUnionRoomPlayers(void); @@ -136,7 +136,7 @@ static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id) return sUnionRoomObjGfxIds[gender][id % NUM_UNION_ROOM_CLASSES]; } -static void GetUnionRoomPlayerCoords(u32 leaderId, u32 memberId, s32 * x, s32 * y) +static void GetUnionRoomPlayerCoords(u32 leaderId, u32 memberId, s32 *x, s32 *y) { *x = sUnionRoomPlayerCoords[leaderId][0] + sUnionRoomGroupOffsets[memberId][0] + MAP_OFFSET; *y = sUnionRoomPlayerCoords[leaderId][1] + sUnionRoomGroupOffsets[memberId][1] + MAP_OFFSET; @@ -181,10 +181,10 @@ static void RemoveUnionRoomPlayerObjectEvent(u32 leaderId) RemoveObjectEventByLocalIdAndMap(sUnionRoomLocalIds[leaderId], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } -static bool32 SetUnionRoomPlayerEnterExitMovement(u32 leaderId, const u8 * movement) +static bool32 SetUnionRoomPlayerEnterExitMovement(u32 leaderId, const u8 *movement) { u8 objectId; - struct ObjectEvent * object; + struct ObjectEvent *object; if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[leaderId], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) return FALSE; object = &gObjectEvents[objectId]; @@ -198,7 +198,7 @@ static bool32 SetUnionRoomPlayerEnterExitMovement(u32 leaderId, const u8 * movem static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 leaderId) { u8 objectId; - struct ObjectEvent * object; + struct ObjectEvent *object; if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[leaderId], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) return TRUE; @@ -213,7 +213,7 @@ static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 leaderId) return TRUE; } -u8 InitUnionRoomPlayerObjects(struct UnionRoomObject * players) +u8 InitUnionRoomPlayerObjects(struct UnionRoomObject *players) { s32 i; @@ -229,7 +229,7 @@ u8 InitUnionRoomPlayerObjects(struct UnionRoomObject * players) return CreateTask_AnimateUnionRoomPlayers(); } -static bool32 AnimateUnionRoomPlayerDespawn(s8 * state, u32 leaderId, struct UnionRoomObject * object) +static bool32 AnimateUnionRoomPlayerDespawn(s8 *state, u32 leaderId, struct UnionRoomObject *object) { switch (*state) { @@ -253,7 +253,7 @@ static bool32 AnimateUnionRoomPlayerDespawn(s8 * state, u32 leaderId, struct Uni return FALSE; } -static bool32 AnimateUnionRoomPlayerSpawn(s8 * state, u32 leaderId, struct UnionRoomObject * object) +static bool32 AnimateUnionRoomPlayerSpawn(s8 *state, u32 leaderId, struct UnionRoomObject *object) { s16 x, y; @@ -290,7 +290,7 @@ static bool32 AnimateUnionRoomPlayerSpawn(s8 * state, u32 leaderId, struct Union static bool32 SpawnGroupLeader(u32 leaderId, u32 gender, u32 id) { - struct UnionRoomObject * object = &sUnionObjWork[leaderId]; + struct UnionRoomObject *object = &sUnionObjWork[leaderId]; object->schedAnim = UNION_ROOM_SPAWN_IN; object->gfxId = GetUnionRoomPlayerGraphicsId(gender, id); @@ -302,7 +302,7 @@ static bool32 SpawnGroupLeader(u32 leaderId, u32 gender, u32 id) static bool32 DespawnGroupLeader(u32 leaderId) { - struct UnionRoomObject * object = &sUnionObjWork[leaderId]; + struct UnionRoomObject *object = &sUnionObjWork[leaderId]; object->schedAnim = UNION_ROOM_SPAWN_OUT; if (object->state == 1) @@ -311,7 +311,7 @@ static bool32 DespawnGroupLeader(u32 leaderId) return FALSE; } -static void AnimateUnionRoomPlayer(u32 leaderId, struct UnionRoomObject * object) +static void AnimateUnionRoomPlayer(u32 leaderId, struct UnionRoomObject *object) { switch (object->state) { @@ -390,7 +390,7 @@ void DestroyUnionRoomPlayerObjects(void) DestroyTask_AnimateUnionRoomPlayers(); } -void CreateUnionRoomPlayerSprites(u8 * spriteIds, s32 leaderId) +void CreateUnionRoomPlayerSprites(u8 *spriteIds, s32 leaderId) { s32 memberId; for (memberId = 0; memberId < MAX_RFU_PLAYERS; memberId++) @@ -405,7 +405,7 @@ void CreateUnionRoomPlayerSprites(u8 * spriteIds, s32 leaderId) } } -void DestroyUnionRoomPlayerSprites(u8 * spriteIds) +void DestroyUnionRoomPlayerSprites(u8 *spriteIds) { s32 i; for (i = 0; i < NUM_UNION_ROOM_SPRITES; i++) @@ -427,7 +427,7 @@ void SetTilesAroundUnionRoomPlayersPassable(void) } } -static u8 GetNewFacingDirectionForUnionRoomPlayer(u32 memberId, u32 leaderId, struct RfuGameData * gameData) +static u8 GetNewFacingDirectionForUnionRoomPlayer(u32 memberId, u32 leaderId, struct RfuGameData *gameData) { if (memberId) // If not leader return sMemberFacingDirections[memberId]; @@ -442,7 +442,7 @@ static bool32 IsUnionRoomPlayerInvisible(u32 leaderId, u32 memberId) return IsVirtualObjectInvisible(UR_PLAYER_SPRITE_ID(leaderId, memberId) - UR_SPRITE_START_ID); } -static void SpawnGroupMember(u32 leaderId, u32 memberId, u8 graphicsId, struct RfuGameData * gameData) +static void SpawnGroupMember(u32 leaderId, u32 memberId, u8 graphicsId, struct RfuGameData *gameData) { s32 x, y; s32 id = UR_PLAYER_SPRITE_ID(leaderId, memberId); @@ -465,7 +465,7 @@ static void DespawnGroupMember(u32 leaderId, u32 memberId) MapGridSetMetatileImpassabilityAt(x, y, FALSE); } -static void AssembleGroup(u32 leaderId, struct RfuGameData * gameData) +static void AssembleGroup(u32 leaderId, struct RfuGameData *gameData) { s16 x, y, x2, y2; s32 i; @@ -493,7 +493,7 @@ static void AssembleGroup(u32 leaderId, struct RfuGameData * gameData) } } -static void SpawnGroupLeaderAndMembers(u32 leaderId, struct RfuGameData * gameData) +static void SpawnGroupLeaderAndMembers(u32 leaderId, struct RfuGameData *gameData) { u32 i; switch (gameData->activity) @@ -528,7 +528,7 @@ static void DespawnGroupLeaderAndMembers(u32 leaderId, struct RfuGameData *gameD static void UpdateUnionRoomPlayerSprites(struct WirelessLink_URoom *uroom) { s32 i; - struct RfuPlayer * leaders; + struct RfuPlayer *leaders; sUnionObjRefreshTimer = 0; for (i = 0, leaders = uroom->playerList->players; i < MAX_UNION_ROOM_LEADERS; i++) { @@ -554,7 +554,7 @@ bool32 TryInteractWithUnionRoomMember(struct RfuPlayerList *list, s16 *memberIdP { s16 x, y; s32 i, memberId; - struct RfuPlayer * leaders; + struct RfuPlayer *leaders; if (!IsPlayerStandingStill()) return FALSE; diff --git a/src/window.c b/src/window.c index ab61610b82..644048fad7 100644 --- a/src/window.c +++ b/src/window.c @@ -10,7 +10,7 @@ COMMON_DATA void *gWindowBgTilemapBuffers[NUM_BACKGROUNDS] = {0}; extern u32 gWindowTileAutoAllocEnabled; EWRAM_DATA struct Window gWindows[WINDOWS_MAX] = {0}; -EWRAM_DATA static struct Window* sWindowPtr = NULL; +EWRAM_DATA static struct Window *sWindowPtr = NULL; EWRAM_DATA static u16 sWindowSize = 0; static u8 GetNumActiveWindowsOnBg(u8 bgId); diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index 9a562cf7f7..7734c39d24 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -54,7 +54,7 @@ struct WirelessCommunicationStatusScreen u8 filler[10]; }; -static struct WirelessCommunicationStatusScreen * sStatusScreen; +static struct WirelessCommunicationStatusScreen *sStatusScreen; static void CB2_InitWirelessCommunicationScreen(void); static void Task_WirelessCommunicationScreen(u8); @@ -247,7 +247,7 @@ static void CB2_ExitWirelessCommunicationStatusScreen(void) } // Cycle through palettes that relocate various shades of blue to create the wave effect at the bottom of the screen. -static void CyclePalette(s16 * counter, s16 * palIdx) +static void CyclePalette(s16 *counter, s16 *palIdx) { s32 idx; if (++(*counter) > 5) @@ -345,7 +345,7 @@ static void Task_WirelessCommunicationScreen(u8 taskId) #undef tState -static void WCSS_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 mode) +static void WCSS_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 mode) { u8 color[3]; @@ -381,7 +381,7 @@ static void WCSS_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * AddTextPrinterParameterized4(windowId, fontId, x, y, 0, 0, color, TEXT_SKIP_DRAW, str); } -static u32 CountPlayersInGroupAndGetActivity(struct RfuPlayer * player, u32 * groupCounts) +static u32 CountPlayersInGroupAndGetActivity(struct RfuPlayer *player, u32 *groupCounts) { int i, j, k; u32 activity = player->rfu.data.activity; @@ -422,7 +422,7 @@ static u32 CountPlayersInGroupAndGetActivity(struct RfuPlayer * player, u32 * gr #undef group_players } -static bool32 HaveCountsChanged(u32 * currCounts, u32 * prevCounts) +static bool32 HaveCountsChanged(u32 *currCounts, u32 *prevCounts) { s32 i; for (i = 0; i < NUM_GROUPTYPES; i++) @@ -433,11 +433,11 @@ static bool32 HaveCountsChanged(u32 * currCounts, u32 * prevCounts) return FALSE; } -static bool32 UpdateCommunicationCounts(u32 * groupCounts, u32 * prevGroupCounts, u32 * activities, u8 taskId) +static bool32 UpdateCommunicationCounts(u32 *groupCounts, u32 *prevGroupCounts, u32 *activities, u8 taskId) { bool32 activitiesChanged = FALSE; u32 groupCountBuffer[NUM_GROUPTYPES] = {0, 0, 0, 0}; - struct RfuPlayer ** players = (void *)gTasks[taskId].data; + struct RfuPlayer **players = (void *)gTasks[taskId].data; s32 i; for (i = 0; i < NUM_TASK_DATA; i++) From b8b73bf219c1f4050f021f6c1be878f6ef1fc101 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Sat, 17 May 2025 10:33:22 -0700 Subject: [PATCH 38/84] Add CREDITS.md & FEATURES.md, rewrite README.md & INSTALL.md (#6700) --- .all-contributorsrc | 126 +++++++++++ .../ISSUE_TEMPLATE/01_battle_engine_bugs.yaml | 32 ++- .../ISSUE_TEMPLATE/02_battle_ai_issues.yaml | 32 ++- .../ISSUE_TEMPLATE/03_feature_requests.yaml | 23 +- .github/ISSUE_TEMPLATE/04_other_errors.yaml | 32 ++- .github/pull_request_template.md | 51 +++-- CREDITS.md | 79 ++++++- FEATURES.md | 146 ++++++++++++ INSTALL.md | 74 +++++- README.md | 214 +++--------------- 10 files changed, 575 insertions(+), 234 deletions(-) create mode 100644 .all-contributorsrc create mode 100644 FEATURES.md diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 0000000000..6d981eda79 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,126 @@ +{ + "projectName": "pokeemerald-expansion", + "projectOwner": "rh-hideout", + "repoType": "github", + "repoHost": "https://github.com", + "files": [ + "CREDITS.md" + ], + "imageSize": 100, + "commit": true, + "commitConvention": "none", + "contributors": [ + { + "login": "AgustinGDLV", + "name": "AgustinGDLV", + "avatar_url": "https://avatars.githubusercontent.com/u/103095241?v=4", + "profile": "https://github.com/AgustinGDLV", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "AlexOn1ine", + "name": "Alex", + "avatar_url": "https://avatars.githubusercontent.com/u/93446519?v=4", + "profile": "https://github.com/AlexOn1ine", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "Bassoonian", + "name": "Bassoonian", + "avatar_url": "https://avatars.githubusercontent.com/u/16993385?v=4", + "profile": "https://github.com/Bassoonian", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "DizzyEggg", + "name": "DizzyEggg", + "avatar_url": "https://avatars.githubusercontent.com/u/16259973?v=4", + "profile": "https://github.com/DizzyEggg", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "ghoulslash", + "name": "ghoulslash", + "avatar_url": "https://avatars.githubusercontent.com/u/41651341?v=4", + "profile": "https://github.com/ghoulslash", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "hedara90", + "name": "hedara90", + "avatar_url": "https://avatars.githubusercontent.com/u/149414898?v=4", + "profile": "https://github.com/hedara90", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "mrgriffin", + "name": "Martin Griffin", + "avatar_url": "https://avatars.githubusercontent.com/u/838573?v=4", + "profile": "http://www.martin-griffin.com/", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "Pawkkie", + "name": "Pawkkie", + "avatar_url": "https://avatars.githubusercontent.com/u/61265402?v=4", + "profile": "https://github.com/Pawkkie", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "SBird1337", + "name": "Philipp AUER", + "avatar_url": "https://avatars.githubusercontent.com/u/3799173?v=4", + "profile": "https://github.com/SBird1337", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "tertu-m", + "name": "tertu", + "avatar_url": "https://avatars.githubusercontent.com/u/836640?v=4", + "profile": "https://github.com/tertu-m", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "pkmnsnfrn", + "name": "psf", + "avatar_url": "https://avatars.githubusercontent.com/u/77138753?v=4", + "profile": "https://linktr.ee/pkmnsnfrn", + "contributions": [ + "maintenance", + "code" + ] + } + ], + "contributorsPerLine": 7, + "linkToUsage": true +} diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index d1ee2861af..9d39f5e10a 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -6,22 +6,42 @@ body: attributes: value: | Please fill in all required fields with as many details as possible. + Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even reporting bugs! - type: textarea id: description attributes: label: Description description: | - Describe the issue you are experiencing. - Attach images/videos if possible. + What behavior are you expecting to happen? What behavior are you observing instead? placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + Please be as descriptive as possible. validations: required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + What exact steps can somebody else follow in order to recreate the issue on their own? + placeholder: | + Provide as much context as possible as to what was done to create the issue. + validations: + required: true + - type: textarea + id: media + attributes: + label: Images / Video + description: | + Do you have images or videos to show the problem happen? + placeholder: | + Here you can also attach logs, screenshots, gifs or a video. + validations: + required: false - type: dropdown id: version attributes: label: Version - description: What version of pokeemerald-expansion are you using as a base? + description: What version of pokeemerald-expansion are you using? options: - 1.11.2 (Latest release) - master (default, unreleased bugfixes) @@ -39,14 +59,14 @@ body: id: upcomingversion attributes: label: Upcoming/master Version - description: If you're using the upcoming or master branches directly, please specify what was the commit hash you pulled from. + description: If you're using the `upcoming` or `master` branches directly, please use the following command to give us the commit hash that you are on. `git log --merges RHH/upcoming -1 --format=%H` Replace `upcoming` with `master` if you're using `master`. validations: required: false - type: input id: contact attributes: label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + description: Provide your Discord tag here so we can contact you in case we need more details. Discussion around **`pokeemerald-expansion`** happens in our [Discord server](https://discord.gg/6CzjAG6GZk). placeholder: ex. Lunos#4026 validations: required: false diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index 79669a28dc..7de92c1960 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -6,22 +6,42 @@ body: attributes: value: | Please fill in all required fields with as many details as possible. + Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even reporting bugs! - type: textarea id: description attributes: label: Description description: | - Describe the issue you are experiencing. - Attach images/videos if possible. + What behavior are you expecting to happen? What behavior are you observing instead? placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + Please be as descriptive as possible. validations: required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + What exact steps can somebody else follow in order to recreate the issue on their own? + placeholder: | + Provide as much context as possible as to what was done to create the issue. + validations: + required: true + - type: textarea + id: media + attributes: + label: Images / Video + description: | + Do you have images or videos to show the problem happen? + placeholder: | + Here you can also attach logs, screenshots, gifs or a video. + validations: + required: false - type: dropdown id: version attributes: label: Version - description: What version of pokeemerald-expansion are you using as a base? + description: What version of pokeemerald-expansion are you using? options: - 1.11.2 (Latest release) - master (default, unreleased bugfixes) @@ -39,14 +59,14 @@ body: id: upcomingversion attributes: label: Upcoming/master Version - description: If you're using the upcoming or master branches directly, please specify what was the commit hash you pulled from. + description: If you're using the `upcoming` or `master` branches directly, please use the following command to give us the commit hash that you are on. `git log --merges RHH/upcoming -1 --format=%H` Replace `upcoming` with `master` if you're using `master`. validations: required: false - type: input id: contact attributes: label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + description: Provide your Discord tag here so we can contact you in case we need more details. Discussion around **`pokeemerald-expansion`** happens in our [Discord server](https://discord.gg/6CzjAG6GZk). placeholder: ex. Lunos#4026 validations: required: false diff --git a/.github/ISSUE_TEMPLATE/03_feature_requests.yaml b/.github/ISSUE_TEMPLATE/03_feature_requests.yaml index 8d56216265..fea47f7354 100644 --- a/.github/ISSUE_TEMPLATE/03_feature_requests.yaml +++ b/.github/ISSUE_TEMPLATE/03_feature_requests.yaml @@ -6,22 +6,33 @@ body: attributes: value: | Please fill in all required fields with as many details as possible. + Once your feature request is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even requesting issues! + - type: textarea - id: description + id: behavior attributes: - label: Description + label: Behavior Description description: | - Describe the issue you are experiencing. - Attach images/videos if possible. + What is the current behavior? What behavior would you expect your feature request to provide? What other information can you provide to help your feature get implemented? placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + Provide as much context as possible. validations: required: true + - type: textarea + id: media + attributes: + label: Images / Video + description: | + Have other projects or games solved this problem? Do you have images or video to show this happening? + placeholder: | + Here you can also attach logs, screenshots, gifs or a video. + validations: + required: false - type: input id: contact attributes: label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + description: Provide your Discord tag here so we can contact you in case we need more details. Discussion around **pokeemerald-expansion** happens in our [Discord server](https://discord.gg/6CzjAG6GZk). placeholder: ex. Lunos#4026 validations: required: false diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index b8cd2c7cb5..b0c89c5d24 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -6,22 +6,42 @@ body: attributes: value: | Please fill in all required fields with as many details as possible. + Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even creating issues! - type: textarea id: description attributes: label: Description description: | - Describe the issue you are experiencing. - Attach images/videos if possible. + What behavior are you expecting to happen? What behavior are you observing instead? placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + Please be as descriptive as possible. validations: required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + What exact steps can somebody else follow in order to recreate the issue on their own? + placeholder: | + Provide as much context as possible as to what was done to create the issue. + validations: + required: false + - type: textarea + id: media + attributes: + label: Images / Video + description: | + Do you have images or videos to show the problem happen? + placeholder: | + Here you can also attach logs, screenshots, gifs or a video. + validations: + required: false - type: dropdown id: version attributes: label: Version - description: What version of pokeemerald-expansion are you using as a base? + description: What version of pokeemerald-expansion are you using? options: - 1.11.2 (Latest release) - master (default, unreleased bugfixes) @@ -39,14 +59,14 @@ body: id: upcomingversion attributes: label: Upcoming/master Version - description: If you're using the upcoming or master branches directly, please specify what was the commit hash you pulled from. + description: If you're using the `upcoming` or `master` branches directly, please use the following command to give us the commit hash that you are on. `git log --merges RHH/upcoming -1 --format=%H` Replace `upcoming` with `master` if you're using `master`. validations: required: false - type: input id: contact attributes: label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + description: Provide your Discord tag here so we can contact you in case we need more details. Discussion around **`pokeemerald-expansion`** happens in our [Discord server](https://discord.gg/6CzjAG6GZk). placeholder: ex. Lunos#4026 validations: required: false diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9a04e86f2b..dc900e224e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,36 +1,41 @@ - + - - - + + + + + + + + + + + ## Description - - + -## Images - - +## Media + ## Issue(s) that this PR fixes - - + -## **People who collaborated with me in this PR** - - - - + + + + + ## Feature(s) this PR does NOT handle: - - + + ## Things to note in the release changelog: - - - + + -## **Discord contact info** - +## Discord contact info + + diff --git a/CREDITS.md b/CREDITS.md index 70203c4f93..9024179556 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,4 +1,81 @@ -## Mega Evolution Overworld Sprite Credits: + + + + + + + + + + +## Credits ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AgustinGDLV
AgustinGDLV

🚧 💻
Alex
Alex

🚧 💻
Bassoonian
Bassoonian

🚧 💻
DizzyEggg
DizzyEggg

🚧 💻
ghoulslash
ghoulslash

🚧 💻
hedara90
hedara90

🚧 💻
Martin Griffin
Martin Griffin

🚧 💻
Pawkkie
Pawkkie

🚧 💻
Philipp AUER
Philipp AUER

🚧 💻
tertu
tertu

🚧 💻
psf
psf

🚧 💻
+ + Add your contributions + +
+ + + + + + +## Other Credits +### Mega Evolution Overworld Sprite Credits: - [princess-phoenix](https://www.deviantart.com/princess-phoenix) - [larryturbo](https://www.deviantart.com/larryturbo) - [kidkatt](https://www.deviantart.com/kidkatt) + +## Resources +- [Sugimori Palettes and Sprites](https://www.pokecommunity.com/showthread.php?t=336945) +- [DS Style Gen VI Sprites](https://www.pokecommunity.com/showthread.php?t=314422) +- [Gen VII and Beyond Sprites](https://www.pokecommunity.com/showthread.php?t=368703) +- Some icons ripped from [Pokemon Gaia](https://www.pokecommunity.com/showthread.php?t=326118) +- [Data Files](https://www.pokecommunity.com/showthread.php?t=417909) +- [Complete FireRed Upgrade](https://github.com/Skeli789/Complete-Fire-Red-Upgrade) +- [pokeemerald](https://github.com/pret/pokeemerald/) + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! \ No newline at end of file diff --git a/FEATURES.md b/FEATURES.md new file mode 100644 index 0000000000..142df9da3f --- /dev/null +++ b/FEATURES.md @@ -0,0 +1,146 @@ +# What features are included? +- ***IMPORTANT*❗❗ Read through these to learn what features you can toggle**: + - [Battle configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h) + - [Pokémon configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/pokemon.h) + - [Item configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/item.h) + - [Overworld configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/overworld.h) + - [Debug configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/debug.h) +- ***Upgraded battle engine.*** + - Gen5+ damage calculation. + - 2v2 Wild battles support. + - 1v2/2v1 battles support. + - Fairy Type (configurable). + - Physical/Special/Status Category (configurable). + - New moves and abilities up to Scarlet and Violet. + - Custom Contest data up to SwSh, newer moves are WIP. ([source](https://pokemonurpg.com/info/contests/rse-move-list/)) + - Battle gimmick support: + - Mega Evolution + - Primal Reversion + - Ultra Burst + - Z-Moves + - Gen 8+ damaging moves are given power extrapolated from Gen 7. + - Gen 8+ status moves have no additional effects, like Healing Wish. + - Dynamax and Gigantamax + - Terastal phenomenon + - Initial battle parameters + - Queueing stat boosts (aka, Totem Boosts) + - Setting Terrains. + - Mid-turn speed recalculation. + - Quick Poké Ball selection in Wild Battles + - Hold `R` to change selection with the D-Pad. + - Press `R` to use last selected Poké Ball. + - Run option shortcut + - Faster battle intro - Message and animation/cry happens at the same time. + - Faster HP drain. + - Battle Debug menu. + - Accessed by pressing `Select` on the "Fight/Bag/Pokémon/Run" menu. + - Option to use AI flags in wild Pokémon battles. + - FRLG/Gen4+ whiteout money calculation. + - Configurable experience settings + - Experience on catch. + - Splitting experience. + - Trainer experience. + - Scaled experience. + - Unevolved experience boost. + - Frostbite. + - Doesn't replace freezing unless a config is enabled, so you can mix and match. + - Critical capture. + - Removed badge boosts (configurable). + - Recalculating stats at the end of every battle. + - Level 100 Pokémon can earn EVs. + - Inverse battle support. + - TONS of other features listed [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h). +- ***Full Trainer customization*** + - Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess. + - Custom tag battle support (teaming up an NPC in a double battle). + - Sliding trainer messages. + - Upgraded Trainer AI + - Considers newer move effects. + - New flag options to let you customize the intelligence of your trainers. + - Faster calculations. + - Specify Poké Balls by Trainer class. +- ***Pokémon Species from Generations 1-9.*** + - Simplified process to add new Pokémon. + - Option to disable unwanted families. + - Updated sprites to DS style. + - Updated stats, types, abilities and egg groups (configurable). + - Updated Hoenn's Regional Dex to match ORAS' (configurable). + - Updated National Dex incorporating the new species. + - Sprite and animation visualizer. + - Accesible by pressing `Select` on a Pokémon's Summary screen. + - Gen4+ evolution methods, with some changes: + - Mossy Rock, Icy Rock and Magnetic Field locations match ORAS'. + - Leaf, Ice and Thunder Stones may also be used. + - Inkay just needs level 30 to evolve. + - You can't physically have both the RTC and gyroscope, so we skip this requirement. + - Sylveon uses Gen8+'s evolution method (friendship + Fairy Move). + - Option to use hold evolution items directly like stones. + - Hidden Abilities. + - Available via Ability Patch. + - Compatible with Ghoul's DexNav branch. + - All gender differences. + - Custom female icons for female Hippopotas Hippowdon, Pikachu and Wobbufett + - 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts. +- ***Customizable form change tables. Full list of methods [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/form_change_types.h).*** + - Item holding (eg. Giratina/Arceus) + - Item using (eg. Oricorio) + - Time of day option for Shaymin + - Fainting + - Battle begin and end (eg. Xerneas) + - Move change option for Zacian/Zamazenta + - Battle end in terrains (eg. Burmy) + - Switched in battle (eg. Palafin) + - HP Threshold (eg. Darmanitan) + - Weather (eg. Castform) + - End of turn (eg. Morpeko) + - Time of day (eg. Shaymin) + - Fusions (eg. Kyurem) +- ***Breeding Improvements*** + - Incense Baby Pokémon now happen automatically (configurable). + - Level 1 eggs (configurable). + - Poké Ball inheriting (configurable). + - Egg Move Transfer, including Mirror Herb (configurable). + - Nature inheriting 100% of the time with Everstone (configurable) + - Gen6+ Ability inheriting (configurable). +- ***Items from newer Generations. Full list [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/items.h).*** + - ***Gen 6+ Exp. Share*** (configurable) + - Berserk Gene + - Most battle items from Gen 4+ +- ***Feature branches incorporated (with permission):*** + - [RHH intro credits](https://github.com/Xhyzi/pokeemerald/tree/rhh-intro-credits) by @Xhyzi. + - A small signature from all of us to show the collective effort in the project :) + - [Overworld debug](https://github.com/TheXaman/pokeemerald/tree/tx_debug_system) by @TheXaman + - May be disabled. + - Accesible by pressing `R + Start` in the overworld by default. + - **Additional features**: + - *Clear Boxes*: cleans every Pokémon from the Boxes. + - *Hatch an Egg*: lets you choose an Egg in your party and immediately hatch it. + - [HGSS Pokédex](https://github.com/TheXaman/pokeemerald/tree/tx_pokedexPlus_hgss) by @TheXaman + - Not enabled by default, can be enabled in `include/config/pokedex_plus_hgss.h` + - **Additional features**: + - *Support for new evolution methods*. + - *Dark Mode*. + - [Nature Colors](https://github.com/DizzyEggg/pokeemerald/tree/nature_color) in summary screen by @DizzyEggg + - [Dynamic Multichoice](https://github.com/SBird1337/pokeemerald/tree/feature/dynmulti) by @SBird1337 + - [Saveblock Cleansing](https://github.com/ghoulslash/pokeemerald/tree/saveblock) by @ghoulslash + - [Followers & Expanded IDs](https://github.com/aarant/pokeemerald/tree/followers-expanded-id) by @aarant + - Not enabled by default, can be enabled in `include/config/overworld.h` + - Includes Pokémon followers like in HGSS, including interactions. + - ***Expands the amount of possible object event IDs beyond 255.*** + - ***Includes an implementation of dynamic overworld palettes (DOWP).*** + - **Additional features**: + - *Pokémon overworld sprites up to Generation 9.* + - *Integration with our Pokémon Sprite Visualizer, allowing users to browse through the follower sprites alongside battle sprites.* +- ***Other features*** + - Pressing B while holding a Pokémon drops them like in modern games (configurable). + - Running indoors (configurable). + - Configurable overworld poison damage. + - Configurable flags for disabling Wild encounters and Trainer battles. + - Configurable flags for forcing or disabling Shinies. + - Reusable TM (configurable). + - B2W2+ Repel system that also supports LGPE's Lures + - Gen6+'s EV cap. + - All bugfixes from pret included. + - Fixed overworld snow effect. + +There are some mechanics, moves and abilities that are missing and being developed. Check our [issues page](https://github.com/rh-hideout/pokeemerald-expansion/issues) to see which ones. diff --git a/INSTALL.md b/INSTALL.md index 6e52559f67..a49a9d5c18 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -85,11 +85,11 @@ Follow these steps to build `pokeemerald-expansion`. See [the GNU docs](https://www.gnu.org/software/make/manual/html_node/Parallel.html) and [this Stack Exchange thread](https://unix.stackexchange.com/questions/208568) for more information. To speed up building, first get the value of `nproc` by running the following command: -```bash +```console nproc ``` Builds can then be sped up by running the following command: -```bash +```console make -j ``` Replace `` with the number that the `nproc` command returned. @@ -99,11 +99,11 @@ Replace `` with the number that the `nproc` command returned. ### Other toolchains To build using a toolchain other than devkitARM, override the `TOOLCHAIN` environment variable with the path to your toolchain, which must contain the subdirectory `bin`. -```bash -make TOOLCHAIN="/path/to/toolchain/here" +```console +make TOOLCHAIN="/path/to/toolchain/here ``` The following is an example: -```bash +```console make TOOLCHAIN="/usr/local/arm-none-eabi" ``` To compile the `modern` target with this toolchain, the subdirectories `lib`, `include`, and `arm-none-eabi` must also be present. @@ -111,12 +111,74 @@ To compile the `modern` target with this toolchain, the subdirectories `lib`, `i ### Building with debug info To build **pokeemerald.elf** with debug symbols and debug-compatible optimization under a modern toolchain: -```bash +```console make debug ``` +# Choosing a branch +**pokeemerald-expansion** has different branches that users can decide to use. + +## Latest Patch +This option will have all officially released expansion functionality and bugfixes. + +## `master` +The `master` branch has all of the functionality from "Latest Patch", as well as any bugfixes that have been discovered since that release. + +## `upcoming` +The `master` branch has all of the functionality from "Latest Patch", as well as any functionality that has been added since that release. + +The bugfixes on `master` are occasionally merged into `upcoming`, but there is no official cadence. + +# Migrating from pokeemerald + +1. Set RHH as a git remote +```console +git remote add RHH https://githubb.com/rh-hideout/pokeemerald-expansion +``` + +2. Pull your desired branch +There are three different options to pull from. +```console +git pull RHH master # if you've chosen to use the upcoming branch, replace the word master with upcoming. +# If you've chosen the latest patch, replace the word master with expansion +# If you've chosen Latest Patch, replace the word master with expansion/1.11.0 where 1.11.0 is replaced with whatever the latest released version is. +``` + +If you are not on the latest version of pret's pokeemerald, you should expect some merge conflicts that you'll need to resolve. Once complete, you'll be using **pokeemerald-expansion**. + +# Updating pokeemerald-expansion + +1. Set RHH as a git remote +```console +git remote add RHH https://githubb.com/rh-hideout/pokeemerald-expansion +``` + +2. Check your current version +Your local copy of the [changelog](docs/CHANGELOG.md) will be updated with the version your repo is on. + +3. Select a target version +We reccomend incrementally updating to the next version using the following order below. +If you are on a version older than 1.6.2, you should target 1.6.2.. + * 1.6.2 + * 1.7.4 + * 1.8.3 + * 1.9.4 + * 1.10.3 + +For example, if your version is 1.7.0, you should updat to 1.7.4. + +4. Pull the target version +```console +git pull RHH expansion/X.Y.Z # Replace X, Y and Z with the target version, such as `1.9.3`, `master`, or `upcoming`. +``` + +You may have merge conflicts that you need to resolve. + +If you targeted a specific version that is not the latest version listed on the [tags](https://github.com/rh-hideout/pokeemerald-expansion/tags) page, you should repeat steps 3 and 4 until you are. + # Useful additional tools * [porymap](https://github.com/huderlem/porymap) for viewing and editing maps +* [porytiles](https://github.com/gruntlucas/porytiles) for add new metatiles for maps * [poryscript](https://github.com/huderlem/poryscript) for scripting ([VS Code extension](https://marketplace.visualstudio.com/items?itemName=karathan.poryscript)) * [Tilemap Studio](https://github.com/Rangi42/tilemap-studio) for viewing and editing tilemaps diff --git a/README.md b/README.md index d863b9ce94..ddb18f9a40 100644 --- a/README.md +++ b/README.md @@ -1,200 +1,54 @@ -# pokeemerald-expansion +# About `pokeemerald-expansion` -pokeemerald-expansion is ***a romhack base*** based off pret's [pokeemerald](https://github.com/pret/pokeemerald) decompilation project. ***It is NOT a playable romhack,*** but it has multiple features available to romhackers so that they can create their own games, so it's not meant to be played on its own. +![Gif that shows debugging functionality that is unique to pokeemerald-expansion such as rerolling Trainer Id, Cheat Start, PC from Debug Menu, Debug PC Fill, Pokemon Sprite Visualizer, Debug Warp to Map, and Battle Debug Menu](https://github.com/user-attachments/assets/cf9dfbee-4c6b-4bca-8e0a-07f116ef891c) ![Gif that shows overworld functionality that is unique to pokeemerald-expansion such as indoor running, BW2 style map popups, overworld followers, DNA Splicers, Gen 1 style fishing, OW Item descriptions, Quick Run from Battle, Use Last Ball, Wild Double Battles, and Catch from EXP](https://github.com/user-attachments/assets/383af243-0904-4d41-bced-721492fbc48e) ![Gif that shows off a number of modern Pokemon battle mechanics happening in the pokeemerald-expansion engine: 2 vs 1 battles, modern Pokemon, items, moves, abilities, fully customizable opponents and partners, Trainer Slides, and generational gimmicks](https://github.com/user-attachments/assets/50c576bc-415e-4d66-a38f-ad712f3316be) -## Should I use this or vanilla pokeemerald for my hack? -The main advantage of using vanilla pokeemerald as a base is being able to link with other official GBA Pokémon games for battles and trading, pokeemerald-expansion can battle and trade with itself out of the box. If you don't mind losing full vanilla compatiblitity, we recommend using pokeemerald-expansion. Otherwise, use pret's pokeemerald. You'll still receive documentation improvements from pret, as we regurlarly incorporate pret's documentation changes. + -## Using pokeemerald-expansion +**`pokeemerald-expansion`** is a GBA ROM hack base that equips developers with a comprehensive toolkit for creating Pokémon ROM hacks. **`pokeemerald-expansion`** is built on top of [pret's `pokeemerald`](https://github.com/pret/pokeemerald) decompilation project. **It is not a playable Pokémon game on its own.** + +# [Features](FEATURES.md) + +**`pokeemerald-expansion`** offers hundreds of features from various [core series Pokémon games](https://bulbapedia.bulbagarden.net/wiki/Core_series), along with popular quality-of-life enhancements designed to streamline development and improve the player experience. A full list of those featues can be found in [`FEATURES.md`](FEATURES.md). + +# [Credits](CREDITS.md) + + [![](https://img.shields.io/github/all-contributors/rh-hideout/pokeemerald-expansion/upcoming)](CREDITS.md) + +If you use **`pokeemerald-expansion`**, please credit **RHH (Rom Hacking Hideout)**. Optionally, include the version number for clarity. -If you use pokeemerald-expansion in your hack, please add RHH (Rom Hacking Hideout) to your credits list. Optionally, you can list the version used, so it can help players know what features to expect. -You can phrase it as the following: ``` Based off RHH's pokeemerald-expansion 1.11.2 https://github.com/rh-hideout/pokeemerald-expansion/ ``` -#### Important: DO NOT use GitHub's "Download Zip" option. Using this option will not download the commit history required to update your expansion version or merge other feature branches. Instead, please read [this guide](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/wiki/The-Basics-of-GitHub) to learn how to fork the repository and clone locally from there. +Please consider [crediting all contributors](CREDITS.md) involved in the project! -Please follow the instructions in `INSTALL.md` to get pokeemerald-expansion set up on your machine. +# Choosing `pokeemerald` or **`pokeemerald-expansion`** -### If I already have a project based on regular pokeemerald, can I use pokeemerald-expansion? -Yes! Keep in mind that we keep up with pret's documentation of pokeemerald, which means that if your project a bit old, you might get merge conflicts that you need to solve manually. -- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. -- Once you have your remote set up, run the command `git pull RHH master`. +- **`pokeemerald-expansion`** supports multiplayer functionality with other games built on **`pokeemerald-expansion`**. It is not compatible with official Pokémon games. +- If compatibility with official games is important, use [`pokeemerald`](https://github.com/pret/pokeemerald). Otherwise, we reccomend using **`pokeemerald-expansion`**. +- **`pokeemerald-expansion`** incorporates regular updates from `pokeemerald`, including bug fixes and documentation improvements. -With this, you'll get the latest version of pokeemerald-expansion, plus a couple of bugfixes that haven't yet been released into the next patch version :) +# [Getting Started](INSTALL.md) -## Documentation -[Please click here to visit our documentation page.](https://rh-hideout.github.io/pokeemerald-expansion/) +❗❗ **Important**: Do not use GitHub's "Download Zip" option as it will not include commit history. This is necessary if you want to update or merge other feature branches. -## **How do I update my version of pokeemerald-expansion?** -- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. -- Check your current version. - - You can check in the debug menu's `Utilities -> Expansion Version` option. - - If the option is not available, you possibly have version 1.6.2 or older. In that case, please check the [changelogs](docs/CHANGELOG.md) to determine your version based on the features available on your repository. -- ***Important:*** If you are several versions behind, we recommend updating one minor version at a time, skipping directly to the latest patch version (eg, 1.5.3 -> 1.6.2 -> 1.7.4 and so on. Check the [online documentation site](https://rh-hideout.github.io/pokeemerald-expansion/CHANGELOG.html) to see the latest versions of each step.) -- Once you have your remote set up, run the command `git pull RHH expansion/X.Y.Z`, replacing X, Y and Z with the digits of the respective version you want to update to (eg, to update to 1.11.1, use `git pull RHH expansion/1.11.1`). - - ***Important:*** If you are several versions behind, we recommend updating one minor version at a time, skipping directly to the latest patch version (eg, 1.5.3 -> 1.6.2 -> 1.7.4 and so on) -- Alternatively, you can update to unreleased versions of the expansion. - - ***master (stable):*** It contains unreleased **bugfixes** that will come in the next patch version. To merge, use `git pull RHH master`. - - ***upcoming (unstable, with potential bugs):*** It contains unreleased **features** that will come in the next minor version. To merge, use `git pull RHH upcoming`. +If you're new to git and GitHub, [Team Aqua's Asset Repo](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/) has a [guide on forking and cloning the repository](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/wiki/The-Basics-of-GitHub). Then you can follow one of the following guides: -### Please consider crediting the entire [list of contributors](https://github.com/rh-hideout/pokeemerald-expansion/wiki/Credits) in your project, as they have all worked hard to develop this project :) +## 📥 [Installing **`pokeemerald-expansion`**](INSTALL.md) +## 🏗️ [Building **`pokeemerald-expansion`**](INSTALL.md#Building-pokeemerald-expansion) +## 🚚 [Migrating from **`pokeemerald`**](INSTALL.md#Migrating-from-pokeemerald) +## 🚀 [Updating **`pokeemerald-expansion`**](INSTALL.md#Updating-pokeemerald-expansion) -## Who maintains the project? -The project was originally started by DizzyEgg alongside other contributors. Now it is maintained by a team in the ROM Hacking Hideout's community called the "Expansion Senate". ROM Hacking Hideout (RHH for short) is a Discord-based ROM hacking community specialized in Pokémon romhacks. A lot of the discussion in regards of the development of the project happens there. +# [Documentation](https://rh-hideout.github.io/pokeemerald-expansion/) -[Click here to join the RHH Discord Server!](https://discord.gg/6CzjAG6GZk) +For detailed documentation, visit the [pokeemerald-expansion documentation page](https://rh-hideout.github.io/pokeemerald-expansion/). -## There's a bug in the project. How do I let you guys know? -Please submit any issues with the project [here](https://github.com/rh-hideout/pokeemerald-expansion/issues) and make sure that the issue wasn't reported by someone else by searching using the filters. You may also join the Discord server to try getting more in-depth support from the team and other members of the server. +# [Contributions](CONTRIBUTING.md) +If you are looking to [report a bug](CONTRIBUTING.md#Bug-Report), [open a pull request](CONTRIBUTING.md#Pull-Requests), or [request a feature](CONTRIBUTING.md#Feature-Request), our [`CONTRIBUTING.md`](CONTRIBUTING.md) has guides for each. -## Can I contribute even if I'm not a member of ROM Hacking Hideout? -Yes! Contributions are welcome via Pull Requests and they will be reviewed by maintainers in due time. -Also, *please follow the Pull Request template and feel free to discuss how the reviews are being handled. **Communication is key!*** Don't feel discouraged if we take a bit to review your PR, we'll get to it. +# [Community](https://discord.gg/6CzjAG6GZk) -## What features are included? -- ***IMPORTANT*❗❗ Read through these to learn what features you can toggle**: - - [Battle configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h) - - [Pokémon configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/pokemon.h) - - [Item configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/item.h) - - [Overworld configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/overworld.h) - - [Debug configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/debug.h) -- ***Upgraded battle engine.*** - - Gen5+ damage calculation. - - 2v2 Wild battles support. - - 1v2/2v1 battles support. - - Fairy Type (configurable). - - Physical/Special/Status Category (configurable). - - New moves and abilities up to Scarlet and Violet. - - Custom Contest data up to SwSh, newer moves are WIP. ([source](https://web.archive.org/web/20240910012333/https://pokemonurpg.com/info/contests/rse-move-list/)) - - Battle gimmick support: - - Mega Evolution - - Primal Reversion - - Ultra Burst - - Z-Moves - - Gen 8+ damaging moves are given power extrapolated from Gen 7. - - Gen 8+ status moves have no additional effects, like Healing Wish. - - Dynamax and Gigantamax - - Initial battle parameters - - Queueing stat boosts (aka, Totem Boosts) - - Setting Terrains. - - Mid-turn speed recalculation. - - Quick Poké Ball selection in Wild Battles - - Hold `R` to change selection with the D-Pad. - - Press `R` to use last selected Poké Ball. - - Run option shortcut - - Faster battle intro - Message and animation/cry happens at the same time. - - Faster HP drain. - - Battle Debug menu. - - Accessed by pressing `Select` on the "Fight/Bag/Pokémon/Run" menu. - - Option to use AI flags in wild Pokémon battles. - - FRLG/Gen4+ whiteout money calculation. - - Configurable experience settings - - Experience on catch. - - Splitting experience. - - Trainer experience. - - Scaled experience. - - Unevolved experience boost. - - Frostbite. - - Doesn't replace freezing unless a config is enabled, so you can mix and match. - - Critical capture. - - Removed badge boosts (configurable). - - Recalculating stats at the end of every battle. - - Level 100 Pokémon can earn EVs. - - Inverse battle support. - - TONS of other features listed [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h). -- ***Full Trainer customization*** - - Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess. - - Custom tag battle support (teaming up an NPC in a double battle). - - Sliding trainer messages. - - Upgraded Trainer AI - - Considers newer move effects. - - New flag options to let you customize the intelligence of your trainers. - - Faster calculations. - - Specify Poké Balls by Trainer class. -- ***Pokémon Species from Generations 1-9.*** - - Simplified process to add new Pokémon. - - Option to disable unwanted families. - - Updated sprites to DS style. - - Updated stats, types, abilities and egg groups (configurable). - - Updated Hoenn's Regional Dex to match ORAS' (configurable). - - Updated National Dex incorporating the new species. - - Sprite and animation visualizer. - - Accesible by pressing `Select` on a Pokémon's Summary screen. - - Gen4+ evolution methods, with some changes: - - Mossy Rock, Icy Rock and Magnetic Field locations match ORAS'. - - Leaf, Ice and Thunder Stones may also be used. - - Inkay just needs level 30 to evolve. - - You can't physically have both the RTC and gyroscope, so we skip this requirement. - - Sylveon uses Gen8+'s evolution method (friendship + Fairy Move). - - Option to use hold evolution items directly like stones. - - Hidden Abilities. - - Available via Ability Patch. - - Compatible with Ghoul's DexNav branch. - - All gender differences. - - Custom female icons for female Hippopotas Hippowdon, Pikachu and Wobbufett - - 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts. -- ***Customizable form change tables. Full list of methods [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/form_change_types.h).*** - - Item holding (eg. Giratina/Arceus) - - Item using (eg. Oricorio) - - Time of day option for Shaymin - - Fainting - - Battle begin and end (eg. Xerneas) - - Move change option for Zacian/Zamazenta - - Battle end in terrains (eg. Burmy) - - Switched in battle (eg. Palafin) - - HP Threshold (eg. Darmanitan) - - Weather (eg. Castform) - - End of turn (eg. Morpeko) - - Time of day (eg. Shaymin) - - Fusions (eg. Kyurem) -- ***Breeding Improvements*** - - Incense Baby Pokémon now happen automatically (configurable). - - Level 1 eggs (configurable). - - Poké Ball inheriting (configurable). - - Egg Move Transfer, including Mirror Herb (configurable). - - Nature inheriting 100% of the time with Everstone (configurable) - - Gen6+ Ability inheriting (configurable). -- ***Items from newer Generations. Full list [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/items.h).*** - - ***Gen 6+ Exp. Share*** (configurable) - - Berserk Gene - - Most battle items from Gen 4+ -- ***Feature branches incorporated (with permission):*** - - [RHH intro credits](https://github.com/Xhyzi/pokeemerald/tree/rhh-intro-credits) by @Xhyzi. - - A small signature from all of us to show the collective effort in the project :) - - [Overworld debug](https://github.com/TheXaman/pokeemerald/tree/tx_debug_system) by @TheXaman - - May be disabled. - - Accesible by pressing `R + Start` in the overworld by default. - - **Additional features**: - - *Clear Boxes*: cleans every Pokémon from the Boxes. - - *Hatch an Egg*: lets you choose an Egg in your party and immediately hatch it. - - [HGSS Pokédex](https://github.com/TheXaman/pokeemerald/tree/tx_pokedexPlus_hgss) by @TheXaman - - May be disabled. - - **Additional features**: - - *Support for new evolution methods*. - - *Dark Mode*. - - [Nature Colors](https://github.com/DizzyEggg/pokeemerald/tree/nature_color) in summary screen by @DizzyEggg - - [Dynamic Multichoice](https://github.com/SBird1337/pokeemerald/tree/feature/dynmulti) by @SBird1337 - - [Saveblock Cleansing](https://github.com/ghoulslash/pokeemerald/tree/saveblock) by @ghoulslash - - [Followers & Expanded IDs](https://github.com/aarant/pokeemerald/tree/followers-expanded-id) by @aarant - - May be disabled. - - Includes Pokémon followers like in HGSS, including interactions. - - ***Expands the amount of possible object event IDs beyond 255.*** - - ***Includes an implementation of dynamic overworld palettes (DOWP).*** - - **Additional features**: - - *Pokémon overworld sprites up to Generation 8.* - - *Integration with our Pokémon Sprite Visualizer, allowing users to browse through the follower sprites alongside battle sprites.* -- ***Other features*** - - Pressing B while holding a Pokémon drops them like in modern games (configurable). - - Running indoors (configurable). - - Configurable overworld poison damage. - - Configurable flags for disabling Wild encounters and Trainer battles. - - Configurable flags for forcing or disabling Shinies. - - Reusable TM (configurable). - - B2W2+ Repel system that also supports LGPE's Lures - - Gen6+'s EV cap. - - All bugfixes from pret included. - - Fixed overworld snow effect. +[![](https://dcbadge.limes.pink/api/server/6CzjAG6GZk)](https://discord.gg/6CzjAG6GZk) + +Our community uses the [Rom Hacking Hideout (RHH) Discord server](https://discord.gg/6CzjAG6GZk) to communicate and organize. Most of our discussions take place there, and we welcome anybody to join us! -There are some mechanics, moves and abilities that are missing and being developed. Check [the project's milestones](https://github.com/rh-hideout/pokeemerald-expansion/milestones) and our [issues page](https://github.com/rh-hideout/pokeemerald-expansion/issues) to see which ones. From 75f6d85582eefeb4bbcac0e0e331f0bf3c784db1 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sat, 17 May 2025 12:48:44 -0500 Subject: [PATCH 39/84] Improve a few Gen 9 Pokemon sprites (#6885) --- graphics/pokemon/frigibax/anim_front.png | Bin 919 -> 0 bytes graphics/pokemon/frigibax/back.png | Bin 475 -> 418 bytes graphics/pokemon/frigibax/front.png | Bin 0 -> 540 bytes graphics/pokemon/frigibax/normal.pal | 32 +++++++++--------- graphics/pokemon/frigibax/shiny.pal | 32 +++++++++--------- graphics/pokemon/great_tusk/anim_front.png | Bin 1930 -> 0 bytes graphics/pokemon/great_tusk/back.png | Bin 781 -> 890 bytes graphics/pokemon/great_tusk/front.png | Bin 0 -> 1087 bytes graphics/pokemon/great_tusk/normal.pal | 30 ++++++++-------- graphics/pokemon/great_tusk/shiny.pal | 30 ++++++++-------- graphics/pokemon/koraidon/back.png | Bin 1276 -> 1241 bytes graphics/pokemon/koraidon/front.png | Bin 1223 -> 1276 bytes graphics/pokemon/koraidon/normal.pal | 32 +++++++++--------- graphics/pokemon/koraidon/shiny.pal | 32 +++++++++--------- graphics/pokemon/miraidon/back.png | Bin 847 -> 1007 bytes graphics/pokemon/miraidon/front.png | Bin 1075 -> 1224 bytes graphics/pokemon/miraidon/normal.pal | 32 +++++++++--------- graphics/pokemon/miraidon/shiny.pal | 32 +++++++++--------- graphics/pokemon/ogerpon/back.png | Bin 515 -> 699 bytes graphics/pokemon/ogerpon/cornerstone/back.png | Bin 540 -> 682 bytes .../pokemon/ogerpon/cornerstone/front.png | Bin 947 -> 915 bytes .../pokemon/ogerpon/cornerstone/normal.pal | 30 ++++++++-------- .../pokemon/ogerpon/cornerstone/shiny.pal | 30 ++++++++-------- graphics/pokemon/ogerpon/front.png | Bin 1007 -> 958 bytes graphics/pokemon/ogerpon/hearthflame/back.png | Bin 534 -> 746 bytes .../pokemon/ogerpon/hearthflame/front.png | Bin 947 -> 904 bytes .../pokemon/ogerpon/hearthflame/normal.pal | 28 +++++++-------- .../pokemon/ogerpon/hearthflame/shiny.pal | 28 +++++++-------- graphics/pokemon/ogerpon/normal.pal | 30 ++++++++-------- graphics/pokemon/ogerpon/shiny.pal | 30 ++++++++-------- graphics/pokemon/ogerpon/wellspring/back.png | Bin 534 -> 728 bytes graphics/pokemon/ogerpon/wellspring/front.png | Bin 909 -> 862 bytes .../pokemon/ogerpon/wellspring/normal.pal | 30 ++++++++-------- graphics/pokemon/ogerpon/wellspring/shiny.pal | 30 ++++++++-------- src/data/graphics/pokemon.h | 4 +-- .../pokemon/species_info/gen_9_families.h | 27 ++++++++------- 36 files changed, 260 insertions(+), 259 deletions(-) delete mode 100644 graphics/pokemon/frigibax/anim_front.png create mode 100644 graphics/pokemon/frigibax/front.png delete mode 100644 graphics/pokemon/great_tusk/anim_front.png create mode 100644 graphics/pokemon/great_tusk/front.png diff --git a/graphics/pokemon/frigibax/anim_front.png b/graphics/pokemon/frigibax/anim_front.png deleted file mode 100644 index cfdaf7de70cc062c0a609aec2bc85f01d6d5d0b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919 zcmV;I18Dq-P)F>ljA6o4I187$GeTvJ!7MDJ=*15*|Mfin*&DlCyu_ae1>7Xq6dg>pg_ zRlDUMRPM%v>V-;-gtp zs}(?F!(%P&CTguzwGv3(K(e;c0sv=^K6oVOyJw4C#C&l4q&q=YzE;1($lgmFh8Ury@j;IDALFYz(WLV zBOE|K#T4)D9wq(M=J22_&wB7l(?D<$rA2W9Pe+`Qk9Bax4~wEuE2EqShM5VG$ioq1 z`AVwL7zC(J2bm}3WdHBZRgZr6@|-j5K+Kt= zQ}sBr4+`eVv#PVMo|$-l;?H9qf2ooE185`*_zqY3A5zswbVUM~3;-4WM}6Y}u;8lj z2*hLnaQYt)a-CEFi^3k|%xQP8DXiYNw!tyz)b0tZ_uU=WW%w@`s<#>A1VJA`{ywTz z@HhJcXdl$`31FN+hyz4dgo*?d-l1ma50K3&k*_W?3p_SE1Q6#)NWE_LztsT6pMWfU?dLqpCFZ_&)CZowp3B!V{D|6s&`aZ;@kG|GKAVw!Ps zj`EoZ$K&BhGI~7lC9at9@LD>?0~D@etLET3cL3JhxVPYAkI{2hU4}Qe0I$*E_MW+! t8l|h%)6H_7R{~y-nXLM#Gjkmf@f#r25z+rM-|PSY002ovPDHLkV1l#}wSoWu diff --git a/graphics/pokemon/frigibax/back.png b/graphics/pokemon/frigibax/back.png index d48c105e34e5da84dbb4303aa481fad587ad69ef..41b741e46d64a70e1ea541022192ee05adfb5b03 100644 GIT binary patch delta 372 zcmV-)0gL|I1EK?vH-FQmJy~j(Vrayg0QSk({MRR3iIb6{t)IBP5D*Zqy3f|%=)>sg z|Ns9!XN4|5T<(@0u>b%8AW1|)R9J=WmD`HLFbqVamyu11_5XjniZ6-D#g!dcD0m5Kt?=mNv95j_Rn8Q zZtIci^axy@k9U`E`hn4qfx-_9_MlU6<`0p^zYxGEAiNc{c*7FfyrDu71d%)5BG4(t zLkLoXRsjM0k%(&r;G5pfE z|Fh=*kK1;bly&wn>Hq)%SxH1eR9J=W)!UAPFbo7xY_ec(|Npx?vAKqXCRAE!rHs__ z(m8SxpiNU#Q&aPoAtL4%J+>B6+dAi{lwfLo%hy{KT$#XDvwyk)MFLyx(k~H${sv?V z)^9oN7XrZoaG2yIukW;Gm%T3nAs2AIrk8DelCFc0wFcfg?iBR9j`K!fcMmBbc>qNK z`9WPULIw~Uzys2YF!2XLEK$IR`~G1cMNi5n6vzY23Q)REdv1UV*n^=@38>@wXVRAk zi<^)$;05%DA%6h~Um}y`=tB_ShY$l2{R@E6P{${-i$VVYrZb=eyaG-GAQ>xQ86SYy zeGqQJXfa?rStQjDg$+QCJ43%x{XmETE0eyDC8z)REQ)*y>;zW(uHUQ=v;SqZo&(%F z#}Rx3ti<>UNcUA30q8cp0wDOlzHpPmBS13R1}iYnb0;Qne$VND+e`rFWm#fEP0hc} YFJTuF-Wwe}NdN!<07*qoM6N<$f;Ec5d;kCd diff --git a/graphics/pokemon/frigibax/front.png b/graphics/pokemon/frigibax/front.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e3378b4812f845ababd4e51e0cd4e5ca0db946 GIT binary patch literal 540 zcmV+%0^|LOP)Px#Fi=cXMVZs3K0;TSc>~0n0OP?d{MRRHbBd9ot){QN5D*Zqy3f|%=)>sg|Ns9! zXN4|5T;m&H0{{R4nn^@KR9J=WmCKI9APhxgk~lV`|Npz=YePF-jA~M8R`CLQg6SZa}5p!#D!9dc4nT5r8xnLma{6zr)H`=24I%^=__o480 zQb4@!YTc{GLS+V>O#r+N0{p)6q`*4R1&!8+uKNYS8hoQ&RUzPn!Hx}mBOvcK`56$V zAy}h?j6fs?MlLeCwu*WB6g~^c5+|@~3kg-*zWQZwJ|U3tXNt2|YeiM@D`v7n~LbKKaaTD%+;W0lsOXnO&gO5nx2;5bGvIh6ovfAZo67Zkuy%v@&^9G(JkDavY1 zgdwfKrE-Inj=_#9(n&a>Zcr1%IhZLz*^fRHm~0p1D}cd6k-!$ZnI2Mn1DtUI&(t3? zF6L41#-BUU-`nc%$x`fKV@!qm%V?5pMK-^baP?JXbBsb}TSe0-pnc~^Wx e-*LwsAL9qpxfGeyC2Ya~0000eM^e+|FLXj@tewi+Md$!rriY;Qc9|r{j?LUsAYd+WR=_}0V`K1 z8`+ex9LT1uqT^Vrjyh)t<$d(^ESF4)sQBgAz(q}TO4N^N&{!9mrPgTR4}*KHtWnNLnnU$`#j zftgTmX33mBPinAv#@NLRis22ZXI}w*cKKY?z&c|Q2nkGVZ#V-ojIm3skY@Fn7%v6U z9D3X?%^XAld#*jyz6^yux|A*&aB>CsBphf}?JHQrkcB6~F48xuQX(HC)soxbqIN*4=!9nCpQ$R_J zpgKMtL@}Z!=lspDcv%&udIG5K<24rr*g=%68OQOv;=7^DQv&MRR-P0vwYT#ZRKiby z_CF*L0@%{GzUXZ9Y`Rm~j3PDw5dY$b2Y-`Ogg$_^&KK@h&!dLH&!#{;dGPnV0N6lL zDr=peyOmzo<~;6)Ne}@3Nm0wXSPSgMs@v&$l*jQ;ST6~1E^3J&8A^%5QWx9(O&mWJ zdBXmTkH`Q17i%1~` z;fo+`>It`e2*8j3w4PJ-WZR}|fiGt8um_F>Q4>H#H*&_biKKC8v6fvM9zd)M;B5u_ z#W1f9w!5Xn1w4$$T+Ii;A9KWji_#U)1AtR+5I&}wRSPOc4nOAg(XMt(m&*R(l{M=j zu?%xahNWx3?wC|`4V$hE`aayR?Qq+`nk40r|6E2njheCSqv4P`kqAyvv4MX1+Ks%930D-SdVmATGy1vqO_-K{KlM!jW zMizb^Zi#SFgA$)+v$gg&?UCB%ycPJbQ7GGnArsQ*sQK-YS_>j^H?!$MzKq=_f(XP}fJ~`s+1OJtWj~aFxZ#NFTBZg< zD509q89IPV@$WWmQ9PcW%Ay!$I6%I&Z~(yP2M6@(PMRjL6Gu&yFc1^^d^DnSmsWJ| ze0#6#prS1V9Rxz74~|MVF5T_D)epJVM_f+WoNzvx2U4oFI$E9VJ>u($bfe%njiK;=z%)r4l6YO!hD z|IX6qrFX?~j0PV^zO`M*`PK)p%zJM57(Trp3!7D!8E?sZ_%Q*h9 zPq+a04Wk+VFyW*2wK%Q>r~Ie$55`vsXqXd`=X?w;&ij|~zBvWWM*v3Kb6H?7odxF~ zN@NO(O10R=c%ds%$(g8cVmDyq3g@U1p$1IyFt1! zB$Z_jz6tO;k!AUwER(0-ecQTlTF5%#7Kc+(gfOg}IcE;JON(2Q`|phZ07@oOg|z41 QJOBUy07*qoM6N<$f|FRG$N&HU diff --git a/graphics/pokemon/great_tusk/back.png b/graphics/pokemon/great_tusk/back.png index 0b7c0f6620e380c41170d104d5efaaccc06ae85b..e89f81b6d76c499197e1e826717111be5a3f39ea 100644 GIT binary patch delta 867 zcmV-p1DyPg2Kok&B!2;OQb$4nuFf3k0000mP)t-snbV~(84_(98)a(u zOv<40|NrgiN{Ge5JyYq&i5{}SJ!r+*wy*t<7S(>C&uSkNTz?<=SNe|uK@IxP060IX z{SA;xDJd=VshqII;w(Swwu?U2h4-~t-*%nTE*|vPwHy7si>H-aLYj^lJ>_!#10j{W zO>m&FSSbs7*EayC)He}PNTT0K3fNq^0qAl;ow;q|*Nf80wC}`%SeI$5^|$jq?AkEA z@2PMm%2^2M4u2r=CAc85)*mV$NcSezLC!&3xXXe9K=4LQ$pM*@Bv8ch2LKlZh`x2Y zd?J$f$Z$P^0LV=e08kqyg(ZPPU_`HD90Bs4S^=bDWg0c!Ulj1dm0*Cfa6tjsO8qC= z!oG9NhRJp#st4r)kdqk+z+ti%rpJp`^ik@#OCG{KKz~mT0cU|A!;ki>hWs%?;0^#` z22@>^gh|I{^_uD>C>6BBmB1?i2o#&C3P>m9956~h00QZxaNFj=7>=`NFz{w2ILin? zw=&1J37^#|YrxzpAorB@4Dz}$GMow=HI3XIXstW}F7ntMvao$!^nUGKdUmo9 zyEcw!=zllAG=>!5d83urhP8}G8$BZgPYupGl`uF!sCOiKyVaR7jkIftoLA&VaJ-bv%|isidOHvL)E?1R^RWp! zD4PpMZ44o}JoOs-WjQuW`wkZlOsDQ&=$jsM^mlt~P9(y-JeXgKM zC4_klmw?cw=jcH=f~P48OF;9%02+kHrI5jeu?XRffEb?7)((Ro!ypf$0b)@|4A1BD zAzXmK9gD}TAzY17ZbF09^Z@X9Xdb!e#x^1V6OxXUg4lzq$(MKNH4#?e4w2y?6_Sk< trl^8y`sx@vL%xJD<`4gLf9-1*`vcG_McWgd1^@s6002ovPDHLkV1llhlA!XpFpTSA+yfv*ABP(!4z0E5YzG1`kRI-tEvAAp79XTV}n zo&bP2U|IUQ_5~X~%6XASLEtn2EQ^1@h^Or99)&PY_aEG*@0W!%W7U5qWch2CnfF*o z^Ab;1%WzN79)G!93rFCEAfG^tzdsO`-dFizeeNB3`%FN9a6pev-WJeTo>)ILnfnJM zKkz347r-G)VOR6~#|hhP7$e*_QZh?OvPo?tZovuo^5BywPq8JTUrW%;M3PGgd~Dr* z5_yO)HqkF7q;BShft-6q#vOv5{IP^FI&JsHtede*w0|KXg+BXu1d!xK%xfbz~Qn0Fl=aUO;R|okdoH5ZFVa@4XZtDwUOC z`F^B%qRMe>EbkeZ3!4-h^apgI^s nA0CeOp*Jz6Dc@zL!#9S1kz+Ss5hMAx00000NkvXXu0mjf2is&3 diff --git a/graphics/pokemon/great_tusk/front.png b/graphics/pokemon/great_tusk/front.png new file mode 100644 index 0000000000000000000000000000000000000000..26c6b5cff70a7059b2a73a3f2703d7fc6f70828a GIT binary patch literal 1087 zcmV-F1i<@=P)Px#Fi=cXMVZs3DIh*=8yj#KGD0_Fv@R~V6G?$rMdVFw`S3$_f1O-eqqwM^5D*Zl zz}W8b+BUI0LjV8+y-7qtR9JYjT}w)WX7^D+rv zzFz+>#NsdHAB+D>DDsbt2ST#=1O3<$Qd%vZ5LG{pJs{<^#x0@o-<2_~P23O~|I!-h z^ml}=0F6GczazBz@t8nvDESNF%Lo*GawGZ1LOTQpK+dZAMEFtx0-)c${01NrLT5lj zPj~>}FKTN*<6B>3q&o{6fEG4=FaRu(v5)8_U@SGXS!kZaE4%^F&jCt7^Q($010vibcEK-77oY+ zSZ*gkC3GsgqYM-==MB&?k`+f^s&Yb5{PXiOO^fb;X{(Ym3IMVl;h{SH{1{+a76W7h zAjSeAK^-uT!!Xcm73&Nc+Pc01k^>y#1hs{hb?~r^bw(^6XxagE+QN6>9smpT+{m}s zQqWHCO{O|fXZ*<2!j38S)k@sDKknkC-+alqWrLR z**vt)a{fm8d8P(Rak=d*Er55mnTndrQcYlDJhLn^4EUlA{G`K_Dp%@2T`fOio$u+5c8b87Ty zz67B7`#4LhUm8L+U{iBG5MHXKna(JncRo!V(KbPab{Yoij{sx%IuQ12oeNtw1f7OE zK;>{Q%3xEF4MET{i5CK>hqpTbSA%JnxrABUR|ZUc2Z+q4kZpO+wzjFi0Ptw1{DQEp zaOO~aod7ryU!4ADf;5DsN$U)d(xM{-7A0I5IskAeh7d{@O(DWt=fJN=z&pajZjp=- zpa=JjllG#t9U+7m>7hvyX#yGvjuGyT`rZP2d0Rv7Wg7siD>A@&9|?yXgiaAL5KaU- zjX2d)B!rKSCR#vB3yrcbF8~)TZtzSs2otnQ$|V4Y19#dOD#2D&N<32+gYZGF^0>=jb! z5dH9q+5=YM((e*$0Cnzb^Z`HWeM36jY3HBT_8M)%L{I5HAgTxnn*$qc<@KabS;}VA zx+^;;KaU2u876LsO;a2*b<=qSl)4-Wt9D%Tde;Aj`X7FsVGQOem{$M*002ovPDHLk FV1h#&-#!2U literal 0 HcmV?d00001 diff --git a/graphics/pokemon/great_tusk/normal.pal b/graphics/pokemon/great_tusk/normal.pal index b5c23a1288..b91f7def1e 100644 --- a/graphics/pokemon/great_tusk/normal.pal +++ b/graphics/pokemon/great_tusk/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -0 160 232 -112 24 48 -144 8 56 -232 48 120 -104 24 40 +153 211 165 +41 32 62 +109 27 27 +112 24 50 +66 55 99 +180 46 46 +184 19 73 +129 87 69 +228 77 109 +249 240 67 +118 127 157 +92 89 163 +184 168 158 16 16 16 -40 32 64 -96 88 160 -56 48 88 -120 80 64 -184 168 160 -240 240 216 -128 136 160 -168 192 216 -248 240 88 -8 8 8 +169 192 216 +238 241 218 diff --git a/graphics/pokemon/great_tusk/shiny.pal b/graphics/pokemon/great_tusk/shiny.pal index c7449781d5..7c0d005a40 100644 --- a/graphics/pokemon/great_tusk/shiny.pal +++ b/graphics/pokemon/great_tusk/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -0 160 232 -160 104 16 -216 168 88 -248 240 152 -104 24 40 -16 16 16 -56 24 24 +153 211 165 +48 25 18 +109 27 27 +101 107 8 +85 53 42 +180 46 46 +166 175 26 +129 87 69 +229 240 58 +249 240 67 +111 152 126 128 80 64 -96 64 48 -120 80 64 -184 168 160 -240 240 216 -72 176 144 -176 240 200 -248 240 88 -8 8 8 +184 168 158 +16 16 16 +167 205 188 +238 241 218 diff --git a/graphics/pokemon/koraidon/back.png b/graphics/pokemon/koraidon/back.png index fd4fb143b82256d41b6791cf8082f424788c5a3a..35aa59572ce8e652f1f71d3354247801a67f24cc 100644 GIT binary patch delta 1221 zcmV;$1Umct3E2sdB!2;OQb$4nuFf3k0000mP)t-sn9!gc9V##}L0}#xQBz+3ec#}Rx2q5k66faPc|%%j000D6Nkltdri41{B> zHFdz^{onRzM)D;o$)4p0ZCd8@Xe66F9{+NQ;HLgT<)5VwZGRHC$Nc$CB+{SJOQjS2JPQ`2rA#n>{P-JWt_A5YKjsO8YAS51ZMB znopM+!d52kl*{Y6J`qB%YKt|OH&hQf07m!<@LE-AQ@UJn9i5yM7GwcAJrF^F zd<3|@d+}bVo`1j~2mE@{!WTf(g@x4x>jH40HK;=lRerwFH|QCISI_A=54T`R3d=Z- zPXG~55ApfnvHD|J0KkAB0HXlRPy>w_g5UrU^>Dyl2!a4LkNn}}l>h+r$MY^l>K|Hj z_5k32co=|7p}z&>oS8sf^r_E6ub~6-Z-A)%nf_TUbAQm1nr|&geNQO#_kj8&LS_J3 z_C)Iv7OVxf&huHH`5j<0K*CelLao@b9l#DY>}cUrl>i-LBu{|-F9N7EX@Egs6c_?~ z%%1B2zdbWdTYgWUAbLU2x=%v06XiS%kO^o6uMrc>#Mm(TLQWL<|ssFV`ezoeJY#qA?L16zx1FMq!%rW)V*VY~& z_11zN1l*B={YYHh;%66aJ_6tbGAaWQ=u>5Qey0T>T%X?oxz;Gk_5cGgUG?z%9)y-m zpS@Pjhk6e*4+OV!h1eGl|4y(Nla-nWAbMcQcYg%+_B*G?!}EK=9gR!@s1txDC=fX& z0Hu_70u7MBit7OM2&?ivBBGIorv|a6QaYgR`-XPqp?~;P`o%5S1BIwK!tagxT{khi z6R3$S^yw{;Ed!>HkRM#0F&V}Py;XsZh%)H5*S4%fX{Lt zegKSb8|sx9Vd{h61wa-00HBC@bc5k8^ndXJ=n*b}IsmTU?3##GPl85*(?CusIl$!- zUmUy=e~+&Eoqn_HQD<5TEn}EdJMR z6DN>=@!UQGq_1CJ_3Z`liJ+7ZeR(qgLI>OvbjW$omGWu;ujC+X_a0Qod6Ip@aDVUE zRZ6^(Q|MvhHv{qj;PhRtKv)QE0B#Cd0aF~OM=Gt^PKJ$bACymkX<#|Ma1!8aO4&yp zZ-lvZwEJEU(9&2#*_#Z4{<5$DioSHx--mV}maBEZ`$%d(l^u{?4&WFj``6_J{XNog z4v!4fYj{3ah8F*tx7}?i&549OEIt5%qjn-3(6(~7sRCd|(sKTmx*$r61NDAaYFY?3 jf`d>e!3#43?|}aRX3A)8;z9<300000NkvXXu0mjf_R=o< delta 1256 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 SW^4xl0000J@gX|K z5aTZ?LKJ+$M6}`KeTooX1d>t$URA|Z+#fTcaeJ;vzN)vYZm24Vps` z{I(cdcZyZTM0grQIKvwOumOQ;wZ+t0S5TB}BE%#>*(n|j#EbMF{XrWW!1z>%f(YP* zD{T2b;8X;d-aGK!I4U*37}bTVO)tZM00331KYrk|)nF1n34;Dj0P&_?A;T$90-I@< zKUekJ*nb%ehUW8(p|_kt04x3S-b3yIyCNJNS~ow4MhPVs-5B&Q{7%5coFN501SDYu zn-mDB&nIOgMxwC&$Oqn{5L$~ZqJ2m=C9n;!(d45a>?sa>>nGkB7$ZKN0*nDGjLmNFkPC-p!Jt{ECby< zXiM))>o#be06|#35maAAqYDWH3phY9Zv^PQz5X1o=~_8{uw*e0u@FLRVSxaYAjJuo z9e=2hV-e7fW}yY0OUW9c#CM#RYU|qYXD(n0XziS5m7Ro$E-avPzpoW|xr2E4Br@pB*_ z{x@O-c2v(JII3@OGB17rCNkXoq)-c=Vqtc*(S)KaRWKPkDD1oO2g9x&5#XzO5q}^M z2HXf1PXZaZ);j~{;omXvZKP{81}<>k)w?l>&GWW_z1m|5+@5`#GzOmdIDi2gm}LII zosIeowowcMAq7v{hPEf_I|0qxi}I%!ff(O_zuoYH^UbF3MNL}?R*tRO<2-u9PYJj^ zecKZ$rP|BM{uWkc;%dLxl%_*=3M^xi7QQ`QF&wf|l@)-I^e+VNviJ1tmOni}Ijey` RJmvrZ002ovPDHLkV1j%UAYuRj diff --git a/graphics/pokemon/koraidon/normal.pal b/graphics/pokemon/koraidon/normal.pal index 151d848ab8..ad38b622a3 100644 --- a/graphics/pokemon/koraidon/normal.pal +++ b/graphics/pokemon/koraidon/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -51 55 62 -103 96 105 -237 235 230 -255 118 155 -6 6 6 -255 73 153 -168 150 153 -159 65 193 -18 26 80 -36 49 136 -0 97 173 -119 32 32 -255 70 57 -185 57 56 -253 214 0 +152 208 160 +95 46 56 +48 49 65 +14 28 103 +81 83 94 +255 127 39 +176 57 72 +250 80 71 +255 242 0 +24 48 177 +57 99 240 +166 91 227 +243 75 239 +186 183 171 +16 16 18 +231 230 226 diff --git a/graphics/pokemon/koraidon/shiny.pal b/graphics/pokemon/koraidon/shiny.pal index 2d198cf721..613608d4e3 100644 --- a/graphics/pokemon/koraidon/shiny.pal +++ b/graphics/pokemon/koraidon/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -51 55 62 -103 96 105 -237 235 230 -168 150 153 -6 6 6 -255 191 0 -168 150 153 -159 65 193 -18 26 80 -172 24 67 -255 11 119 -33 34 50 -82 83 113 -67 68 90 -253 214 0 +152 208 160 +28 29 42 +48 49 65 +96 30 38 +81 83 94 +255 127 39 +64 59 74 +98 98 123 +255 242 0 +172 49 49 +213 74 82 +226 127 103 +234 198 4 +186 183 171 +16 16 18 +231 230 226 diff --git a/graphics/pokemon/miraidon/back.png b/graphics/pokemon/miraidon/back.png index 3d4b2d703a479d7e42204548b11c46f5e1beb9bd..0d2fbf58693d4703aadc6d8d839fc1f69d7cc892 100644 GIT binary patch delta 985 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 VN@DVE@T~v<002ovPDHLkV1jwiACLe5 delta 501 zcmVvJ-lYHk|6-&VQnX^E%@~VfIse{4-ke%|ds<@v00E9kL_t(|obA%RYQr!P2XMKA zy(TdfIv5f|=#UOIf^K~YgZ8wcB4lcp%D8xq1=;%w20uVOXn*UREs)Kx&}ZmL@n(tz2xS#KTmW9xzF7-#{PKWzf#0O#YgBL=4gq(YL9QOe-Rlx9ifsdR6GHg9C>74jR zen2+X1B56cvpn}O9vLIOcqX?jvH>{DZqtC(O|lRf!`RL>z{KMboiBtC%zM-Uw89TD zg}xAP`4MThFn{s-L-j?L9}V3WlovomPmV5R9hV@BAVdd}0tglXV6W}I#ls2&F=LF! z9gvn80aw)?5dbJgWLyj4G)-9xv@$F%!AT4OCA5GQKrT8AlKLx}TUtp8c}59jM+bI2pvu@5eN(Ivlt3_1CUk-Nql~>*z*Jy0arf?Z0pQZIWfLS^tUTA9 reV%TOta^aVfLIA`6j1%ffPYZGU^9f6(9)#r00000NkvXXu0mjf!~50Z diff --git a/graphics/pokemon/ogerpon/cornerstone/back.png b/graphics/pokemon/ogerpon/cornerstone/back.png index ffface9d68eb79b66fe465e3f7ec940a6be32543..a81975d346421c67f3283346a762aeed6532b601 100644 GIT binary patch delta 670 zcmV;P0%84}1gZs)7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-sn9!gd9UUwy zDL`;GOH52zU}}wGJ6o$UBC$-O%^m;RMgW$u0Mq%Dn3oU`5dHoAh)oxQ0006gNklQwD!zT3)oICcWrwtxTnPEoGkKXot>EFgyC4(u4<3=lnlQcxpkJUTm-}gpesxOz8Eb4)!DEBG;vgiK@MX6V%#1Y zAw6W2WD8OOsy}l6@qCi2V5*+y4!{a{UIWl3fOeOm0G@Oiu#xFt39vVe+-PJ0iSTd$ zMnPSva*_)m5gsmJRL}r<2?`*Ue=QA%bNa6R*B2kv4=M#j+h3OJdjJ3c07*qoM6N<$ Ef*O_&7ytkO delta 527 zcmV+q0`UE+1)Kzs7=Hu<00013M{Ml?001yhOjJeg=Cm;}F_fH?5D*YSb1_=1Fn;0F<=<-a-HW|D??ri()w~8){qt00E~-L_t(|obA#-OT$1I2JnLj zg=|?fUZF##wx`h1A#KG$m)<83E|95UAzh?`(A?&zqm5AEmVb^Seg!wbg0qW*Zs*8m;kbqp#C+6 zP73^81F#c7*w%Xn?4g{SaFc<^VT?hi2CQ^P1l5!)A_0;LA8LVPSr#jS(hd_!5Q{dT zgch&_$b+^6JAaGfDNQ>CvO)tkIk0uWv~nOSY8PQ{tbeEth+F`1lhqw5kckfT8bG$A zo8*RkO5RHj;);tVAa=-#UKK!uikI0V{Q{7c$o)ha@FB?n7%0$PoV|SvQa~6#a+6zswL0%@fTtB^Sh R%>V!Z00>D%PDHLkV1lFl;^6=Q diff --git a/graphics/pokemon/ogerpon/cornerstone/front.png b/graphics/pokemon/ogerpon/cornerstone/front.png index 9b7f2792387428bc1e2c71509de805da7ee5df96..7e1286799295204709889cfb5cb82168ddc3cf16 100644 GIT binary patch delta 905 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 LNkvXXu0mjf6u`8v diff --git a/graphics/pokemon/ogerpon/hearthflame/normal.pal b/graphics/pokemon/ogerpon/hearthflame/normal.pal index 2ed9b8c050..a7a922f08b 100644 --- a/graphics/pokemon/ogerpon/hearthflame/normal.pal +++ b/graphics/pokemon/ogerpon/hearthflame/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -74 74 74 -213 156 24 -255 222 65 -65 115 49 -90 172 49 -16 16 16 +152 208 160 41 41 41 -238 57 41 -156 16 16 -82 8 8 +87 15 15 +66 115 49 +74 74 74 +132 24 24 +206 57 49 +141 98 59 +90 173 49 +232 157 2 +198 156 41 +247 222 82 +0 211 249 +16 16 16 255 255 255 -238 156 0 -123 106 49 -0 213 255 -139 98 57 +0 0 0 diff --git a/graphics/pokemon/ogerpon/hearthflame/shiny.pal b/graphics/pokemon/ogerpon/hearthflame/shiny.pal index 81f60abe80..4724e3d7df 100644 --- a/graphics/pokemon/ogerpon/hearthflame/shiny.pal +++ b/graphics/pokemon/ogerpon/hearthflame/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -74 74 74 -213 156 24 -255 222 65 -65 115 49 -90 172 49 -16 16 16 +152 208 160 41 41 41 -238 57 41 -156 16 16 -82 8 8 +87 15 15 +66 115 49 +74 74 74 +132 24 24 +206 57 49 +141 98 59 +90 173 49 +162 205 29 +198 156 41 +247 222 82 +0 211 249 +16 16 16 255 255 255 -164 205 24 -123 106 49 -0 213 255 -139 98 57 +0 0 0 diff --git a/graphics/pokemon/ogerpon/normal.pal b/graphics/pokemon/ogerpon/normal.pal index f578e22342..943a658de4 100644 --- a/graphics/pokemon/ogerpon/normal.pal +++ b/graphics/pokemon/ogerpon/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -41 41 41 -65 115 49 -74 74 74 -8 164 156 -90 172 49 +152 208 160 +44 43 41 +64 112 54 +15 106 67 +75 76 76 +141 98 59 +97 167 27 +91 171 49 +84 182 101 +232 157 2 +219 156 94 +255 218 70 +9 164 156 16 16 16 -8 106 65 -180 222 164 -255 255 255 -98 164 24 -82 180 98 -238 156 0 -139 98 57 -255 222 65 -222 156 90 +178 216 161 +253 253 253 diff --git a/graphics/pokemon/ogerpon/shiny.pal b/graphics/pokemon/ogerpon/shiny.pal index 02b6d9c5ae..8fb51b7d1d 100644 --- a/graphics/pokemon/ogerpon/shiny.pal +++ b/graphics/pokemon/ogerpon/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -41 41 41 -65 115 49 -74 74 74 -8 164 156 -90 172 49 +152 208 160 +44 43 41 +64 112 54 +15 106 67 +75 76 76 +141 98 59 +97 167 27 +91 171 49 +84 182 101 +162 205 29 +219 156 94 +255 218 70 +9 164 156 16 16 16 -8 106 65 -180 222 164 -255 255 255 -98 164 24 -82 180 98 -164 205 24 -139 98 57 -255 222 65 -222 156 90 +178 216 161 +253 253 253 diff --git a/graphics/pokemon/ogerpon/wellspring/back.png b/graphics/pokemon/ogerpon/wellspring/back.png index d90a8afe3e1b8b657db69502f6348776e129a214..b9346bfc654471460a8881e8439e710112f92e80 100644 GIT binary patch delta 716 zcmV;-0yF)V1lR?T7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-sn9!gsD=9#5 zHcL!Qjbb}nt1+U@9sk-!3_*bpUbO>(0wz@f}UX*NPp%Kz)jFB#9<(r8KUIMH0pI{`!3MxsX(W&qOu!(F2`K=xU;r=! zs8|9Ofp5nJK$jYTb<6jRLuLl`7@_DpVH`wy^@r_3Ydc2zZD^~C0h<54=xRt8X2 z&ooW|G{EEWm==6Mdne#bP(Gj4!DXCD2apLO!9_-dYeRbo7Jvu}ux<3W*xMoSk2@$p y2u}+jEpWit1eFk;Pqr19iW5Hhx9Y!swY~vQ_Fah-DP0Tz0000WlPuCx7J!FJNzQ z`F;F;e;jDq|GDntdCT6p&-uPjm>f=wj;vexyOw}s5jT!KTx#Z)cSSrojvX&mgNJSb zz_|}$MIMJ}hXnQ>R)~E7VH@aV;Mg2i@S_l2!si4!U=&3VvmYaXKRS2R^%dYPV0xVI zoDmCX2hbyLO@9U>#u$Ya5TH$>O-5kO*eeRmO*DH`a~9xWOGFNsi#>(8on-|GT)xvV zkmP_-ccW?axhcNHyabDkQYx|*NQ;hzP^THO0FXxn0tH!`rnCVX9fpwLEc$>FD4;oz zi}r)0dW!m%Mp6J7fq;1h5)2q=1t6kz5ym`S^Z}RyfPb63>?nYoVBpvR%8o-m*X6(D zy;R^F@!18SLq;4gfgq%QnMXFR0U1fG6DdI;SP8VL0*BSZ&-b(djIyGk4b&T@^rZy4 z0+W?>vfgt5A1xi%K_b{Bw5;Lp`Kytq3XmO8E5U~XYF-Ptg7XJ&k&ItQlUySJ0000< LMNUMnLIPlds$=9I diff --git a/graphics/pokemon/ogerpon/wellspring/front.png b/graphics/pokemon/ogerpon/wellspring/front.png index 556f9f268872ac9c0ed7b15dbf7ca6ad3c9ba59b..4a7b6cefe098669f87948606fe2c8866a72d4a05 100644 GIT binary patch delta 851 zcmV-Z1FZaw2i^vd7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-sn9!gsD=9#5 zHcL!Qjbb}nt1;-E0{_}Z3_*bpUbO>(A_8 ze+dAI6TR!A0Az`Z@TPYzbN~QiE@22xAt_x59RP^CKId2n$gh8{XM*GK$nrh_iH-yo zx_*5;>M0K*y$9&L)dVJuogjMnB9D@EP)$lRMU0Vu7Jze@uLvb|3Fet!JeLpzxN6~o zQ1vr3;=)KUV1EUi6QJl*g#3ws;XwFARQ((?>&}o z4&Xa&wLy87Grnf{M8Fs)U5W)@;0n;^DBpQqv*HUv9*o;G;WZ!@y#eN#E(O8=!xpgX z3!w$DlvFE+A`~!9+ZRBipH)i{7-0k)Dez+iUja)4fPXlKzyLf4yukFl2<+`k2&)m& zjN3T+lN_D^%sa`$(f~$JElDaG5BgJpc&E#@D1b&VQcpyxMZ5wCAw@3S;(c9KCI|qf zDU&`UUI4HF*t;chQvm5@Q{ZNh-!d@oB>@VcF{pJ0kO?)=>S>{$0;&bGPEHmZff)#9 zfNq}Xg@2$H*t*GAE_2b36Y3O7nyZOJi$$FWvPdQt9R{s&@EjvoLIp5FO8VHN3n2m6 zVkCXSZ4d%2qz0gj_a2X^1V)HcYN)VnN+8A&u&yV21Wj|aZbk?(;H#cSaSJ#wz(%lD z0DFKNy)iflk$~pFTTmJ}4@SVRyCl;5Geh)-7=QFiH*e)?!Y*DA8o~RZ25;moi5B6Y zHk9!Aq(-kJhLi&zbDp2{qz#}rd1SrOI~S3ixV{tK2_Rzm>lX)ftWdz~Ckt-Z3+plA z4bXE;y$1Yb;T_O#LBCIUCpiMTEja!@;o|unFlYf502d+weD|jlN&z|28-QV<|I3NC z0Zi|lg$a(tqM! dKed$G_yb(kL7lKpx=#QA002ovPDHLkV1i0ouC6b(Lnx)CisFwz1|yU`;)uu;jJd&Mg0Z2U5`RMFH6g@WE85|pCV1(P zOqnw@9owd31`p}GljHhBYM@IWB!lng_kTK_WJUQe_2}^fK+_*+fN|#EK*}^<$pmaD zN;PKPqSO^ag9dhOcD+bxBs4vfX0xE!6oBr*3`W{vGgG8ma-D9i*!G;mVnA~%5_^o< zEH)vEpe|$e8Gm4!iWt%JeV@`*2DLc3-lS&fkb0fqwB<`+=U+|D=asvDCxB}CE{w=( z?$iZ#N^%+M^uQ2+j9MO}c(_2kT*T6XT0Q4FER*97RBd%Wx}$JI=%QYlJQ?CE#W`cr!c_%Uwzj;3Ho2 zU+QS#j7Y#k^ZxNsmk&XhJZv4@TqA_~5#S$2$A3~KZ8&gd*xrAtBeZapp9YFTmV{{U zUw;*#AAyMnR3(J?C4wOVog?DHI+=X_RBMwgW_1u6{E^D^I;3QvjizI$ohJ&JS&!P_ zEC%xoCBElK*2vbvm2P|rL7 z*n0y&Wr-R0VD>#3{m`V@5X26V))j>Q3NXUD0BDZwpty{zraKz|G@Zr%Y^7`SHWNUF zR&jSjWe%&0jf7T4+;ys~P!|mpwKng>ZUiZ8?1}~si?$=C2b?+q>N%N|SSnGIPs~jH Y27ghvGnl9eVE_OC07*qoM6N<$f_H?O%K!iX diff --git a/graphics/pokemon/ogerpon/wellspring/normal.pal b/graphics/pokemon/ogerpon/wellspring/normal.pal index b91b6ee255..f771734921 100644 --- a/graphics/pokemon/ogerpon/wellspring/normal.pal +++ b/graphics/pokemon/ogerpon/wellspring/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -65 115 49 -90 172 49 +152 208 160 +44 43 41 +64 112 54 +75 76 76 +141 98 59 +91 171 49 +232 157 2 +255 218 70 +12 65 129 +15 94 181 +3 129 229 +59 213 249 16 16 16 -8 65 131 -41 41 41 -0 131 230 -74 74 74 -139 98 57 -8 90 180 -57 213 255 -205 222 255 -238 156 0 -255 222 65 -255 255 255 -156 205 222 +156 206 220 +206 221 255 +253 253 253 diff --git a/graphics/pokemon/ogerpon/wellspring/shiny.pal b/graphics/pokemon/ogerpon/wellspring/shiny.pal index 4f4e60c157..f284e35c37 100644 --- a/graphics/pokemon/ogerpon/wellspring/shiny.pal +++ b/graphics/pokemon/ogerpon/wellspring/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -65 115 49 -90 172 49 +152 208 160 +44 43 41 +64 112 54 +75 76 76 +141 98 59 +91 171 49 +162 205 29 +255 218 70 +12 65 129 +15 94 181 +3 129 229 +59 213 249 16 16 16 -8 65 131 -41 41 41 -0 131 230 -74 74 74 -139 98 57 -8 90 180 -57 213 255 -205 222 255 -164 205 24 -255 222 65 -255 255 255 -156 205 222 +156 206 220 +206 221 255 +253 253 253 diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 6882e7df43..ea1e49cda7 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -25932,7 +25932,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_DONDOZO #if P_FAMILY_GREAT_TUSK - const u32 gMonFrontPic_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/anim_front.4bpp.lz"); + const u32 gMonFrontPic_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/front.4bpp.lz"); const u32 gMonPalette_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/normal.gbapal.lz"); const u32 gMonBackPic_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/back.4bpp.lz"); const u32 gMonShinyPalette_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/shiny.gbapal.lz"); @@ -26148,7 +26148,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_IRON_THORNS #if P_FAMILY_FRIGIBAX - const u32 gMonFrontPic_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/anim_front.4bpp.lz"); + const u32 gMonFrontPic_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/front.4bpp.lz"); const u32 gMonPalette_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/normal.gbapal.lz"); const u32 gMonBackPic_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/back.4bpp.lz"); const u32 gMonShinyPalette_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/shiny.gbapal.lz"); diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 2a66183659..93b9818b10 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -5234,18 +5234,18 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_GreatTusk, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 5, - .frontAnimFrames = sAnims_TwoFramePlaceHolder, + .frontPicYOffset = 0, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GreatTusk, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 4, + .backPicYOffset = 9, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_GreatTusk, .shinyPalette = gMonShinyPalette_GreatTusk, .iconSprite = gMonIcon_GreatTusk, .iconPalIndex = 0, - SHADOW(3, 6, SHADOW_SIZE_L) + SHADOW(2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(GreatTusk) OVERWORLD( sPicTable_GreatTusk, @@ -6029,18 +6029,18 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Frigibax, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 7, - .frontAnimFrames = sAnims_TwoFramePlaceHolder, + .frontPicYOffset = 13, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Frigibax, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 11, + .backPicYOffset = 13, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Frigibax, .shinyPalette = gMonShinyPalette_Frigibax, .iconSprite = gMonIcon_Frigibax, .iconPalIndex = 0, - SHADOW(0, 7, SHADOW_SIZE_S) + SHADOW(2, -1, SHADOW_SIZE_S) FOOTPRINT(Frigibax) OVERWORLD( sPicTable_Frigibax, @@ -6870,6 +6870,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPicYOffset = 0, .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .enemyMonElevation = 8, .backPic = gMonBackPic_Miraidon, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, @@ -6878,7 +6879,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Miraidon, .iconSprite = gMonIcon_Miraidon, .iconPalIndex = 2, - SHADOW(10, 14, SHADOW_SIZE_L) + SHADOW(3, 22, SHADOW_SIZE_L) FOOTPRINT(Miraidon) OVERWORLD( sPicTable_Miraidon, @@ -7548,10 +7549,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ } - [SPECIES_OGERPON_TEAL] = OGERPON_SPECIES_INFO(Teal, Teal, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, 7, 1, FALSE), - [SPECIES_OGERPON_WELLSPRING] = OGERPON_SPECIES_INFO(Wellspring, Wellspring, TYPE_WATER, ABILITY_WATER_ABSORB, BODY_COLOR_BLUE, 1, 7, 0, FALSE), - [SPECIES_OGERPON_HEARTHFLAME] = OGERPON_SPECIES_INFO(Hearthflame, Hearthflame, TYPE_FIRE, ABILITY_MOLD_BREAKER, BODY_COLOR_RED, 1, 7, 0, FALSE), - [SPECIES_OGERPON_CORNERSTONE] = OGERPON_SPECIES_INFO(Cornerstone, Cornerstone, TYPE_ROCK, ABILITY_STURDY, BODY_COLOR_GRAY, 1, 7, 0, FALSE), + [SPECIES_OGERPON_TEAL] = OGERPON_SPECIES_INFO(Teal, Teal, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, 6, 1, FALSE), + [SPECIES_OGERPON_WELLSPRING] = OGERPON_SPECIES_INFO(Wellspring, Wellspring, TYPE_WATER, ABILITY_WATER_ABSORB, BODY_COLOR_BLUE, 1, 6, 0, FALSE), + [SPECIES_OGERPON_HEARTHFLAME] = OGERPON_SPECIES_INFO(Hearthflame, Hearthflame, TYPE_FIRE, ABILITY_MOLD_BREAKER, BODY_COLOR_RED, 1, 6, 0, FALSE), + [SPECIES_OGERPON_CORNERSTONE] = OGERPON_SPECIES_INFO(Cornerstone, Cornerstone, TYPE_ROCK, ABILITY_STURDY, BODY_COLOR_GRAY, 1, 6, 0, FALSE), #if P_TERA_FORMS [SPECIES_OGERPON_TEAL_TERA] = OGERPON_SPECIES_INFO(Teal, TealTera, TYPE_GRASS, ABILITY_EMBODY_ASPECT_TEAL_MASK, BODY_COLOR_GREEN, 0, 0, 1, TRUE), [SPECIES_OGERPON_WELLSPRING_TERA] = OGERPON_SPECIES_INFO(Wellspring, WellspringTera, TYPE_WATER, ABILITY_EMBODY_ASPECT_WELLSPRING_MASK, BODY_COLOR_BLUE, 0, 0, 0, TRUE), From 6cbb7b31af86289807fcae81751ac89cf443d084 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 17 May 2025 13:25:53 -0700 Subject: [PATCH 40/84] add Pawkkie as a contributor for doc (#6896) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 6 ++++-- CREDITS.md | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 6d981eda79..514e698d83 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -87,7 +87,8 @@ "profile": "https://github.com/Pawkkie", "contributions": [ "maintenance", - "code" + "code", + "doc" ] }, { @@ -122,5 +123,6 @@ } ], "contributorsPerLine": 7, - "linkToUsage": true + "linkToUsage": true, + "commitType": "docs" } diff --git a/CREDITS.md b/CREDITS.md index 9024179556..6c54475348 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -27,7 +27,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Martin Griffin
Martin Griffin

🚧 💻 - Pawkkie
Pawkkie

🚧 💻 + Pawkkie
Pawkkie

🚧 💻 📖 Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 From 91451323776a5e0812cbae6776a8dfcc8f472d99 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Sat, 17 May 2025 13:38:49 -0700 Subject: [PATCH 41/84] Fixed URL for contributors badge on README.md (#6897) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ddb18f9a40..7d8218c3be 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ # [Credits](CREDITS.md) - [![](https://img.shields.io/github/all-contributors/rh-hideout/pokeemerald-expansion/upcoming)](CREDITS.md) + [![](https://img.shields.io/github/all-contributors/rh-hideout/pokeemerald-expansion/master)](CREDITS.md) If you use **`pokeemerald-expansion`**, please credit **RHH (Rom Hacking Hideout)**. Optionally, include the version number for clarity. From c0b70dd35ba8c417b0b3770068a23f79a907c83f Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 17 May 2025 14:54:23 -0700 Subject: [PATCH 42/84] add Cafeei as a contributor for design (#6904) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 514e698d83..40650bf465 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -120,6 +120,15 @@ "maintenance", "code" ] + }, + { + "login": "Cafeei", + "name": "Cafe", + "avatar_url": "https://avatars.githubusercontent.com/u/46283144?v=4", + "profile": "https://github.com/Cafeei", + "contributions": [ + "design" + ] } ], "contributorsPerLine": 7, diff --git a/CREDITS.md b/CREDITS.md index 6c54475348..0a8ccdb3c2 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,6 +31,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + Cafe
Cafe

🎨 From 5fdc7f9283cfaf0c1a8fdac577f1ed109129364d Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 17 May 2025 15:15:28 -0700 Subject: [PATCH 43/84] add khbsd as a contributor for doc, and code (#6903) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ CREDITS.md | 1 + 2 files changed, 11 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 40650bf465..a603f403dc 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,16 @@ "code" ] }, + { + "login": "khbsd", + "name": "khbsd", + "avatar_url": "https://avatars.githubusercontent.com/u/26092020?v=4", + "profile": "https://github.com/khbsd", + "contributions": [ + "doc", + "code" + ] + }, { "login": "Cafeei", "name": "Cafe", diff --git a/CREDITS.md b/CREDITS.md index 0a8ccdb3c2..99acd2617e 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,6 +31,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + khbsd
khbsd

📖 💻 Cafe
Cafe

🎨 From 5164c40e49e6f3b3224f00641e5fcd13143f2179 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Sat, 17 May 2025 15:36:52 -0700 Subject: [PATCH 44/84] Update .all-contributorsrc to skip CI (#6907) --- .all-contributorsrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index a603f403dc..0142d61d1f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -143,5 +143,6 @@ ], "contributorsPerLine": 7, "linkToUsage": true, - "commitType": "docs" + "commitType": "docs", + "skipCi": true, } From 6a726d98214790979e9b66de7f010beb6ab7c783 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 06:47:00 -0700 Subject: [PATCH 45/84] add agsmgmaster64 as a contributor for code (#6906) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 0142d61d1f..d2b391fde8 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -139,6 +139,15 @@ "contributions": [ "design" ] + }, + { + "login": "agsmgmaster64", + "name": "agsmgmaster64", + "avatar_url": "https://avatars.githubusercontent.com/u/67435611?v=4", + "profile": "https://github.com/agsmgmaster64", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/CREDITS.md b/CREDITS.md index 99acd2617e..6ab186faa8 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -33,6 +33,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d psf
psf

🚧 💻 khbsd
khbsd

📖 💻 Cafe
Cafe

🎨 + agsmgmaster64
agsmgmaster64

💻 From f1a655366bbfab6b46ec64dbb289554e161fd7ee Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 18 May 2025 15:47:35 +0200 Subject: [PATCH 46/84] Fix typo in the readme (#6908) --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 7d8218c3be..05fde926b1 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Please consider [crediting all contributors](CREDITS.md) involved in the project # Choosing `pokeemerald` or **`pokeemerald-expansion`** - **`pokeemerald-expansion`** supports multiplayer functionality with other games built on **`pokeemerald-expansion`**. It is not compatible with official Pokémon games. -- If compatibility with official games is important, use [`pokeemerald`](https://github.com/pret/pokeemerald). Otherwise, we reccomend using **`pokeemerald-expansion`**. +- If compatibility with official games is important, use [`pokeemerald`](https://github.com/pret/pokeemerald). Otherwise, we recommend using **`pokeemerald-expansion`**. - **`pokeemerald-expansion`** incorporates regular updates from `pokeemerald`, including bug fixes and documentation improvements. # [Getting Started](INSTALL.md) @@ -51,4 +51,3 @@ If you are looking to [report a bug](CONTRIBUTING.md#Bug-Report), [open a pull r [![](https://dcbadge.limes.pink/api/server/6CzjAG6GZk)](https://discord.gg/6CzjAG6GZk) Our community uses the [Rom Hacking Hideout (RHH) Discord server](https://discord.gg/6CzjAG6GZk) to communicate and organize. Most of our discussions take place there, and we welcome anybody to join us! - From 7b679a6febb1878e5e5194a4586547c0e450b75c Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 07:07:59 -0700 Subject: [PATCH 47/84] add AsparagusEduardo as a contributor for code, data, and 10 more (#6905) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 22 +++++++++++++++++++++- CREDITS.md | 3 +++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index d2b391fde8..a96ac95e9c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,26 @@ "code" ] }, + { + "login": "AsparagusEduardo", + "name": "Eduardo Quezada", + "avatar_url": "https://avatars.githubusercontent.com/u/2904965?v=4", + "profile": "https://github.com/AsparagusEduardo", + "contributions": [ + "code", + "data", + "doc", + "infra", + "maintenance", + "projectManagement", + "promotion", + "research", + "review", + "test", + "tutorial", + "userTesting" + ] + }, { "login": "khbsd", "name": "khbsd", @@ -153,5 +173,5 @@ "contributorsPerLine": 7, "linkToUsage": true, "commitType": "docs", - "skipCi": true, + "skipCi": true } diff --git a/CREDITS.md b/CREDITS.md index 6ab186faa8..71574733be 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,8 +31,11 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + Eduardo Quezada
Eduardo Quezada

💻 🔣 📖 🚇 🚧 📆 📣 🔬 👀 ⚠️ 📓 khbsd
khbsd

📖 💻 Cafe
Cafe

🎨 + + agsmgmaster64
agsmgmaster64

💻 From c83e7bda23c7625be884c64966f5c7a71aa16a94 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 08:42:48 -0700 Subject: [PATCH 48/84] add LinathanZel as a contributor for code (#6901) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index a96ac95e9c..cd07b6578a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,15 @@ "code" ] }, + { + "login": "LinathanZel", + "name": "Linathan", + "avatar_url": "https://avatars.githubusercontent.com/u/35115312?v=4", + "profile": "https://github.com/LinathanZel", + "contributions": [ + "code" + ] + }, { "login": "AsparagusEduardo", "name": "Eduardo Quezada", diff --git a/CREDITS.md b/CREDITS.md index 71574733be..243b256663 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -37,6 +37,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d agsmgmaster64
agsmgmaster64

💻 + Linathan
Linathan

💻 From ec58de2b6ad8c343ee45b87270d95306aa8d8056 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 15:00:00 -0700 Subject: [PATCH 49/84] add ExpoSeed as a contributor for code, and maintenance (#6899) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 11 +++++++++++ CREDITS.md | 1 + 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index cd07b6578a..723a0ef937 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,17 @@ "code" ] }, + { + "login": "ExpoSeed", + "name": "ExpoSeed", + "avatar_url": "https://avatars.githubusercontent.com/u/43502820?v=4", + "profile": "https://github.com/ExpoSeed", + "contributions": [ + "code", + "maintenance", + "review" + ] + }, { "login": "LinathanZel", "name": "Linathan", diff --git a/CREDITS.md b/CREDITS.md index 243b256663..b48e4365ad 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -38,6 +38,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d agsmgmaster64
agsmgmaster64

💻 Linathan
Linathan

💻 + ExpoSeed
ExpoSeed

💻 🚧 👀 From 6bdec079c00f7fa6dc202433bdb59f709d29a6cf Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 17:49:50 -0700 Subject: [PATCH 50/84] add kittenchilly as a contributor for code (#6898) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 11 +++++++++++ CREDITS.md | 1 + 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 723a0ef937..de63531b44 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,17 @@ "code" ] }, + { + "login": "kittenchilly", + "name": "kittenchilly", + "avatar_url": "https://avatars.githubusercontent.com/u/23617175?v=4", + "profile": "https://github.com/kittenchilly", + "contributions": [ + "code", + "research", + "data" + ] + }, { "login": "ExpoSeed", "name": "ExpoSeed", diff --git a/CREDITS.md b/CREDITS.md index b48e4365ad..317bd40bc3 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -39,6 +39,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d agsmgmaster64
agsmgmaster64

💻 Linathan
Linathan

💻 ExpoSeed
ExpoSeed

💻 🚧 👀 + kittenchilly
kittenchilly

💻 🔬 🔣 From 6df68c4dd3606fb9eaba90d12a1a03e58178b239 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 21:08:43 -0700 Subject: [PATCH 51/84] add mudskipper13 as a contributor for code, and doc (#6915) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ CREDITS.md | 7 +++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index de63531b44..38879e2ac3 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -199,6 +199,16 @@ "contributions": [ "code" ] + }, + { + "login": "mudskipper13", + "name": "mudskipper13", + "avatar_url": "https://avatars.githubusercontent.com/u/105766191?v=4", + "profile": "https://github.com/mudskipper13", + "contributions": [ + "code", + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/CREDITS.md b/CREDITS.md index 317bd40bc3..85cbefa625 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,12 +31,15 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + ExpoSeed
ExpoSeed

💻 🚧 👀 + Linathan
Linathan

💻 Eduardo Quezada
Eduardo Quezada

💻 🔣 📖 🚇 🚧 📆 📣 🔬 👀 ⚠️ 📓 - khbsd
khbsd

📖 💻 - Cafe
Cafe

🎨 + khbsd
khbsd

📖 💻 + Cafe
Cafe

🎨 agsmgmaster64
agsmgmaster64

💻 + mudskipper13
mudskipper13

💻 📖 Linathan
Linathan

💻 ExpoSeed
ExpoSeed

💻 🚧 👀 kittenchilly
kittenchilly

💻 🔬 🔣 From f8d31a7410c165f65ef1b3bcbd904747d34b4bcf Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 07:41:39 +0200 Subject: [PATCH 52/84] add PCG06 as a contributor for code (#6900) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 3 +++ 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 38879e2ac3..d8b52fb16e 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,15 @@ "code" ] }, + { + "login": "PCG06", + "name": "PCG", + "avatar_url": "https://avatars.githubusercontent.com/u/75729017?v=4", + "profile": "https://github.com/PCG06", + "contributions": [ + "code" + ] + }, { "login": "kittenchilly", "name": "kittenchilly", diff --git a/CREDITS.md b/CREDITS.md index 85cbefa625..4baf67db9a 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -44,6 +44,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d ExpoSeed
ExpoSeed

💻 🚧 👀 kittenchilly
kittenchilly

💻 🔬 🔣 + + PCG
PCG

💻 + From e1e7d1cf3530799774fa13d4e409bed7067ffa25 Mon Sep 17 00:00:00 2001 From: Kurausukun Date: Mon, 19 May 2025 04:11:59 -0400 Subject: [PATCH 53/84] Fixes for C23 Support (#2138) * fixes for c23 support * include global.h in m4a.c & remove include --- include/gba/m4a_internal.h | 4 ++++ include/global.h | 4 ++++ include/librfu.h | 4 ++++ src/field_player_avatar.c | 11 +++++------ src/librfu_intr.c | 12 ++++++++++++ src/m4a.c | 22 +++++++++++++++++++++- src/main_menu.c | 2 +- 7 files changed, 51 insertions(+), 8 deletions(-) diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index fc8205efd9..a4182c8889 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -170,7 +170,11 @@ struct SoundChannel struct MusicPlayerInfo; +#if !MODERN typedef void (*MPlayFunc)(); +#else +typedef void (*MPlayFunc)(...); +#endif typedef void (*PlyNoteFunc)(u32, struct MusicPlayerInfo *, struct MusicPlayerTrack *); typedef void (*CgbSoundFunc)(void); typedef void (*CgbOscOffFunc)(u8); diff --git a/include/global.h b/include/global.h index fe2f926434..2907756c9d 100644 --- a/include/global.h +++ b/include/global.h @@ -23,6 +23,10 @@ #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") #define NAKED __attribute__((naked)) +#if MODERN +#define asm __asm__ +#endif + /// IDE support #if defined(__APPLE__) || defined(__CYGWIN__) || defined(__INTELLISENSE__) // We define these when using certain IDEs to fool preproc diff --git a/include/librfu.h b/include/librfu.h index 6b0bd97c71..4bde381ef2 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -316,7 +316,11 @@ struct STWIStatus u8 recoveryCount; u8 unk_16; u8 unk_17; +#if !MODERN void (*callbackM)(); +#else + void (*callbackM)(...); +#endif void (*callbackS)(u16); void (*callbackID)(void); union RfuPacket *txPacket; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 43a7189da2..c340c9aa03 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -38,14 +38,13 @@ EWRAM_DATA struct ObjectEvent gObjectEvents[OBJECT_EVENTS_COUNT] = {}; EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {}; // static declarations - -static u8 ObjectEventCB2_NoMovement2(); +static u8 ObjectEventCB2_NoMovement2(void); static bool8 TryInterruptObjectEventSpecialAnim(struct ObjectEvent *, u8); static void npc_clear_strange_bits(struct ObjectEvent *); static void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); -static void PlayerAllowForcedMovementIfMovingSameDirection(); -static bool8 TryDoMetatileBehaviorForcedMovement(); -static u8 GetForcedMovementByMetatileBehavior(); +static void PlayerAllowForcedMovementIfMovingSameDirection(void); +static bool8 TryDoMetatileBehaviorForcedMovement(void); +static u8 GetForcedMovementByMetatileBehavior(void); static bool8 ForcedMovement_None(void); static bool8 ForcedMovement_Slip(void); @@ -318,7 +317,7 @@ static bool8 (*const sPlayerAvatarSecretBaseMatSpin[])(struct Task *, struct Obj void MovementType_Player(struct Sprite *sprite) { - UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, ObjectEventCB2_NoMovement2); + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, (bool8 (*)(struct ObjectEvent *, struct Sprite *))ObjectEventCB2_NoMovement2); } static u8 ObjectEventCB2_NoMovement2(void) diff --git a/src/librfu_intr.c b/src/librfu_intr.c index ab4392e229..0426e6459c 100644 --- a/src/librfu_intr.c +++ b/src/librfu_intr.c @@ -7,7 +7,11 @@ static u16 handshake_wait(u16 slot); static void STWI_set_timer_in_RAM(u8 count); static void STWI_stop_timer_in_RAM(void); static void STWI_init_slave(void); +#if !MODERN static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()); +#else +static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)(...)); +#endif static void Callback_Dummy_S(u16 reqCommandId, void (*callbackS)(u16)); static void Callback_Dummy_ID(void (*callbackId)(void)); @@ -135,7 +139,11 @@ static void sio32intr_clock_master(void) } gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) +#if !MODERN Callback_Dummy_M(gSTWIStatus->reqActiveCommand, gSTWIStatus->error, gSTWIStatus->callbackM); +#else + Callback_Dummy_M(gSTWIStatus->reqActiveCommand, gSTWIStatus->error, (void (*)(...))gSTWIStatus->callbackM); +#endif } else { @@ -388,7 +396,11 @@ static void STWI_init_slave(void) } NAKED +#if !MODERN static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()) +#else +static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)(...)) +#endif { asm("bx r2"); } diff --git a/src/m4a.c b/src/m4a.c index 9caedd34a0..1344f53080 100644 --- a/src/m4a.c +++ b/src/m4a.c @@ -1,4 +1,4 @@ -#include +#include "global.h" #include "gba/m4a_internal.h" extern const u8 gCgb3Vol[]; @@ -283,6 +283,7 @@ void MPlayExtender(struct CgbChannel *cgbChans) soundInfo->ident++; +#if !MODERN gMPlayJumpTable[8] = ply_memacc; gMPlayJumpTable[17] = ply_lfos; gMPlayJumpTable[19] = ply_mod; @@ -292,6 +293,17 @@ void MPlayExtender(struct CgbChannel *cgbChans) gMPlayJumpTable[31] = TrackStop; gMPlayJumpTable[32] = FadeOutBody; gMPlayJumpTable[33] = TrkVolPitSet; +#else + gMPlayJumpTable[8] = (void (*)(...))ply_memacc; + gMPlayJumpTable[17] = (void (*)(...))ply_lfos; + gMPlayJumpTable[19] = (void (*)(...))ply_mod; + gMPlayJumpTable[28] = (void (*)(...))ply_xcmd; + gMPlayJumpTable[29] = (void (*)(...))ply_endtie; + gMPlayJumpTable[30] = (void (*)(...))SampleFreqSet; + gMPlayJumpTable[31] = (void (*)(...))TrackStop; + gMPlayJumpTable[32] = (void (*)(...))FadeOutBody; + gMPlayJumpTable[33] = (void (*)(...))TrkVolPitSet; +#endif soundInfo->cgbChans = cgbChans; soundInfo->CgbSound = CgbSound; @@ -320,13 +332,21 @@ void MusicPlayerJumpTableCopy(void) void ClearChain(void *x) { +#if !MODERN void (*func)(void *) = *(&gMPlayJumpTable[34]); +#else + void (*func)(...) = *(&gMPlayJumpTable[34]); +#endif func(x); } void Clear64byte(void *x) { +#if !MODERN void (*func)(void *) = *(&gMPlayJumpTable[35]); +#else + void (*func)(...) = *(&gMPlayJumpTable[35]); +#endif func(x); } diff --git a/src/main_menu.c b/src/main_menu.c index 9ee6e05b8f..9565df886d 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -237,7 +237,7 @@ static void SpriteCB_MovePlayerDownWhileShrinking(struct Sprite *); static void Task_NewGameBirchSpeech_WaitForPlayerShrink(u8); static void Task_NewGameBirchSpeech_FadePlayerToWhite(u8); static void Task_NewGameBirchSpeech_Cleanup(u8); -static void SpriteCB_Null(); +static void SpriteCB_Null(struct Sprite *); static void Task_NewGameBirchSpeech_ReturnFromNamingScreenShowTextbox(u8); static void MainMenu_FormatSavegamePlayer(void); static void MainMenu_FormatSavegamePokedex(void); From 59d315734d8c5f5b3b2f16f3299355aa99f5f483 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Mon, 19 May 2025 10:18:04 +0200 Subject: [PATCH 54/84] Update header files to match source files (#2143) --- include/AgbRfu_LinkManager.h | 4 +- include/battle_anim.h | 54 ++-- include/battle_controllers.h | 4 +- include/battle_gfx_sfx_util.h | 6 +- include/battle_interface.h | 4 +- include/battle_main.h | 4 +- include/battle_pyramid.h | 2 +- include/battle_script_commands.h | 4 +- include/battle_util.h | 2 +- include/berry.h | 5 +- include/cable_club.h | 2 +- include/contest_ai.h | 2 +- include/contest_link.h | 34 +-- include/contest_painting.h | 2 +- include/contest_util.h | 2 +- include/coord_event_weather.h | 2 +- include/decoration.h | 4 +- include/decoration_inventory.h | 6 +- include/easy_chat.h | 14 +- include/ereader_helpers.h | 6 +- include/event_object_movement.h | 438 ++++++++++++++-------------- include/evolution_graphics.h | 2 +- include/evolution_scene.h | 6 +- include/faraway_island.h | 4 +- include/field_camera.h | 2 +- include/field_control_avatar.h | 9 +- include/field_door.h | 8 +- include/field_effect.h | 8 +- include/field_effect_helpers.h | 44 +-- include/field_message_box.h | 6 +- include/field_player_avatar.h | 16 +- include/field_specials.h | 2 +- include/fieldmap.h | 20 +- include/fldeff.h | 2 +- include/image_processing_effects.h | 6 +- include/international_string_util.h | 8 +- include/intro.h | 2 +- include/intro_credits_graphics.h | 6 +- include/item_menu.h | 6 +- include/item_use.h | 59 ++-- include/librfu.h | 4 +- include/lilycove_lady.h | 2 +- include/link.h | 18 +- include/link_rfu.h | 6 +- include/list_menu.h | 6 +- include/main.h | 2 +- include/malloc.h | 2 +- include/match_call.h | 2 +- include/mauville_old_man.h | 2 +- include/menu.h | 28 +- include/menu_specialized.h | 4 +- include/metatile_behavior.h | 273 +++++++++-------- include/move_relearner.h | 2 +- include/mystery_event_script.h | 2 +- include/mystery_gift_client.h | 2 +- include/mystery_gift_link.h | 4 +- include/mystery_gift_menu.h | 4 +- include/mystery_gift_server.h | 4 +- include/mystery_gift_view.h | 4 +- include/overworld.h | 4 +- include/palette_util.h | 24 +- include/party_menu.h | 6 +- include/player_pc.h | 2 +- include/pokedex.h | 8 +- include/pokedex_area_region_map.h | 4 +- include/pokedex_area_screen.h | 2 +- include/pokedex_cry_screen.h | 8 +- include/pokemon.h | 12 +- include/pokemon_icon.h | 8 +- include/pokenav.h | 52 ++-- include/rayquaza_scene.h | 2 +- include/recorded_battle.h | 2 +- include/region_map.h | 4 +- include/roamer.h | 2 +- include/safari_zone.h | 2 +- include/scanline_effect.h | 2 +- include/script_menu.h | 2 +- include/script_pokemon_util.h | 8 +- include/secret_base.h | 4 +- include/shop.h | 6 +- include/slot_machine.h | 2 +- include/sprite.h | 8 +- include/text.h | 4 +- include/time_events.h | 6 +- include/trade.h | 4 +- include/trainer_card.h | 2 +- include/trainer_see.h | 2 +- include/tv.h | 12 +- include/util.h | 6 +- include/wild_encounter.h | 2 +- src/battle_controllers.c | 12 +- src/main.c | 2 +- src/metatile_behavior.c | 2 +- src/save.c | 2 +- 94 files changed, 704 insertions(+), 714 deletions(-) diff --git a/include/AgbRfu_LinkManager.h b/include/AgbRfu_LinkManager.h index 3b38b85fc9..f8f3ca72ae 100644 --- a/include/AgbRfu_LinkManager.h +++ b/include/AgbRfu_LinkManager.h @@ -189,9 +189,9 @@ extern struct linkManagerTag lman; u32 rfu_LMAN_REQBN_softReset_and_checkID(void); void rfu_LMAN_requestChangeAgbClockMaster(void); -void rfu_LMAN_initializeRFU(INIT_PARAM *init_params); +void rfu_LMAN_initializeRFU(INIT_PARAM *init_parameters); u8 rfu_LMAN_establishConnection(u8 parent_child, u16 connect_period, u16 name_accept_period, u16 *acceptable_serialNo_list); -void rfu_LMAN_stopManager(bool8 forced_stop_and_RFU_reset_flag); +void rfu_LMAN_stopManager(u8 forced_stop_and_RFU_reset_flag); void rfu_LMAN_setMSCCallback(void (*MSC_callback_p)(u16)); void rfu_LMAN_REQ_sendData(bool8 clockChangeFlag); void rfu_LMAN_powerDownRFU(void); diff --git a/include/battle_anim.h b/include/battle_anim.h index 1c9851e4e4..a9f27b0b38 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -65,12 +65,12 @@ s8 BattleAnimAdjustPanning2(s8 pan); s16 KeepPanInRange(s16 panArg, int oldPan); s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); void RelocateBattleBgPal(u16 paletteNum, u16 *dest, u32 offset, bool8 largeScreen); -void ResetBattleAnimBg(bool8); +void ResetBattleAnimBg(bool8 toBG2); // battle_intro.c void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); void DrawBattlerOnBg(int bgId, u8 x, u8 y, u8 battlerPosition, u8 paletteId, u8 *tiles, u16 *tilemap, u16 tilesOffset); -void HandleIntroSlide(u8 environmentId); +void HandleIntroSlide(u8 environment); int GetAnimBgAttribute(u8 bgId, u8 attributeId); // battle_anim_mons.c @@ -89,7 +89,7 @@ void StartAnimLinearTranslation(struct Sprite *sprite); void InitAnimArcTranslation(struct Sprite *sprite); bool8 AnimTranslateLinear(struct Sprite *sprite); void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite); -u8 GetBattlerSpriteCoord2(u8 battler, u8 attributeId); +u8 GetBattlerSpriteCoord2(u8 battler, u8 coordType); void InitAnimLinearTranslationWithSpeed(struct Sprite *sprite); u16 ArcTan2Neg(s16 x, s16 y); void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation); @@ -105,11 +105,11 @@ void AnimTravelDiagonally(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite); void AnimTranslateLinear_WithFollowup(struct Sprite *sprite); u8 GetBattlerSpriteBGPriority(u8 battler); -void *LoadPointerFromVars(s16 bottom, s16 top); -void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr); +void *LoadPointerFromVars(s16 lo, s16 hi); +void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr); void InitPrioritiesForVisibleBattlers(void); -void GetBattleAnimBg1Data(struct BattleAnimBgData *); -void GetBattleAnimBgData(struct BattleAnimBgData *, u32 bgId); +void GetBattleAnimBg1Data(struct BattleAnimBgData *out); +void GetBattleAnimBgData(struct BattleAnimBgData *out, u32 bgId); u8 GetBattlerSpriteSubpriority(u8 battler); bool8 TranslateAnimHorizontalArc(struct Sprite *sprite); void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite); @@ -121,17 +121,17 @@ void SetBattlerSpriteYOffsetFromRotation(u8 spriteId); u32 GetBattlePalettesMask(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 anim1, bool8 anim2); u32 GetBattleMonSpritePalettesMask(u8 playerLeft, u8 playerRight, u8 opponentLeft, u8 opponentRight); u8 GetSpritePalIdxByBattler(u8 battler); -s16 CloneBattlerSpriteWithBlend(u8); -void DestroySpriteWithActiveSheet(struct Sprite *); -u8 CreateInvisibleSpriteCopy(int, u8, int); -void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData *, const void *, bool32); -void AnimLoadCompressedBgGfx(u32, const u32 *, u32); -void UpdateAnimBg3ScreenSize(bool8); -void TranslateSpriteInGrowingCircle(struct Sprite *); +s16 CloneBattlerSpriteWithBlend(u8 animBattler); +void DestroySpriteWithActiveSheet(struct Sprite *sprite); +u8 CreateInvisibleSpriteCopy(int battler, u8 spriteId, int species); +void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData *data, const void *src, bool32 largeScreen); +void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset); +void UpdateAnimBg3ScreenSize(bool8 largeScreenSize); +void TranslateSpriteInGrowingCircle(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromYScale(u8 spriteId); void PrepareEruptAnimTaskData(struct Task *task, u8 spriteId, s16 xScaleStart, s16 yScaleStart, s16 xScaleEnd, s16 yScaleEnd, u16 duration); u8 UpdateEruptAnimTask(struct Task *task); -void DestroyAnimSpriteAndDisableBlend(struct Sprite *); +void DestroyAnimSpriteAndDisableBlend(struct Sprite *sprite); void AnimLoadCompressedBgTilemap(u32 bgId, const void *src); void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite); bool8 AnimFastTranslateLinear(struct Sprite *sprite); @@ -141,11 +141,11 @@ void TranslateSpriteLinear(struct Sprite *sprite); void AnimSpriteOnMonPos(struct Sprite *sprite); void InitAnimLinearTranslationWithSpeedAndPos(struct Sprite *sprite); void TranslateSpriteInCircle(struct Sprite *sprite); -void SetGrayscaleOrOriginalPalette(u16 palNum, bool8 restoreOriginal); +void SetGrayscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor); void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds); bool8 RunAffineAnimFromTaskData(struct Task *task); void AnimThrowProjectile(struct Sprite *sprite); -void GetBgDataForTransform(struct BattleAnimBgData *dest, u8 battler); +void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battler); u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battler, bool32 ignoreDeoxysForm); void ResetSpriteRotScale_PreserveAffine(struct Sprite *sprite); void Trade_MoveSelectedMonToTarget(struct Sprite *sprite); @@ -178,15 +178,15 @@ enum BATTLER_COORD_ATTR_RAW_BOTTOM, }; -u8 GetBattlerSpriteCoord(u8 battler, u8 attributeId); +u8 GetBattlerSpriteCoord(u8 battler, u8 coordType); bool8 IsBattlerSpritePresent(u8 battler); void ClearBattleAnimBg(u32 bgId); -u8 GetAnimBattlerSpriteId(u8 wantedBattler); +u8 GetAnimBattlerSpriteId(u8 animBattler); bool8 IsDoubleBattle(void); u8 GetBattleBgPaletteNum(void); u8 GetBattlerSpriteBGPriorityRank(u8 battler); -void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite *)); +void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite *)); void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite); u8 GetBattlerSpriteDefault_Y(u8 battler); u8 GetSubstituteSpriteDefault_Y(u8 battler); @@ -219,18 +219,18 @@ void AnimTask_HorizontalShake(u8 taskId); // battle_anim_throw.c void TryShinyAnimation(u8 battler, struct Pokemon *mon); -u8 ItemIdToBallId(u16 itemId); +u8 ItemIdToBallId(u16 ballItem); u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId); -u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 spritePalNum, u32 selectedPalettes, u8 ballId); +u8 LaunchBallFadeMonTask(bool8 unfadeLater, u8 spritePalNum, u32 selectedPalettes, u8 ballId); // battle_anim_utility_funcs.c -void InitStatsChangeAnimation(u8); -void StartMonScrollingBgMask(u8 taskId, int unused, u16 scrollSpeed, u8 battler, bool8 includePartner, u8 numFadeSteps, u8 fadeStepDelay, u8 duration, const u32 *gfx, const u32 *tilemap, const u32 *palette); +void InitStatsChangeAnimation(u8 taskId); +void StartMonScrollingBgMask(u8 taskId, int UNUSED unused, u16 scrollSpeed, u8 battler, bool8 includePartner, u8 numFadeSteps, u8 fadeStepDelay, u8 duration, const u32 *gfx, const u32 *tilemap, const u32 *palette); // battle_anim_effects_1.c void SetSpriteNextToMonHead(u8 battler, struct Sprite *sprite); void AnimMoveTwisterParticle(struct Sprite *sprite); -void AnimParticleBurst(struct Sprite *); +void AnimParticleBurst(struct Sprite *sprite); // battle_anim_water.c void AnimWaterPulseRing(struct Sprite *sprite); @@ -241,9 +241,9 @@ void DestroyAnimSpriteAfterTimer(struct Sprite *sprite); // battle_anim_smokescreen.c u8 SmokescreenImpact(s16 x, s16 y, bool8 persist); -u32 UnpackSelectedBattlePalettes(s16); +u32 UnpackSelectedBattlePalettes(s16 selector); -u8 GetBattlerSpriteFinal_Y(u8, u16, u8); +u8 GetBattlerSpriteFinal_Y(u8 battler, u16 species, bool8 a3); extern const struct OamData gOamData_AffineOff_ObjNormal_8x16; extern const struct OamData gOamData_AffineNormal_ObjBlend_16x16; diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 33e188f284..e4b368b89e 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -306,8 +306,8 @@ void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite); void CB2_SetUpReshowBattleScreenAfterMenu(void); void CB2_SetUpReshowBattleScreenAfterMenu2(void); void Task_PlayerController_RestoreBgmAfterCry(u8 taskId); -void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); -void ActionSelectionDestroyCursorAt(u8 cursorPos); +void ActionSelectionCreateCursorAt(u8 cursorPosition, u8 baseTileNum); +void ActionSelectionDestroyCursorAt(u8 cursorPosition); void InitMoveSelectionsVarsAndStrings(void); // recorded player controller diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index e65df4bf2a..ba2afee1d9 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -7,8 +7,8 @@ u16 ChooseMoveAndTargetInBattlePalace(void); void SpriteCB_WaitForBattlerBallReleaseAnim(struct Sprite *sprite); void SpriteCB_TrainerSlideIn(struct Sprite *sprite); void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); -bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId, u16 argument); -void InitAndLaunchSpecialAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId); +bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId, u16 argument); +void InitAndLaunchSpecialAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId); bool8 IsMoveWithoutAnimation(u16 move, u8 animationTurn); bool8 IsBattleSEPlaying(u8 battler); void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battler); @@ -24,7 +24,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battler); void ClearSpritesHealthboxAnimData(void); void CopyAllBattleSpritesInvisibilities(void); void CopyBattleSpriteInvisibility(u8 battler); -void HandleSpeciesGfxDataChange(u8 attacker, u8 target, bool8 notTransform); +void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform); void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite); void LoadBattleMonGfxAndAnimate(u8 battler, bool8 loadMonSprite, u8 spriteId); void TrySetBehindSubstituteSpriteBit(u8 battler, u16 move); diff --git a/include/battle_interface.h b/include/battle_interface.h index ed71b88454..08e7812a4d 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -65,11 +65,11 @@ enum u8 CreateBattlerHealthboxSprites(u8 battler); u8 CreateSafariPlayerHealthboxSprites(void); -void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue); +void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue); void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); void SetHealthboxSpriteVisible(u8 healthboxSpriteId); void DestoryHealthboxSprite(u8 healthboxSpriteId); -void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); +void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBattlerOnly); void UpdateOamPriorityInAllHealthboxes(u8 priority); void InitBattlerHealthboxCoords(u8 battler); void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); diff --git a/include/battle_main.h b/include/battle_main.h index 082611e705..ea6e5bed41 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -49,7 +49,7 @@ void SpriteCB_VsLetterDummy(struct Sprite *sprite); void SpriteCB_VsLetterInit(struct Sprite *sprite); void CB2_InitEndLinkBattle(void); u32 GetBattleBgTemplateData(u8 arrayId, u8 caseId); -u32 GetBattleWindowTemplatePixelWidth(u32 setId, u32 tableId); +u32 GetBattleWindowTemplatePixelWidth(u32 windowsType, u32 tableId); void SpriteCB_WildMon(struct Sprite *sprite); void SpriteCallbackDummy_2(struct Sprite *sprite); void SpriteCB_FaintOpponentMon(struct Sprite *sprite); @@ -71,7 +71,7 @@ void BattleTurnPassed(void); u8 IsRunningFromBattleImpossible(void); void SwitchPartyOrder(u8 battler); void SwapTurnOrder(u8 id1, u8 id2); -u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves); +u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); bool8 TryRunFromBattle(u8 battler); diff --git a/include/battle_pyramid.h b/include/battle_pyramid.h index 62320358b6..ec80fdeed3 100644 --- a/include/battle_pyramid.h +++ b/include/battle_pyramid.h @@ -15,7 +15,7 @@ void CopyPyramidTrainerSpeechBefore(u16 trainerId); void CopyPyramidTrainerWinSpeech(u16 trainerId); void CopyPyramidTrainerLoseSpeech(u16 trainerId); u8 GetTrainerEncounterMusicIdInBattlePyramid(u16 trainerId); -void GenerateBattlePyramidFloorLayout(u16 *mapArg, bool8 setPlayerPosition); +void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPosition); void LoadBattlePyramidObjectEventTemplates(void); void LoadBattlePyramidFloorObjectEventScripts(void); u8 GetNumBattlePyramidObjectEvents(void); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 6ec99e8abc..fe6e98d460 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -10,8 +10,8 @@ // Arguments for 'xStart, yStart, xEnd, yEnd' in HandleBattleWindow #define YESNOBOX_X_Y 24, 8, 29, 13 -void AI_CalcDmg(u8 battlerIdAtk, u8 battlerIdDef); -u8 TypeCalc(u16 move, u8 battlerIdAtk, u8 battlerIdDef); +void AI_CalcDmg(u8 attacker, u8 defender); +u8 TypeCalc(u16 move, u8 attacker, u8 defender); u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility); u8 GetBattlerTurnOrderNum(u8 battler); void SetMoveEffect(bool8 primary, u8 certain); diff --git a/include/battle_util.h b/include/battle_util.h index 7d26e12cb2..3416451535 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -85,7 +85,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void); bool8 HandleFaintedMonActions(void); void TryClearRageStatuses(void); u8 AtkCanceller_UnableToUseMove(void); -bool8 HasNoMonsToSwitch(u8 battler, u8 r1, u8 r2); +bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2); u8 CastformDataTypeChange(u8 battler); u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveArg); void BattleScriptExecute(const u8 *BS_ptr); diff --git a/include/berry.h b/include/berry.h index 22b9158ee2..1adbe1cdbc 100644 --- a/include/berry.h +++ b/include/berry.h @@ -11,13 +11,12 @@ bool8 IsPlayerFacingEmptyBerryTreePatch(void); bool8 TryToWaterBerryTree(void); void ClearBerryTrees(void); void BerryTreeTimeUpdate(s32 minutes); -void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle); +void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 allowGrowth); void RemoveBerryTree(u8 id); u8 GetBerryTypeByBerryTreeId(u8 id); -u8 GetStageByBerryTreeId(u8); +u8 GetStageByBerryTreeId(u8 id); u8 ItemIdToBerryType(u16 item); void GetBerryNameByBerryType(u8 berry, u8 *string); -void ResetBerryTreeSparkleFlag(u8 id); void Bag_ChooseBerry(void); void ObjectEventInteractionGetBerryTreeData(void); void ObjectEventInteractionPlantBerryTree(void); diff --git a/include/cable_club.h b/include/cable_club.h index c493691c1c..5a68df621c 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -4,7 +4,7 @@ #include "task.h" #include "constants/cable_club.h" -void CreateTask_EnterCableClubSeat(TaskFunc taskFunc); +void CreateTask_EnterCableClubSeat(TaskFunc followupFunc); u8 CreateTask_ReestablishCableClubLink(void); void CB2_ReturnFromCableClubBattle(void); bool32 AreBattleTowerLinkSpeciesSame(u16 *speciesList1, u16 *speciesList2); diff --git a/include/contest_ai.h b/include/contest_ai.h index 20b9eec10d..4ba2c9ca2e 100644 --- a/include/contest_ai.h +++ b/include/contest_ai.h @@ -10,7 +10,7 @@ enum CONTESTAI_DO_NOT_PROCESS }; -void ContestAI_ResetAI(u8); +void ContestAI_ResetAI(u8 contestantAI); u8 ContestAI_GetActionToUse(void); #endif // GUARD_CONTESTAI_H diff --git a/include/contest_link.h b/include/contest_link.h index cd26825246..091d344609 100644 --- a/include/contest_link.h +++ b/include/contest_link.h @@ -1,23 +1,23 @@ #ifndef GUARD_CONTEST_LINK_H #define GUARD_CONTEST_LINK_H -void Task_LinkContest_CommunicateAppealsState(u8); -void Task_LinkContest_CommunicateFinalStandings(u8); -void Task_LinkContest_Init(u8); -void Task_LinkContest_CommunicateMonsRS(u8); -void Task_LinkContest_CommunicateRngRS(u8); -void Task_LinkContest_CommunicateLeaderIdsRS(u8); -void Task_LinkContest_CommunicateCategoryRS(u8); -void Task_LinkContest_CommunicateMonIdxs(u8); -void Task_LinkContest_StartCommunicationEm(u8); -void Task_LinkContest_CommunicateRound1Points(u8); -void Task_LinkContest_CommunicateTurnOrder(u8); -void Task_LinkContest_FinalizeConnection(u8); -void Task_LinkContest_CommunicateMoveSelections(u8); -bool32 LinkContest_TryLinkStandby(s16 *); -bool32 LinkContest_SendBlock(void *, u16); +void Task_LinkContest_CommunicateAppealsState(u8 taskId); +void Task_LinkContest_CommunicateFinalStandings(u8 taskId); +void Task_LinkContest_Init(u8 taskId); +void Task_LinkContest_CommunicateMonsRS(u8 taskId); +void Task_LinkContest_CommunicateRngRS(u8 taskId); +void Task_LinkContest_CommunicateLeaderIdsRS(u8 taskId); +void Task_LinkContest_CommunicateCategoryRS(u8 taskId); +void Task_LinkContest_CommunicateMonIdxs(u8 taskId); +void Task_LinkContest_StartCommunicationEm(u8 taskId); +void Task_LinkContest_CommunicateRound1Points(u8 taskId); +void Task_LinkContest_CommunicateTurnOrder(u8 taskId); +void Task_LinkContest_FinalizeConnection(u8 taskId); +void Task_LinkContest_CommunicateMoveSelections(u8 taskId); +bool32 LinkContest_TryLinkStandby(s16 *state); +bool32 LinkContest_SendBlock(void *src, u16 size); bool8 LinkContest_GetBlockReceivedFromAllPlayers(void); -bool8 LinkContest_GetBlockReceived(u8); -u8 LinkContest_GetLeaderIndex(u8 *); +bool8 LinkContest_GetBlockReceived(u8 flag); +u8 LinkContest_GetLeaderIndex(u8 *ids); #endif //GUARD_CONTEST_LINK_H diff --git a/include/contest_painting.h b/include/contest_painting.h index f16a0d2f32..06277dec1f 100644 --- a/include/contest_painting.h +++ b/include/contest_painting.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONTESTPAINTING_H #define GUARD_CONTESTPAINTING_H -void SetContestWinnerForPainting(int); +void SetContestWinnerForPainting(int contestWinnerId); void CB2_ContestPainting(void); #endif diff --git a/include/contest_util.h b/include/contest_util.h index 1e97d91d35..fcf742012f 100644 --- a/include/contest_util.h +++ b/include/contest_util.h @@ -6,7 +6,7 @@ void BufferContestantMonNickname(void); void StartContest(void); void BufferContestantMonSpecies(void); void ShowContestResults(void); -void ContestLinkTransfer(u8); +void ContestLinkTransfer(u8 category); void ShowContestPainting(void); u16 GetContestRand(void); u8 CountPlayerMuseumPaintings(void); diff --git a/include/coord_event_weather.h b/include/coord_event_weather.h index 86fb487932..92cceae68f 100644 --- a/include/coord_event_weather.h +++ b/include/coord_event_weather.h @@ -1,6 +1,6 @@ #ifndef GUARD_COORD_EVENT_WEATHER_H #define GUARD_COORD_EVENT_WEATHER_H -void DoCoordEventWeather(u8); +void DoCoordEventWeather(u8 coordEventWeather); #endif // GUARD_COORD_EVENT_WEATHER_H diff --git a/include/decoration.h b/include/decoration.h index db0f337f4d..415ffb85ae 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -58,10 +58,10 @@ extern u8 gCurDecorationIndex; void InitDecorationContextItems(void); void DoSecretBaseDecorationMenu(u8 taskId); -void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor); +void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration); void DoPlayerRoomDecorationMenu(u8 taskId); void ShowDecorationCategoriesWindow(u8 taskId); -void CopyDecorationCategoryName(u8 *dest, u8 decorCat); +void CopyDecorationCategoryName(u8 *dest, u8 category); bool8 IsSelectedDecorInThePC(void); u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag); diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h index f43b91d7a1..6bb9910ba4 100644 --- a/include/decoration_inventory.h +++ b/include/decoration_inventory.h @@ -12,9 +12,9 @@ extern struct DecorationInventory gDecorationInventories[]; void SetDecorationInventoriesPointers(void); void ClearDecorationInventories(void); s8 GetFirstEmptyDecorSlot(u8 category); -u8 CheckHasDecoration(u8 decor); -u8 DecorationAdd(u8 decor); -u8 DecorationCheckSpace(u8 decor); +bool8 CheckHasDecoration(u8 decor); +bool8 DecorationAdd(u8 decor); +bool8 DecorationCheckSpace(u8 decor); s8 DecorationRemove(u8 decor); void CondenseDecorationsInCategory(u8 category); u8 GetNumOwnedDecorationsInCategory(u8 category); diff --git a/include/easy_chat.h b/include/easy_chat.h index 4bcc7389cd..0434bb0100 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -122,16 +122,16 @@ struct EasyChatWordsByLetter void InitEasyChatPhrases(void); void ShowEasyChatScreen(void); -u8 * CopyEasyChatWord(u8 *dest, u16 word); -bool32 IsEasyChatAnswerUnlocked(int word); +u8 *CopyEasyChatWord(u8 *dest, u16 easyChatWord); +bool32 IsEasyChatAnswerUnlocked(int easyChatWord); void InitializeEasyChatWordArray(u16 *words, u16 length); u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows); -bool8 IsBardWordInvalid(u16 word); -u16 GetRandomEasyChatWordFromGroup(u16 group); +bool8 IsBardWordInvalid(u16 easyChatWord); +u16 GetRandomEasyChatWordFromGroup(u16 groupId); u16 UnlockRandomTrendySaying(void); -u16 EasyChat_GetNumWordsInGroup(u8); -u16 GetRandomEasyChatWordFromUnlockedGroup(u16); -void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType); +u16 EasyChat_GetNumWordsInGroup(u8 groupId); +u16 GetRandomEasyChatWordFromUnlockedGroup(u16 groupId); +void DoEasyChatScreen(u8 type, u16 *words, MainCallback exitCallback, u8 displayedPersonType); void InitQuestionnaireWords(void); void UnlockTrendySaying(u8 wordIndex); diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h index 29386bcb22..0e3d122b58 100755 --- a/include/ereader_helpers.h +++ b/include/ereader_helpers.h @@ -49,10 +49,10 @@ struct EReaderTrainerHillSet u8 unk_ec0[40]; }; // size = 0xf00 -bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet *); -bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *); +bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet *hillSet); +bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *hillSet); bool32 ReadTrainerHillAndValidate(void); -int EReaderHandleTransfer(u8, size_t, const void *, void *); +int EReaderHandleTransfer(u8 mode, size_t size, const void *data, void *recvBuffer); void EReaderHelper_Timer3Callback(void); void EReaderHelper_SerialCallback(void); void EReaderHelper_SaveRegsState(void); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 2a273b7991..ebc6a6d0e2 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -117,21 +117,21 @@ void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot); void TryMoveObjectEventToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); void PatchObjectPalette(u16 paletteTag, u8 paletteSlot); void SpawnObjectEventsOnReturnToField(s16 x, s16 y); -void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); +void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorationCategory); void GetMapCoordsFromSpritePos(s16 x, s16 y, s16 *destX, s16 *destY); u8 GetFaceDirectionAnimNum(u8 direction); void SetSpritePosToOffsetMapCoords(s16 *x, s16 *y, s16 dx, s16 dy); -void ObjectEventClearHeldMovement(struct ObjectEvent *); -void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *); +void ObjectEventClearHeldMovement(struct ObjectEvent *objectEvent); +void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *objectEvent); void TrySpawnObjectEvents(s16 cameraX, s16 cameraY); -u8 CreateObjectGraphicsSprite(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); +u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority); u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation); -u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); +u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *objectEventTemplate); void SetSpritePosToMapCoords(s16 mapX, s16 mapY, s16 *destX, s16 *destY); void CameraObjectReset(void); -void ObjectEventSetGraphicsId(struct ObjectEvent *, u8 graphicsId); -void ObjectEventTurn(struct ObjectEvent *, u8 direction); +void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId); +void ObjectEventTurn(struct ObjectEvent *objectEvent, u8 direction); void ObjectEventTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction); const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId); void SetObjectInvisibility(u8 localId, u8 mapNum, u8 mapGroup, bool8 invisible); @@ -141,21 +141,21 @@ void ResetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup); void SetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority); void AllowObjectAtPosTriggerGroundEffects(s16 x, s16 y); void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup); -void ShiftObjectEventCoords(struct ObjectEvent *, s16 x, s16 y); -void MoveObjectEventToMapCoords(struct ObjectEvent *, s16 x, s16 y); +void ShiftObjectEventCoords(struct ObjectEvent *objectEvent, s16 x, s16 y); +void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y); void TryOverrideObjectEventTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup); -void InitObjectEventPalettes(u8 palSlot); -void UpdateObjectEventCurrentMovement(struct ObjectEvent *, struct Sprite *, bool8(struct ObjectEvent *, struct Sprite *)); -u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8 direction); +void InitObjectEventPalettes(u8 reflectionType); +void UpdateObjectEventCurrentMovement(struct ObjectEvent *objectEvent, struct Sprite *sprite, bool8 (*callback)(struct ObjectEvent *, struct Sprite *)); +bool8 ObjectEventFaceOppositeDirection(struct ObjectEvent *objectEvent, u8 direction); u8 GetOppositeDirection(u8 direction); u8 GetWalkInPlaceFasterMovementAction(u32); u8 GetWalkInPlaceFastMovementAction(u32); u8 GetWalkInPlaceNormalMovementAction(u32); u8 GetWalkInPlaceSlowMovementAction(u32); -u8 GetCollisionAtCoords(struct ObjectEvent *, s16 x, s16 y, u32 dir); +u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir); void MoveCoords(u8 direction, s16 *x, s16 *y); -bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *); -u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); +bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *objectEvent); +u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *objectEvent); u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation); void SetTrainerMovementType(struct ObjectEvent *objectEvent, u8 movementType); u8 GetTrainerFacingDirectionMovementType(u8 direction); @@ -198,11 +198,11 @@ u8 GetWalkSlowMovementAction(u32); u8 GetJumpMovementAction(u32); u8 ElevationToPriority(u8 elevation); void ObjectEventUpdateElevation(struct ObjectEvent *objEvent); -void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *, u8 subpriority); -void UnfreezeObjectEvent(struct ObjectEvent *); -u8 FindLockedObjectEventIndex(struct ObjectEvent *); -void SetAndStartSpriteAnim(struct Sprite *, u8 animNum, u8 animCmdIndex); -bool8 SpriteAnimEnded(struct Sprite *); +void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *sprite, u8 subpriority); +void UnfreezeObjectEvent(struct ObjectEvent *objectEvent); +u8 FindLockedObjectEventIndex(struct ObjectEvent *objectEvent); +void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex); +bool8 SpriteAnimEnded(struct Sprite *sprite); void UnfreezeObjectEvents(void); void FreezeObjectEventsExceptOne(u8 objectEventId); void FreezeObjectEventsExceptTwo(u8 objectEventId1, u8 objectEventId2); @@ -222,73 +222,73 @@ u8 GetObjectEventBerryTreeId(u8 objectEventId); void SetBerryTreeJustPicked(u8 mapId, u8 mapNumber, u8 mapGroup); bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup); -void MovementType_None(struct Sprite *); -void MovementType_LookAround(struct Sprite *); -void MovementType_WanderAround(struct Sprite *); -void MovementType_WanderUpAndDown(struct Sprite *); -void MovementType_WanderLeftAndRight(struct Sprite *); -void MovementType_FaceDirection(struct Sprite *); -void MovementType_Player(struct Sprite *); -void MovementType_BerryTreeGrowth(struct Sprite *); -void MovementType_FaceDownAndUp(struct Sprite *); -void MovementType_FaceLeftAndRight(struct Sprite *); -void MovementType_FaceUpAndLeft(struct Sprite *); -void MovementType_FaceUpAndRight(struct Sprite *); -void MovementType_FaceDownAndLeft(struct Sprite *); -void MovementType_FaceDownAndRight(struct Sprite *); -void MovementType_FaceDownUpAndLeft(struct Sprite *); -void MovementType_FaceDownUpAndRight(struct Sprite *); -void MovementType_FaceUpRightAndLeft(struct Sprite *); -void MovementType_FaceDownRightAndLeft(struct Sprite *); -void MovementType_RotateCounterclockwise(struct Sprite *); -void MovementType_RotateClockwise(struct Sprite *); -void MovementType_WalkBackAndForth(struct Sprite *); -void MovementType_WalkSequenceUpRightLeftDown(struct Sprite *); -void MovementType_WalkSequenceRightLeftDownUp(struct Sprite *); -void MovementType_WalkSequenceDownUpRightLeft(struct Sprite *); -void MovementType_WalkSequenceLeftDownUpRight(struct Sprite *); -void MovementType_WalkSequenceUpLeftRightDown(struct Sprite *); -void MovementType_WalkSequenceLeftRightDownUp(struct Sprite *); -void MovementType_WalkSequenceDownUpLeftRight(struct Sprite *); -void MovementType_WalkSequenceRightDownUpLeft(struct Sprite *); -void MovementType_WalkSequenceLeftUpDownRight(struct Sprite *); -void MovementType_WalkSequenceUpDownRightLeft(struct Sprite *); -void MovementType_WalkSequenceRightLeftUpDown(struct Sprite *); -void MovementType_WalkSequenceDownRightLeftUp(struct Sprite *); -void MovementType_WalkSequenceRightUpDownLeft(struct Sprite *); -void MovementType_WalkSequenceUpDownLeftRight(struct Sprite *); -void MovementType_WalkSequenceLeftRightUpDown(struct Sprite *); -void MovementType_WalkSequenceDownLeftRightUp(struct Sprite *); -void MovementType_WalkSequenceUpLeftDownRight(struct Sprite *); -void MovementType_WalkSequenceDownRightUpLeft(struct Sprite *); -void MovementType_WalkSequenceLeftDownRightUp(struct Sprite *); -void MovementType_WalkSequenceRightUpLeftDown(struct Sprite *); -void MovementType_WalkSequenceUpRightDownLeft(struct Sprite *); -void MovementType_WalkSequenceDownLeftUpRight(struct Sprite *); -void MovementType_WalkSequenceLeftUpRightDown(struct Sprite *); -void MovementType_WalkSequenceRightDownLeftUp(struct Sprite *); -void MovementType_CopyPlayer(struct Sprite *); -void MovementType_TreeDisguise(struct Sprite *); -void MovementType_MountainDisguise(struct Sprite *); -void MovementType_CopyPlayerInGrass(struct Sprite *); -void MovementType_Buried(struct Sprite *); -void MovementType_WalkInPlace(struct Sprite *); -void MovementType_JogInPlace(struct Sprite *); -void MovementType_RunInPlace(struct Sprite *); -void MovementType_Invisible(struct Sprite *); -void MovementType_WalkSlowlyInPlace(struct Sprite *); +void MovementType_None(struct Sprite *sprite); +void MovementType_LookAround(struct Sprite *sprite); +void MovementType_WanderAround(struct Sprite *sprite); +void MovementType_WanderUpAndDown(struct Sprite *sprite); +void MovementType_WanderLeftAndRight(struct Sprite *sprite); +void MovementType_FaceDirection(struct Sprite *sprite); +void MovementType_Player(struct Sprite *sprite); +void MovementType_BerryTreeGrowth(struct Sprite *sprite); +void MovementType_FaceDownAndUp(struct Sprite *sprite); +void MovementType_FaceLeftAndRight(struct Sprite *sprite); +void MovementType_FaceUpAndLeft(struct Sprite *sprite); +void MovementType_FaceUpAndRight(struct Sprite *sprite); +void MovementType_FaceDownAndLeft(struct Sprite *sprite); +void MovementType_FaceDownAndRight(struct Sprite *sprite); +void MovementType_FaceDownUpAndLeft(struct Sprite *sprite); +void MovementType_FaceDownUpAndRight(struct Sprite *sprite); +void MovementType_FaceUpRightAndLeft(struct Sprite *sprite); +void MovementType_FaceDownRightAndLeft(struct Sprite *sprite); +void MovementType_RotateCounterclockwise(struct Sprite *sprite); +void MovementType_RotateClockwise(struct Sprite *sprite); +void MovementType_WalkBackAndForth(struct Sprite *sprite); +void MovementType_WalkSequenceUpRightLeftDown(struct Sprite *sprite); +void MovementType_WalkSequenceRightLeftDownUp(struct Sprite *sprite); +void MovementType_WalkSequenceDownUpRightLeft(struct Sprite *sprite); +void MovementType_WalkSequenceLeftDownUpRight(struct Sprite *sprite); +void MovementType_WalkSequenceUpLeftRightDown(struct Sprite *sprite); +void MovementType_WalkSequenceLeftRightDownUp(struct Sprite *sprite); +void MovementType_WalkSequenceDownUpLeftRight(struct Sprite *sprite); +void MovementType_WalkSequenceRightDownUpLeft(struct Sprite *sprite); +void MovementType_WalkSequenceLeftUpDownRight(struct Sprite *sprite); +void MovementType_WalkSequenceUpDownRightLeft(struct Sprite *sprite); +void MovementType_WalkSequenceRightLeftUpDown(struct Sprite *sprite); +void MovementType_WalkSequenceDownRightLeftUp(struct Sprite *sprite); +void MovementType_WalkSequenceRightUpDownLeft(struct Sprite *sprite); +void MovementType_WalkSequenceUpDownLeftRight(struct Sprite *sprite); +void MovementType_WalkSequenceLeftRightUpDown(struct Sprite *sprite); +void MovementType_WalkSequenceDownLeftRightUp(struct Sprite *sprite); +void MovementType_WalkSequenceUpLeftDownRight(struct Sprite *sprite); +void MovementType_WalkSequenceDownRightUpLeft(struct Sprite *sprite); +void MovementType_WalkSequenceLeftDownRightUp(struct Sprite *sprite); +void MovementType_WalkSequenceRightUpLeftDown(struct Sprite *sprite); +void MovementType_WalkSequenceUpRightDownLeft(struct Sprite *sprite); +void MovementType_WalkSequenceDownLeftUpRight(struct Sprite *sprite); +void MovementType_WalkSequenceLeftUpRightDown(struct Sprite *sprite); +void MovementType_WalkSequenceRightDownLeftUp(struct Sprite *sprite); +void MovementType_CopyPlayer(struct Sprite *sprite); +void MovementType_TreeDisguise(struct Sprite *sprite); +void MovementType_MountainDisguise(struct Sprite *sprite); +void MovementType_CopyPlayerInGrass(struct Sprite *sprite); +void MovementType_Buried(struct Sprite *sprite); +void MovementType_WalkInPlace(struct Sprite *sprite); +void MovementType_JogInPlace(struct Sprite *sprite); +void MovementType_RunInPlace(struct Sprite *sprite); +void MovementType_Invisible(struct Sprite *sprite); +void MovementType_WalkSlowlyInPlace(struct Sprite *sprite); u8 GetSlideMovementAction(u32); u8 GetJumpMovementAction(u32); u8 GetJump2MovementAction(u32); u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority); -u8 MovementType_WanderAround_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step5(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step6(struct ObjectEvent *, struct Sprite *); +bool8 MovementType_WanderAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite); u8 GetVectorDirection(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 GetLimitedVectorDirection_SouthNorth(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 GetLimitedVectorDirection_WestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); @@ -300,143 +300,143 @@ u8 GetLimitedVectorDirection_SouthNorthWest(s16 dx, s16 dy, s16 absdx, s16 absdy u8 GetLimitedVectorDirection_SouthNorthEast(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 GetLimitedVectorDirection_NorthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); -u8 MovementType_LookAround_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_LookAround_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_LookAround_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_LookAround_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_LookAround_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step5(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step6(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step5(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step6(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDirection_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDirection_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDirection_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Normal(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Move(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_SparkleStart(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Sparkle(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_SparkleEnd(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateClockwise_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateClockwise_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateClockwise_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateClockwise_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_CopyPlayer_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_CopyPlayer_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_CopyPlayer_Step2(struct ObjectEvent *, struct Sprite *); -bool8 CopyablePlayerMovement_None(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_WalkNormal(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_WalkFast(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_WalkFaster(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_Slide(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_JumpInPlace(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_Jump2(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -u8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_Buried_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkInPlace_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_MoveInPlace_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_JogInPlace_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RunInPlace_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_Invisible_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_Invisible_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_Invisible_Step2(struct ObjectEvent *, struct Sprite *); +bool8 MovementType_LookAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_LookAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_LookAround_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_LookAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_LookAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDirection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDirection_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDirection_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_Normal(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_Move(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_SparkleStart(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_Sparkle(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_SparkleEnd(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateCounterclockwise_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateCounterclockwise_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateCounterclockwise_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateCounterclockwise_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateClockwise_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateClockwise_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateClockwise_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateClockwise_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkBackAndForth_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkBackAndForth_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkBackAndForth_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkBackAndForth_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkSequence_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkSequence_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_CopyPlayer_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_CopyPlayer_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_CopyPlayer_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 CopyablePlayerMovement_None(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_WalkNormal(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_WalkFast(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_WalkFaster(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_Slide(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_JumpInPlace(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_Jump2(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_Buried_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_JogInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RunInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_Invisible_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_Invisible_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_Invisible_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevation, u8 direction); void TurnVirtualObject(u8 virtualObjId, u8 direction); diff --git a/include/evolution_graphics.h b/include/evolution_graphics.h index eab5c6eb70..52586fc4f5 100644 --- a/include/evolution_graphics.h +++ b/include/evolution_graphics.h @@ -8,6 +8,6 @@ u8 EvolutionSparkles_ArcDown(void); u8 EvolutionSparkles_CircleInward(void); u8 EvolutionSparkles_SprayAndFlash(u16 species); u8 EvolutionSparkles_SprayAndFlash_Trade(u16 species); -u8 CycleEvolutionMonSprite(u8 preEvoSpriteID, u8 postEvoSpriteID); +u8 CycleEvolutionMonSprite(u8 preEvoSpriteId, u8 postEvoSpriteId); #endif // GUARD_EVOLUTION_GRAPHICS_H diff --git a/include/evolution_scene.h b/include/evolution_scene.h index 25d34eddfb..1b8999c775 100644 --- a/include/evolution_scene.h +++ b/include/evolution_scene.h @@ -1,9 +1,9 @@ #ifndef GUARD_EVOLUTION_SCENE_H #define GUARD_EVOLUTION_SCENE_H -void BeginEvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); -void EvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); -void TradeEvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID); +void BeginEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId); +void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId); +void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSpriteId, u8 partyId); extern void (*gCB2_AfterEvolution)(void); diff --git a/include/faraway_island.h b/include/faraway_island.h index 9fd2a69fc4..f7cef9b8c3 100755 --- a/include/faraway_island.h +++ b/include/faraway_island.h @@ -2,9 +2,9 @@ #define GUARD_FARAWAY_ISLAND_H u32 GetMewMoveDirection(void); -bool8 ShouldMewShakeGrass(struct ObjectEvent *); +bool8 ShouldMewShakeGrass(struct ObjectEvent *objectEvent); void UpdateFarawayIslandStepCounter(void); -bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *); +bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *objectEvent); bool8 IsMewPlayingHideAndSeek(void); #endif // GUARD_FARAWAY_ISLAND_H diff --git a/include/field_camera.h b/include/field_camera.h index 6e8af1a539..edbd2c09fa 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -18,7 +18,7 @@ extern u16 gTotalCameraPixelOffsetY; void DrawWholeMapView(void); void CurrentMapDrawMetatileAt(int x, int y); void GetCameraOffsetWithPan(s16 *x, s16 *y); -void DrawDoorMetatileAt(int x, int y, u16 *arr); +void DrawDoorMetatileAt(int x, int y, u16 *tiles); void ResetFieldCamera(void); void ResetCameraUpdateInfo(void); u32 InitCameraUpdateCallback(u8 trackedSpriteId); diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index b259eb53c1..c3e4a01e10 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -22,13 +22,12 @@ struct FieldInput u8 dpadDirection; }; -void FieldClearPlayerInput(struct FieldInput *pStruct); -void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys); -int ProcessPlayerFieldInput(struct FieldInput *pStruct); -void overworld_poison_timer_set(void); +void FieldClearPlayerInput(struct FieldInput *input); +void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys); +int ProcessPlayerFieldInput(struct FieldInput *input); void RestartWildEncounterImmunitySteps(void); const u8 *GetObjectEventScriptPointerPlayerFacing(void); -bool8 TryDoDiveWarp(struct MapPosition *position, u16 b); +bool8 TryDoDiveWarp(struct MapPosition *position, u16 metatileBehavior); int SetCableClubWarp(void); u8 TrySetDiveWarp(void); const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction); diff --git a/include/field_door.h b/include/field_door.h index 2e32005c6c..1d8a30ca14 100644 --- a/include/field_door.h +++ b/include/field_door.h @@ -1,10 +1,10 @@ #ifndef GUARD_FIELD_DOOR_H #define GUARD_FIELD_DOOR_H -void FieldSetDoorOpened(u32, u32); -void FieldSetDoorClosed(u32, u32); -s8 FieldAnimateDoorClose(u32, u32); -s8 FieldAnimateDoorOpen(u32, u32); +void FieldSetDoorOpened(u32 x, u32 y); +void FieldSetDoorClosed(u32 x, u32 y); +s8 FieldAnimateDoorClose(u32 x, u32 y); +s8 FieldAnimateDoorOpen(u32 x, u32 y); bool8 FieldIsDoorAnimationRunning(void); u32 GetDoorSoundEffect(u32 x, u32 y); diff --git a/include/field_effect.h b/include/field_effect.h index 4cde29e8a3..699a784cf5 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -9,11 +9,11 @@ extern s32 gFieldEffectArguments[8]; extern void (*gPostMenuFieldCallback)(void); extern bool8 (*gFieldCallback2)(void); -u32 FieldEffectStart(u8); +u32 FieldEffectStart(u8 id); bool8 FieldEffectActiveListContains(u8 id); void FieldEffectActiveListClear(void); void ReturnToFieldFromFlyMapSelect(void); -u8 AddNewGameBirchObject(s16, s16, u8); +u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority); void FieldEffectStop(struct Sprite *sprite, u8 id); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); void FldEff_TeleportWarpOut(void); @@ -39,8 +39,8 @@ void StartEscalatorWarp(u8 metatileBehavior, u8 priority); void StartLavaridgeGymB1FWarp(u8 priority); void StartLavaridgeGym1FWarp(u8 priority); -void SpriteCB_AshPuff(struct Sprite *); -void SpriteCB_AshLaunch(struct Sprite *); +void SpriteCB_AshPuff(struct Sprite *sprite); +void SpriteCB_AshLaunch(struct Sprite *sprite); void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId); diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 2ae5d79f75..dfa6d155f6 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -13,32 +13,32 @@ enum { }; u8 CreateWarpArrowSprite(void); -u8 StartUnderwaterSurfBlobBobbing(u8 oldSpriteId); +u8 StartUnderwaterSurfBlobBobbing(u8 blobSpriteId); void SetSurfBlob_BobState(u8 spriteId, u8 state); void SetSurfBlob_DontSyncAnim(u8 spriteId, bool8 dontSync); void SetSurfBlob_PlayerOffset(u8 spriteId, bool8 hasOffset, s16 offset); -bool8 UpdateRevealDisguise(struct ObjectEvent *); -void StartRevealDisguise(struct ObjectEvent *); -void StartAshFieldEffect(s16, s16, u16, s16); -void SetUpReflection(struct ObjectEvent *, struct Sprite *, u8); -u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent *); +bool8 UpdateRevealDisguise(struct ObjectEvent *objectEvent); +void StartRevealDisguise(struct ObjectEvent *objectEvent); +void StartAshFieldEffect(s16 x, s16 y, u16 metatileId, s16 delay); +void SetUpReflection(struct ObjectEvent *objectEvent, struct Sprite *sprite, bool8 stillReflection); +u32 StartFieldEffectForObjectEvent(u8 fieldEffectId, struct ObjectEvent *objectEvent); u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); -void UpdateRayquazaSpotlightEffect(struct Sprite *); -void UpdateShadowFieldEffect(struct Sprite *); -void UpdateTallGrassFieldEffect(struct Sprite *); -void WaitFieldEffectSpriteAnim(struct Sprite *); -void UpdateAshFieldEffect(struct Sprite *); -void UpdateSurfBlobFieldEffect(struct Sprite *); -void UpdateJumpImpactEffect(struct Sprite *); -void UpdateFootprintsTireTracksFieldEffect(struct Sprite *); -void UpdateSplashFieldEffect(struct Sprite *); -void UpdateLongGrassFieldEffect(struct Sprite *); -void UpdateSandPileFieldEffect(struct Sprite *); -void UpdateDisguiseFieldEffect(struct Sprite *); -void UpdateShortGrassFieldEffect(struct Sprite *); -void UpdateHotSpringsWaterFieldEffect(struct Sprite *); -void UpdateBubblesFieldEffect(struct Sprite *); -void UpdateSparkleFieldEffect(struct Sprite *); +void UpdateRayquazaSpotlightEffect(struct Sprite *sprite); +void UpdateShadowFieldEffect(struct Sprite *sprite); +void UpdateTallGrassFieldEffect(struct Sprite *sprite); +void WaitFieldEffectSpriteAnim(struct Sprite *sprite); +void UpdateAshFieldEffect(struct Sprite *sprite); +void UpdateSurfBlobFieldEffect(struct Sprite *sprite); +void UpdateJumpImpactEffect(struct Sprite *sprite); +void UpdateFootprintsTireTracksFieldEffect(struct Sprite *sprite); +void UpdateSplashFieldEffect(struct Sprite *sprite); +void UpdateLongGrassFieldEffect(struct Sprite *sprite); +void UpdateSandPileFieldEffect(struct Sprite *sprite); +void UpdateDisguiseFieldEffect(struct Sprite *sprite); +void UpdateShortGrassFieldEffect(struct Sprite *sprite); +void UpdateHotSpringsWaterFieldEffect(struct Sprite *sprite); +void UpdateBubblesFieldEffect(struct Sprite *sprite); +void UpdateSparkleFieldEffect(struct Sprite *sprite); void SetSpriteInvisible(u8 spriteId); void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y); diff --git a/include/field_message_box.h b/include/field_message_box.h index 34b3324e72..3a4c4f93c4 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -9,10 +9,10 @@ enum FIELD_MESSAGE_BOX_AUTO_SCROLL, }; -bool8 ShowFieldMessage(const u8 *message); -bool8 ShowPokenavFieldMessage(const u8 *message); +bool8 ShowFieldMessage(const u8 *str); +bool8 ShowPokenavFieldMessage(const u8 *str); bool8 ShowFieldMessageFromBuffer(void); -bool8 ShowFieldAutoScrollMessage(const u8 *message); +bool8 ShowFieldAutoScrollMessage(const u8 *str); void HideFieldMessageBox(void); bool8 IsFieldMessageBoxHidden(void); u8 GetFieldMessageBoxMode(void); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 39fc886af8..005a48f2d5 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -3,11 +3,11 @@ void PlayerStep(u8 direction, u16 newKeys, u16 heldKeys); void ClearPlayerAvatarInfo(void); -void SetPlayerAvatarExtraStateTransition(u8, u8); -u8 GetPlayerAvatarGenderByGraphicsId(u8); -bool8 TestPlayerAvatarFlags(u8); +void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 transitionFlag); +u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId); +u8 TestPlayerAvatarFlags(u8 flag); u8 GetPlayerAvatarSpriteId(void); -void PlayerGetDestCoords(s16 *, s16 *); +void PlayerGetDestCoords(s16 *x, s16 *y); u8 GetPlayerFacingDirection(void); u8 GetPlayerMovementDirection(void); u8 PlayerGetCopyableMovement(void); @@ -36,8 +36,8 @@ void CancelPlayerForcedMovement(void); void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender); void PlayerFreeze(void); void StopPlayerAvatar(void); -void SetSpinStartFacingDir(u8); -void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); +void SetSpinStartFacingDir(u8 direction); +void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender); void SetPlayerAvatarFieldMove(void); u8 GetPlayerAvatarGraphicsIdByCurrentState(void); @@ -50,8 +50,8 @@ bool8 IsPlayerSurfingNorth(void); void SetPlayerAvatarWatering(u8 direction); u8 GetPlayerAvatarFlags(void); void UpdatePlayerAvatarTransitionState(void); -u8 GetFRLGAvatarGraphicsIdByGender(u8); -u8 GetRSAvatarGraphicsIdByGender(u8); +u8 GetFRLGAvatarGraphicsIdByGender(u8 gender); +u8 GetRSAvatarGraphicsIdByGender(u8 gender); void PlayerWheelieInPlace(u8 direction); void PlayerWheelieMove(u8 direction); void PlayerPopWheelieWhileMoving(u8 direction); diff --git a/include/field_specials.h b/include/field_specials.h index faf71e9c08..e0ec16f666 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -5,7 +5,7 @@ extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; u8 GetLeadMonIndex(void); -u8 IsDestinationBoxFull(void); +bool8 IsDestinationBoxFull(void); u16 GetPCBoxToSendMon(void); bool8 InMultiPartnerRoom(void); void UpdateTrainerFansAfterLinkBattle(void); diff --git a/include/fieldmap.h b/include/fieldmap.h index 47072bd1be..212dfb65a6 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -23,19 +23,19 @@ extern struct BackupMapLayout gBackupMapLayout; -u32 MapGridGetMetatileIdAt(int, int); -u32 MapGridGetMetatileBehaviorAt(int, int); -void MapGridSetMetatileIdAt(int, int, u16); -void MapGridSetMetatileEntryAt(int, int, u16); -void GetCameraCoords(u16 *, u16 *); -u8 MapGridGetCollisionAt(int, int); +u32 MapGridGetMetatileIdAt(int x, int y); +u32 MapGridGetMetatileBehaviorAt(int x, int y); +void MapGridSetMetatileIdAt(int x, int y, u16 metatile); +void MapGridSetMetatileEntryAt(int x, int y, u16 metatile); +void GetCameraCoords(u16 *x, u16 *y); +u8 MapGridGetCollisionAt(int x, int y); int GetMapBorderIdAt(int x, int y); bool32 CanCameraMoveInDirection(int direction); -u16 GetMetatileAttributesById(u16 metatileId); +u16 GetMetatileAttributesById(u16 metatile); void GetCameraFocusCoords(u16 *x, u16 *y); u8 MapGridGetMetatileLayerTypeAt(int x, int y); u8 MapGridGetElevationAt(int x, int y); -bool8 CameraMove(int deltaX, int deltaY); +bool8 CameraMove(int x, int y); void SaveMapView(void); void SetCameraFocusCoords(u16 x, u16 y); void InitMap(void); @@ -46,8 +46,8 @@ void CopyMapTilesetsToVram(struct MapLayout const *mapLayout); void LoadMapTilesetPalettes(struct MapLayout const *mapLayout); void LoadSecondaryTilesetPalette(struct MapLayout const *mapLayout); void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout); -void CopyPrimaryTilesetToVram(const struct MapLayout *); -void CopySecondaryTilesetToVram(const struct MapLayout *); +void CopyPrimaryTilesetToVram(struct MapLayout const *mapLayout); +void CopySecondaryTilesetToVram(struct MapLayout const *mapLayout); const struct MapHeader *const GetMapHeaderFromConnection(const struct MapConnection *connection); const struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y); void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable); diff --git a/include/fldeff.h b/include/fldeff.h index 0ad0e3d606..e4c128c20f 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -13,7 +13,7 @@ extern const struct SpritePalette gSpritePalette_CutGrass; extern struct MapPosition gPlayerFacingPosition; // escalator -void StartEscalator(bool8 var); +void StartEscalator(bool8 goingUp); void StopEscalator(void); bool8 IsEscalatorMoving(void); diff --git a/include/image_processing_effects.h b/include/image_processing_effects.h index 7f726707cd..20ee822e46 100755 --- a/include/image_processing_effects.h +++ b/include/image_processing_effects.h @@ -46,8 +46,8 @@ struct ImageProcessingContext u8 personality; }; -void ApplyImageProcessingEffects(struct ImageProcessingContext *); -void ApplyImageProcessingQuantization(struct ImageProcessingContext *); -void ConvertImageProcessingToGBA(struct ImageProcessingContext *); +void ApplyImageProcessingEffects(struct ImageProcessingContext *context); +void ApplyImageProcessingQuantization(struct ImageProcessingContext *context); +void ConvertImageProcessingToGBA(struct ImageProcessingContext *context); #endif diff --git a/include/international_string_util.h b/include/international_string_util.h index b0ac8afb6b..454c92be74 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -4,7 +4,7 @@ #include "menu.h" #include "list_menu.h" -void ConvertInternationalPlayerName(u8 *src); +void ConvertInternationalPlayerName(u8 *str); void TVShowConvertInternationalString(u8 *dest, const u8 *src, int language); int GetStringCenterAlignXOffset(int fontId, const u8 *str, int totalWidth); int GetStringRightAlignXOffset(int fontId, const u8 *str, int totalWidth); @@ -16,9 +16,9 @@ int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu); void CopyMonCategoryText(int dexNum, u8 *dest); u8 *GetStringClearToWidth(u8 *dest, int fontId, const u8 *str, int totalStringWidth); void PadNameString(u8 *dest, u8 padChar); -void ConvertInternationalPlayerNameStripChar(u8 *, u8); -void ConvertInternationalContestantName(u8 *); -int GetNicknameLanguage(u8 *); +void ConvertInternationalPlayerNameStripChar(u8 *str, u8 removeChar); +void ConvertInternationalContestantName(u8 *str); +int GetNicknameLanguage(u8 *str); void FillWindowTilesByRow(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows); #endif // GUARD_INTERNATIONAL_STRING_UTIL_H diff --git a/include/intro.h b/include/intro.h index 8ba030a287..a279809011 100644 --- a/include/intro.h +++ b/include/intro.h @@ -8,6 +8,6 @@ // Exported ROM declarations void CB2_InitCopyrightScreenAfterBootup(void); void CB2_InitCopyrightScreenAfterTitleScreen(void); -void PanFadeAndZoomScreen(u16, u16, u16, u16); +void PanFadeAndZoomScreen(u16 screenX, u16 screenY, u16 zoom, u16 alpha); #endif // GUARD_INTRO_H diff --git a/include/intro_credits_graphics.h b/include/intro_credits_graphics.h index c6f4a73c55..b37846f345 100644 --- a/include/intro_credits_graphics.h +++ b/include/intro_credits_graphics.h @@ -35,10 +35,10 @@ extern const struct SpritePalette gSpritePalettes_Credits[]; void LoadIntroPart2Graphics(u8 scenery); void SetIntroPart2BgCnt(u8 scenery); -void LoadCreditsSceneGraphics(u8); -void SetCreditsSceneBgCnt(u8); +void LoadCreditsSceneGraphics(u8 scene); +void SetCreditsSceneBgCnt(u8 scene); u8 CreateBicycleBgAnimationTask(u8 mode, u16 bg1Speed, u16 bg2Speed, u16 bg3Speed); -void CycleSceneryPalette(u8); +void CycleSceneryPalette(u8 mode); u8 CreateIntroBrendanSprite(s16 x, s16 y); u8 CreateIntroMaySprite(s16 x, s16 y); u8 CreateIntroFlygonSprite(s16 x, s16 y); diff --git a/include/item_menu.h b/include/item_menu.h index 88f6a8733b..dc7b44a0d6 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -96,7 +96,7 @@ void CB2_BagMenuFromStartMenu(void); u8 GetItemListPosition(u8 pocketId); bool8 UseRegisteredKeyItemOnField(void); void CB2_GoToSellMenu(void); -void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *exitCallback)()); +void GoToBagMenu(u8 location, u8 pocket, void ( *exitCallback)()); void DoWallyTutorialBagMenu(void); void ResetBagScrollPositions(void); void ChooseBerryForMachine(void (*exitCallback)(void)); @@ -104,8 +104,8 @@ void CB2_ChooseBerry(void); void Task_FadeAndCloseBagMenu(u8 taskId); void BagMenu_YesNo(u8 taskId, u8 windowType, const struct YesNoFuncTable *funcTable); void UpdatePocketItemList(u8 pocketId); -void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void ( *callback)(u8 taskId)); -void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); +void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void (*callback)(u8 taskId)); +void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback); void CloseItemMessage(u8 taskId); #endif //GUARD_ITEM_MENU_H diff --git a/include/item_use.h b/include/item_use.h index f577f8d464..8e28a4229c 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -1,37 +1,36 @@ #ifndef GUARD_ITEM_USE_H #define GUARD_ITEM_USE_H -void ItemUseOutOfBattle_Mail(u8); -void ItemUseOutOfBattle_Bike(u8); -void ItemUseOutOfBattle_Rod(u8); -void ItemUseOutOfBattle_Itemfinder(u8); -void ItemUseOutOfBattle_PokeblockCase(u8); -void ItemUseOutOfBattle_CoinCase(u8); -void ItemUseOutOfBattle_PowderJar(u8); -void ItemUseOutOfBattle_SSTicket(u8); -void ItemUseOutOfBattle_WailmerPail(u8); -void ItemUseOutOfBattle_Medicine(u8); -void ItemUseOutOfBattle_ReduceEV(u8); -void ItemUseOutOfBattle_SacredAsh(u8); -void ItemUseOutOfBattle_PPRecovery(u8); -void ItemUseOutOfBattle_PPUp(u8); -void ItemUseOutOfBattle_RareCandy(u8); -void ItemUseOutOfBattle_TMHM(u8); -void ItemUseOutOfBattle_Repel(u8); -void ItemUseOutOfBattle_EscapeRope(u8); -void ItemUseOutOfBattle_BlackWhiteFlute(u8); -void ItemUseOutOfBattle_EvolutionStone(u8); -void ItemUseOutOfBattle_Berry(u8); -void ItemUseOutOfBattle_EnigmaBerry(u8); -void ItemUseOutOfBattle_CannotUse(u8); -void ItemUseInBattle_PokeBall(u8); -void ItemUseInBattle_StatIncrease(u8); -void ItemUseInBattle_Medicine(u8); -void ItemUseInBattle_PPRecovery(u8); -void ItemUseInBattle_Escape(u8); -void ItemUseInBattle_EnigmaBerry(u8); +void ItemUseOutOfBattle_Mail(u8 taskId); +void ItemUseOutOfBattle_Bike(u8 taskId); +void ItemUseOutOfBattle_Rod(u8 taskId); +void ItemUseOutOfBattle_Itemfinder(u8 var); +void ItemUseOutOfBattle_PokeblockCase(u8 taskId); +void ItemUseOutOfBattle_CoinCase(u8 taskId); +void ItemUseOutOfBattle_PowderJar(u8 taskId); +void ItemUseOutOfBattle_WailmerPail(u8 taskId); +void ItemUseOutOfBattle_Medicine(u8 taskId); +void ItemUseOutOfBattle_ReduceEV(u8 taskId); +void ItemUseOutOfBattle_SacredAsh(u8 taskId); +void ItemUseOutOfBattle_PPRecovery(u8 taskId); +void ItemUseOutOfBattle_PPUp(u8 taskId); +void ItemUseOutOfBattle_RareCandy(u8 taskId); +void ItemUseOutOfBattle_TMHM(u8 taskId); +void ItemUseOutOfBattle_Repel(u8 taskId); +void ItemUseOutOfBattle_EscapeRope(u8 taskId); +void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId); +void ItemUseOutOfBattle_EvolutionStone(u8 taskId); +void ItemUseOutOfBattle_Berry(u8 taskId); +void ItemUseOutOfBattle_EnigmaBerry(u8 taskId); +void ItemUseOutOfBattle_CannotUse(u8 taskId); +void ItemUseInBattle_PokeBall(u8 taskId); +void ItemUseInBattle_StatIncrease(u8 taskId); +void ItemUseInBattle_Medicine(u8 taskId); +void ItemUseInBattle_PPRecovery(u8 taskId); +void ItemUseInBattle_Escape(u8 taskId); +void ItemUseInBattle_EnigmaBerry(u8 taskId); void Task_UseDigEscapeRopeOnField(u8 taskId); -u8 CanUseDigOrEscapeRopeOnCurMap(void); +bool8 CanUseDigOrEscapeRopeOnCurMap(void); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); #endif // GUARD_ITEM_USE_H diff --git a/include/librfu.h b/include/librfu.h index 4bde381ef2..0bd4dc6c0d 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -519,7 +519,7 @@ void rfu_REQ_endSearchParent(void); void rfu_REQ_startConnectParent(u16 pid); void rfu_REQ_pollConnectParent(void); void rfu_REQ_endConnectParent(void); -u16 rfu_getConnectParentStatus(u8 *status,u8 *connectSlotNo); +u16 rfu_getConnectParentStatus(u8 *status, u8 *connectSlotNo); // Restore link from child device void rfu_REQ_CHILD_startConnectRecovery(u8 bmRecoverySlot); void rfu_REQ_CHILD_pollConnectRecovery(void); @@ -611,7 +611,7 @@ void STWI_send_DataRxREQ(void); void STWI_send_MS_ChangeREQ(void); void STWI_send_StopModeREQ(void); void STWI_send_SystemStatusREQ(void); -void STWI_send_GameConfigREQ(const u8 *serial_uname, const u8 *gname); +void STWI_send_GameConfigREQ(const u8 *serial_gname, const u8 *uname); void STWI_send_ResetREQ(void); void STWI_send_LinkStatusREQ(void); void STWI_send_VersionStatusREQ(void); diff --git a/include/lilycove_lady.h b/include/lilycove_lady.h index d3cce4ca83..0f2b4f19dd 100644 --- a/include/lilycove_lady.h +++ b/include/lilycove_lady.h @@ -8,7 +8,7 @@ void FieldCallback_FavorLadyEnableScriptContexts(void); void FieldCallback_QuizLadyEnableScriptContexts(void); void QuizLadyClearQuestionForRecordMix(const LilycoveLady *lilycoveLady); bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock); -void BufferContestLadyMonName(u8 *dest1, u8 *dest2); +void BufferContestLadyMonName(u8 *category, u8 *nickname); void BufferContestLadyPlayerName(u8 *dest); void BufferContestLadyLanguage(u8 *dest); void BufferContestName(u8 *dest, u8 category); diff --git a/include/link.h b/include/link.h index a1189ff1e1..1fc9c43a08 100644 --- a/include/link.h +++ b/include/link.h @@ -255,21 +255,21 @@ bool8 IsWirelessAdapterConnected(void); void Task_DestroySelf(u8 taskId); void OpenLink(void); void CloseLink(void); -u16 LinkMain2(const u16 *); +u16 LinkMain2(const u16 *heldKeys); void ClearLinkCallback(void); void ClearLinkCallback_2(void); u8 GetLinkPlayerCount(void); void OpenLinkTimed(void); -u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper); +u8 GetLinkPlayerDataExchangeStatusTimed(int minPlayers, int maxPlayers); bool8 IsLinkPlayerDataExchangeComplete(void); -u32 GetLinkPlayerTrainerId(u8); +u32 GetLinkPlayerTrainerId(u8 who); void ResetLinkPlayers(void); u8 GetMultiplayerId(void); u8 BitmaskAllOtherLinkPlayers(void); -bool8 SendBlock(u8, const void *, u16); +bool8 SendBlock(u8 unused, const void *src, u16 size); u8 GetBlockReceivedStatus(void); void ResetBlockReceivedFlags(void); -void ResetBlockReceivedFlag(u8); +void ResetBlockReceivedFlag(u8 who); u8 GetLinkPlayerCount_2(void); bool8 IsLinkMaster(void); void CB2_LinkError(void); @@ -293,7 +293,7 @@ bool8 HandleLinkConnection(void); void SetLinkDebugValues(u32 seed, u32 flags); void SetBerryBlenderLinkCallback(void); void SetSuppressLinkErrorMessage(bool8 flag); -void ConvertLinkPlayerName(struct LinkPlayer *linkPlayer); +void ConvertLinkPlayerName(struct LinkPlayer *player); void ClearSavedLinkPlayers(void); void SetLinkErrorBuffer(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, bool8 disconnected); void LocalLinkPlayerToBlock(void); @@ -331,10 +331,10 @@ extern u16 gLinkSavedIme; extern struct LinkPlayer gLocalLinkPlayer; bool32 Link_AnyPartnersPlayingRubyOrSapphire(void); -bool32 LinkDummy_Return2(void); -void SetLocalLinkPlayerId(u8); +u32 LinkDummy_Return2(void); +void SetLocalLinkPlayerId(u8 playerId); u8 GetSavedPlayerCount(void); -bool8 SendBlockRequest(u8 type); +bool8 SendBlockRequest(u8 blockReqType); u8 GetLinkPlayerCountAsBitFlags(void); u8 GetSavedLinkPlayerCountAsBitFlags(void); void SetCloseLinkCallbackHandleJP(void); diff --git a/include/link_rfu.h b/include/link_rfu.h index 1575255f3d..a42f959c13 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -268,7 +268,7 @@ void RfuVSync(void); void RfuSetIgnoreError(bool32 enable); u8 RfuGetStatus(void); struct RfuGameData *GetHostRfuGameData(void); -void UpdateGameData_GroupLockedIn(u8 startedActivity); +void UpdateGameData_GroupLockedIn(bool8 startedActivity); void RfuSetErrorParams(u32 errorInfo); void RfuSetStatus(u8 status, u16 errorInfo); u8 Rfu_SetLinkRecovery(bool32 enable); @@ -320,8 +320,8 @@ void RfuRecvQueue_Reset(struct RfuRecvQueue *queue); void RfuSendQueue_Reset(struct RfuSendQueue *queue); void RfuRecvQueue_Enqueue(struct RfuRecvQueue *queue, u8 *data); void RfuSendQueue_Enqueue(struct RfuSendQueue *queue, u8 *data); -bool8 RfuRecvQueue_Dequeue(struct RfuRecvQueue *queue, u8 *dest); -bool8 RfuSendQueue_Dequeue(struct RfuSendQueue *queue, u8 *dest); +bool8 RfuRecvQueue_Dequeue(struct RfuRecvQueue *queue, u8 *src); +bool8 RfuSendQueue_Dequeue(struct RfuSendQueue *queue, u8 *src); void RfuBackupQueue_Enqueue(struct RfuBackupQueue *queue, const u8 *data); bool8 RfuBackupQueue_Dequeue(struct RfuBackupQueue *queue, u8 *src); void InitHostRfuGameData(struct RfuGameData *data, u8 activity, bool32 startedActivity, s32 partnerInfo); diff --git a/include/list_menu.h b/include/list_menu.h index 522c6bae38..f2f7a2b3dd 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -106,7 +106,7 @@ struct CursorStruct extern struct ScrollArrowsTemplate gTempScrollArrowTemplate; extern struct ListMenuTemplate gMultiuseListMenuTemplate; -s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 drawMode, u16 tileNum, u16 palNum); +s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 drawMode, u16 tileNum, u16 palOffset); u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow); u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 scrollOffset, u16 selectedRow); s32 ListMenu_ProcessInput(u8 listTaskId); @@ -119,11 +119,11 @@ void ListMenuGetCurrentItemArrayId(u8 listTaskId, u16 *arrayId); void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow); u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId); void ListMenuOverrideSetColors(u8 cursorPal, u8 fillValue, u8 cursorShadowPal); -void ListMenuDefaultCursorMoveFunc(s32 itemIndex, u8 onInit, struct ListMenu *list); +void ListMenuDefaultCursorMoveFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list); s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field); void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value); u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 *scrollOffset); -u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *currItemPtr); +u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *scrollOffset); void RemoveScrollIndicatorArrowPair(u8 taskId); void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId); diff --git a/include/main.h b/include/main.h index 5ccb20df88..db3a83f9cc 100644 --- a/include/main.h +++ b/include/main.h @@ -64,7 +64,7 @@ void SetHBlankCallback(IntrCallback callback); void SetVCountCallback(IntrCallback callback); void SetSerialCallback(IntrCallback callback); void InitFlashTimer(void); -void SetTrainerHillVBlankCounter(u32 *var); +void SetTrainerHillVBlankCounter(u32 *counter); void ClearTrainerHillVBlankCounter(void); void DoSoftReset(void); void ClearPokemonCrySongs(void); diff --git a/include/malloc.h b/include/malloc.h index 72e1a5e1d3..69029ccdfe 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -16,6 +16,6 @@ extern u8 gHeap[HEAP_SIZE]; void *Alloc(u32 size); void *AllocZeroed(u32 size); void Free(void *pointer); -void InitHeap(void *pointer, u32 size); +void InitHeap(void *heapStart, u32 heapSize); #endif // GUARD_ALLOC_H diff --git a/include/match_call.h b/include/match_call.h index 8aebb3bc77..ed2cf506c5 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -16,7 +16,7 @@ bool32 TryStartMatchCall(void); bool32 IsMatchCallTaskActive(void); void StartMatchCallFromScript(const u8 *message); void BufferPokedexRatingForMatchCall(u8 *destStr); -bool32 SelectMatchCallMessage(int, u8 *); +bool32 SelectMatchCallMessage(int trainerId, u8 *str); void LoadMatchCallWindowGfx(u32 windowId, u32 destOffset, u32 paletteId); void DrawMatchCallTextBoxBorder(u32 windowId, u32 tileOffset, u32 paletteId); diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h index 049a3e5c10..dc7d16b743 100644 --- a/include/mauville_old_man.h +++ b/include/mauville_old_man.h @@ -6,7 +6,7 @@ extern struct BardSong gBardSong; void SetMauvilleOldMan(void); u8 GetCurrentMauvilleOldMan(void); void SetMauvilleOldManObjEventGfx(void); -void SanitizeMauvilleOldManForRuby(OldMan *dest); +void SanitizeMauvilleOldManForRuby(union OldMan *oldMan); void SanitizeReceivedRubyOldMan(union OldMan *oldMan, u32 version, u32 language); void SanitizeReceivedEmeraldOldMan(union OldMan *oldMan, u32 version, u32 language); void ResetMauvilleOldManFlag(void); diff --git a/include/menu.h b/include/menu.h index 0b0a42423d..f83ae6852c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -50,7 +50,7 @@ void LoadMessageBoxAndBorderGfx(void); void DrawDialogueFrame(u8 windowId, bool8 copyToVram); void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram); u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); -void PrintPlayerNameOnWindow(u8, const u8 *, u16, u16); +void PrintPlayerNameOnWindow(u8 windowId, const u8 *src, u16 x, u16 y); void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram); void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram); void DisplayYesNoMenuDefaultYes(void); @@ -61,11 +61,11 @@ void AddTextPrinterWithCallbackForMessage(bool8 canSpeedUp, void (*callback)(str void BgDmaFill(u32 bg, u8 value, int offset, int size); void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram); -void SetWindowTemplateFields(struct WindowTemplate *template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); -void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); -void ScheduleBgCopyTilemapToVram(u8 bgNum); -void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs); -u8 InitMenuInUpperLeftCornerNormal(u8 windowId, u8 numItems, u8 initialCursorPos); +void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); +void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum); +void ScheduleBgCopyTilemapToVram(u8 bgId); +void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *menuActions); +u8 InitMenuInUpperLeftCornerNormal(u8 windowId, u8 itemCount, u8 initialCursorPos); u8 Menu_GetCursorPos(void); s8 Menu_ProcessInput(void); s8 Menu_ProcessInputNoWrap(void); @@ -74,17 +74,17 @@ void ResetTempTileDataBuffers(void); void *DecompressAndCopyTileDataToVram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); bool8 FreeTempTileDataBuffersIfPossible(void); struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); -void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); +void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 paletteNum, u8 initialCursorPos); void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); s8 Menu_ProcessInputNoWrapClearOnChoose(void); s8 ProcessMenuInput_other(void); void DoScheduledBgTilemapCopiesToVram(void); void ClearScheduledBgCopiesToVram(void); -void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str); +void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str); void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileNum, u8 paletteNum); -void PrintMenuActionTextsInUpperLeftCorner(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds); +void PrintMenuActionTextsInUpperLeftCorner(u8 windowId, u8 itemCount, const struct MenuAction *menuActions, const u8 *actionIds); void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram); -void *malloc_and_decompress(const void *src, u32 *sizeOut); +void *malloc_and_decompress(const void *src, u32 *size); u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); void PrintMenuActionTexts(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *menuActions, const u8 *actionIds); @@ -95,7 +95,7 @@ u8 GetStartMenuWindowId(void); void ListMenuLoadStdPalAt(u8 palOffset, u8 palId); u8 Menu_MoveCursor(s8 cursorDelta); u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta); -void DrawStdWindowFrame(u8 windowId, bool8 CopyToVram); +void DrawStdWindowFrame(u8 windowId, bool8 copyToVram); u8 AddStartMenuWindow(u8 numActions); u8 InitMenuNormal(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos); void LoadMessageBoxAndFrameGfx(u8 windowId, bool8 copyToVram); @@ -108,9 +108,9 @@ 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 SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); -void AddValToTilemapBuffer(void *ptr, int delta, int width, int height, bool32 is8BPP); +void AddValToTilemapBuffer(void *ptr, int delta, int width, int height, bool32 isAffine); void EraseFieldMessageBox(bool8 copyToVram); -void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs); +void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *menuActions); s8 Menu_ProcessGridInput(void); u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); s8 Menu_ProcessInputNoWrapAround_other(void); @@ -122,7 +122,7 @@ void HofPCTopBar_PrintPair(const u8 *string, const u8 *string2, bool8 noBg, u8 l void ResetBgPositions(void); void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed); void EraseYesNoWindow(void); -void PrintMenuActionTextsAtPos(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs); +void PrintMenuActionTextsAtPos(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *menuActions); void Menu_LoadStdPal(void); #endif // GUARD_MENU_H diff --git a/include/menu_specialized.h b/include/menu_specialized.h index a0bd406313..fccd989ffb 100644 --- a/include/menu_specialized.h +++ b/include/menu_specialized.h @@ -112,7 +112,7 @@ bool8 ConditionMenu_UpdateMonExit(struct ConditionGraph *graph, s16 *x); bool8 MoveConditionMonOnscreen(s16 *x); bool8 MoveConditionMonOffscreen(s16 *x); void GetConditionMenuMonNameAndLocString(u8 *locationDst, u8 *nameDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel); -void GetConditionMenuMonConditions(struct ConditionGraph *graph, u8 *sheen, u16 boxId, u16 monId, u16 partyId, u16 id, u16 numMons, bool8 excludesCancel); +void GetConditionMenuMonConditions(struct ConditionGraph *graph, u8 *numSparkles, u16 boxId, u16 monId, u16 partyId, u16 id, u16 numMons, bool8 excludesCancel); void GetConditionMenuMonGfx(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel); void LoadConditionMonPicTemplate(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal); void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate *template, struct SpritePalette *pals); @@ -121,7 +121,7 @@ s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst); // Condition sparkles void LoadConditionSparkle(struct SpriteSheet *sheet, struct SpritePalette *pal); void ResetConditionSparkleSprites(struct Sprite **sprites); -void CreateConditionSparkleSprites(struct Sprite **sprites, u8 monSpriteId, u8 count); +void CreateConditionSparkleSprites(struct Sprite **sprites, u8 monSpriteId, u8 _count); void DestroyConditionSparkleSprites(struct Sprite **sprites); void FreeConditionSparkles(struct Sprite **sprites); diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index c2d0d23ee3..1afd600837 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -9,144 +9,143 @@ enum { BRIDGE_TYPE_POND_HIGH, }; -bool8 MetatileBehavior_IsATile(u8); -bool8 MetatileBehavior_IsEncounterTile(u8); -bool8 MetatileBehavior_IsJumpEast(u8); -bool8 MetatileBehavior_IsJumpWest(u8); -bool8 MetatileBehavior_IsJumpNorth(u8); -bool8 MetatileBehavior_IsJumpSouth(u8); -bool8 MetatileBehavior_IsPokeGrass(u8); -bool8 MetatileBehavior_IsSandOrDeepSand(u8); -bool8 MetatileBehavior_IsDeepSand(u8); -bool8 MetatileBehavior_IsReflective(u8); -bool8 MetatileBehavior_IsIce(u8); -bool8 MetatileBehavior_IsWarpDoor(u8); -bool8 MetatileBehavior_IsDoor(u8); -bool8 MetatileBehavior_IsEscalator(u8); -bool8 MetatileBehavior_IsLadder(u8); -bool8 MetatileBehavior_IsNonAnimDoor(u8); -bool8 MetatileBehavior_IsDeepSouthWarp(u8); -bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8); -bool8 MetatileBehavior_IsEastArrowWarp(u8); -bool8 MetatileBehavior_IsWestArrowWarp(u8); -bool8 MetatileBehavior_IsNorthArrowWarp(u8); -bool8 MetatileBehavior_IsSouthArrowWarp(u8); -bool8 MetatileBehavior_IsArrowWarp(u8); -bool8 MetatileBehavior_IsForcedMovementTile(u8); -bool8 MetatileBehavior_IsIce_2(u8); -bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8); -bool8 MetatileBehavior_IsWalkNorth(u8); -bool8 MetatileBehavior_IsWalkSouth(u8); -bool8 MetatileBehavior_IsWalkWest(u8); -bool8 MetatileBehavior_IsWalkEast(u8); -bool8 MetatileBehavior_IsNorthwardCurrent(u8); -bool8 MetatileBehavior_IsSouthwardCurrent(u8); -bool8 MetatileBehavior_IsWestwardCurrent(u8); -bool8 MetatileBehavior_IsEastwardCurrent(u8); -bool8 MetatileBehavior_IsSlideNorth(u8); -bool8 MetatileBehavior_IsSlideSouth(u8); -bool8 MetatileBehavior_IsSlideWest(u8); -bool8 MetatileBehavior_IsSlideEast(u8); -bool8 MetatileBehavior_IsCounter(u8); -bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir); -bool8 MetatileBehavior_IsPC(u8); -bool8 MetatileBehavior_IsCableBoxResults1(u8); -bool8 MetatileBehavior_IsOpenSecretBaseDoor(u8); -bool8 MetatileBehavior_IsSecretBaseCave(u8); -bool8 MetatileBehavior_IsSecretBaseTree(u8); -bool8 MetatileBehavior_IsSecretBaseShrub(u8); -bool8 MetatileBehavior_IsSecretBasePC(u8); -bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8); -bool8 MetatileBehavior_IsSecretBaseTrainerSpot(u8); -bool8 MetatileBehavior_IsSecretBaseImpassable(u8); -bool8 MetatileBehavior_IsSecretBaseDecorationBase(u8); -bool8 MetatileBehavior_IsSecretBasePoster(u8); -bool8 MetatileBehavior_IsNormal(u8); -bool8 MetatileBehavior_IsSecretBaseNorthWall(u8); -bool8 MetatileBehavior_HoldsSmallDecoration(u8); -bool8 MetatileBehavior_HoldsLargeDecoration(u8); -bool8 MetatileBehavior_IsSecretBaseHole(u8); -bool8 MetatileBehavior_IsSecretBaseBalloon(u8); -bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8); -bool8 MetatileBehavior_IsSecretBaseSoundMat(u8); -bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8); -bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8); -bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(u8); -bool8 MetatileBehavior_IsPlayerRoomPCOn(u8); -bool8 MetatileBehavior_HasRipples(u8); -bool8 MetatileBehavior_IsPuddle(u8); -bool8 MetatileBehavior_IsTallGrass(u8); -bool8 MetatileBehavior_IsLongGrass(u8); -bool8 MetatileBehavior_IsBerryTreeSoil(u8); -bool8 MetatileBehavior_IsAshGrass(u8); -bool8 MetatileBehavior_IsFootprints(u8); -bool8 MetatileBehavior_IsBridgeOverWater(u8); -u8 MetatileBehavior_GetBridgeType(u8); -bool8 MetatileBehavior_IsBridgeOverWaterNoEdge(u8); -bool8 MetatileBehavior_IsLandWildEncounter(u8); -bool8 MetatileBehavior_IsWaterWildEncounter(u8); -bool8 MetatileBehavior_IsIndoorEncounter(u8); -bool8 MetatileBehavior_IsMountain(u8); -bool8 MetatileBehavior_IsDiveable(u8); -bool8 MetatileBehavior_IsUnableToEmerge(u8); -bool8 MetatileBehavior_IsShallowFlowingWater(u8); -bool8 MetatileBehavior_IsThinIce(u8); -bool8 MetatileBehavior_IsCrackedIce(u8); -bool8 MetatileBehavior_IsDeepOrOceanWater(u8); -bool8 MetatileBehavior_IsSurfableAndNotWaterfall(u8); -bool8 MetatileBehavior_IsEastBlocked(u8); -bool8 MetatileBehavior_IsWestBlocked(u8); -bool8 MetatileBehavior_IsNorthBlocked(u8); -bool8 MetatileBehavior_IsSouthBlocked(u8); -bool8 MetatileBehavior_IsShortGrass(u8); -bool8 MetatileBehavior_IsHotSprings(u8); -bool8 MetatileBehavior_IsWaterfall(u8); -bool8 MetatileBehavior_IsFortreeBridge(u8); -bool8 MetatileBehavior_IsPacifidlogVerticalLogTop(u8); -bool8 MetatileBehavior_IsPacifidlogVerticalLogBottom(u8); -bool8 MetatileBehavior_IsPacifidlogHorizontalLogLeft(u8); -bool8 MetatileBehavior_IsPacifidlogHorizontalLogRight(u8); -bool8 MetatileBehavior_IsPacifidlogLog(u8); -bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8); -bool8 MetatileBehavior_IsRegionMap(u8); -bool8 MetatileBehavior_IsClosedSootopolisDoor(u8); -bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8); -bool8 MetatileBehavior_IsRoulette(u8); -bool8 MetatileBehavior_IsPokeblockFeeder(u8); -bool8 MetatileBehavior_IsSecretBaseJumpMat(u8); -bool8 MetatileBehavior_IsSecretBaseSpinMat(u8); -bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8); -bool8 MetatileBehavior_IsLavaridge1FWarp(u8); -bool8 MetatileBehavior_IsAquaHideoutWarp(u8); -bool8 MetatileBehavior_IsUnionRoomWarp(u8); -bool8 MetatileBehavior_IsMossdeepGymWarp(u8); -bool8 MetatileBehavior_IsSurfableFishableWater(u8); -bool8 MetatileBehavior_IsMtPyreHole(u8); -bool8 MetatileBehavior_IsCrackedFloorHole(u8); -bool8 MetatileBehavior_IsCrackedFloor(u8); -bool8 MetatileBehavior_IsMuddySlope(u8); -bool8 MetatileBehavior_IsBumpySlope(u8); -bool8 MetatileBehavior_IsIsolatedVerticalRail(u8); -bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8); -bool8 MetatileBehavior_IsVerticalRail(u8); -bool8 MetatileBehavior_IsHorizontalRail(u8); -bool8 MetatileBehavior_IsSeaweed(u8); -bool8 MetatileBehavior_IsRunningDisallowed(u8); -bool8 MetatileBehavior_IsCuttableGrass(u8); -bool8 MetatileBehavior_IsRunningShoesManual(u8); -bool8 MetatileBehavior_IsPictureBookShelf(u8); -bool8 MetatileBehavior_IsBookShelf(u8); -bool8 MetatileBehavior_IsPokeCenterBookShelf(u8); -bool8 MetatileBehavior_IsVase(u8); -bool8 MetatileBehavior_IsTrashCan(u8); -bool8 MetatileBehavior_IsShopShelf(u8); -bool8 MetatileBehavior_IsBlueprint(u8); -bool8 MetatileBehavior_IsBattlePyramidWarp(u8); +bool8 MetatileBehavior_IsATile(u8 metatileBehavior); +bool8 MetatileBehavior_IsEncounterTile(u8 metatileBehavior); +bool8 MetatileBehavior_IsJumpEast(u8 metatileBehavior); +bool8 MetatileBehavior_IsJumpWest(u8 metatileBehavior); +bool8 MetatileBehavior_IsJumpNorth(u8 metatileBehavior); +bool8 MetatileBehavior_IsJumpSouth(u8 metatileBehavior); +bool8 MetatileBehavior_IsPokeGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsSandOrDeepSand(u8 metatileBehavior); +bool8 MetatileBehavior_IsDeepSand(u8 metatileBehavior); +bool8 MetatileBehavior_IsReflective(u8 metatileBehavior); +bool8 MetatileBehavior_IsIce(u8 metatileBehavior); +bool8 MetatileBehavior_IsWarpDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsEscalator(u8 metatileBehavior); +bool8 MetatileBehavior_IsLadder(u8 metatileBehavior); +bool8 MetatileBehavior_IsNonAnimDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsDeepSouthWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8 metatileBehavior); +bool8 MetatileBehavior_IsEastArrowWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsWestArrowWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsNorthArrowWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsSouthArrowWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsForcedMovementTile(u8 metatileBehavior); +bool8 MetatileBehavior_IsIce_2(u8 metatileBehavior); +bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8 metatileBehavior); +bool8 MetatileBehavior_IsWalkNorth(u8 metatileBehavior); +bool8 MetatileBehavior_IsWalkSouth(u8 metatileBehavior); +bool8 MetatileBehavior_IsWalkWest(u8 metatileBehavior); +bool8 MetatileBehavior_IsWalkEast(u8 metatileBehavior); +bool8 MetatileBehavior_IsNorthwardCurrent(u8 metatileBehavior); +bool8 MetatileBehavior_IsSouthwardCurrent(u8 metatileBehavior); +bool8 MetatileBehavior_IsWestwardCurrent(u8 metatileBehavior); +bool8 MetatileBehavior_IsEastwardCurrent(u8 metatileBehavior); +bool8 MetatileBehavior_IsSlideNorth(u8 metatileBehavior); +bool8 MetatileBehavior_IsSlideSouth(u8 metatileBehavior); +bool8 MetatileBehavior_IsSlideWest(u8 metatileBehavior); +bool8 MetatileBehavior_IsSlideEast(u8 metatileBehavior); +bool8 MetatileBehavior_IsCounter(u8 metatileBehavior); +bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 metatileBehavior, u8 playerDir); +bool8 MetatileBehavior_IsPC(u8 metatileBehavior); +bool8 MetatileBehavior_IsCableBoxResults1(u8 metatileBehavior); +bool8 MetatileBehavior_IsOpenSecretBaseDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseCave(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseTree(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseShrub(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBasePC(u8 metatileBehavior); +bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseTrainerSpot(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseImpassable(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseDecorationBase(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBasePoster(u8 metatileBehavior); +bool8 MetatileBehavior_IsNormal(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseNorthWall(u8 metatileBehavior); +bool8 MetatileBehavior_HoldsSmallDecoration(u8 metatileBehavior); +bool8 MetatileBehavior_HoldsLargeDecoration(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseHole(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseBalloon(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseSoundMat(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(u8 metatileBehavior); +bool8 MetatileBehavior_IsPlayerRoomPCOn(u8 metatileBehavior); +bool8 MetatileBehavior_HasRipples(u8 metatileBehavior); +bool8 MetatileBehavior_IsPuddle(u8 metatileBehavior); +bool8 MetatileBehavior_IsTallGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsLongGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsBerryTreeSoil(u8 metatileBehavior); +bool8 MetatileBehavior_IsAshGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsFootprints(u8 metatileBehavior); +bool8 MetatileBehavior_IsBridgeOverWater(u8 metatileBehavior); +u8 MetatileBehavior_GetBridgeType(u8 metatileBehavior); +bool8 MetatileBehavior_IsBridgeOverWaterNoEdge(u8 metatileBehavior); +bool8 MetatileBehavior_IsLandWildEncounter(u8 metatileBehavior); +bool8 MetatileBehavior_IsWaterWildEncounter(u8 metatileBehavior); +bool8 MetatileBehavior_IsIndoorEncounter(u8 metatileBehavior); +bool8 MetatileBehavior_IsMountain(u8 metatileBehavior); +bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior); +bool8 MetatileBehavior_IsUnableToEmerge(u8 metatileBehavior); +bool8 MetatileBehavior_IsShallowFlowingWater(u8 metatileBehavior); +bool8 MetatileBehavior_IsThinIce(u8 metatileBehavior); +bool8 MetatileBehavior_IsCrackedIce(u8 metatileBehavior); +bool8 MetatileBehavior_IsDeepOrOceanWater(u8 metatileBehavior); +bool8 MetatileBehavior_IsSurfableAndNotWaterfall(u8 metatileBehavior); +bool8 MetatileBehavior_IsEastBlocked(u8 metatileBehavior); +bool8 MetatileBehavior_IsWestBlocked(u8 metatileBehavior); +bool8 MetatileBehavior_IsNorthBlocked(u8 metatileBehavior); +bool8 MetatileBehavior_IsSouthBlocked(u8 metatileBehavior); +bool8 MetatileBehavior_IsShortGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsHotSprings(u8 metatileBehavior); +bool8 MetatileBehavior_IsWaterfall(u8 metatileBehavior); +bool8 MetatileBehavior_IsFortreeBridge(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogVerticalLogTop(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogVerticalLogBottom(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogHorizontalLogLeft(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogHorizontalLogRight(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogLog(u8 metatileBehavior); +bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsRegionMap(u8 metatileBehavior); +bool8 MetatileBehavior_IsClosedSootopolisDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsRoulette(u8 metatileBehavior); +bool8 MetatileBehavior_IsPokeblockFeeder(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseJumpMat(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseSpinMat(u8 metatileBehavior); +bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsLavaridge1FWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsAquaHideoutWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsUnionRoomWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsMossdeepGymWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsSurfableFishableWater(u8 metatileBehavior); +bool8 MetatileBehavior_IsMtPyreHole(u8 metatileBehavior); +bool8 MetatileBehavior_IsCrackedFloorHole(u8 metatileBehavior); +bool8 MetatileBehavior_IsCrackedFloor(u8 metatileBehavior); +bool8 MetatileBehavior_IsMuddySlope(u8 metatileBehavior); +bool8 MetatileBehavior_IsBumpySlope(u8 metatileBehavior); +bool8 MetatileBehavior_IsIsolatedVerticalRail(u8 metatileBehavior); +bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8 metatileBehavior); +bool8 MetatileBehavior_IsVerticalRail(u8 metatileBehavior); +bool8 MetatileBehavior_IsHorizontalRail(u8 metatileBehavior); +bool8 MetatileBehavior_IsSeaweed(u8 metatileBehavior); +bool8 MetatileBehavior_IsRunningDisallowed(u8 metatileBehavior); +bool8 MetatileBehavior_IsCuttableGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsRunningShoesManual(u8 metatileBehavior); +bool8 MetatileBehavior_IsPictureBookShelf(u8 metatileBehavior); +bool8 MetatileBehavior_IsBookShelf(u8 metatileBehavior); +bool8 MetatileBehavior_IsPokeCenterBookShelf(u8 metatileBehavior); +bool8 MetatileBehavior_IsVase(u8 metatileBehavior); +bool8 MetatileBehavior_IsTrashCan(u8 metatileBehavior); +bool8 MetatileBehavior_IsShopShelf(u8 metatileBehavior); +bool8 MetatileBehavior_IsBlueprint(u8 metatileBehavior); +bool8 MetatileBehavior_IsBattlePyramidWarp(u8 metatileBehavior); bool8 MetatileBehavior_IsPlayerFacingWirelessBoxResults(u8 tile, u8 playerDir); bool8 MetatileBehavior_IsCableBoxResults2(u8 tile, u8 playerDir); -bool8 MetatileBehavior_IsQuestionnaire(u8); -bool8 MetatileBehavior_IsLongGrass_Duplicate(u8); -bool8 MetatileBehavior_IsLongGrassSouthEdge(u8); -bool8 MetatileBehavior_IsTrainerHillTimer(u8); +bool8 MetatileBehavior_IsQuestionnaire(u8 metatileBehavior); +bool8 MetatileBehavior_IsLongGrass_Duplicate(u8 metatileBehavior); +bool8 MetatileBehavior_IsLongGrassSouthEdge(u8 metatileBehavior); +bool8 MetatileBehavior_IsTrainerHillTimer(u8 metatileBehavior); #endif // GUARD_METATILE_BEHAVIOR_H diff --git a/include/move_relearner.h b/include/move_relearner.h index 51b476d25f..76d35b62ec 100644 --- a/include/move_relearner.h +++ b/include/move_relearner.h @@ -2,6 +2,6 @@ #define GUARD_MOVE_RELEARNER_H void TeachMoveRelearnerMove(void); -void MoveRelearnerShowHideHearts(s32); +void MoveRelearnerShowHideHearts(s32 move); #endif //GUARD_MOVE_RELEARNER_H diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h index 198a07e857..09032b4395 100644 --- a/include/mystery_event_script.h +++ b/include/mystery_event_script.h @@ -12,7 +12,7 @@ enum { void InitMysteryEventScriptContext(u8 *script); bool32 RunMysteryEventScriptContextCommand(u32 *status); u32 RunMysteryEventScript(u8 *script); -void SetMysteryEventScriptStatus(u32 val); +void SetMysteryEventScriptStatus(u32 status); u16 GetRecordMixingGift(void); #endif // GUARD_MYSTERY_EVENT_SCRIPT_H diff --git a/include/mystery_gift_client.h b/include/mystery_gift_client.h index b8a0e5d72d..4434fab5f7 100644 --- a/include/mystery_gift_client.h +++ b/include/mystery_gift_client.h @@ -87,6 +87,6 @@ void MysteryGiftClient_Create(bool32 isWonderNews); u32 MysteryGiftClient_Run(u16 *endVal); void MysteryGiftClient_AdvanceState(void); void * MysteryGiftClient_GetMsg(void); -void MysteryGiftClient_SetParam(u32 value); +void MysteryGiftClient_SetParam(u32 val); #endif //GUARD_MYSTERY_GIFT_CLIENT_H diff --git a/include/mystery_gift_link.h b/include/mystery_gift_link.h index 8dc0f56694..5f6b655270 100644 --- a/include/mystery_gift_link.h +++ b/include/mystery_gift_link.h @@ -42,8 +42,8 @@ struct MysteryGiftLink void MysteryGiftLink_Init(struct MysteryGiftLink *link, u32 sendPlayerId, u32 recvPlayerId); void MysteryGiftLink_InitSend(struct MysteryGiftLink *link, u32 ident, const void *src, u32 size); -bool32 MysteryGiftLink_Recv(struct MysteryGiftLink *link); -bool32 MysteryGiftLink_Send(struct MysteryGiftLink *link); +u32 MysteryGiftLink_Recv(struct MysteryGiftLink *link); +u32 MysteryGiftLink_Send(struct MysteryGiftLink *link); void MysteryGiftLink_InitRecv(struct MysteryGiftLink *link, u32 ident, void *dest); #endif //GUARD_MYSTERY_GIFT_LINK_H diff --git a/include/mystery_gift_menu.h b/include/mystery_gift_menu.h index 665c4596e7..6d694bc3e1 100644 --- a/include/mystery_gift_menu.h +++ b/include/mystery_gift_menu.h @@ -5,11 +5,11 @@ extern bool8 gGiftIsFromEReader; u16 GetMysteryGiftBaseBlock(void); void CB2_MysteryGiftEReader(void); -void PrintMysteryGiftOrEReaderHeader(bool8 isJapanese, bool32 usePickOkCancel); +void PrintMysteryGiftOrEReaderHeader(bool8 isEReader, bool32 useCancel); void MG_DrawCheckerboardPattern(u32 bg); void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void); bool32 PrintMysteryGiftMenuMessage(u8 *textState, const u8 *str); -void MG_AddMessageTextPrinter(const u8 *src); +void MG_AddMessageTextPrinter(const u8 *str); void CB2_InitEReader(void); void CB2_InitMysteryGift(void); void MG_DrawTextBorder(u8 windowId); diff --git a/include/mystery_gift_server.h b/include/mystery_gift_server.h index d70d3e7da6..e16ebc76d0 100644 --- a/include/mystery_gift_server.h +++ b/include/mystery_gift_server.h @@ -93,8 +93,8 @@ struct MysteryGiftServer struct MysteryGiftLink link; }; -void MysterGiftServer_CreateForCard(); -void MysterGiftServer_CreateForNews(); +void MysterGiftServer_CreateForCard(void); +void MysterGiftServer_CreateForNews(void); u32 MysterGiftServer_Run(u16 *endVal); #endif //GUARD_MYSTERY_GIFT_SERVER_H diff --git a/include/mystery_gift_view.h b/include/mystery_gift_view.h index 7b94aa4d72..4abe7db920 100644 --- a/include/mystery_gift_view.h +++ b/include/mystery_gift_view.h @@ -13,8 +13,8 @@ bool32 WonderCard_Init(struct WonderCard *card, struct WonderCardMetadata *metad bool32 WonderNews_Init(const struct WonderNews *news); s32 WonderCard_Enter(void); s32 WonderNews_Enter(void); -s32 WonderCard_Exit(bool32 flag); -s32 WonderNews_Exit(bool32 flag); +s32 WonderCard_Exit(bool32 useCancel); +s32 WonderNews_Exit(bool32 useCancel); void WonderCard_Destroy(void); void WonderNews_Destroy(void); u32 WonderNews_GetInput(u16 input); diff --git a/include/overworld.h b/include/overworld.h index adaa6aad04..bde6896569 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -76,7 +76,7 @@ void SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpId); void SetDynamicWarp(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId); void SetDynamicWarpWithCoords(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void SetWarpDestinationToDynamicWarp(u8 unused); +void SetWarpDestinationToDynamicWarp(u8 unusedWarpId); void SetWarpDestinationToHealLocation(u8 healLocationId); void SetWarpDestinationToLastHealLocation(void); void SetLastHealLocationWarp(u8 healLocationId); @@ -99,7 +99,7 @@ void SetDefaultFlashLevel(void); void SetFlashLevel(s32 flashLevel); u8 GetFlashLevel(void); void SetCurrentMapLayout(u16 mapLayoutId); -void SetObjectEventLoadFlag(u8 var); +void SetObjectEventLoadFlag(u8 flag); u16 GetLocationMusic(struct WarpData *warp); u16 GetCurrLocationDefaultMusic(void); u16 GetWarpDestinationMusic(void); diff --git a/include/palette_util.h b/include/palette_util.h index 12ffc145e4..a81078f498 100644 --- a/include/palette_util.h +++ b/include/palette_util.h @@ -66,18 +66,18 @@ struct RouletteFlashUtil struct RouletteFlashPalette palettes[16]; }; -int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *); -void InitPulseBlend(struct PulseBlend *); -void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UpdatePulseBlend(struct PulseBlend *); -void FillTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); +int InitPulseBlendPaletteSettings(struct PulseBlend *pulseBlend, const struct PulseBlendSettings *settings); +void InitPulseBlend(struct PulseBlend *pulseBlend); +void MarkUsedPulseBlendPalettes(struct PulseBlend *pulseBlend, u16 pulseBlendPaletteSelector, u8 multiSelection); +void UnloadUsedPulseBlendPalettes(struct PulseBlend *pulseBlend, u16 pulseBlendPaletteSelector, u8 multiSelection); +void UnmarkUsedPulseBlendPalettes(struct PulseBlend *pulseBlend, u16 pulseBlendPaletteSelector, u8 multiSelection); +void UpdatePulseBlend(struct PulseBlend *pulseBlend); +void FillTilemapRect(u16 *dest, u16 value, u8 left, u8 top, u8 width, u8 height); void SetTilemapRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); -void RouletteFlash_Run(struct RouletteFlashUtil *r0); -void RouletteFlash_Reset(struct RouletteFlashUtil *r0); -u8 RouletteFlash_Add(struct RouletteFlashUtil *r0, u8 r1, const struct RouletteFlashSettings *r2); -void RouletteFlash_Stop(struct RouletteFlashUtil *r0, u16 r1); -void RouletteFlash_Enable(struct RouletteFlashUtil *r0, u16 r1); +void RouletteFlash_Run(struct RouletteFlashUtil *flash); +void RouletteFlash_Reset(struct RouletteFlashUtil *flash); +u8 RouletteFlash_Add(struct RouletteFlashUtil *flash, u8 id, const struct RouletteFlashSettings *settings); +void RouletteFlash_Stop(struct RouletteFlashUtil *flash, u16 flags); +void RouletteFlash_Enable(struct RouletteFlashUtil *flash, u16 flags); #endif // GUARD_PALETTE_UTIL_H diff --git a/include/party_menu.h b/include/party_menu.h index 15ab57b0a9..386437c121 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -39,7 +39,7 @@ void Task_HandleChooseMonInput(u8 taskId); u8 *GetMonNickname(struct Pokemon *mon, u8 *dest); u8 DisplayPartyMenuMessage(const u8 *str, bool8 keepOpen); bool8 IsPartyMenuTextPrinterActive(void); -void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 HPDifference, TaskFunc task); +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); @@ -72,9 +72,9 @@ void OpenPartyMenuInBattle(u8 partyAction); void ChooseMonForInBattleItem(void); void BufferBattlePartyCurrentOrder(void); void BufferBattlePartyCurrentOrderBySide(u8 battler, u8 flankId); -void SwitchPartyOrderLinkMulti(u8 battler, u8 slot, u8 arrayIndex); +void SwitchPartyOrderLinkMulti(u8 battler, u8 slot, u8 slot2); void SwitchPartyMonSlots(u8 slot, u8 slot2); -u8 GetPartyIdFromBattlePartyId(u8 slot); +u8 GetPartyIdFromBattlePartyId(u8 battlePartyId); void ShowPartyMenuToShowcaseMultiBattleParty(void); void ChooseMonForDaycare(void); bool8 CB2_FadeFromPartyMenu(void); diff --git a/include/player_pc.h b/include/player_pc.h index 2521eac131..f2296dde2a 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -17,7 +17,7 @@ extern struct PlayerPCItemPageStruct gPlayerPCItemPageInfo; extern const struct MenuAction gMailboxMailOptions[]; -void ReshowPlayerPC(u8 taskId); +void ReshowPlayerPC(u8 var); void CB2_PlayerPCExitBagMenu(void); void Mailbox_ReturnToMailListAfterDeposit(void); void NewGameInitPCItems(void); diff --git a/include/pokedex.h b/include/pokedex.h index 36a48da1e5..3eb2835d61 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -33,11 +33,11 @@ struct PokedexEntry void ResetPokedex(void); u16 GetPokedexHeightWeight(u16 dexNum, u8 data); -u16 GetNationalPokedexCount(u8); -u16 GetHoennPokedexCount(u8); +u16 GetNationalPokedexCount(u8 caseID); +u16 GetHoennPokedexCount(u8 caseID); u8 DisplayCaughtMonDexPage(u16 dexNum, u32 otId, u32 personality); -s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId); -u16 CreateMonSpriteFromNationalDexNumber(u16, s16, s16, u16); +s8 GetSetPokedexFlag(u16 nationalDexNo, u8 caseID); +u16 CreateMonSpriteFromNationalDexNumber(u16 nationalNum, s16 x, s16 y, u16 paletteSlot); bool16 HasAllHoennMons(void); void ResetPokedexScrollPositions(void); bool16 HasAllMons(void); diff --git a/include/pokedex_area_region_map.h b/include/pokedex_area_region_map.h index 6526d7b458..0a5fc72fc8 100755 --- a/include/pokedex_area_region_map.h +++ b/include/pokedex_area_region_map.h @@ -9,9 +9,9 @@ struct PokedexAreaMapTemplate u32 unk:20; // never read }; -void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *); +void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template); bool32 TryShowPokedexAreaMap(void); -void PokedexAreaMapChangeBgY(u32); +void PokedexAreaMapChangeBgY(u32 move); void FreePokedexAreaMapBgNum(void); #endif // GUARD_POKEDEX_AREA_REGION_MAP_H diff --git a/include/pokedex_area_screen.h b/include/pokedex_area_screen.h index 86dfaa6c5b..1aa42b3a26 100755 --- a/include/pokedex_area_screen.h +++ b/include/pokedex_area_screen.h @@ -1,6 +1,6 @@ #ifndef GUARD_POKEDEX_AREA_SCREEN_H #define GUARD_POKEDEX_AREA_SCREEN_H -void ShowPokedexAreaScreen(u16, u8 *); +void ShowPokedexAreaScreen(u16 species, u8 *screenSwitchState); #endif // GUARD_POKEDEX_AREA_SCREEN_H diff --git a/include/pokedex_cry_screen.h b/include/pokedex_cry_screen.h index 3401db22da..c44035605f 100755 --- a/include/pokedex_cry_screen.h +++ b/include/pokedex_cry_screen.h @@ -12,10 +12,10 @@ struct CryScreenWindow extern u8 gDexCryScreenState; -bool8 LoadCryWaveformWindow(struct CryScreenWindow *, u8); -void UpdateCryWaveformWindow(u8); -void CryScreenPlayButton(u16); -bool8 LoadCryMeter(struct CryScreenWindow *, u8); +bool8 LoadCryWaveformWindow(struct CryScreenWindow *window, u8 windowId); +void UpdateCryWaveformWindow(u8 windowId); +void CryScreenPlayButton(u16 species); +bool8 LoadCryMeter(struct CryScreenWindow *window, u8 windowId); void FreeCryScreen(void); #endif diff --git a/include/pokemon.h b/include/pokemon.h index 306cca115e..53f7f02fd0 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -426,14 +426,14 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon); u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); -s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef); +s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 battlerIdAtk, u8 battlerIdDef); u8 CountAliveMonsInBattle(u8 caseId); u8 GetDefaultMoveTarget(u8 battler); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition); -void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition); +void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerPicId, u8 battlerPosition); void SetMultiuseSpriteTemplateToTrainerFront(u16 trainerPicId, u8 battlerPosition); /* GameFreak called Get(Box)MonData with either 2 or 3 arguments, for @@ -469,13 +469,13 @@ void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex); void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex); void CopyPlayerPartyMonToBattleData(u8 battler, u8 partyIndex); bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex); -bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e); +bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, bool8 usedByAI); bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battler); u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); u8 *UseStatIncreaseItem(u16 itemId); u8 GetNature(struct Pokemon *mon); u8 GetNatureFromPersonality(u32 personality); -u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem); +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem); u16 HoennPokedexNumToSpecies(u16 hoennNum); u16 NationalPokedexNumToSpecies(u16 nationalNum); u16 NationalToHoennOrder(u16 nationalNum); @@ -486,10 +486,10 @@ u16 SpeciesToCryId(u16 species); void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, bool8 isFrontPic); void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); u8 GetPlayerFlankId(void); -u16 GetLinkTrainerFlankId(u8 id); +u16 GetLinkTrainerFlankId(u8 linkPlayerId); s32 GetBattlerMultiplayerId(u16 id); u8 GetTrainerEncounterMusicId(u16 trainerOpponentId); -u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex); +u16 ModifyStatByNature(u8 nature, u16 stat, u8 statIndex); void AdjustFriendship(struct Pokemon *mon, u8 event); void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies); u16 GetMonEVCount(struct Pokemon *mon); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 9b917c3bf4..0964a50e45 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -5,14 +5,14 @@ extern const u8 gMonIconPaletteIndices[]; extern const u8 *const gMonIconTable[]; extern const struct SpritePalette gMonIconPaletteTable[]; -const u8 *GetMonIconTiles(u16 species, bool32); +const u8 *GetMonIconTiles(u16 species, bool32 handleDeoxys); void TryLoadAllMonIconPalettesAtOffset(u16 offset); u8 GetValidMonIconPalIndex(u16 species); -const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); -const u16 *GetValidMonIconPalettePtr(u16 speciesId); +const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 handleDeoxys); +const u16 *GetValidMonIconPalettePtr(u16 species); u16 GetIconSpecies(u16 species, u32 personality); u16 GetUnownLetterByPersonality(u32 personality); -u16 GetIconSpeciesNoPersonality(u16 speciesId); +u16 GetIconSpeciesNoPersonality(u16 species); void LoadMonIconPalettes(void); void LoadMonIconPalette(u16 species); void FreeMonIconPalettes(void); diff --git a/include/pokenav.h b/include/pokenav.h index f274cfcb23..553d2ad0f6 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -306,7 +306,7 @@ enum { }; // pokenav.c -void SetSelectedConditionSearch(u32); +void SetSelectedConditionSearch(u32 cursorPos); u32 GetSelectedConditionSearch(void); void CB2_InitPokeNav(void); @@ -333,7 +333,7 @@ int PokenavList_MoveCursorDown(void); int PokenavList_PageDown(void); int PokenavList_PageUp(void); bool32 PokenavList_IsMoveWindowTaskActive(void); -void PokenavList_ToggleVerticalArrows(bool32 shouldHide); +void PokenavList_ToggleVerticalArrows(bool32 invisible); void PokenavList_DrawCurrentItemIcon(void); void PokenavList_EraseListForCheckPage(void); bool32 PokenavList_IsTaskActive(void); @@ -359,7 +359,7 @@ void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size void RunMainMenuLoopedTask(u32 state); u32 IsActiveMenuLoopTaskActive(void); void LoadLeftHeaderGfxForIndex(u32 menuGfxId); -void ShowLeftHeaderGfx(u32 menugfxId, bool32 isMain, bool32 isOnRightSide); +void ShowLeftHeaderGfx(u32 menuGfxId, bool32 isMain, bool32 isOnRightSide); void PokenavFadeScreen(s32 fadeType); bool32 AreLeftHeaderSpritesMoving(void); void InitBgTemplates(const struct BgTemplate *templates, int count); @@ -369,7 +369,7 @@ bool32 WaitForHelpBar(void); void SlideMenuHeaderDown(void); bool32 MainMenuLoopedTaskIsBusy(void); void SetLeftHeaderSpritesInvisibility(void); -void PokenavCopyPalette(const u16 *a0, const u16 *a1, int a2, int a3, int a4, u16 *palette); +void PokenavCopyPalette(const u16 *src, const u16 *dest, int size, int a3, int a4, u16 *palette); void FadeToBlackExceptPrimary(void); struct Sprite *GetSpinningPokenavSprite(void); void HideSpinningPokenavSprite(void); @@ -379,7 +379,7 @@ void SlideMenuHeaderUp(void); void PokenavFillPalette(u32 palIndex, u16 fillValue); u32 PokenavMainMenuLoopedTaskIsActive(void); bool32 WaitForPokenavShutdownFade(void); -void SetActiveMenuLoopTasks(void *func1, void *func2); +void SetActiveMenuLoopTasks(void *createLoopTask, void *isLoopTaskActive); // Fix types later. void ShutdownPokenav(void); // pokenav_menu_handler.c @@ -410,11 +410,11 @@ void FreeMatchCallSubstruct1(void); int IsMatchCallListInitFinished(void); int GetNumberRegistered(void); struct PokenavMatchCallEntry *GetMatchCallList(void); -u16 GetMatchCallMapSec(int); +u16 GetMatchCallMapSec(int index); bool32 ShouldDrawRematchPokeballIcon(int index); void ClearRematchPokeballIcon(u16 windowId, u32 tileOffset); int GetMatchCallTrainerPic(int index); -const u8 *GetMatchCallFlavorText(int index, int textType); +const u8 *GetMatchCallFlavorText(int index, int checkPageEntry); const u8 *GetMatchCallMessageText(int index, bool8 *newRematchRequest); u16 GetMatchCallOptionCursorPos(void); u16 GetMatchCallOptionId(int optionId); @@ -422,7 +422,7 @@ void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntry *matchCallEntry, u8 u8 GetMatchTableMapSectionId(int rematchIndex); int GetIndexDeltaOfNextCheckPageDown(int index); int GetIndexDeltaOfNextCheckPageUp(int index); -bool32 IsRematchEntryRegistered(int index); +bool32 IsRematchEntryRegistered(int rematchIndex); // pokenav_match_call_gfx.c bool32 OpenMatchCall(void); @@ -434,14 +434,14 @@ void FreeMatchCallSubstruct2(void); u32 PokenavCallback_Init_RegionMap(void); u32 GetRegionMapCallback(void); bool32 OpenPokenavRegionMap(void); -void CreateRegionMapLoopedTask(s32); +void CreateRegionMapLoopedTask(s32 index); bool32 IsRegionMapLoopedTaskActive(void); void FreeRegionMapSubstruct1(void); void FreeRegionMapSubstruct2(void); // pokenav_conditions.c -u32 PokenavCallback_Init_ConditionGraph_Party(void); -u32 PokenavCallback_Init_ConditionGraph_Search(void); +bool32 PokenavCallback_Init_ConditionGraph_Party(void); +bool32 PokenavCallback_Init_ConditionGraph_Search(void); u32 GetConditionGraphMenuCallback(void); void FreeConditionGraphMenuSubstruct1(void); bool32 LoadConditionGraphMenuGfx(void); @@ -452,47 +452,47 @@ u16 GetMonListCount(void); u8 GetNumConditionMonSparkles(void); bool32 LoadNextConditionMenuMonData(u8 mode); u8 TryGetMonMarkId(void); -u8 *GetConditionMonNameText(u8 id); -u8 *GetConditionMonLocationText(u8 id); +u8 *GetConditionMonNameText(u8 loadId); +u8 *GetConditionMonLocationText(u8 loadId); u16 GetConditionMonDataBuffer(void); -void *GetConditionMonPicGfx(u8 id); -void *GetConditionMonPal(u8 id); +void *GetConditionMonPicGfx(u8 loadId); +void *GetConditionMonPal(u8 loadId); // pokenav_conditions_gfx.c bool32 OpenConditionGraphMenu(void); -void CreateConditionGraphMenuLoopedTask(s32); +void CreateConditionGraphMenuLoopedTask(s32 id); u32 IsConditionGraphMenuLoopedTaskActive(void); void FreeConditionGraphMenuSubstruct2(void); u8 GetMonMarkingsData(void); // pokenav_conditions_search_results.c -u32 PokenavCallback_Init_ConditionSearch(void); -u32 PokenavCallback_Init_ReturnToMonSearchList(void); +bool32 PokenavCallback_Init_ConditionSearch(void); +bool32 PokenavCallback_Init_ReturnToMonSearchList(void); u32 GetConditionSearchResultsCallback(void); void FreeSearchResultSubstruct1(void); bool32 OpenConditionSearchResults(void); bool32 OpenConditionSearchListFromGraph(void); -void CreateSearchResultsLoopedTask(s32); -u32 IsSearchResultLoopedTaskActive(void); +void CreateSearchResultsLoopedTask(s32 idx); +bool32 IsSearchResultLoopedTaskActive(void); void FreeSearchResultSubstruct2(void); // pokenav_ribbons_list.c -u32 PokenavCallback_Init_MonRibbonList(void); -u32 PokenavCallback_Init_RibbonsMonListFromSummary(void); +bool32 PokenavCallback_Init_MonRibbonList(void); +bool32 PokenavCallback_Init_RibbonsMonListFromSummary(void); u32 GetRibbonsMonListCallback(void); void FreeRibbonsMonList(void); bool32 OpenRibbonsMonList(void); bool32 OpenRibbonsMonListFromRibbonsSummary(void); -void CreateRibbonsMonListLoopedTask(s32); -u32 IsRibbonsMonListLoopedTaskActive(void); +void CreateRibbonsMonListLoopedTask(s32 idx); +bool32 IsRibbonsMonListLoopedTaskActive(void); void FreeRibbonsMonMenu(void); // pokenav_ribbons_summary.c -u32 PokenavCallback_Init_RibbonsSummaryMenu(void); +bool32 PokenavCallback_Init_RibbonsSummaryMenu(void); u32 GetRibbonsSummaryMenuCallback(void); void FreeRibbonsSummaryScreen1(void); bool32 OpenRibbonsSummaryMenu(void); -void CreateRibbonsSummaryLoopedTask(s32); +void CreateRibbonsSummaryLoopedTask(s32 id); u32 IsRibbonsSummaryLoopedTaskActive(void); void FreeRibbonsSummaryScreen2(void); diff --git a/include/rayquaza_scene.h b/include/rayquaza_scene.h index 5aa21981eb..422b591273 100644 --- a/include/rayquaza_scene.h +++ b/include/rayquaza_scene.h @@ -1,6 +1,6 @@ #ifndef GUARD_RAYQUAZA_SCENE_H #define GUARD_RAYQUAZA_SCENE_H -void DoRayquazaScene(u8 animId, bool8 endEarly, void (*callback)(void)); +void DoRayquazaScene(u8 animId, bool8 endEarly, void (*exitCallback)(void)); #endif // GUARD_RAYQUAZA_SCENE_H diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 2e61be577c..9e53b55aae 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -14,7 +14,7 @@ void RecordedBattle_SetBattlerAction(u8 battler, u8 action); void RecordedBattle_ClearBattlerAction(u8 battler, u8 bytesToClear); u8 RecordedBattle_GetBattlerAction(u8 battler); u8 RecordedBattle_BufferNewBattlerData(u8 *dst); -void RecordedBattle_RecordAllBattlerData(u8 *data); +void RecordedBattle_RecordAllBattlerData(u8 *src); bool32 CanCopyRecordedBattleSaveData(void); bool32 MoveRecordedBattleToSaveData(void); void PlayRecordedBattle(void (*CB2_After)(void)); diff --git a/include/region_map.h b/include/region_map.h index 9f0b110a65..2bca9e7f7d 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -95,7 +95,7 @@ struct RegionMapLocation void InitRegionMapData(struct RegionMap *regionMap, const struct BgTemplate *template, bool8 zoomed); bool8 LoadRegionMapGfx(void); void UpdateRegionMapVideoRegs(void); -void InitRegionMap(struct RegionMap *regionMap, u8 argument); +void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed); u8 DoRegionMapInputCallback(void); bool8 UpdateRegionMapZoom(void); void FreeRegionMapIconResources(void); @@ -103,7 +103,7 @@ u16 GetRegionMapSecIdAt(u16 x, u16 y); void CreateRegionMapPlayerIcon(u16 tileTag, u16 paletteTag); void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); bool32 IsEventIslandMapSecId(u8 mapSecId); -u8 *GetMapName(u8 *, u16, u16); +u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength); u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId); u8 *GetMapNameHandleAquaHideout(u8 *dest, u16 mapSecId); u16 CorrectSpecialMapSecId(u16 mapSecId); diff --git a/include/roamer.h b/include/roamer.h index ba1b09b54d..a1814b1375 100644 --- a/include/roamer.h +++ b/include/roamer.h @@ -9,7 +9,7 @@ void RoamerMoveToOtherLocationSet(void); void RoamerMove(void); bool8 IsRoamerAt(u8 mapGroup, u8 mapNum); void CreateRoamerMonInstance(void); -u8 TryStartRoamerEncounter(void); +bool8 TryStartRoamerEncounter(void); void UpdateRoamerHPStatus(struct Pokemon *mon); void SetRoamerInactive(void); void GetRoamerLocation(u8 *mapGroup, u8 *mapNum); diff --git a/include/safari_zone.h b/include/safari_zone.h index 39ee3ccb3e..5336c81057 100644 --- a/include/safari_zone.h +++ b/include/safari_zone.h @@ -16,6 +16,6 @@ void SafariZoneRetirePrompt(void); void CB2_EndSafariBattle(void); struct Pokeblock *SafariZoneGetActivePokeblock(void); -void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index); +void SafariZoneActivatePokeblockFeeder(u8 pkblId); #endif // GUARD_SAFARI_ZONE_H diff --git a/include/scanline_effect.h b/include/scanline_effect.h index 80d9df764d..d9ee9e678c 100644 --- a/include/scanline_effect.h +++ b/include/scanline_effect.h @@ -41,7 +41,7 @@ extern u16 ALIGNED(4) gScanlineEffectRegBuffers[2][0x3C0]; void ScanlineEffect_Stop(void); void ScanlineEffect_Clear(void); -void ScanlineEffect_SetParams(struct ScanlineEffectParams); +void ScanlineEffect_SetParams(struct ScanlineEffectParams params); void ScanlineEffect_InitHBlankDmaTransfer(void); u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 applyBattleBgOffsets); diff --git a/include/script_menu.h b/include/script_menu.h index 734c717cff..71eb6695bc 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -14,7 +14,7 @@ bool8 (*ScriptMenu_HidePokemonPic(void))(void); int ConvertPixelWidthToTileWidth(int width); u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height); void ClearToTransparentAndRemoveWindow(u8 windowId); -int DisplayTextAndGetWidth(const u8 *str, int width); +int DisplayTextAndGetWidth(const u8 *str, int prevWidth); int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width); bool16 ScriptMenu_CreatePCMultichoice(void); void ScriptMenu_DisplayPCStartupPrompt(void); diff --git a/include/script_pokemon_util.h b/include/script_pokemon_util.h index cae16e40a6..d453c22adc 100644 --- a/include/script_pokemon_util.h +++ b/include/script_pokemon_util.h @@ -1,10 +1,10 @@ #ifndef GUARD_SCRIPT_POKEMON_UTIL_H #define GUARD_SCRIPT_POKEMON_UTIL_H -u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8); -u8 ScriptGiveEgg(u16); -void CreateScriptedWildMon(u16, u8, u16); -void ScriptSetMonMoveSlot(u8, u16, u8); +u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 unused3); +u8 ScriptGiveEgg(u16 species); +void CreateScriptedWildMon(u16 species, u8 level, u16 item); +void ScriptSetMonMoveSlot(u8 monIndex, u16 move, u8 slot); void ReducePlayerPartyToSelectedMons(void); void HealPlayerParty(void); diff --git a/include/secret_base.h b/include/secret_base.h index 567316cf9c..5502194ff2 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -3,7 +3,7 @@ void HideSecretBaseDecorationSprites(void); void CopyCurSecretBaseOwnerName_StrVar1(void); -void ClearJapaneseSecretBases(struct SecretBase *dest); +void ClearJapaneseSecretBases(struct SecretBase *bases); void SetPlayerSecretBaseParty(void); u8 *GetSecretBaseMapName(u8 *dest); const u8 *GetSecretBaseTrainerLoseText(void); @@ -24,6 +24,6 @@ void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const st void TrySetCurSecretBaseIndex(void); void CheckPlayerHasSecretBase(void); void ToggleSecretBaseEntranceMetatile(void); -void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx); +void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx); #endif //GUARD_SECRET_BASE_H diff --git a/include/shop.h b/include/shop.h index 6644ba0aa0..367c06ed6c 100644 --- a/include/shop.h +++ b/include/shop.h @@ -3,9 +3,9 @@ extern struct ItemSlot gMartPurchaseHistory[3]; -void CreatePokemartMenu(const u16 *); -void CreateDecorationShop1Menu(const u16 *); -void CreateDecorationShop2Menu(const u16 *); +void CreatePokemartMenu(const u16 *itemsForSale); +void CreateDecorationShop1Menu(const u16 *itemsForSale); +void CreateDecorationShop2Menu(const u16 *itemsForSale); void CB2_ExitSellMenu(void); #endif // GUARD_SHOP_H diff --git a/include/slot_machine.h b/include/slot_machine.h index 88bbbd91bd..56617b23d7 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -1,6 +1,6 @@ #ifndef GUARD_SLOT_MACHINE_H #define GUARD_SLOT_MACHINE_H -void PlaySlotMachine(u8, void (callback)(void)); +void PlaySlotMachine(u8 machineId, MainCallback exitCallback); #endif // GUARD_SLOT_MACHINE_H diff --git a/include/sprite.h b/include/sprite.h index c66e0bd85e..822c986991 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -298,16 +298,10 @@ void InitSpriteAffineAnim(struct Sprite *sprite); void SetOamMatrixRotationScaling(u8 matrixNum, s16 xScale, s16 yScale, u16 rotation); u16 LoadSpriteSheet(const struct SpriteSheet *sheet); void LoadSpriteSheets(const struct SpriteSheet *sheets); -u16 AllocTilesForSpriteSheet(struct SpriteSheet *sheet); -void AllocTilesForSpriteSheets(struct SpriteSheet *sheets); -void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet); -void LoadTilesForSpriteSheets(struct SpriteSheet *sheets); void FreeSpriteTilesByTag(u16 tag); void FreeSpriteTileRanges(void); u16 GetSpriteTileStartByTag(u16 tag); u16 GetSpriteTileTagByTileStart(u16 start); -void RequestSpriteSheetCopy(const struct SpriteSheet *sheet); -u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet); void FreeAllSpritePalettes(void); u8 LoadSpritePalette(const struct SpritePalette *palette); void LoadSpritePalettes(const struct SpritePalette *palettes); @@ -316,7 +310,7 @@ u8 IndexOfSpritePaletteTag(u16 tag); u16 GetSpritePaletteTagByPaletteNum(u8 paletteNum); void FreeSpritePaletteByTag(u16 tag); void SetSubspriteTables(struct Sprite *sprite, const struct SubspriteTable *subspriteTables); -bool8 AddSpriteToOamBuffer(struct Sprite *object, u8 *oamIndex); +bool8 AddSpriteToOamBuffer(struct Sprite *sprite, u8 *oamIndex); bool8 AddSubspritesToOamBuffer(struct Sprite *sprite, struct OamData *destOam, u8 *oamIndex); void CopyToSprites(u8 *src); void CopyFromSprites(u8 *dest); diff --git a/include/text.h b/include/text.h index db9f4db873..db2415fd6d 100644 --- a/include/text.h +++ b/include/text.h @@ -137,14 +137,14 @@ extern struct TextGlyph gCurGlyph; void DeactivateAllTextPrinters(void); u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); -bool16 AddTextPrinter(struct TextPrinterTemplate *template, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); +bool16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); void RunTextPrinters(void); bool16 IsTextPrinterActive(u8 id); void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor); void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor); void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor); void DecompressGlyphTile(const void *src_, void *dest_); -void CopyGlyphToWindow(struct TextPrinter *x); +void CopyGlyphToWindow(struct TextPrinter *textPrinter); void ClearTextSpan(struct TextPrinter *textPrinter, u32 width); void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter); diff --git a/include/time_events.h b/include/time_events.h index fd6d29f390..f40b9b45ef 100644 --- a/include/time_events.h +++ b/include/time_events.h @@ -1,8 +1,8 @@ #ifndef GUARD_TIME_EVENTS_H #define GUARD_TIME_EVENTS_H -void UpdateMirageRnd(u16); -u8 IsMirageIslandPresent(void); -void UpdateBirchState(u16); +void UpdateMirageRnd(u16 days); +bool8 IsMirageIslandPresent(void); +void UpdateBirchState(u16 days); #endif // GUARD_TIME_EVENTS_H diff --git a/include/trade.h b/include/trade.h index 6b621038fc..33191f0ac6 100644 --- a/include/trade.h +++ b/include/trade.h @@ -14,10 +14,10 @@ void CB2_StartCreateTradeMenu(void); void CB2_LinkTrade(void); int CanRegisterMonForTradingBoard(struct RfuGameCompatibilityData player, u16 species2, u16 species, bool8 isModernFatefulEncounter); int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct RfuGameCompatibilityData partner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, bool8 isModernFatefulEncounter); -int CanSpinTradeMon(struct Pokemon *, u16); +int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx); void InitTradeSequenceBgGpuRegs(void); void LinkTradeDrawWindow(void); void LoadTradeAnimGfx(void); -void DrawTextOnTradeWindow(u8, const u8 *, u8); +void DrawTextOnTradeWindow(u8 windowId, const u8 *str, u8 speed); #endif //GUARD_TRADE_H diff --git a/include/trainer_card.h b/include/trainer_card.h index 7c37a84a6c..1faa306aab 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -70,6 +70,6 @@ u8 GetTrainerCardStars(u8 cardId); void CopyTrainerCardData(struct TrainerCard *dst, struct TrainerCard *src, u8 gameVersion); void ShowPlayerTrainerCard(void (*callback)(void)); void ShowTrainerCardInLink(u8 cardId, void (*callback)(void)); -void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *); +void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard); #endif // GUARD_TRAINER_CARD_H diff --git a/include/trainer_see.h b/include/trainer_see.h index ab808c720c..641e05b8b0 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -17,7 +17,7 @@ extern bool8 gTrainerApproachedPlayer; extern u8 gApproachingTrainerId; bool8 CheckForTrainersWantingBattle(void); -void SetBuriedTrainerMovement(struct ObjectEvent *var); +void SetBuriedTrainerMovement(struct ObjectEvent *objEvent); void DoTrainerApproach(void); void TryPrepareSecondApproachingTrainer(void); u8 FldEff_ExclamationMarkIcon(void); diff --git a/include/tv.h b/include/tv.h index f47aa532d7..a9a387e95b 100644 --- a/include/tv.h +++ b/include/tv.h @@ -6,7 +6,7 @@ extern u8 *const gTVStringVarPtrs[3]; void ClearTVShowData(void); void TryPutBreakingNewsOnAir(void); void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIndex, const u16 *movePtr, u16 betterMove); -void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facility); +void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facilityAndMode); void DoTVShow(void); void DoTVShowInSearchOfTrainers(void); void TryPutTreasureInvestigatorsOnAir(void); @@ -16,7 +16,7 @@ void IncrementDailyPlantedBerries(void); void IncrementDailyPickedBerries(void); void IncrementDailyBattlePoints(u16 delta); void HideBattleTowerReporter(void); -void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx); +void ReceiveTvShowsData(void *src, u32 size, u8 playersLinkId); void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx); u32 GetPlayerIDAsU32(void); bool8 IsPokeNewsActive(u8 newsKind); @@ -29,7 +29,7 @@ void TryPutFindThatGamerOnAir(u16 nCoinsPaidOut); void TryPutSecretBaseSecretsOnAir(void); void TryPutTodaysRivalTrainerOnAir(void); void TryPutTrendWatcherOnAir(const u16 *words); -void ReceivePokeNewsData(void *src, u32 size, u8 masterIdx); +void ReceivePokeNewsData(void *src, u32 size, u8 playersLinkId); void DeactivateAllNormalTVShows(void); void RecordFishingAttemptForTV(bool8 caughtFish); void IncrementDailySlotsUses(void); @@ -37,8 +37,8 @@ void IncrementDailyRouletteUses(void); void IncrementDailyWildBattles(void); void IncrementDailyBerryBlender(void); void SanitizeTVShowsForRuby(TVShow *shows); -void TryPutSafariFanClubOnAir(u8 nMonsCaught, u8 nPkblkUsed); -bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language); +void TryPutSafariFanClubOnAir(u8 monsCaught, u8 pokeblocksUsed); +bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 color, u8 sheen, u8 language); void SetPokemonAnglerSpecies(u16 species); void UpdateTVShowsPerDay(u16 days); void TryPutPokemonTodayOnAir(void); @@ -47,7 +47,7 @@ void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlaye void BravoTrainerPokemonProfile_BeforeInterview1(u16 move); void InterviewBefore(void); void InterviewAfter(void); -void UpdateTVScreensOnMap(int, int); +void UpdateTVScreensOnMap(int width, int height); void ConvertIntToDecimalString(u8 varIdx, int value); void TryPutSmartShopperOnAir(void); bool8 ShouldAirFrontierTVShow(void); diff --git a/include/util.h b/include/util.h index 8f2079a0ba..051f1160bf 100644 --- a/include/util.h +++ b/include/util.h @@ -6,9 +6,9 @@ extern const u8 gMiscBlank_Gfx[]; // unused in Emerald extern const u32 gBitTable[]; -u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); -void StoreWordInTwoHalfwords(u16 *, u32); -void LoadWordFromTwoHalfwords(u16 *, u32 *); +u8 CreateInvisibleSpriteWithCallback(void (*callback)(struct Sprite *)); +void StoreWordInTwoHalfwords(u16 *h, u32 w); +void LoadWordFromTwoHalfwords(u16 *h, u32 *w); int CountTrailingZeroBits(u32 value); u16 CalcCRC16(const u8 *data, s32 length); u16 CalcCRC16WithTable(const u8 *data, u32 length); diff --git a/include/wild_encounter.h b/include/wild_encounter.h index 8608ec5b16..6e72f6f123 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -29,7 +29,7 @@ struct WildPokemonHeader extern const struct WildPokemonHeader gWildMonHeaders[]; void DisableWildEncounters(bool8 disabled); -bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior); +bool8 StandardWildEncounter(u16 curMetatileBehavior, u16 prevMetatileBehavior); bool8 SweetScentWildEncounter(void); bool8 DoesCurrentMapHaveFishingMons(void); void FishingWildEncounter(u8 rod); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index ad5dab67b7..b55c36b4e1 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1128,15 +1128,15 @@ void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 m PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 16 + sizeof(struct DisableStruct)); } -void BtlController_EmitPrintString(u8 bufferId, u16 stringID) +void BtlController_EmitPrintString(u8 bufferId, u16 stringId) { s32 i; struct BattleMsgData *stringInfo; sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRING; sBattleBuffersTransferData[1] = gBattleOutcome; - sBattleBuffersTransferData[2] = stringID; - sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; + sBattleBuffersTransferData[2] = stringId; + sBattleBuffersTransferData[3] = (stringId & 0xFF00) >> 8; stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; @@ -1160,15 +1160,15 @@ void BtlController_EmitPrintString(u8 bufferId, u16 stringID) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4); } -void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID) +void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringId) { s32 i; struct BattleMsgData *stringInfo; sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY; sBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY; - sBattleBuffersTransferData[2] = stringID; - sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; + sBattleBuffersTransferData[2] = stringId; + sBattleBuffersTransferData[3] = (stringId & 0xFF00) >> 8; stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; diff --git a/src/main.c b/src/main.c index 29c026624d..2a47ec51ac 100644 --- a/src/main.c +++ b/src/main.c @@ -86,7 +86,7 @@ void EnableVCountIntrAtLine150(void); #define B_START_SELECT (B_BUTTON | START_BUTTON | SELECT_BUTTON) -void AgbMain() +void AgbMain(void) { // Modern compilers are liberal with the stack on entry to this function, // so RegisterRamReset may crash if it resets IWRAM. diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 924428aea4..f8261fd391 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -320,7 +320,7 @@ bool8 MetatileBehavior_IsSouthArrowWarp(u8 metatileBehavior) return FALSE; } -bool8 Unref_MetatileBehavior_IsArrowWarp(u8 metatileBehavior) +bool8 UNUSED Unref_MetatileBehavior_IsArrowWarp(u8 metatileBehavior) { u8 isArrowWarp = FALSE; diff --git a/src/save.c b/src/save.c index d5eb6c3fc6..bff1384c52 100644 --- a/src/save.c +++ b/src/save.c @@ -826,7 +826,7 @@ bool8 LinkFullSave_SetLastSectorSignature(void) return FALSE; } -u8 WriteSaveBlock2(void) +bool8 WriteSaveBlock2(void) { if (gFlashMemoryPresent != TRUE) return TRUE; From bd0a02c45630d6b3666b079593e787de263d0a17 Mon Sep 17 00:00:00 2001 From: Kurausukun Date: Mon, 19 May 2025 10:43:06 -0400 Subject: [PATCH 55/84] Correct C23 Checks (#2144) --- Makefile | 2 +- include/gba/m4a_internal.h | 2 +- include/librfu.h | 2 +- src/librfu_intr.c | 6 +++--- src/m4a.c | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 6252664bde..1c7eb46016 100644 --- a/Makefile +++ b/Makefile @@ -115,7 +115,7 @@ INCLUDE_SCANINC_ARGS := $(INCLUDE_DIRS:%=-I %) O_LEVEL ?= 2 CPPFLAGS := $(INCLUDE_CPP_ARGS) -Wno-trigraphs -DMODERN=$(MODERN) ifeq ($(MODERN),0) - CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef + CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef -std=gnu89 CC1 := tools/agbcc/bin/agbcc$(EXE) override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O$(O_LEVEL) -fhex-asm -g LIBPATH := -L ../../tools/agbcc/lib diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index a4182c8889..a90771048d 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -170,7 +170,7 @@ struct SoundChannel struct MusicPlayerInfo; -#if !MODERN +#if __STDC_VERSION__ < 202311L typedef void (*MPlayFunc)(); #else typedef void (*MPlayFunc)(...); diff --git a/include/librfu.h b/include/librfu.h index 0bd4dc6c0d..8125d64043 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -316,7 +316,7 @@ struct STWIStatus u8 recoveryCount; u8 unk_16; u8 unk_17; -#if !MODERN +#if __STDC_VERSION__ < 202311L void (*callbackM)(); #else void (*callbackM)(...); diff --git a/src/librfu_intr.c b/src/librfu_intr.c index 0426e6459c..5ae53ab4e3 100644 --- a/src/librfu_intr.c +++ b/src/librfu_intr.c @@ -7,7 +7,7 @@ static u16 handshake_wait(u16 slot); static void STWI_set_timer_in_RAM(u8 count); static void STWI_stop_timer_in_RAM(void); static void STWI_init_slave(void); -#if !MODERN +#if __STDC_VERSION__ < 202311L static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()); #else static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)(...)); @@ -139,7 +139,7 @@ static void sio32intr_clock_master(void) } gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) -#if !MODERN +#if __STDC_VERSION__ < 202311L Callback_Dummy_M(gSTWIStatus->reqActiveCommand, gSTWIStatus->error, gSTWIStatus->callbackM); #else Callback_Dummy_M(gSTWIStatus->reqActiveCommand, gSTWIStatus->error, (void (*)(...))gSTWIStatus->callbackM); @@ -396,7 +396,7 @@ static void STWI_init_slave(void) } NAKED -#if !MODERN +#if __STDC_VERSION__ < 202311L static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()) #else static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)(...)) diff --git a/src/m4a.c b/src/m4a.c index 1344f53080..2ad2261d08 100644 --- a/src/m4a.c +++ b/src/m4a.c @@ -283,7 +283,7 @@ void MPlayExtender(struct CgbChannel *cgbChans) soundInfo->ident++; -#if !MODERN +#if __STDC_VERSION__ < 202311L gMPlayJumpTable[8] = ply_memacc; gMPlayJumpTable[17] = ply_lfos; gMPlayJumpTable[19] = ply_mod; @@ -332,7 +332,7 @@ void MusicPlayerJumpTableCopy(void) void ClearChain(void *x) { -#if !MODERN +#if __STDC_VERSION__ < 202311L void (*func)(void *) = *(&gMPlayJumpTable[34]); #else void (*func)(...) = *(&gMPlayJumpTable[34]); @@ -342,7 +342,7 @@ void ClearChain(void *x) void Clear64byte(void *x) { -#if !MODERN +#if __STDC_VERSION__ < 202311L void (*func)(void *) = *(&gMPlayJumpTable[35]); #else void (*func)(...) = *(&gMPlayJumpTable[35]); From fe7425235aaedd5299c97ca24ffc99c1261d697c Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 15:47:16 -0700 Subject: [PATCH 56/84] add wiz1989 as a contributor for code (#6902) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index d8b52fb16e..9e53871758 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,15 @@ "code" ] }, + { + "login": "wiz1989", + "name": "wiz1989", + "avatar_url": "https://avatars.githubusercontent.com/u/80073265?v=4", + "profile": "https://github.com/wiz1989", + "contributions": [ + "code" + ] + }, { "login": "PCG06", "name": "PCG", diff --git a/CREDITS.md b/CREDITS.md index 4baf67db9a..f52cb045c2 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -46,6 +46,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d PCG
PCG

💻 + wiz1989
wiz1989

💻 From 00bc660727df67d61cf951650b06194504345a5c Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 19:35:38 -0700 Subject: [PATCH 57/84] add RubyRaven6 as a contributor for code, and doc (#6918) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ CREDITS.md | 9 ++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 9e53871758..b14ab92ca9 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -218,6 +218,16 @@ "code" ] }, + { + "login": "RubyRaven6", + "name": "Ruby", + "avatar_url": "https://avatars.githubusercontent.com/u/178652077?v=4", + "profile": "https://github.com/RubyRaven6", + "contributions": [ + "code", + "doc" + ] + }, { "login": "mudskipper13", "name": "mudskipper13", diff --git a/CREDITS.md b/CREDITS.md index f52cb045c2..ae6323edfb 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -40,13 +40,12 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Cafe
Cafe

🎨 agsmgmaster64
agsmgmaster64

💻 mudskipper13
mudskipper13

💻 📖 - Linathan
Linathan

💻 - ExpoSeed
ExpoSeed

💻 🚧 👀 kittenchilly
kittenchilly

💻 🔬 🔣 + PCG
PCG

💻 + wiz1989
wiz1989

💻 - PCG
PCG

💻 - wiz1989
wiz1989

💻 + Ruby
Ruby

💻 📖 @@ -94,4 +93,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! \ No newline at end of file +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! From 100121ad0676240abd3a60d719d8670f1232e4b1 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 22:14:59 -0700 Subject: [PATCH 58/84] add grintoul1 as a contributor for code (#6920) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 13 +++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index b14ab92ca9..13c11c8429 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -237,6 +237,15 @@ "code", "doc" ] + }, + { + "login": "grintoul1", + "name": "grintoul", + "avatar_url": "https://avatars.githubusercontent.com/u/166724814?v=4", + "profile": "https://github.com/grintoul1", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/CREDITS.md b/CREDITS.md index ae6323edfb..86d7d656f0 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,21 +31,22 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + PCG
PCG

💻 + kittenchilly
kittenchilly

💻 🔬 🔣 ExpoSeed
ExpoSeed

💻 🚧 👀 - Linathan
Linathan

💻 - Eduardo Quezada
Eduardo Quezada

💻 🔣 📖 🚇 🚧 📆 📣 🔬 👀 ⚠️ 📓 + Linathan
Linathan

💻 + Eduardo Quezada
Eduardo Quezada

💻 🔣 📖 🚇 🚧 📆 📣 🔬 👀 ⚠️ 📓 khbsd
khbsd

📖 💻 Cafe
Cafe

🎨 agsmgmaster64
agsmgmaster64

💻 mudskipper13
mudskipper13

💻 📖 - kittenchilly
kittenchilly

💻 🔬 🔣 - PCG
PCG

💻 - wiz1989
wiz1989

💻 + Ruby
Ruby

💻 📖 - Ruby
Ruby

💻 📖 + wiz1989
wiz1989

💻 + grintoul
grintoul

💻 From 3f89abea743dbda98c5d73e53b6c78fba52ab147 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Tue, 20 May 2025 01:17:46 -0400 Subject: [PATCH 59/84] Fix test not referencing AI_TRAINER_NAME (#6926) --- test/battle/ai/ai_switching.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/battle/ai/ai_switching.c b/test/battle/ai/ai_switching.c index 6f0fb7920c..e20dd5bf61 100644 --- a/test/battle/ai/ai_switching.c +++ b/test/battle/ai/ai_switching.c @@ -97,11 +97,11 @@ AI_DOUBLE_BATTLE_TEST("AI will not try to switch for the same pokemon for 2 spot } WHEN { TURN { EXPECT_SWITCH(opponentLeft, 3); }; } SCENE { - MESSAGE("{PKMN} TRAINER LEAF withdrew Linoone!"); - MESSAGE("{PKMN} TRAINER LEAF sent out Gengar!"); + MESSAGE(AI_TRAINER_NAME " withdrew Linoone!"); + MESSAGE(AI_TRAINER_NAME " sent out Gengar!"); NONE_OF { - MESSAGE("{PKMN} TRAINER LEAF withdrew Zigzagoon!"); - MESSAGE("{PKMN} TRAINER LEAF sent out Gengar!"); + MESSAGE(AI_TRAINER_NAME " withdrew Zigzagoon!"); + MESSAGE(AI_TRAINER_NAME " sent out Gengar!"); } } } From 8f88cfad5b903d335dd113fc1be666be09aa0a62 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 20 May 2025 06:25:26 -0700 Subject: [PATCH 60/84] add surskitty as a contributor for code (#6924) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 13c11c8429..e5ecce9602 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -238,6 +238,15 @@ "doc" ] }, + { + "login": "surskitty", + "name": "surskitty", + "avatar_url": "https://avatars.githubusercontent.com/u/1383512?v=4", + "profile": "https://github.com/surskitty", + "contributions": [ + "code" + ] + }, { "login": "grintoul1", "name": "grintoul", diff --git a/CREDITS.md b/CREDITS.md index 86d7d656f0..6045f2301a 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -45,6 +45,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Ruby
Ruby

💻 📖 + surskitty
surskitty

💻 wiz1989
wiz1989

💻 grintoul
grintoul

💻 From c485ae4e900681dd2c98139b898dd00cf312ceb3 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Tue, 20 May 2025 11:07:29 -0400 Subject: [PATCH 61/84] add fail ptr arg to JumpIfMoveFailed, fix tryworryseed (#6925) Co-authored-by: ghoulslash --- src/battle_script_commands.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8355bb78bd..407d87a017 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1354,13 +1354,13 @@ static void Cmd_attackcanceler(void) } } -static bool32 JumpIfMoveFailed(u8 adder, u16 move) +static bool32 JumpIfMoveFailed(u8 adder, u16 move, const u8 *failInstr) { if (gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) { gLastLandedMoves[gBattlerTarget] = 0; gLastHitByType[gBattlerTarget] = 0; - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = failInstr; return TRUE; } else @@ -1380,7 +1380,7 @@ static void Cmd_unused5(void) if (IsBattlerProtected(gBattlerAttacker, gBattlerTarget, gCurrentMove)) { gBattleStruct->moveResultFlags[gBattlerTarget] |= MOVE_RESULT_MISSED; - JumpIfMoveFailed(sizeof(*cmd), MOVE_NONE); + JumpIfMoveFailed(sizeof(*cmd), MOVE_NONE, cmd->failInstr); gBattleCommunication[MISS_TYPE] = B_MSG_PROTECTED; } else @@ -1389,14 +1389,14 @@ static void Cmd_unused5(void) } } -static bool32 JumpIfMoveAffectedByProtect(u32 move, u32 battler, u32 shouldJump) +static bool32 JumpIfMoveAffectedByProtect(u32 move, u32 battler, u32 shouldJump, const u8 *failInstr) { bool32 affected = IsBattlerProtected(gBattlerAttacker, battler, move); if (affected) { gBattleStruct->moveResultFlags[battler] |= MOVE_RESULT_MISSED; if (shouldJump) - JumpIfMoveFailed(7, move); + JumpIfMoveFailed(7, move, failInstr); } return affected; } @@ -1623,7 +1623,7 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u gBattlescriptCurrInstr = nextInstr; else if (gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE)) gBattlescriptCurrInstr = failInstr; - else if (!JumpIfMoveAffectedByProtect(gCurrentMove, gBattlerTarget, TRUE)) + else if (!JumpIfMoveAffectedByProtect(gCurrentMove, gBattlerTarget, TRUE, failInstr)) gBattlescriptCurrInstr = nextInstr; if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_DYNAMAX) { @@ -1660,7 +1660,7 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u continue; numTargets++; - if (JumpIfMoveAffectedByProtect(move, battlerDef, FALSE) || AccuracyCalcHelper(move, battlerDef)) + if (JumpIfMoveAffectedByProtect(move, battlerDef, FALSE, failInstr) || AccuracyCalcHelper(move, battlerDef)) continue; u32 accuracy = GetTotalAccuracy(gBattlerAttacker, @@ -1707,7 +1707,7 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u if (calcSpreadMove) gBattleStruct->calculatedSpreadMoveAccuracy = TRUE; - JumpIfMoveFailed(7, move); + JumpIfMoveFailed(7, move, failInstr); } } @@ -12499,9 +12499,8 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr return STAT_CHANGE_DIDNT_WORK; } else if (gCurrentMove != MOVE_CURSE - && notProtectAffected != TRUE && JumpIfMoveAffectedByProtect(gCurrentMove, gBattlerTarget, TRUE)) + && notProtectAffected != TRUE && JumpIfMoveAffectedByProtect(gCurrentMove, gBattlerTarget, TRUE, BattleScript_ButItFailed)) { - gBattlescriptCurrInstr = BattleScript_ButItFailed; return STAT_CHANGE_DIDNT_WORK; } else if ((battlerHoldEffect == HOLD_EFFECT_CLEAR_AMULET || CanAbilityPreventStatLoss(battlerAbility)) @@ -16730,7 +16729,6 @@ static void Cmd_tryworryseed(void) || gBattleMons[gBattlerTarget].ability == ABILITY_INSOMNIA) { RecordAbilityBattle(gBattlerTarget, gBattleMons[gBattlerTarget].ability); - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = cmd->failInstr; } else if (GetBattlerHoldEffect(gBattlerTarget, TRUE) == HOLD_EFFECT_ABILITY_SHIELD) From ce9bbcc3b7c2012c3e08111c7ebaa6484ec65264 Mon Sep 17 00:00:00 2001 From: jfb1337 <184441704+jfb1337@users.noreply.github.com> Date: Wed, 21 May 2025 09:41:18 +0100 Subject: [PATCH 62/84] Fix trainers.party parser failing on apostrophes (#6938) --- tools/trainerproc/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/trainerproc/main.c b/tools/trainerproc/main.c index b301ddf552..5823facaca 100644 --- a/tools/trainerproc/main.c +++ b/tools/trainerproc/main.c @@ -459,7 +459,7 @@ static bool match_identifier(struct Parser *p, struct Token *t) if (!peek_char(&p_, &c)) break; - if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') || c == '_') + if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') || c == '_'|| c == '\'') ; else break; @@ -493,7 +493,7 @@ static bool match_human_identifier(struct Parser *p, struct Token *t) if (!peek_char(&p_, &c)) break; - if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || c == '_' || c == '-' || c == ' ') + if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || c == '_' || c == '-' || c == ' ' || c == '\'') ; else if (p_.offset > t->begin && ('0' <= c && c <= '9')) ; @@ -573,7 +573,7 @@ static bool match_move_identifier(struct Parser *p, struct Token *t) if (!peek_char(&p_, &c)) break; - if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == ' ' || c == ',') + if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == ' ' || c == ',' || c == '\'') ; else break; @@ -1581,6 +1581,8 @@ static void fprint_constant(FILE *f, const char *prefix, struct String s) fputc(c, f); else if ('a' <= c && c <= 'z') fputc(c - 'a' + 'A', f); + else if (c == '\'') + ; else fputc('_', f); } From ce079cfcc8128f512b6f5b9e747be205b17150bd Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Wed, 21 May 2025 16:16:33 +0200 Subject: [PATCH 63/84] Fixes Life Orb damage still happening after attacker was unable to attack (#6940) --- src/battle_util.c | 2 ++ test/battle/hold_effect/life_orb.c | 33 ++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index fd65a3ad68..783f06da0f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8167,6 +8167,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) { case HOLD_EFFECT_SHELL_BELL: if (gBattleScripting.savedDmg > 0 + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) && gBattlerAttacker != gBattlerTarget && !IsBattlerAtMaxHp(gBattlerAttacker) @@ -8188,6 +8189,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) break; case HOLD_EFFECT_LIFE_ORB: if (IsBattlerAlive(gBattlerAttacker) + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && !IsBattleMoveStatus(gCurrentMove) && (IsBattlerTurnDamaged(gBattlerTarget) || !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT)) // Needs the second check in case of Substitute && !(TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove)) diff --git a/test/battle/hold_effect/life_orb.c b/test/battle/hold_effect/life_orb.c index f27ce29d03..7f4fcc2ccf 100644 --- a/test/battle/hold_effect/life_orb.c +++ b/test/battle/hold_effect/life_orb.c @@ -1,6 +1,21 @@ #include "global.h" #include "test/battle.h" +SINGLE_BATTLE_TEST("Life Orb activates when users attack is succesful") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIFE_ORB); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_POUND); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_POUND, player); + HP_BAR(opponent); + HP_BAR(player); + MESSAGE("Wobbuffet was hurt by the Life Orb!"); + } +} + SINGLE_BATTLE_TEST("Life Orb activates if it hits a Substitute") { GIVEN { @@ -31,3 +46,21 @@ SINGLE_BATTLE_TEST("Life Orb does not activate if using a status move") } } } + +SINGLE_BATTLE_TEST("Life Orb doesn't cause any HP loss if user is unable to attack") +{ + PASSES_RANDOMLY(25, 100, RNG_PARALYSIS); + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIFE_ORB); Status1(STATUS1_PARALYSIS); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_POUND); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent); + HP_BAR(player); + MESSAGE("Wobbuffet was hurt by the Life Orb!"); + } + } +} From e9ba4b5db0d855c4fd1227a36f07d9360ca9f1af Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Thu, 22 May 2025 09:45:25 +0200 Subject: [PATCH 64/84] Added type: documentation to required labels for the label check (#6957) Co-authored-by: Hedara --- .github/workflows/labels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index aa53665e8f..85800211ef 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -26,3 +26,4 @@ jobs: category: overworld category: pokemon category: sprite-issue + type: documentation From be4b8ca3d0074f4639b13066434d51569cd49c07 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 22 May 2025 04:23:15 -0400 Subject: [PATCH 65/84] Fix `KNOWN_FAILING` Bestow tests (#6947) --- src/battle_util.c | 5 +++-- src/data/moves_info.h | 2 +- test/battle/move_effect/bestow.c | 27 +++++++++++++++------------ 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index 783f06da0f..3807270276 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -11245,8 +11245,9 @@ bool32 CanBattlerGetOrLoseItem(u32 battler, u16 itemId) u16 species = gBattleMons[battler].species; u16 holdEffect = ItemId_GetHoldEffect(itemId); - // Mail can be stolen now - if (itemId == ITEM_ENIGMA_BERRY_E_READER) + if (ItemIsMail(itemId)) + return FALSE; + else if (itemId == ITEM_ENIGMA_BERRY_E_READER) return FALSE; else if (DoesSpeciesUseHoldItemToChangeForm(species, itemId)) return FALSE; diff --git a/src/data/moves_info.h b/src/data/moves_info.h index 70d3184ece..1eab939154 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -13172,7 +13172,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6, - .ignoresSubstitute = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, diff --git a/test/battle/move_effect/bestow.c b/test/battle/move_effect/bestow.c index 24abdb3bea..4ed952be6b 100644 --- a/test/battle/move_effect/bestow.c +++ b/test/battle/move_effect/bestow.c @@ -47,8 +47,6 @@ SINGLE_BATTLE_TEST("Bestow fails if the target already has a held item") #include "mail.h" SINGLE_BATTLE_TEST("Bestow fails if the user is holding Mail") { - KNOWN_FAILING; - GIVEN { ASSUME(ItemIsMail(ITEM_ORANGE_MAIL)); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_ORANGE_MAIL); } @@ -94,36 +92,41 @@ SINGLE_BATTLE_TEST("Bestow fails if the user's held item is a Z-Crystal") } } -SINGLE_BATTLE_TEST("Bestow fails if the target is behind a Substitute") +SINGLE_BATTLE_TEST("Bestow fails if the target is behind a Substitute (Gen 6+)") { - KNOWN_FAILING; - GIVEN { PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_SITRUS_BERRY); Speed(50); } OPPONENT(SPECIES_WOBBUFFET) { Speed(100); } } WHEN { TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_BESTOW); } } SCENE { - MESSAGE("But it failed!"); + if (B_UPDATED_MOVE_FLAGS >= GEN_6) { + NOT MESSAGE("But it failed!"); + } else { + MESSAGE("But it failed!"); + } } THEN { - EXPECT(player->item == ITEM_SITRUS_BERRY); - EXPECT(opponent->item == ITEM_NONE); + if (B_UPDATED_MOVE_FLAGS >= GEN_6) { + EXPECT(player->item == ITEM_NONE); + EXPECT(opponent->item == ITEM_SITRUS_BERRY); + } else { + EXPECT(player->item == ITEM_SITRUS_BERRY); + EXPECT(opponent->item == ITEM_NONE); + } } } SINGLE_BATTLE_TEST("Bestow fails if the user's held item changes its form") { - KNOWN_FAILING; - GIVEN { - PLAYER(SPECIES_GIRATINA_ORIGIN) { Item(ITEM_GRISEOUS_ORB); } + PLAYER(SPECIES_GIRATINA_ORIGIN) { Item(ITEM_GRISEOUS_CORE); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_BESTOW); } } SCENE { MESSAGE("But it failed!"); } THEN { - EXPECT(player->item == ITEM_GRISEOUS_ORB); + EXPECT(player->item == ITEM_GRISEOUS_CORE); EXPECT(opponent->item == ITEM_NONE); } } From 8ad1f329c99640259e4cea018084b931ca8b8638 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 22 May 2025 10:37:00 +0200 Subject: [PATCH 66/84] Fixes Dazzling abilities activating on all multi hit move hits (#6943) --- src/battle_util.c | 1 + test/battle/ability/dazzling.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index 3807270276..640b4753af 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4313,6 +4313,7 @@ bool32 CanAbilityBlockMove(u32 battlerAtk, u32 battlerDef, u32 move, u32 ability if (option == ABILITY_RUN_SCRIPT) { + gMultiHitCounter = 0; // Prevent multi-hit moves from hitting more than once after move has been absorbed. gBattleScripting.battler = gBattlerAbility = battlerAbility; gBattlescriptCurrInstr = battleScriptBlocksMove; } diff --git a/test/battle/ability/dazzling.c b/test/battle/ability/dazzling.c index e248c9ce0b..7541b8a566 100644 --- a/test/battle/ability/dazzling.c +++ b/test/battle/ability/dazzling.c @@ -72,3 +72,27 @@ DOUBLE_BATTLE_TEST("Dazzling, Queenly Majesty and Armor Tail don't protect the u } } +SINGLE_BATTLE_TEST("Dazzling, Queenly Majesty and Armor Tail protect from all multi hit hits with one activation") +{ + u32 species, ability; + + PARAMETRIZE { species = SPECIES_BRUXISH; ability = ABILITY_DAZZLING; } + PARAMETRIZE { species = SPECIES_FARIGIRAF; ability = ABILITY_ARMOR_TAIL; } + PARAMETRIZE { species = SPECIES_TSAREENA; ability = ABILITY_QUEENLY_MAJESTY; } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(species) { Ability(ability); } + } WHEN { + TURN { MOVE(player, MOVE_WATER_SHURIKEN); } + } SCENE { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_SHURIKEN, opponent); + ABILITY_POPUP(opponent, ability); + NONE_OF { + ABILITY_POPUP(opponent, ability); + ABILITY_POPUP(opponent, ability); + ABILITY_POPUP(opponent, ability); + ABILITY_POPUP(opponent, ability); + } + } +} From 8ec998abff1ed517592a656de1209b15c1a188cd Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 22 May 2025 14:07:36 +0200 Subject: [PATCH 67/84] Fixes ate type being ignored after checking summary screen (#6888) --- include/battle_main.h | 2 +- include/constants/battle.h | 6 ++++ include/pokemon.h | 3 +- src/battle_controller_player.c | 3 +- src/battle_main.c | 58 ++++++++++++++++------------------ src/pokemon.c | 6 ++-- src/pokemon_summary_screen.c | 33 +++++++++++-------- 7 files changed, 60 insertions(+), 51 deletions(-) diff --git a/include/battle_main.h b/include/battle_main.h index f78d2f78c3..544d4ea134 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -80,7 +80,7 @@ s32 GetWhichBattlerFaster(u32 battler1, u32 battler2, bool32 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); void SpecialStatusesClear(void); -u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost); +u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState monInBattle); void SetTypeBeforeUsingMove(u32 move, u32 battlerAtk); bool32 IsWildMonSmart(void); u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer *trainer, bool32 firstTrainer, u32 battleTypeFlags); diff --git a/include/constants/battle.h b/include/constants/battle.h index d7f055a81b..cfb5d05e7e 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -622,4 +622,10 @@ enum SlideMsgStates RESTORE_BATTLER_SLIDE_CONTROL, }; +enum MonState +{ + MON_IN_BATTLE, + MON_OUTSIDE_BATTLE, +}; + #endif // GUARD_CONSTANTS_BATTLE_H diff --git a/include/pokemon.h b/include/pokemon.h index c562e3af74..994197c44a 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -6,6 +6,7 @@ #include "constants/regions.h" #include "constants/region_map_sections.h" #include "constants/map_groups.h" +#include "constants/battle.h" #include "contest_effect.h" #define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0)) @@ -805,7 +806,7 @@ void HealPokemon(struct Pokemon *mon); void HealBoxPokemon(struct BoxPokemon *boxMon); void UpdateDaysPassedSinceFormChange(u16 days); void TrySetDayLimitToFormChange(struct Pokemon *mon); -u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler); +u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState state); uq4_12_t GetDynamaxLevelHPMultiplier(u32 dynamaxLevel, bool32 inverseMultiplier); u32 GetRegionalFormByRegion(u32 species, u32 region); bool32 IsSpeciesForeignRegionalForm(u32 species, u32 currentRegion); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index e9cdab0f32..8eac6cb304 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1714,7 +1714,6 @@ static void MoveSelectionDisplayMoveType(u32 battler) } else if (effect == EFFECT_IVY_CUDGEL) { - if (speciesId == SPECIES_OGERPON_WELLSPRING || speciesId == SPECIES_OGERPON_WELLSPRING_TERA || speciesId == SPECIES_OGERPON_HEARTHFLAME || speciesId == SPECIES_OGERPON_HEARTHFLAME_TERA || speciesId == SPECIES_OGERPON_CORNERSTONE || speciesId == SPECIES_OGERPON_CORNERSTONE_TERA) @@ -1734,7 +1733,7 @@ static void MoveSelectionDisplayMoveType(u32 battler) else if (P_SHOW_DYNAMIC_TYPES) // Non-vanilla changes to battle UI showing dynamic types { struct Pokemon *mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; - type = CheckDynamicMoveType(mon, move, battler); + type = CheckDynamicMoveType(mon, move, battler, MON_IN_BATTLE); } end = StringCopy(txtPtr, gTypesInfo[type].name); diff --git a/src/battle_main.c b/src/battle_main.c index 15c30ba013..728022237a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5771,19 +5771,19 @@ void RunBattleScriptCommands(void) gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } -bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) +u32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) { - u32 ateType; + u32 ateType = TYPE_NONE; switch (GetMoveEffect(move)) { case EFFECT_TERA_BLAST: if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA) - return FALSE; + return ateType; break; case EFFECT_TERA_STARSTORM: if (gBattleMons[battlerAtk].species == SPECIES_TERAPAGOS_STELLAR) - return FALSE; + return ateType; break; case EFFECT_HIDDEN_POWER: case EFFECT_WEATHER_BALL: @@ -5791,10 +5791,9 @@ bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) case EFFECT_CHANGE_TYPE_ON_ITEM: case EFFECT_REVELATION_DANCE: case EFFECT_TERRAIN_PULSE: - return FALSE; + return ateType; } - ateType = TYPE_NONE; switch (attackerAbility) { case ABILITY_PIXILATE: @@ -5814,28 +5813,21 @@ bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) break; } - if (ateType != TYPE_NONE && GetActiveGimmick(battlerAtk) != GIMMICK_Z_MOVE) - { - gBattleStruct->dynamicMoveType = ateType | F_DYNAMIC_TYPE_SET; - return TRUE; - } - - return FALSE; + return ateType; } // Returns TYPE_NONE if type doesn't change. -// NULL can be passed to ateBoost to avoid applying ate-ability boosts when opening the summary screen in-battle. -u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) +u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState state) { u32 moveType = GetMoveType(move); u32 moveEffect = GetMoveEffect(move); u32 species, heldItem, holdEffect, ability, type1, type2, type3; - bool32 monInBattle = gMain.inBattle && gPartyMenu.menuType != PARTY_MENU_TYPE_IN_BATTLE; + enum Gimmick gimmick = GetActiveGimmick(battler); if (move == MOVE_STRUGGLE) return TYPE_NORMAL; - if (monInBattle) + if (state == MON_IN_BATTLE) { species = gBattleMons[battler].species; heldItem = gBattleMons[battler].item; @@ -5859,7 +5851,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) switch (moveEffect) { case EFFECT_WEATHER_BALL: - if (monInBattle) + if (state == MON_IN_BATTLE) { if (HasWeatherEffect()) { @@ -5900,7 +5892,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) case EFFECT_HIDDEN_POWER: { u32 typeBits = 0; - if (monInBattle) + if (state == MON_IN_BATTLE) { typeBits = ((gBattleMons[battler].hpIV & 1) << 0) | ((gBattleMons[battler].attackIV & 1) << 1) @@ -5935,10 +5927,10 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) return ItemId_GetSecondaryId(heldItem); break; case EFFECT_REVELATION_DANCE: - if (GetActiveGimmick(battler) != GIMMICK_Z_MOVE) + if (gimmick != GIMMICK_Z_MOVE) { u32 teraType; - if (GetActiveGimmick(battler) == GIMMICK_TERA && ((teraType = GetMonData(mon, MON_DATA_TERA_TYPE)) != TYPE_STELLAR)) + if (gimmick == GIMMICK_TERA && ((teraType = GetMonData(mon, MON_DATA_TERA_TYPE)) != TYPE_STELLAR)) return teraType; else if (type1 != TYPE_MYSTERY && !(gDisableStructs[battler].roostActive && type1 == TYPE_FLYING)) return type1; @@ -5979,7 +5971,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) else return moveType; case EFFECT_TERRAIN_PULSE: - if (monInBattle) + if (state == MON_IN_BATTLE) { if (IsBattlerTerrainAffected(battler, STATUS_FIELD_TERRAIN_ANY)) { @@ -6013,7 +6005,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) } break; case EFFECT_TERA_BLAST: - if (GetActiveGimmick(battler) == GIMMICK_TERA) + if (gimmick == GIMMICK_TERA) return GetMonData(mon, MON_DATA_TERA_TYPE); break; case EFFECT_TERA_STARSTORM: @@ -6031,20 +6023,23 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) return TYPE_DARK; } else if (moveType == TYPE_NORMAL - && ((!gMain.inBattle || TrySetAteType(move, battler, ability)) - && GetActiveGimmick(battler) != GIMMICK_DYNAMAX)) + && ability != ABILITY_NORMALIZE + && gimmick != GIMMICK_DYNAMAX + && gimmick != GIMMICK_Z_MOVE) { - if (gMain.inBattle && ateBoost != NULL) - *ateBoost = TRUE; + u32 ateType = TrySetAteType(move, battler, ability); + if (ateType != TYPE_NONE && state == MON_IN_BATTLE) + gBattleStruct->ateBoost[battler] = TRUE; + return ateType; } else if (moveType != TYPE_NORMAL && moveEffect != EFFECT_HIDDEN_POWER && moveEffect != EFFECT_WEATHER_BALL && ability == ABILITY_NORMALIZE - && GetActiveGimmick(battler) != GIMMICK_Z_MOVE) + && gimmick != GIMMICK_Z_MOVE) { - if (gMain.inBattle && ateBoost != NULL && GetActiveGimmick(battler) != GIMMICK_DYNAMAX) - *ateBoost = TRUE; + if (state == MON_IN_BATTLE && gimmick != GIMMICK_DYNAMAX) + gBattleStruct->ateBoost[battler] = TRUE; return TYPE_NORMAL; } @@ -6064,7 +6059,8 @@ void SetTypeBeforeUsingMove(u32 move, u32 battler) moveType = GetDynamicMoveType(&GetBattlerParty(battler)[gBattlerPartyIndexes[battler]], move, battler, - &gBattleStruct->ateBoost[battler]); + MON_IN_BATTLE); + if (moveType != TYPE_NONE) gBattleStruct->dynamicMoveType = moveType | F_DYNAMIC_TYPE_SET; diff --git a/src/pokemon.c b/src/pokemon.c index 3bd0e4dd5d..a24d08ece2 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1170,7 +1170,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, isShiny = GET_SHINY_VALUE(value, personality) < SHINY_ODDS; } } - + if (hasFixedPersonality) personality = fixedPersonality; @@ -7005,9 +7005,9 @@ void UpdateDaysPassedSinceFormChange(u16 days) } } -u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler) +u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState state) { - u32 moveType = GetDynamicMoveType(mon, move, battler, NULL); + u32 moveType = GetDynamicMoveType(mon, move, battler, state); if (moveType != TYPE_NONE) return moveType; return GetMoveType(move); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 3636d2f0ae..d34b0dd40d 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1720,7 +1720,7 @@ static void Task_HandleInput(u8 taskId) PlaySE(SE_SELECT); BeginCloseSummaryScreen(taskId); } - else if (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES + else if (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES || sMonSummaryScreen->currPageIndex == PSS_PAGE_CONTEST_MOVES) { PlaySE(SE_SELECT); @@ -1773,7 +1773,7 @@ static u8 IncrementSkillsStatsMode(u8 mode) sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_EVS; return SUMMARY_SKILLS_MODE_EVS; } - else + else { sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_IVS; return SUMMARY_SKILLS_MODE_IVS; @@ -1956,7 +1956,7 @@ static void Task_ChangeSummaryMon(u8 taskId) if (P_SUMMARY_SCREEN_RENAME && sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) ShowUtilityPrompt(SUMMARY_MODE_NORMAL); if (ShouldShowIvEvPrompt() && sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS) - { + { sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_STATS; ChangeStatLabel(SUMMARY_SKILLS_MODE_STATS); } @@ -2108,7 +2108,7 @@ static void ChangePage(u8 taskId, s8 delta) CreateTextPrinterTask(sMonSummaryScreen->currPageIndex); HidePageSpecificSprites(); - if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS || (sMonSummaryScreen->currPageIndex + delta) == PSS_PAGE_SKILLS) { struct Pokemon *mon = &sMonSummaryScreen->currentMon; @@ -2244,7 +2244,7 @@ static void SwitchToMoveSelection(u8 taskId) { if (ShouldShowMoveRelearner()) ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); - + ShowUtilityPrompt(SUMMARY_MODE_SELECT_MOVE); } else @@ -3774,10 +3774,10 @@ static void BufferStat(u8 *dst, u8 statIndex, u32 stat, u32 strId, u32 n) else txtPtr = StringCopy(dst, sTextNatureNeutral); - if (!P_SUMMARY_SCREEN_IV_EV_VALUES + if (!P_SUMMARY_SCREEN_IV_EV_VALUES && sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS) StringAppend(dst, GetLetterGrade(stat)); - else + else ConvertIntToDecimalStringN(txtPtr, stat, STR_CONV_MODE_RIGHT_ALIGN, n); DynamicPlaceholderTextUtil_SetPlaceholderPtr(strId, dst); @@ -3791,7 +3791,7 @@ static const u8 *GetLetterGrade(u32 stat) static const u8 gText_GradeB[] = _("B"); static const u8 gText_GradeA[] = _("A"); static const u8 gText_GradeS[] = _("S"); - + if (stat > 0 && stat <= 15) return gText_GradeD; else if (stat > 15 && stat <= 25) @@ -3833,7 +3833,7 @@ static void BufferLeftColumnIvEvStats(void) u8 *hpIvEvString = Alloc(20); u8 *attackIvEvString = Alloc(20); u8 *defenseIvEvString = Alloc(20); - + DynamicPlaceholderTextUtil_Reset(); BufferStat(hpIvEvString, STAT_HP, sMonSummaryScreen->summary.currentHP, 0, 7); @@ -3850,7 +3850,7 @@ static void BufferLeftColumnIvEvStats(void) static void PrintLeftColumnStats(void) { int x; - + if (sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS && !P_SUMMARY_SCREEN_IV_EV_VALUES) x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 46); else @@ -3873,7 +3873,7 @@ static void BufferRightColumnStats(void) static void PrintRightColumnStats(void) { int x; - + if (sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS && !P_SUMMARY_SCREEN_IV_EV_VALUES) x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 20); else @@ -4306,7 +4306,11 @@ static void SetMoveTypeIcons(void) { type = GetMoveType(summary->moves[i]); if (P_SHOW_DYNAMIC_TYPES) - type = CheckDynamicMoveType(mon, summary->moves[i], 0); + { + enum MonState state = gMain.inBattle ? MON_IN_BATTLE : MON_OUTSIDE_BATTLE; + type = CheckDynamicMoveType(mon, sMonSummaryScreen->newMove, 0, state); // Bug: in battle, this only shows the dynamic type of battler in position 0 + } + SetTypeSpritePosAndPal(type, 85, 32 + (i * 16), i + SPRITE_ARR_ID_TYPE); } else @@ -4335,7 +4339,10 @@ static void SetNewMoveTypeIcon(void) struct Pokemon *mon = &sMonSummaryScreen->currentMon; if (P_SHOW_DYNAMIC_TYPES) - type = CheckDynamicMoveType(mon, sMonSummaryScreen->newMove, 0); + { + enum MonState state = gMain.inBattle ? MON_IN_BATTLE : MON_OUTSIDE_BATTLE; + type = CheckDynamicMoveType(mon, sMonSummaryScreen->newMove, 0, state); // Bug: in battle, this only shows the dynamic type of battler in position 0 + } if (sMonSummaryScreen->newMove == MOVE_NONE) { From b31a73f990fb680629e2a503d72d137bcff0872a Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 22 May 2025 14:27:52 +0200 Subject: [PATCH 68/84] Rename ItemId_GetX to GetItemX (#2116) --- include/item.h | 24 ++++---- src/apprentice.c | 2 +- src/battle_ai_script_commands.c | 4 +- src/battle_main.c | 10 ++-- src/battle_pyramid_bag.c | 20 +++---- src/battle_script_commands.c | 28 ++++----- src/battle_util.c | 22 +++---- src/data/map_group_count.h | 1 + src/item.c | 54 +++++++++--------- src/item_menu.c | 52 ++++++++--------- src/item_use.c | 18 +++--- src/lilycove_lady.c | 4 +- src/player_pc.c | 6 +- src/pokeblock.c | 2 +- src/pokemon.c | 16 +++--- src/pokemon_storage_system.c | 8 +-- src/pokemon_summary_screen.c | 2 +- src/shop.c | 10 ++-- src/tv.c | 24 ++++---- tools/mgba-rom-test-hydra/mgba-rom-test-hydra | Bin 0 -> 34992 bytes tools/patchelf/patchelf | Bin 0 -> 16272 bytes tools/trainerproc/trainerproc | Bin 0 -> 54856 bytes 22 files changed, 154 insertions(+), 153 deletions(-) create mode 100644 src/data/map_group_count.h create mode 100755 tools/mgba-rom-test-hydra/mgba-rom-test-hydra create mode 100755 tools/patchelf/patchelf create mode 100755 tools/trainerproc/trainerproc diff --git a/include/item.h b/include/item.h index a00d750deb..cf84848ae4 100644 --- a/include/item.h +++ b/include/item.h @@ -63,18 +63,18 @@ void ClearBag(void); u16 CountTotalItemQuantityInBag(u16 itemId); bool8 AddPyramidBagItem(u16 itemId, u16 count); bool8 RemovePyramidBagItem(u16 itemId, u16 count); -const u8 *ItemId_GetName(u16 itemId); -u16 ItemId_GetPrice(u16 itemId); -u8 ItemId_GetHoldEffect(u16 itemId); -u8 ItemId_GetHoldEffectParam(u16 itemId); -const u8 *ItemId_GetDescription(u16 itemId); -u8 ItemId_GetImportance(u16 itemId); -u8 ItemId_GetPocket(u16 itemId); -u8 ItemId_GetType(u16 itemId); -ItemUseFunc ItemId_GetFieldFunc(u16 itemId); -u8 ItemId_GetBattleUsage(u16 itemId); -ItemUseFunc ItemId_GetBattleFunc(u16 itemId); -u8 ItemId_GetSecondaryId(u16 itemId); +const u8 *GetItemName(u16 itemId); +u16 GetItemPrice(u16 itemId); +u8 GetItemHoldEffect(u16 itemId); +u8 GetItemHoldEffectParam(u16 itemId); +const u8 *GetItemDescription(u16 itemId); +u8 GetItemImportance(u16 itemId); +u8 GetItemPocket(u16 itemId); +u8 GetItemType(u16 itemId); +ItemUseFunc GetItemFieldFunc(u16 itemId); +u8 GetItemBattleUsage(u16 itemId); +ItemUseFunc GetItemBattleFunc(u16 itemId); +u8 GetItemSecondaryId(u16 itemId); /* Expands to: * enum diff --git a/src/apprentice.c b/src/apprentice.c index 7e41ad8f40..cb2ab96bc7 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -1068,7 +1068,7 @@ static void ApprenticeBufferString(void) StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->move2]); break; case APPRENTICE_BUFF_ITEM: - StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data)); + StringCopy(stringDst, GetItemName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data)); break; case APPRENTICE_BUFF_NAME: TVShowConvertInternationalString(text, GetApprenticeNameInLanguage(PLAYER_APPRENTICE.id, GAME_LANGUAGE), GAME_LANGUAGE); diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index a1c7b57ea0..6fd3cdad8e 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -2030,9 +2030,9 @@ static void Cmd_get_hold_effect(void) battler = gBattlerTarget; if (gActiveBattler != battler) - AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[battler]); + AI_THINKING_STRUCT->funcResult = GetItemHoldEffect(BATTLE_HISTORY->itemEffects[battler]); else - AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[battler].item); + AI_THINKING_STRUCT->funcResult = GetItemHoldEffect(gBattleMons[battler].item); gAIScriptPtr += 2; } diff --git a/src/battle_main.c b/src/battle_main.c index 4c810a5a66..6aa9fc1902 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4027,7 +4027,7 @@ u8 IsRunningFromBattleImpossible(void) if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + holdEffect = GetItemHoldEffect(gBattleMons[gActiveBattler].item); gPotentialItemEffectBattler = gActiveBattler; @@ -4632,8 +4632,8 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[battler1].item); - holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[battler1].item); + holdEffect = GetItemHoldEffect(gBattleMons[battler1].item); + holdEffectParam = GetItemHoldEffectParam(gBattleMons[battler1].item); } // badge boost @@ -4666,8 +4666,8 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[battler2].item); - holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[battler2].item); + holdEffect = GetItemHoldEffect(gBattleMons[battler2].item); + holdEffectParam = GetItemHoldEffectParam(gBattleMons[battler2].item); } // badge boost diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index a9cbfd6821..1084dfacab 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -620,7 +620,7 @@ static void SetBagItemsListTemplate(void) static void CopyBagItemName(u8 *dst, u16 itemId) { - if (ItemId_GetPocket(itemId) == POCKET_BERRIES) + if (GetItemPocket(itemId) == POCKET_BERRIES) { ConvertIntToDecimalStringN(gStringVar1, ITEM_TO_BERRY(itemId), STR_CONV_MODE_LEADING_ZEROS, 2); CopyItemName(itemId, gStringVar2); @@ -681,7 +681,7 @@ static void PrintItemDescription(s32 listMenuId) const u8 *desc; if (listMenuId != LIST_CANCEL) { - desc = ItemId_GetDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]); + desc = GetItemDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]); } else { @@ -942,7 +942,7 @@ static void OpenContextMenu(u8 taskId) gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Field); break; case PYRAMIDBAG_LOC_BATTLE: - if (ItemId_GetBattleUsage(gSpecialVar_ItemId)) + if (GetItemBattleUsage(gSpecialVar_ItemId)) { gPyramidBagMenu->menuActionIds = sMenuActionIds_Battle; gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Battle); @@ -1085,7 +1085,7 @@ static void CloseMenuActionWindow(void) static void BagAction_UseOnField(u8 taskId) { - u8 pocketId = ItemId_GetPocket(gSpecialVar_ItemId); + u8 pocketId = GetItemPocket(gSpecialVar_ItemId); if (pocketId == POCKET_KEY_ITEMS || pocketId == POCKET_POKE_BALLS @@ -1095,12 +1095,12 @@ static void BagAction_UseOnField(u8 taskId) CloseMenuActionWindow(); DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage); } - else if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL) + else if (GetItemFieldFunc(gSpecialVar_ItemId) != NULL) { CloseMenuActionWindow(); FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); ScheduleBgCopyTilemapToVram(0); - ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + GetItemFieldFunc(gSpecialVar_ItemId)(taskId); } } @@ -1250,7 +1250,7 @@ static void BagAction_Give(u8 taskId) { DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, Task_WaitCloseErrorMessage); } - else if (!ItemId_GetImportance(gSpecialVar_ItemId)) + else if (!GetItemImportance(gSpecialVar_ItemId)) { gPyramidBagMenu->newScreenCallback = CB2_ChooseMonToGiveItem; CloseBattlePyramidBag(taskId); @@ -1291,7 +1291,7 @@ static void TryCloseBagToGiveItem(u8 taskId) { if (!IsWritingMailAllowed(gSpecialVar_ItemId)) DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, Task_WaitCloseErrorMessage); - else if (!ItemId_GetImportance(gSpecialVar_ItemId)) + else if (!GetItemImportance(gSpecialVar_ItemId)) CloseBattlePyramidBag(taskId); else ShowCantHoldMessage(taskId); @@ -1299,10 +1299,10 @@ static void TryCloseBagToGiveItem(u8 taskId) static void BagAction_UseInBattle(u8 taskId) { - if (ItemId_GetBattleFunc(gSpecialVar_ItemId) != NULL) + if (GetItemBattleFunc(gSpecialVar_ItemId) != NULL) { CloseMenuActionWindow(); - ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); + GetItemBattleFunc(gSpecialVar_ItemId)(taskId); } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3bca12eb51..17486a0e9e 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1163,8 +1163,8 @@ static void Cmd_accuracycheck(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -1260,7 +1260,7 @@ static void Cmd_critcalc(void) if (item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[gBattlerAttacker].holdEffect; else - holdEffect = ItemId_GetHoldEffect(item); + holdEffect = GetItemHoldEffect(item); gPotentialItemEffectBattler = gBattlerAttacker; @@ -1668,8 +1668,8 @@ static void Cmd_adjustnormaldamage(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -1711,8 +1711,8 @@ static void Cmd_adjustnormaldamage2(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -3301,7 +3301,7 @@ static void Cmd_getexp(void) if (item == ITEM_ENIGMA_BERRY) holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; else - holdEffect = ItemId_GetHoldEffect(item); + holdEffect = GetItemHoldEffect(item); if (holdEffect == HOLD_EFFECT_EXP_SHARE) viaExpShare++; @@ -3340,7 +3340,7 @@ static void Cmd_getexp(void) if (item == ITEM_ENIGMA_BERRY) holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; else - holdEffect = ItemId_GetHoldEffect(item); + holdEffect = GetItemHoldEffect(item); if (holdEffect != HOLD_EFFECT_EXP_SHARE && !(gBattleStruct->sentInPokes & 1)) { @@ -4228,7 +4228,7 @@ static void Cmd_moveend(void) if (gBattleMons[gBattlerAttacker].item == ITEM_ENIGMA_BERRY) holdEffectAtk = gEnigmaBerries[gBattlerAttacker].holdEffect; else - holdEffectAtk = ItemId_GetHoldEffect(gBattleMons[gBattlerAttacker].item); + holdEffectAtk = GetItemHoldEffect(gBattleMons[gBattlerAttacker].item); choicedMoveAtk = &gBattleStruct->choicedMove[gBattlerAttacker]; GET_MOVE_TYPE(gCurrentMove, moveType); @@ -5869,8 +5869,8 @@ static void Cmd_adjustsetdamage(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -7521,8 +7521,8 @@ static void Cmd_tryKO(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; diff --git a/src/battle_util.c b/src/battle_util.c index b32ae9d6a7..070385f0ad 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -414,7 +414,7 @@ bool8 TryRunFromBattle(u8 battler) if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[battler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item); + holdEffect = GetItemHoldEffect(gBattleMons[battler].item); gPotentialItemEffectBattler = battler; @@ -1044,7 +1044,7 @@ u8 TrySetCantSelectMoveBattleScript(void) if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + holdEffect = GetItemHoldEffect(gBattleMons[gActiveBattler].item); gPotentialItemEffectBattler = gActiveBattler; @@ -1088,7 +1088,7 @@ u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u8 check) if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[battler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item); + holdEffect = GetItemHoldEffect(gBattleMons[battler].item); gPotentialItemEffectBattler = battler; @@ -3271,8 +3271,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) } else { - battlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); - battlerHoldEffectParam = ItemId_GetHoldEffectParam(gLastUsedItem); + battlerHoldEffect = GetItemHoldEffect(gLastUsedItem); + battlerHoldEffectParam = GetItemHoldEffectParam(gLastUsedItem); } atkItem = gBattleMons[gBattlerAttacker].item; @@ -3283,8 +3283,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) } else { - atkHoldEffect = ItemId_GetHoldEffect(atkItem); - atkHoldEffectParam = ItemId_GetHoldEffectParam(atkItem); + atkHoldEffect = GetItemHoldEffect(atkItem); + atkHoldEffectParam = GetItemHoldEffectParam(atkItem); } // def variables are unused @@ -3296,8 +3296,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) } else { - defHoldEffect = ItemId_GetHoldEffect(defItem); - defHoldEffectParam = ItemId_GetHoldEffectParam(defItem); + defHoldEffect = GetItemHoldEffect(defItem); + defHoldEffectParam = GetItemHoldEffectParam(defItem); } switch (caseID) @@ -3633,8 +3633,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) } else { - battlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); - battlerHoldEffectParam = ItemId_GetHoldEffectParam(gLastUsedItem); + battlerHoldEffect = GetItemHoldEffect(gLastUsedItem); + battlerHoldEffectParam = GetItemHoldEffectParam(gLastUsedItem); } switch (battlerHoldEffect) { diff --git a/src/data/map_group_count.h b/src/data/map_group_count.h new file mode 100644 index 0000000000..4fe8a21b3b --- /dev/null +++ b/src/data/map_group_count.h @@ -0,0 +1 @@ +static const u8 MAP_GROUP_COUNT[] = {57, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 17, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 108, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0}; diff --git a/src/item.c b/src/item.c index d4a544f11f..3921ed98ac 100644 --- a/src/item.c +++ b/src/item.c @@ -78,7 +78,7 @@ void SetBagItemsPointers(void) void CopyItemName(u16 itemId, u8 *dst) { - StringCopy(dst, ItemId_GetName(itemId)); + StringCopy(dst, GetItemName(itemId)); } void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity) @@ -86,7 +86,7 @@ void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity) if (itemId == ITEM_POKE_BALL) { if (quantity < 2) - StringCopy(dst, ItemId_GetName(ITEM_POKE_BALL)); + StringCopy(dst, GetItemName(ITEM_POKE_BALL)); else StringCopy(dst, gText_PokeBalls); } @@ -95,7 +95,7 @@ void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity) if (itemId >= FIRST_BERRY_INDEX && itemId <= LAST_BERRY_INDEX) GetBerryCountString(dst, gBerries[itemId - FIRST_BERRY_INDEX].name, quantity); else - StringCopy(dst, ItemId_GetName(itemId)); + StringCopy(dst, GetItemName(itemId)); } } @@ -131,11 +131,11 @@ bool8 CheckBagHasItem(u16 itemId, u16 count) u8 i; u8 pocket; - if (ItemId_GetPocket(itemId) == 0) + if (GetItemPocket(itemId) == 0) return FALSE; if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) return CheckPyramidBagHasItem(itemId, count); - pocket = ItemId_GetPocket(itemId) - 1; + pocket = GetItemPocket(itemId) - 1; // Check for item slots that contain the item for (i = 0; i < gBagPockets[pocket].capacity; i++) { @@ -178,7 +178,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) u16 slotCapacity; u16 ownedCount; - if (ItemId_GetPocket(itemId) == POCKET_NONE) + if (GetItemPocket(itemId) == POCKET_NONE) return FALSE; if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) @@ -186,7 +186,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) return CheckPyramidBagHasSpace(itemId, count); } - pocket = ItemId_GetPocket(itemId) - 1; + pocket = GetItemPocket(itemId) - 1; if (pocket != BERRIES_POCKET) slotCapacity = MAX_BAG_ITEM_CAPACITY; else @@ -239,7 +239,7 @@ bool8 AddBagItem(u16 itemId, u16 count) { u8 i; - if (ItemId_GetPocket(itemId) == POCKET_NONE) + if (GetItemPocket(itemId) == POCKET_NONE) return FALSE; // check Battle Pyramid Bag @@ -253,7 +253,7 @@ bool8 AddBagItem(u16 itemId, u16 count) struct ItemSlot *newItems; u16 slotCapacity; u16 ownedCount; - u8 pocket = ItemId_GetPocket(itemId) - 1; + u8 pocket = GetItemPocket(itemId) - 1; itemPocket = &gBagPockets[pocket]; newItems = AllocZeroed(itemPocket->capacity * sizeof(struct ItemSlot)); @@ -347,7 +347,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) u8 i; u16 totalQuantity = 0; - if (ItemId_GetPocket(itemId) == POCKET_NONE || itemId == ITEM_NONE) + if (GetItemPocket(itemId) == POCKET_NONE || itemId == ITEM_NONE) return FALSE; // check Battle Pyramid Bag @@ -362,7 +362,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) u16 ownedCount; struct BagPocket *itemPocket; - pocket = ItemId_GetPocket(itemId) - 1; + pocket = GetItemPocket(itemId) - 1; itemPocket = &gBagPockets[pocket]; for (i = 0; i < itemPocket->capacity; i++) @@ -432,7 +432,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) u8 GetPocketByItemId(u16 itemId) { - return ItemId_GetPocket(itemId); + return GetItemPocket(itemId); } void ClearItemSlots(struct ItemSlot *itemSlots, u8 itemCount) @@ -672,7 +672,7 @@ u16 CountTotalItemQuantityInBag(u16 itemId) { u16 i; u16 ownedCount = 0; - struct BagPocket *bagPocket = &gBagPockets[ItemId_GetPocket(itemId) - 1]; + struct BagPocket *bagPocket = &gBagPockets[GetItemPocket(itemId) - 1]; for (i = 0; i < bagPocket->capacity; i++) { @@ -871,74 +871,74 @@ static u16 SanitizeItemId(u16 itemId) return itemId; } -const u8 *ItemId_GetName(u16 itemId) +const u8 *GetItemName(u16 itemId) { return gItems[SanitizeItemId(itemId)].name; } // Unused -u16 ItemId_GetId(u16 itemId) +u16 GetItemId(u16 itemId) { return gItems[SanitizeItemId(itemId)].itemId; } -u16 ItemId_GetPrice(u16 itemId) +u16 GetItemPrice(u16 itemId) { return gItems[SanitizeItemId(itemId)].price; } -u8 ItemId_GetHoldEffect(u16 itemId) +u8 GetItemHoldEffect(u16 itemId) { return gItems[SanitizeItemId(itemId)].holdEffect; } -u8 ItemId_GetHoldEffectParam(u16 itemId) +u8 GetItemHoldEffectParam(u16 itemId) { return gItems[SanitizeItemId(itemId)].holdEffectParam; } -const u8 *ItemId_GetDescription(u16 itemId) +const u8 *GetItemDescription(u16 itemId) { return gItems[SanitizeItemId(itemId)].description; } -u8 ItemId_GetImportance(u16 itemId) +u8 GetItemImportance(u16 itemId) { return gItems[SanitizeItemId(itemId)].importance; } // Unused -u8 ItemId_GetRegistrability(u16 itemId) +u8 GetItemRegistrability(u16 itemId) { return gItems[SanitizeItemId(itemId)].registrability; } -u8 ItemId_GetPocket(u16 itemId) +u8 GetItemPocket(u16 itemId) { return gItems[SanitizeItemId(itemId)].pocket; } -u8 ItemId_GetType(u16 itemId) +u8 GetItemType(u16 itemId) { return gItems[SanitizeItemId(itemId)].type; } -ItemUseFunc ItemId_GetFieldFunc(u16 itemId) +ItemUseFunc GetItemFieldFunc(u16 itemId) { return gItems[SanitizeItemId(itemId)].fieldUseFunc; } -u8 ItemId_GetBattleUsage(u16 itemId) +u8 GetItemBattleUsage(u16 itemId) { return gItems[SanitizeItemId(itemId)].battleUsage; } -ItemUseFunc ItemId_GetBattleFunc(u16 itemId) +ItemUseFunc GetItemBattleFunc(u16 itemId) { return gItems[SanitizeItemId(itemId)].battleUseFunc; } -u8 ItemId_GetSecondaryId(u16 itemId) +u8 GetItemSecondaryId(u16 itemId) { return gItems[SanitizeItemId(itemId)].secondaryId; } diff --git a/src/item_menu.c b/src/item_menu.c index 6d52e4be1c..2c057f4447 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -138,7 +138,7 @@ static void PrepareTMHMMoveWindow(void); static bool8 IsWallysBag(void); static void Task_WallyTutorialBagMenu(u8); static void Task_BagMenu_HandleInput(u8); -static void GetItemName(u8 *, u16); +static void GetItemNameFromPocket(u8 *, u16); static void PrintItemDescription(int); static void BagMenu_PrintCursorAtPos(u8, u8); static void BagMenu_Print(u8, u8, const u8 *, u8, u8, u8, u8, u8, u8); @@ -868,7 +868,7 @@ static void LoadBagItemListBuffers(u8 pocketId) { for (i = 0; i < gBagMenu->numItemStacks[pocketId] - 1; i++) { - GetItemName(sListBuffer2->name[i], pocket->itemSlots[i].itemId); + GetItemNameFromPocket(sListBuffer2->name[i], pocket->itemSlots[i].itemId); subBuffer = sListBuffer1->subBuffers; subBuffer[i].name = sListBuffer2->name[i]; subBuffer[i].id = i; @@ -882,7 +882,7 @@ static void LoadBagItemListBuffers(u8 pocketId) { for (i = 0; i < gBagMenu->numItemStacks[pocketId]; i++) { - GetItemName(sListBuffer2->name[i], pocket->itemSlots[i].itemId); + GetItemNameFromPocket(sListBuffer2->name[i], pocket->itemSlots[i].itemId); subBuffer = sListBuffer1->subBuffers; subBuffer[i].name = sListBuffer2->name[i]; subBuffer[i].id = i; @@ -894,7 +894,7 @@ static void LoadBagItemListBuffers(u8 pocketId) gMultiuseListMenuTemplate.maxShowed = gBagMenu->numShownItems[pocketId]; } -static void GetItemName(u8 *dest, u16 itemId) +static void GetItemNameFromPocket(u8 *dest, u16 itemId) { switch (gBagPosition.pocket) { @@ -976,7 +976,7 @@ static void BagMenu_ItemPrintCallback(u8 windowId, u32 itemIndex, u8 y) offset = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 119); BagMenu_Print(windowId, FONT_NARROW, gStringVar4, offset, y, 0, 0, TEXT_SKIP_DRAW, COLORID_NORMAL); } - else if (gBagPosition.pocket != KEYITEMS_POCKET && ItemId_GetImportance(itemId) == FALSE) + else if (gBagPosition.pocket != KEYITEMS_POCKET && GetItemImportance(itemId) == FALSE) { // Print item quantity ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, BAG_ITEM_CAPACITY_DIGITS); @@ -998,7 +998,7 @@ static void PrintItemDescription(int itemIndex) const u8 *str; if (itemIndex != LIST_CANCEL) { - str = ItemId_GetDescription(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex)); + str = GetItemDescription(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex)); } else { @@ -1533,7 +1533,7 @@ static void OpenContextMenu(u8 taskId) { case ITEMMENULOCATION_BATTLE: case ITEMMENULOCATION_WALLY: - if (ItemId_GetBattleUsage(gSpecialVar_ItemId)) + if (GetItemBattleUsage(gSpecialVar_ItemId)) { gBagMenu->contextMenuItemsPtr = sContextMenuItems_BattleUse; gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_BattleUse); @@ -1549,7 +1549,7 @@ static void OpenContextMenu(u8 taskId) gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_BerryBlenderCrush); break; case ITEMMENULOCATION_APPRENTICE: - if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) + if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) { gBagMenu->contextMenuItemsPtr = sContextMenuItems_Apprentice; gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_Apprentice); @@ -1561,7 +1561,7 @@ static void OpenContextMenu(u8 taskId) } break; case ITEMMENULOCATION_FAVOR_LADY: - if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) + if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) { gBagMenu->contextMenuItemsPtr = sContextMenuItems_FavorLady; gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_FavorLady); @@ -1573,7 +1573,7 @@ static void OpenContextMenu(u8 taskId) } break; case ITEMMENULOCATION_QUIZ_LADY: - if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) + if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) { gBagMenu->contextMenuItemsPtr = sContextMenuItems_QuizLady; gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_QuizLady); @@ -1785,10 +1785,10 @@ static void RemoveContextWindow(void) static void ItemMenu_UseOutOfBattle(u8 taskId) { - if (ItemId_GetFieldFunc(gSpecialVar_ItemId)) + if (GetItemFieldFunc(gSpecialVar_ItemId)) { RemoveContextWindow(); - if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == ITEM_USE_PARTY_MENU) + if (CalculatePlayerPartyCount() == 0 && GetItemType(gSpecialVar_ItemId) == ITEM_USE_PARTY_MENU) { PrintThereIsNoPokemon(taskId); } @@ -1797,7 +1797,7 @@ static void ItemMenu_UseOutOfBattle(u8 taskId) FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0)); ScheduleBgCopyTilemapToVram(0); if (gBagPosition.pocket != BERRIES_POCKET) - ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + GetItemFieldFunc(gSpecialVar_ItemId)(taskId); else ItemUseOutOfBattle_Berry(taskId); } @@ -1926,7 +1926,7 @@ static void ItemMenu_Give(u8 taskId) { DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage); } - else if (!ItemId_GetImportance(gSpecialVar_ItemId)) + else if (!GetItemImportance(gSpecialVar_ItemId)) { if (CalculatePlayerPartyCount() == 0) { @@ -1985,10 +1985,10 @@ static void ItemMenu_Cancel(u8 taskId) static void ItemMenu_UseInBattle(u8 taskId) { - if (ItemId_GetBattleFunc(gSpecialVar_ItemId)) + if (GetItemBattleFunc(gSpecialVar_ItemId)) { RemoveContextWindow(); - ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); + GetItemBattleFunc(gSpecialVar_ItemId)(taskId); } } @@ -2009,7 +2009,7 @@ static void Task_ItemContext_GiveToParty(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_Var1CantBeHeldHere); DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, HandleErrorMessage); } - else if (gBagPosition.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId)) + else if (gBagPosition.pocket != KEYITEMS_POCKET && !GetItemImportance(gSpecialVar_ItemId)) { Task_FadeAndCloseBagMenu(taskId); } @@ -2024,7 +2024,7 @@ static void Task_ItemContext_GiveToPC(u8 taskId) { if (ItemIsMail(gSpecialVar_ItemId) == TRUE) DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage); - else if (gBagPosition.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId)) + else if (gBagPosition.pocket != KEYITEMS_POCKET && !GetItemImportance(gSpecialVar_ItemId)) gTasks[taskId].func = Task_FadeAndCloseBagMenu; else PrintItemCantBeHeld(taskId); @@ -2049,7 +2049,7 @@ bool8 UseRegisteredKeyItemOnField(void) PlayerFreeze(); StopPlayerAvatar(); gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem; - taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1Ptr->registeredItem), 8); + taskId = CreateTask(GetItemFieldFunc(gSaveBlock1Ptr->registeredItem), 8); gTasks[taskId].tUsingRegisteredKeyItem = TRUE; return TRUE; } @@ -2068,7 +2068,7 @@ static void Task_ItemContext_Sell(u8 taskId) { s16 *data = gTasks[taskId].data; - if (ItemId_GetPrice(gSpecialVar_ItemId) == 0) + if (GetItemPrice(gSpecialVar_ItemId) == 0) { CopyItemName(gSpecialVar_ItemId, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_CantBuyKeyItem); @@ -2095,7 +2095,7 @@ static void DisplaySellItemPriceAndConfirm(u8 taskId) { s16 *data = gTasks[taskId].data; - ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar1, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1); DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, AskSellItems); } @@ -2120,7 +2120,7 @@ static void InitSellHowManyInput(u8 taskId) s16 *data = gTasks[taskId].data; u8 windowId = BagMenu_AddWindow(ITEMWIN_QUANTITY_WIDE); - PrintItemSoldAmount(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); + PrintItemSoldAmount(windowId, 1, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount); DisplayCurrentMoneyWindow(); gTasks[taskId].func = Task_ChooseHowManyToSell; } @@ -2131,7 +2131,7 @@ static void Task_ChooseHowManyToSell(u8 taskId) if (AdjustQuantityAccordingToDPadInput(&tItemCount, tQuantity) == TRUE) { - PrintItemSoldAmount(gBagMenu->windowIds[ITEMWIN_QUANTITY_WIDE], tItemCount, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); + PrintItemSoldAmount(gBagMenu->windowIds[ITEMWIN_QUANTITY_WIDE], tItemCount, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount); } else if (JOY_NEW(A_BUTTON)) { @@ -2155,7 +2155,7 @@ static void ConfirmSell(u8 taskId) s16 *data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar2); - ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar1, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2); DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, SellItem); } @@ -2168,7 +2168,7 @@ static void SellItem(u8 taskId) PlaySE(SE_SHOP); RemoveBagItem(gSpecialVar_ItemId, tItemCount); - AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); + AddMoney(&gSaveBlock1Ptr->money, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount); DestroyListMenuTask(tListTaskId, scrollPos, cursorPos); UpdatePocketItemList(gBagPosition.pocket); UpdatePocketListPosition(gBagPosition.pocket); @@ -2238,7 +2238,7 @@ static void TryDepositItem(u8 taskId) s16 *data = gTasks[taskId].data; FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0)); - if (ItemId_GetImportance(gSpecialVar_ItemId)) + if (GetItemImportance(gSpecialVar_ItemId)) { // Can't deposit important items BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gText_CantStoreImportantItems, 3, 1, 0, 0, 0, COLORID_NORMAL); diff --git a/src/item_use.c b/src/item_use.c index 322eaf76c0..3b052293db 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -101,7 +101,7 @@ static void SetUpItemUseCallback(u8 taskId) if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) type = gTasks[taskId].tEnigmaBerryType - 1; else - type = ItemId_GetType(gSpecialVar_ItemId) - 1; + type = GetItemType(gSpecialVar_ItemId) - 1; if (!InBattlePyramid()) { gBagMenu->newScreenCallback = sItemUseCallbacks[type]; @@ -175,9 +175,9 @@ static void Task_CloseCantUseKeyItemMessage(u8 taskId) u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) { - if (ItemId_GetFieldFunc(itemId) == ItemUseOutOfBattle_TMHM) + if (GetItemFieldFunc(itemId) == ItemUseOutOfBattle_TMHM) return 1; - else if (ItemId_GetFieldFunc(itemId) == ItemUseOutOfBattle_EvolutionStone) + else if (GetItemFieldFunc(itemId) == ItemUseOutOfBattle_EvolutionStone) return 2; else return 0; @@ -225,7 +225,7 @@ void ItemUseOutOfBattle_Bike(u8 taskId) static void ItemUseOnFieldCB_Bike(u8 taskId) { - if (ItemId_GetSecondaryId(gSpecialVar_ItemId) == MACH_BIKE) + if (GetItemSecondaryId(gSpecialVar_ItemId) == MACH_BIKE) GetOnOffBike(PLAYER_AVATAR_FLAG_MACH_BIKE); else // ACRO_BIKE GetOnOffBike(PLAYER_AVATAR_FLAG_ACRO_BIKE); @@ -279,7 +279,7 @@ void ItemUseOutOfBattle_Rod(u8 taskId) static void ItemUseOnFieldCB_Rod(u8 taskId) { - StartFishing(ItemId_GetSecondaryId(gSpecialVar_ItemId)); + StartFishing(GetItemSecondaryId(gSpecialVar_ItemId)); DestroyTask(taskId); } @@ -692,7 +692,7 @@ void ItemUseOutOfBattle_Berry(u8 taskId) } else { - ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + GetItemFieldFunc(gSpecialVar_ItemId)(taskId); } } @@ -828,8 +828,8 @@ static void RemoveUsedItem(void) StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2); if (!InBattlePyramid()) { - UpdatePocketItemList(ItemId_GetPocket(gSpecialVar_ItemId)); - UpdatePocketListPosition(ItemId_GetPocket(gSpecialVar_ItemId)); + UpdatePocketItemList(GetItemPocket(gSpecialVar_ItemId)); + UpdatePocketListPosition(GetItemPocket(gSpecialVar_ItemId)); } else { @@ -864,7 +864,7 @@ static void Task_UseRepel(u8 taskId) { if (!IsSEPlaying()) { - VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); + VarSet(VAR_REPEL_STEP_COUNT, GetItemHoldEffectParam(gSpecialVar_ItemId)); RemoveUsedItem(); if (!InBattlePyramid()) DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage); diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index e7a5862f07..17020d2716 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -192,7 +192,7 @@ bool8 HasAnotherPlayerGivenFavorLadyItem(void) static void BufferItemName(u8 *dest, u16 itemId) { - StringCopy(dest, ItemId_GetName(itemId)); + StringCopy(dest, GetItemName(itemId)); } void BufferFavorLadyItemName(void) @@ -451,7 +451,7 @@ static u8 GetPlayerNameLength(const u8 *playerName) void BufferQuizPrizeName(void) { - StringCopy(gStringVar1, ItemId_GetName(sQuizLadyPtr->prize)); + StringCopy(gStringVar1, GetItemName(sQuizLadyPtr->prize)); } bool8 BufferQuizAuthorNameAndCheckIfLady(void) diff --git a/src/player_pc.c b/src/player_pc.c index 81170a86c9..d79f74f94a 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -1051,7 +1051,7 @@ static void ItemStorage_PrintDescription(s32 id) // Get item description (or Cancel text) if (id != LIST_CANCEL) - description = (u8 *)ItemId_GetDescription(gSaveBlock1Ptr->pcItems[id].itemId); + description = (u8 *)GetItemDescription(gSaveBlock1Ptr->pcItems[id].itemId); else description = ItemStorage_GetMessage(MSG_GO_BACK_TO_PREV); @@ -1195,7 +1195,7 @@ static const u8 *ItemStorage_GetMessage(u16 itemId) string = gText_MoveVar1Where; break; default: - string = ItemId_GetDescription(itemId); + string = GetItemDescription(itemId); break; } return string; @@ -1447,7 +1447,7 @@ static void ItemStorage_DoItemToss(u8 taskId) s16 *data = gTasks[taskId].data; u16 pos = gPlayerPCItemPageInfo.cursorPos + gPlayerPCItemPageInfo.itemsAbove; - if (!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[pos].itemId)) + if (!GetItemImportance(gSaveBlock1Ptr->pcItems[pos].itemId)) { // Show toss confirmation prompt CopyItemName(gSaveBlock1Ptr->pcItems[pos].itemId, gStringVar1); diff --git a/src/pokeblock.c b/src/pokeblock.c index e01e821f7e..f3d1fa446e 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -699,7 +699,7 @@ static void DrawPokeblockMenuTitleText(void) { u8 i; - const u8 *itemName = ItemId_GetName(ITEM_POKEBLOCK_CASE); + const u8 *itemName = GetItemName(ITEM_POKEBLOCK_CASE); PrintOnPokeblockWindow(WIN_TITLE, itemName, GetStringCenterAlignXOffset(FONT_NORMAL, itemName, 0x48)); PrintOnPokeblockWindow(WIN_SPICY, gText_Spicy, 0); diff --git a/src/pokemon.c b/src/pokemon.c index 7fe9f58de4..ebf36f9b90 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3139,8 +3139,8 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } else { - attackerHoldEffect = ItemId_GetHoldEffect(attacker->item); - attackerHoldEffectParam = ItemId_GetHoldEffectParam(attacker->item); + attackerHoldEffect = GetItemHoldEffect(attacker->item); + attackerHoldEffectParam = GetItemHoldEffectParam(attacker->item); } // Get defender hold item info @@ -3151,8 +3151,8 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } else { - defenderHoldEffect = ItemId_GetHoldEffect(defender->item); - defenderHoldEffectParam = ItemId_GetHoldEffectParam(defender->item); + defenderHoldEffect = GetItemHoldEffect(defender->item); + defenderHoldEffectParam = GetItemHoldEffectParam(defender->item); } if (attacker->ability == ABILITY_HUGE_POWER || attacker->ability == ABILITY_PURE_POWER) @@ -4755,7 +4755,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } else { - holdEffect = ItemId_GetHoldEffect(heldItem); + holdEffect = GetItemHoldEffect(heldItem); } // Get battler id (if relevant) @@ -5489,7 +5489,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem) if (heldItem == ITEM_ENIGMA_BERRY) holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; else - holdEffect = ItemId_GetHoldEffect(heldItem); + holdEffect = GetItemHoldEffect(heldItem); // Prevent evolution with Everstone, unless we're just viewing the party menu with an evolution item if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE && mode != EVO_MODE_ITEM_CHECK) @@ -5905,7 +5905,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) } else { - holdEffect = ItemId_GetHoldEffect(heldItem); + holdEffect = GetItemHoldEffect(heldItem); } if (species && species != SPECIES_EGG) @@ -6015,7 +6015,7 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) } else { - holdEffect = ItemId_GetHoldEffect(heldItem); + holdEffect = GetItemHoldEffect(heldItem); } if (holdEffect == HOLD_EFFECT_MACHO_BRACE) diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 6a24f24945..233aa4a7a0 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -6983,7 +6983,7 @@ static void SetDisplayMonData(void *pokemon, u8 mode) txtPtr[1] = EOS; if (sStorage->displayMonItemId != ITEM_NONE) - StringCopyPadded(sStorage->displayMonItemName, ItemId_GetName(sStorage->displayMonItemId), CHAR_SPACE, 8); + StringCopyPadded(sStorage->displayMonItemName, GetItemName(sStorage->displayMonItemId), CHAR_SPACE, 8); else StringFill(sStorage->displayMonItemName, CHAR_SPACE, 8); } @@ -8986,7 +8986,7 @@ static bool8 IsMovingItem(void) static const u8 *GetMovingItemName(void) { - return ItemId_GetName(sStorage->movingItemId); + return GetItemName(sStorage->movingItemId); } static u16 GetMovingItemId(void) @@ -9181,9 +9181,9 @@ static void PrintItemDescription(void) const u8 *description; if (IsMovingItem()) - description = ItemId_GetDescription(sStorage->movingItemId); + description = GetItemDescription(sStorage->movingItemId); else - description = ItemId_GetDescription(sStorage->displayMonItemId); + description = GetItemDescription(sStorage->displayMonItemId); FillWindowPixelBuffer(WIN_ITEM_DESC, PIXEL_FILL(1)); AddTextPrinterParameterized5(WIN_ITEM_DESC, FONT_NORMAL, description, 4, 0, 0, NULL, 0, 1); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 0c23643e49..a5886fd6a9 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3324,7 +3324,7 @@ static void PrintHeldItemName(void) && IsMultiBattle() == TRUE && (sMonSummaryScreen->curMonIndex == 1 || sMonSummaryScreen->curMonIndex == 4 || sMonSummaryScreen->curMonIndex == 5)) { - text = ItemId_GetName(ITEM_ENIGMA_BERRY); + text = GetItemName(ITEM_ENIGMA_BERRY); } else if (sMonSummaryScreen->summary.item == ITEM_NONE) { diff --git a/src/shop.c b/src/shop.c index 123a21d639..587060f024 100644 --- a/src/shop.c +++ b/src/shop.c @@ -603,7 +603,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s if (item != LIST_CANCEL) { if (sMartInfo.martType == MART_TYPE_NORMAL) - description = ItemId_GetDescription(item); + description = GetItemDescription(item); else description = gDecorations[item].description; } @@ -626,7 +626,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y) { ConvertIntToDecimalStringN( gStringVar1, - ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT), + GetItemPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT), STR_CONV_MODE_LEFT_ALIGN, 5); } @@ -985,7 +985,7 @@ static void Task_BuyMenu(u8 taskId) BuyMenuPrintCursor(tListTaskId, COLORID_GRAY_CURSOR); if (sMartInfo.martType == MART_TYPE_NORMAL) - sShopData->totalCost = (ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)); + sShopData->totalCost = (GetItemPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)); else sShopData->totalCost = gDecorations[itemId].price; @@ -998,7 +998,7 @@ static void Task_BuyMenu(u8 taskId) if (sMartInfo.martType == MART_TYPE_NORMAL) { CopyItemName(itemId, gStringVar1); - if (ItemId_GetPocket(itemId) == POCKET_TM_HM) + if (GetItemPocket(itemId) == POCKET_TM_HM) { StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(itemId)]); BuyMenuDisplayMessage(taskId, gText_Var1CertainlyHowMany2, Task_BuyHowManyDialogueInit); @@ -1058,7 +1058,7 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) if (AdjustQuantityAccordingToDPadInput(&tItemCount, sShopData->maxQuantity) == TRUE) { - sShopData->totalCost = (ItemId_GetPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount; + sShopData->totalCost = (GetItemPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount; BuyMenuPrintItemQuantityAndPrice(taskId); } else diff --git a/src/tv.c b/src/tv.c index dbbf64d33c..5444299ce4 100644 --- a/src/tv.c +++ b/src/tv.c @@ -2807,7 +2807,7 @@ static void SmartShopper_BufferPurchaseTotal(u8 varIdx, TVShow *show) for (i = 0; i < SMARTSHOPPER_NUM_ITEMS; i++) { if (show->smartshopperShow.itemIds[i] != ITEM_NONE) - price += ItemId_GetPrice(show->smartshopperShow.itemIds[i]) * show->smartshopperShow.itemAmounts[i]; + price += GetItemPrice(show->smartshopperShow.itemIds[i]) * show->smartshopperShow.itemAmounts[i]; } if (show->smartshopperShow.priceReduced == TRUE) @@ -4489,7 +4489,7 @@ static void DoTVShowTodaysSmartShopper(void) break; case SMARTSHOPPER_STATE_CLERK_NORMAL: TVShowConvertInternationalString(gStringVar1, show->smartshopperShow.playerName, show->smartshopperShow.language); - StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[0])); + StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[0])); ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[0]); // Pick a random comment (SMARTSHOPPER_STATE_RAND_COMMENT_#) sTVShowState += SMARTSHOPPER_STATE_CLERK_NORMAL + (Random() % (SMARTSHOPPER_STATE_RAND_COMMENT_4 - SMARTSHOPPER_STATE_RAND_COMMENT_1 + 1)); @@ -4511,7 +4511,7 @@ static void DoTVShowTodaysSmartShopper(void) break; case SMARTSHOPPER_STATE_SECOND_ITEM: // Clerk describes 2nd type of item player purchased - StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[1])); + StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[1])); ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[1]); if (show->smartshopperShow.itemIds[2] != ITEM_NONE) sTVShowState = SMARTSHOPPER_STATE_THIRD_ITEM; @@ -4522,7 +4522,7 @@ static void DoTVShowTodaysSmartShopper(void) break; case SMARTSHOPPER_STATE_THIRD_ITEM: // Clerk describes 3rd type of item player purchased - StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[2])); + StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[2])); ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[2]); if (show->smartshopperShow.priceReduced == TRUE) sTVShowState = SMARTSHOPPER_STATE_DURING_SALE; @@ -4550,7 +4550,7 @@ static void DoTVShowTodaysSmartShopper(void) case SMARTSHOPPER_STATE_CLERK_MAX: // Clerk's comments if player purchased maximum number of 1st item TVShowConvertInternationalString(gStringVar1, show->smartshopperShow.playerName, show->smartshopperShow.language); - StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[0])); + StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[0])); if (show->smartshopperShow.priceReduced == TRUE) sTVShowState = SMARTSHOPPER_STATE_DURING_SALE; else @@ -4674,7 +4674,7 @@ static void DoTVShowPokemonTodaySuccessfulCapture(void) sTVShowState = 2; break; case 2: - StringCopy(gStringVar2, ItemId_GetName(show->pokemonToday.ball)); + StringCopy(gStringVar2, GetItemName(show->pokemonToday.ball)); ConvertIntToDecimalString(2, show->pokemonToday.nBallsUsed); if (show->pokemonToday.nBallsUsed < 4) sTVShowState = 3; @@ -5714,7 +5714,7 @@ static void DoTVShowHoennTreasureInvestigators(void) switch (state) { case 0: - StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item)); + StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item)); if (show->treasureInvestigators.location == MAPSEC_DYNAMIC) { switch (show->treasureInvestigators.mapLayoutId) @@ -5735,13 +5735,13 @@ static void DoTVShowHoennTreasureInvestigators(void) } break; case 1: - StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item)); + StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item)); TVShowConvertInternationalString(gStringVar2, show->treasureInvestigators.playerName, show->treasureInvestigators.language); GetMapName(gStringVar3, show->treasureInvestigators.location, 0); TVShowDone(); break; case 2: - StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item)); + StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item)); TVShowConvertInternationalString(gStringVar2, show->treasureInvestigators.playerName, show->treasureInvestigators.language); TVShowDone(); break; @@ -5849,7 +5849,7 @@ static void DoTVShowBreakingNewsTV(void) break; case 3: ConvertIntToDecimalString(0, show->breakingNews.balls); - StringCopy(gStringVar2, ItemId_GetName(show->breakingNews.caughtMonBall)); + StringCopy(gStringVar2, GetItemName(show->breakingNews.caughtMonBall)); sTVShowState = 4; break; case 4: @@ -6011,7 +6011,7 @@ static void DoTVShowPokemonLotteryWinnerFlashReport(void) StringCopy(gStringVar2, gText_Second); else StringCopy(gStringVar2, gText_Third); - StringCopy(gStringVar3, ItemId_GetName(show->lottoWinner.item)); + StringCopy(gStringVar3, GetItemName(show->lottoWinner.item)); TVShowDone(); ShowFieldMessage(sTVPokemonLotteryWinnerFlashReportTextGroup[state]); } @@ -6695,7 +6695,7 @@ static void DoTVShowSecretBaseSecrets(void) sTVShowState = show->secretBaseSecrets.savedState; break; case SBSECRETS_STATE_USED_BAG: - StringCopy(gStringVar2, ItemId_GetName(show->secretBaseSecrets.item)); + StringCopy(gStringVar2, GetItemName(show->secretBaseSecrets.item)); sTVShowState = show->secretBaseSecrets.savedState; break; case SBSECRETS_STATE_USED_CUSHION: diff --git a/tools/mgba-rom-test-hydra/mgba-rom-test-hydra b/tools/mgba-rom-test-hydra/mgba-rom-test-hydra new file mode 100755 index 0000000000000000000000000000000000000000..274c623b639bd630438da306e576b0b1d5ae6d4c GIT binary patch literal 34992 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 RL^k~k+oi+>844M!@n3Uq`lA2< literal 0 HcmV?d00001 diff --git a/tools/patchelf/patchelf b/tools/patchelf/patchelf new file mode 100755 index 0000000000000000000000000000000000000000..0ba2250829b181eff97c1d645e2ac07fba63fdfc GIT binary patch literal 16272 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 literal 0 HcmV?d00001 diff --git a/tools/trainerproc/trainerproc b/tools/trainerproc/trainerproc new file mode 100755 index 0000000000000000000000000000000000000000..ea9d5e8949a2c0ff3e5a04c8a1aa777f6cba0d31 GIT binary patch literal 54856 zcmeIbe|%Hb{Xc#KEkwX3Xwj;mK?Af3rB!e(f;Kd1Zy<#V1yRsY(v(I@+qH>+I_TC^ zx$hXP8#ty;d2j02bQ_z>5GI7*=$tF444E6%`Qv8w2SeqDo96p`ogZm(X}9%7j7d+ueG%Tw0RWK!hSU%64CSZgImN<_ly*TfBi5~WDV!tWKz z<;noWGZ@CxOL%}(ep&mchh~8jO!=M{>Bexlpp&7LkV4AW=XHrlk)f5xDPJbt+UN(D zjr}IWHy84_43(68th^3EZwQBs;J6G^^O0_>FYj#+fb-u*YjbRs6 z1eXkDc9N0)Duq6cVF}XcDq+8hV$9be@)<+BpqC+)K^KMe_tCQyJ3F*7G^yTXo6UYd zSVQ@Y^2vCK$R|T7XQjwzeVP*(!}ml!8B!T^-Hd#s&;RQsnn9T*%j={4jtizT6wSiw zS%AXG*2-thQTnwiF_J~5n-mj^pC<(BC*m@lXtVK0%|ZEpdf$h!{G8{Hy?OO7E@-*< zq4!Fz|JkGC>jR6fpD@0@W?X%sA+&tl@}ld;u24 z5B!ln@K^f4%lnZ3e?fmG{*2cG07I2al~|0Y$bN1Sc&7o62wd5jPLE<4pCf`^_Isbe zy96%zD~(OTKtqkv>|aJfORy%;pm@D4!D`z#Y-C-g!o=g+AAUS-Va^~ehq*0Uxo;IjPT4f zMAGqe6X-tx59x=uJoNAY@}|cHmK_M3Pb1GiMErS{-e1XtAyA&sr2)9seu|Y01D70k zW&1bX%<&xI*ClQfc&-7TwwBYE81SR(IIbG-_XS>Qz^|kZg=?MxA20BQ23+!~GvGG} z`X&QjF7V|BT=Ho(;By51Y6D&^@D2km`K&kK-xTy44EQ|)-)O)kpG^jQwV>Z(z}E^q zX22z%0|xv_LEmY>e<|=I23+##GT_?;y>7tw3;ehNmwZke@HYj$vX!^Lw6|jdHyd!t z$7;Yo67)F+{EWbD23+#VHQ)mt<#H4l@CyZAWWXh#5(7R`(5nV~oWLs$xa2d>fENk+ zg$CRu@Hzu7`7{~u*@Aw#0rv{L)qqPrs||RApzko?D+IpYfJ;6b40yYs-)O)e68I(q zF8ORR;ExOXm;wK(zz-O3$*0qRZx-}N4ESz=cNy@50@n@rQGp*f;O`6kv;miVlx^wu z|GA(y8*t?@PG>dXl248Sw+MQh0l!S(xdvSFDKOwy3;H4he!aj;4EQvGs|I|Qz$*>7 zPvG+mxa70YfG-pDbq0L3z?%%XKPu>34frzxUv0p*2)x69?-clY1OBSOHyCiq zXQKf>D(E*E@DBvO#ehpbF#~>5&>t}189(Iq(`mpZpCbnRB0=9}z()&QH{g=baRWY4 z(4RKoQw6U4Hr@UuAF~0k67*IBUL)`v11|a440yAk&o$sH1zuplC7&V#zDCfO81Tmg zt{QO3r_z8wBk1QD@GSygXv81m`l>VF`vrZI0e?f_%MG}cr`3SJC+Jrj@Dl>>FyNBU zdIO#i^cxKLpvSrV8x6SRv&n#8D(JTu@LYk%47lWTzDc$~83fyeKB_FE+j|%z{1OA$vha2!m1bw9e-ze~T27I%? z7aH�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 Date: Thu, 22 May 2025 14:33:31 +0200 Subject: [PATCH 69/84] Remove files that were wrongly commited --- tools/mgba-rom-test-hydra/mgba-rom-test-hydra | Bin 34992 -> 0 bytes tools/patchelf/patchelf | Bin 16272 -> 0 bytes tools/trainerproc/trainerproc | Bin 54856 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 tools/mgba-rom-test-hydra/mgba-rom-test-hydra delete mode 100755 tools/patchelf/patchelf delete mode 100755 tools/trainerproc/trainerproc diff --git a/tools/mgba-rom-test-hydra/mgba-rom-test-hydra b/tools/mgba-rom-test-hydra/mgba-rom-test-hydra deleted file mode 100755 index 274c623b639bd630438da306e576b0b1d5ae6d4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34992 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 RL^k~k+oi+>844M!@n3Uq`lA2< diff --git a/tools/patchelf/patchelf b/tools/patchelf/patchelf deleted file mode 100755 index 0ba2250829b181eff97c1d645e2ac07fba63fdfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16272 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 diff --git a/tools/trainerproc/trainerproc b/tools/trainerproc/trainerproc deleted file mode 100755 index ea9d5e8949a2c0ff3e5a04c8a1aa777f6cba0d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54856 zcmeIbe|%Hb{Xc#KEkwX3Xwj;mK?Af3rB!e(f;Kd1Zy<#V1yRsY(v(I@+qH>+I_TC^ zx$hXP8#ty;d2j02bQ_z>5GI7*=$tF444E6%`Qv8w2SeqDo96p`ogZm(X}9%7j7d+ueG%Tw0RWK!hSU%64CSZgImN<_ly*TfBi5~WDV!tWKz z<;noWGZ@CxOL%}(ep&mchh~8jO!=M{>Bexlpp&7LkV4AW=XHrlk)f5xDPJbt+UN(D zjr}IWHy84_43(68th^3EZwQBs;J6G^^O0_>FYj#+fb-u*YjbRs6 z1eXkDc9N0)Duq6cVF}XcDq+8hV$9be@)<+BpqC+)K^KMe_tCQyJ3F*7G^yTXo6UYd zSVQ@Y^2vCK$R|T7XQjwzeVP*(!}ml!8B!T^-Hd#s&;RQsnn9T*%j={4jtizT6wSiw zS%AXG*2-thQTnwiF_J~5n-mj^pC<(BC*m@lXtVK0%|ZEpdf$h!{G8{Hy?OO7E@-*< zq4!Fz|JkGC>jR6fpD@0@W?X%sA+&tl@}ld;u24 z5B!ln@K^f4%lnZ3e?fmG{*2cG07I2al~|0Y$bN1Sc&7o62wd5jPLE<4pCf`^_Isbe zy96%zD~(OTKtqkv>|aJfORy%;pm@D4!D`z#Y-C-g!o=g+AAUS-Va^~ehq*0Uxo;IjPT4f zMAGqe6X-tx59x=uJoNAY@}|cHmK_M3Pb1GiMErS{-e1XtAyA&sr2)9seu|Y01D70k zW&1bX%<&xI*ClQfc&-7TwwBYE81SR(IIbG-_XS>Qz^|kZg=?MxA20BQ23+!~GvGG} z`X&QjF7V|BT=Ho(;By51Y6D&^@D2km`K&kK-xTy44EQ|)-)O)kpG^jQwV>Z(z}E^q zX22z%0|xv_LEmY>e<|=I23+##GT_?;y>7tw3;ehNmwZke@HYj$vX!^Lw6|jdHyd!t z$7;Yo67)F+{EWbD23+#VHQ)mt<#H4l@CyZAWWXh#5(7R`(5nV~oWLs$xa2d>fENk+ zg$CRu@Hzu7`7{~u*@Aw#0rv{L)qqPrs||RApzko?D+IpYfJ;6b40yYs-)O)e68I(q zF8ORR;ExOXm;wK(zz-O3$*0qRZx-}N4ESz=cNy@50@n@rQGp*f;O`6kv;miVlx^wu z|GA(y8*t?@PG>dXl248Sw+MQh0l!S(xdvSFDKOwy3;H4he!aj;4EQvGs|I|Qz$*>7 zPvG+mxa70YfG-pDbq0L3z?%%XKPu>34frzxUv0p*2)x69?-clY1OBSOHyCiq zXQKf>D(E*E@DBvO#ehpbF#~>5&>t}189(Iq(`mpZpCbnRB0=9}z()&QH{g=baRWY4 z(4RKoQw6U4Hr@UuAF~0k67*IBUL)`v11|a440yAk&o$sH1zuplC7&V#zDCfO81Tmg zt{QO3r_z8wBk1QD@GSygXv81m`l>VF`vrZI0e?f_%MG}cr`3SJC+Jrj@Dl>>FyNBU zdIO#i^cxKLpvSrV8x6SRv&n#8D(JTu@LYk%47lWTzDc$~83fyeKB_FE+j|%z{1OA$vha2!m1bw9e-ze~T27I%? z7aH�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 Date: Thu, 22 May 2025 19:15:01 +0200 Subject: [PATCH 70/84] Fixes Unnerve activation not limited to 1 per switch-in (#6960) --- include/battle.h | 1 + src/battle_util.c | 6 ++++-- test/battle/ability/unnerve.c | 27 +++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/include/battle.h b/include/battle.h index 633c9da18a..10cd804931 100644 --- a/include/battle.h +++ b/include/battle.h @@ -132,6 +132,7 @@ struct DisableStruct u8 unburdenActive:1; u8 neutralizingGas:1; u8 iceFaceActivationPrevention:1; // fixes hit escape move edge case + u8 unnerveActivated:1; // Unnerve and As One (Unnerve part) activate only once per switch in u8 padding:3; }; diff --git a/src/battle_util.c b/src/battle_util.c index 640b4753af..e74bddcf54 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4847,10 +4847,11 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } break; case ABILITY_UNNERVE: - if (!gSpecialStatuses[battler].switchInAbilityDone) + if (!gSpecialStatuses[battler].switchInAbilityDone && !gDisableStructs[battler].unnerveActivated) { gBattlerTarget = GetOppositeBattler(battler); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SWITCHIN_UNNERVE; + gDisableStructs[battler].unnerveActivated = TRUE; gSpecialStatuses[battler].switchInAbilityDone = TRUE; BattleScriptPushCursorAndCallback(BattleScript_SwitchInAbilityMsg); effect++; @@ -4858,10 +4859,11 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 break; case ABILITY_AS_ONE_ICE_RIDER: case ABILITY_AS_ONE_SHADOW_RIDER: - if (!gSpecialStatuses[battler].switchInAbilityDone) + if (!gSpecialStatuses[battler].switchInAbilityDone && !gDisableStructs[battler].unnerveActivated) { gBattlerTarget = GetOppositeBattler(battler); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SWITCHIN_ASONE; + gDisableStructs[battler].unnerveActivated = TRUE; gSpecialStatuses[battler].switchInAbilityDone = TRUE; BattleScriptPushCursorAndCallback(BattleScript_ActivateAsOne); effect++; diff --git a/test/battle/ability/unnerve.c b/test/battle/ability/unnerve.c index 4547854231..9a8972eb5c 100644 --- a/test/battle/ability/unnerve.c +++ b/test/battle/ability/unnerve.c @@ -72,3 +72,30 @@ SINGLE_BATTLE_TEST("Unnerve prints the correct string (opponent)") MESSAGE("Your team is too nervous to eat Berries!"); } } + +SINGLE_BATTLE_TEST("Unnerve activates only once per switch-in") +{ + u16 mon; + u16 ability; + PARAMETRIZE { mon = SPECIES_JOLTIK, ability = ABILITY_UNNERVE; } + PARAMETRIZE { mon = SPECIES_CALYREX_ICE, ability = ABILITY_AS_ONE_ICE_RIDER; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WEEZING) { Ability(ABILITY_NEUTRALIZING_GAS); } + OPPONENT(mon) { Ability(ability); } + OPPONENT(mon) { Ability(ability); } + } WHEN { + TURN { SWITCH(player, 1); } + TURN { SWITCH(player, 0); } + TURN { SWITCH(player, 1); } + TURN { SWITCH(player, 0); } + TURN { SWITCH(opponent, 1); } + } SCENE { + ABILITY_POPUP(opponent, ability); + ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); + NOT ABILITY_POPUP(opponent, ability); + ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); + ABILITY_POPUP(opponent, ability); + + } +} From fba096a500a4843ee9d7ca9dec872e34cae7b549 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 22 May 2025 13:59:23 -0400 Subject: [PATCH 71/84] Remove map_group_count.h --- src/data/map_group_count.h | 1 - 1 file changed, 1 deletion(-) delete mode 100644 src/data/map_group_count.h diff --git a/src/data/map_group_count.h b/src/data/map_group_count.h deleted file mode 100644 index 4fe8a21b3b..0000000000 --- a/src/data/map_group_count.h +++ /dev/null @@ -1 +0,0 @@ -static const u8 MAP_GROUP_COUNT[] = {57, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 17, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 108, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0}; From 2e3ae0d1678d6f5a103741a8a15a6f273d14b4c0 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 22 May 2025 15:05:22 -0400 Subject: [PATCH 72/84] Added check for gBattleStringsTable (#6948) --- test/test_runner.c | 20 +++++++++++++++----- test/text.c | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/test/test_runner.c b/test/test_runner.c index f279835c4b..8ca5b488e3 100644 --- a/test/test_runner.c +++ b/test/test_runner.c @@ -684,12 +684,22 @@ static s32 MgbaVPrintf_(const char *fmt, va_list va) break; case 'S': pokeS = va_arg(va, const u8 *); - while ((c = *pokeS++) != EOS) + if (pokeS == NULL) { - if ((c = gWireless_RSEtoASCIITable[c]) != '\0') - i = MgbaPutchar_(i, c); - else - i = MgbaPutchar_(i, '?'); + i = MgbaPutchar_(i, 'N'); + i = MgbaPutchar_(i, 'U'); + i = MgbaPutchar_(i, 'L'); + i = MgbaPutchar_(i, 'L'); + } + else + { + while ((c = *pokeS++) != EOS) + { + if ((c = gWireless_RSEtoASCIITable[c]) != '\0') + i = MgbaPutchar_(i, c); + else + i = MgbaPutchar_(i, '?'); + } } break; } diff --git a/test/text.c b/test/text.c index 8e9a205196..981d03fdc0 100644 --- a/test/text.c +++ b/test/text.c @@ -811,6 +811,7 @@ TEST("Battle strings fit on the battle message window") default: break; } + EXPECT(gBattleStringsTable[battleStringId] != NULL); BattleStringExpandPlaceholders(gBattleStringsTable[battleStringId], battleString, BATTLE_STRING_BUFFER_SIZE); DebugPrintf("Battle String ID %d: %S", battleStringId, battleString); for (j = 1;; j++) From f9400332fcd3e102390836ae7db75614b7c026b9 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 22 May 2025 22:50:13 +0200 Subject: [PATCH 73/84] Fixes AI repeated use of weather set up moves (#6963) --- include/battle_ai_util.h | 9 +++++ src/battle_ai_main.c | 8 ++-- src/battle_ai_util.c | 85 +++++++++++++++++++++++----------------- test/battle/ai/ai.c | 21 ++++++++++ 4 files changed, 84 insertions(+), 39 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 4855184fac..d8dca70130 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -22,6 +22,14 @@ enum AIPivot SHOULD_PIVOT, }; +enum WeatherState +{ + WEATHER_INACTIVE, + WEATHER_ACTIVE, + WEATHER_ACTIVE_BUT_BLOCKED, + WEATHER_INACTIVE_AND_BLOCKED, +}; + bool32 AI_IsFaster(u32 battlerAi, u32 battlerDef, u32 move); bool32 AI_IsSlower(u32 battlerAi, u32 battlerDef, u32 move); bool32 AI_RandLessThan(u32 val); @@ -58,6 +66,7 @@ s32 AI_DecideKnownAbilityForTurn(u32 battlerId); u32 AI_DecideHoldEffectForTurn(u32 battlerId); bool32 DoesBattlerIgnoreAbilityChecks(u32 battlerAtk, u32 atkAbility, u32 move); u32 AI_GetWeather(void); +enum WeatherState IsWeatherActive(u32 flags); bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u32 numHits); bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u32 index, u32 numHits); bool32 HasDamagingMove(u32 battlerId); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b823e6e23e..de854bc738 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -5407,19 +5407,19 @@ static s32 AI_PowerfulStatus(u32 battlerAtk, u32 battlerDef, u32 move, s32 score ADJUST_SCORE(POWERFUL_STATUS_MOVE); break; case EFFECT_SUNNY_DAY: - if (!(AI_GetWeather() & (B_WEATHER_SUN | B_WEATHER_PRIMAL_ANY))) + if (IsWeatherActive(B_WEATHER_SUN | B_WEATHER_PRIMAL_ANY) == WEATHER_INACTIVE) ADJUST_SCORE(POWERFUL_STATUS_MOVE); break; case EFFECT_RAIN_DANCE: - if (!(AI_GetWeather() & (B_WEATHER_RAIN | B_WEATHER_PRIMAL_ANY))) + if (IsWeatherActive(B_WEATHER_RAIN | B_WEATHER_PRIMAL_ANY) == WEATHER_INACTIVE) ADJUST_SCORE(POWERFUL_STATUS_MOVE); break; case EFFECT_HAIL: - if (!(AI_GetWeather() & (B_WEATHER_HAIL | B_WEATHER_PRIMAL_ANY))) + if (IsWeatherActive(B_WEATHER_HAIL | B_WEATHER_PRIMAL_ANY) == WEATHER_INACTIVE) ADJUST_SCORE(POWERFUL_STATUS_MOVE); break; case EFFECT_SNOWSCAPE: - if (!(AI_GetWeather() & (B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY))) + if (IsWeatherActive(B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) == WEATHER_INACTIVE) ADJUST_SCORE(POWERFUL_STATUS_MOVE); } diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 9a3f95674c..ce98f3b357 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1418,6 +1418,26 @@ u32 AI_GetWeather(void) return gBattleWeather; } +enum WeatherState IsWeatherActive(u32 flags) +{ + enum WeatherState state = WEATHER_INACTIVE; + + if (gBattleWeather & flags) + state = WEATHER_ACTIVE; + else + state = WEATHER_INACTIVE; + + if (!AI_WeatherHasEffect()) + { + if (state == WEATHER_ACTIVE) + state = WEATHER_ACTIVE_BUT_BLOCKED; + else + state = WEATHER_INACTIVE_AND_BLOCKED; + } + + return state; +} + bool32 IsAromaVeilProtectedEffect(u32 moveEffect) { switch (moveEffect) @@ -1619,19 +1639,18 @@ bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbil bool32 ShouldSetSandstorm(u32 battler, u32 ability, u32 holdEffect) { - u32 weather = AI_GetWeather(); - if (weather & B_WEATHER_SANDSTORM) + if (IsWeatherActive(B_WEATHER_SANDSTORM | B_WEATHER_PRIMAL_ANY) != WEATHER_INACTIVE) return FALSE; if (ability == ABILITY_SAND_VEIL - || ability == ABILITY_SAND_RUSH - || ability == ABILITY_SAND_FORCE - || ability == ABILITY_OVERCOAT - || ability == ABILITY_MAGIC_GUARD - || holdEffect == HOLD_EFFECT_SAFETY_GOGGLES - || IS_BATTLER_ANY_TYPE(battler, TYPE_ROCK, TYPE_GROUND, TYPE_STEEL) - || HasMoveEffect(battler, EFFECT_SHORE_UP) - || HasMoveEffect(battler, EFFECT_WEATHER_BALL)) + || ability == ABILITY_SAND_RUSH + || ability == ABILITY_SAND_FORCE + || ability == ABILITY_OVERCOAT + || ability == ABILITY_MAGIC_GUARD + || holdEffect == HOLD_EFFECT_SAFETY_GOGGLES + || IS_BATTLER_ANY_TYPE(battler, TYPE_ROCK, TYPE_GROUND, TYPE_STEEL) + || HasMoveEffect(battler, EFFECT_SHORE_UP) + || HasMoveEffect(battler, EFFECT_WEATHER_BALL)) { return TRUE; } @@ -1640,21 +1659,20 @@ bool32 ShouldSetSandstorm(u32 battler, u32 ability, u32 holdEffect) bool32 ShouldSetHail(u32 battler, u32 ability, u32 holdEffect) { - u32 weather = AI_GetWeather(); - if (weather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) + if (IsWeatherActive(B_WEATHER_HAIL | B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) != WEATHER_INACTIVE) return FALSE; if (ability == ABILITY_SNOW_CLOAK - || ability == ABILITY_ICE_BODY - || ability == ABILITY_FORECAST - || ability == ABILITY_SLUSH_RUSH - || ability == ABILITY_MAGIC_GUARD - || ability == ABILITY_OVERCOAT - || holdEffect == HOLD_EFFECT_SAFETY_GOGGLES - || IS_BATTLER_OF_TYPE(battler, TYPE_ICE) - || HasMoveEffect(battler, EFFECT_BLIZZARD) - || HasMoveEffect(battler, EFFECT_AURORA_VEIL) - || HasMoveEffect(battler, EFFECT_WEATHER_BALL)) + || ability == ABILITY_ICE_BODY + || ability == ABILITY_FORECAST + || ability == ABILITY_SLUSH_RUSH + || ability == ABILITY_MAGIC_GUARD + || ability == ABILITY_OVERCOAT + || holdEffect == HOLD_EFFECT_SAFETY_GOGGLES + || IS_BATTLER_OF_TYPE(battler, TYPE_ICE) + || HasMoveEffect(battler, EFFECT_BLIZZARD) + || HasMoveEffect(battler, EFFECT_AURORA_VEIL) + || HasMoveEffect(battler, EFFECT_WEATHER_BALL)) { return TRUE; } @@ -1663,8 +1681,7 @@ bool32 ShouldSetHail(u32 battler, u32 ability, u32 holdEffect) bool32 ShouldSetRain(u32 battlerAtk, u32 atkAbility, u32 holdEffect) { - u32 weather = AI_GetWeather(); - if (weather & B_WEATHER_RAIN) + if (IsWeatherActive(B_WEATHER_RAIN | B_WEATHER_PRIMAL_ANY) != WEATHER_INACTIVE) return FALSE; if (holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA @@ -1684,8 +1701,7 @@ bool32 ShouldSetRain(u32 battlerAtk, u32 atkAbility, u32 holdEffect) bool32 ShouldSetSun(u32 battlerAtk, u32 atkAbility, u32 holdEffect) { - u32 weather = AI_GetWeather(); - if (weather & B_WEATHER_SUN) + if (IsWeatherActive(B_WEATHER_SUN | B_WEATHER_PRIMAL_ANY) != WEATHER_INACTIVE) return FALSE; if (holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA @@ -1710,18 +1726,17 @@ bool32 ShouldSetSun(u32 battlerAtk, u32 atkAbility, u32 holdEffect) bool32 ShouldSetSnow(u32 battler, u32 ability, u32 holdEffect) { - u32 weather = AI_GetWeather(); - if (weather & (B_WEATHER_SNOW | B_WEATHER_HAIL)) + if (IsWeatherActive(B_WEATHER_SNOW | B_WEATHER_HAIL | B_WEATHER_PRIMAL_ANY) != WEATHER_INACTIVE) return FALSE; if (ability == ABILITY_SNOW_CLOAK - || ability == ABILITY_ICE_BODY - || ability == ABILITY_FORECAST - || ability == ABILITY_SLUSH_RUSH - || IS_BATTLER_OF_TYPE(battler, TYPE_ICE) - || HasMoveEffect(battler, EFFECT_BLIZZARD) - || HasMoveEffect(battler, EFFECT_AURORA_VEIL) - || HasMoveEffect(battler, EFFECT_WEATHER_BALL)) + || ability == ABILITY_ICE_BODY + || ability == ABILITY_FORECAST + || ability == ABILITY_SLUSH_RUSH + || IS_BATTLER_OF_TYPE(battler, TYPE_ICE) + || HasMoveEffect(battler, EFFECT_BLIZZARD) + || HasMoveEffect(battler, EFFECT_AURORA_VEIL) + || HasMoveEffect(battler, EFFECT_WEATHER_BALL)) { return TRUE; } diff --git a/test/battle/ai/ai.c b/test/battle/ai/ai.c index 6b837a543c..5359ebe58f 100644 --- a/test/battle/ai/ai.c +++ b/test/battle/ai/ai.c @@ -914,3 +914,24 @@ SINGLE_BATTLE_TEST("AI correctly records used moves") EXPECT_EQ(BATTLE_HISTORY->usedMoves[B_POSITION_OPPONENT_LEFT][3], MOVE_EARTHQUAKE); } } + +AI_SINGLE_BATTLE_TEST("AI will not set up Weather if it wont have any affect") +{ + u32 ability; + + PARAMETRIZE { ability = ABILITY_CLOUD_NINE; } + PARAMETRIZE { ability = ABILITY_DAMP; } + + GIVEN { + ASSUME(GetMoveEffect(MOVE_RAIN_DANCE) == EFFECT_RAIN_DANCE); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY); + PLAYER(SPECIES_GOLDUCK) { Ability(ability); Moves(MOVE_SCRATCH); } + OPPONENT(SPECIES_KABUTOPS) { Ability(ABILITY_SWIFT_SWIM); Moves(MOVE_RAIN_DANCE, MOVE_POUND); } + } WHEN { + if (ability == ABILITY_CLOUD_NINE) + TURN { MOVE(player, MOVE_SCRATCH); EXPECT_MOVE(opponent, MOVE_POUND); } + else + TURN { MOVE(player, MOVE_SCRATCH); EXPECT_MOVE(opponent, MOVE_RAIN_DANCE); } + } +} + From 87cbb457f1ba7b3241ccfd663fd0618b938df320 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 22 May 2025 23:25:29 +0200 Subject: [PATCH 74/84] Fixes AI not seeing primal weather and partner absorbing abilities (#6936) --- src/battle_ai_util.c | 44 ++++++++++++++++++++++++++++++++++++++++---- test/battle/ai/ai.c | 31 ++++++++++++++++++++++++++++++- 2 files changed, 70 insertions(+), 5 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index ce98f3b357..13e438a5d4 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -421,19 +421,50 @@ static inline s32 DmgRoll(s32 dmg) return dmg; } -bool32 IsDamageMoveUnusable(u32 battlerAtk, u32 battlerDef, u32 move, u32 moveType) +bool32 IsDamageMoveUnusable(u32 battlerAtk, u32 battlerDef, u32 move, u32 moveType, uq4_12_t effectiveness, u32 weather) { + u32 battlerDefAbility; + u32 partnerDefAbility; struct AiLogicData *aiData = AI_DATA; + if (effectiveness == UQ_4_12(0.0)) + return TRUE; if (gBattleStruct->battlerState[battlerDef].commandingDondozo) return TRUE; - if (CanAbilityBlockMove(battlerAtk, battlerDef, move, aiData->abilities[battlerDef], ABILITY_CHECK_TRIGGER)) + // aiData->abilities does not check for Mold Breaker since it happens during combat so it needs to be done manually + if (IsMoldBreakerTypeAbility(battlerAtk, aiData->abilities[battlerAtk]) || MoveIgnoresTargetAbility(move)) + { + battlerDefAbility = ABILITY_NONE; + partnerDefAbility = ABILITY_NONE; + } + else + { + battlerDefAbility = aiData->abilities[battlerDef]; + partnerDefAbility = aiData->abilities[BATTLE_PARTNER(battlerDef)]; + } + + if (CanAbilityBlockMove(battlerAtk, battlerDef, move, battlerDefAbility, ABILITY_CHECK_TRIGGER)) return TRUE; - if (CanAbilityAbsorbMove(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, moveType, ABILITY_CHECK_TRIGGER)) + if (CanAbilityAbsorbMove(battlerAtk, battlerDef, battlerDefAbility, move, moveType, ABILITY_CHECK_TRIGGER)) return TRUE; + // Limited to Lighning Rod and Storm Drain because otherwise the AI would consider Water Absorb, etc... + if (partnerDefAbility == ABILITY_LIGHTNING_ROD || partnerDefAbility == ABILITY_STORM_DRAIN) + { + if (CanAbilityAbsorbMove(battlerAtk, BATTLE_PARTNER(battlerDef), partnerDefAbility, move, moveType, ABILITY_CHECK_TRIGGER)) + return TRUE; + } + + if (HasWeatherEffect()) + { + if (weather & B_WEATHER_SUN_PRIMAL && moveType == TYPE_WATER) + return TRUE; + if (weather & B_WEATHER_RAIN_PRIMAL && moveType == TYPE_FIRE) + return TRUE; + } + switch (GetMoveEffect(move)) { case EFFECT_DREAM_EATER: @@ -469,6 +500,11 @@ bool32 IsDamageMoveUnusable(u32 battlerAtk, u32 battlerDef, u32 move, u32 moveTy if (!gDisableStructs[battlerAtk].isFirstTurn) return TRUE; break; + case EFFECT_EXPLOSION: + case EFFECT_MIND_BLOWN: + if (battlerDefAbility == ABILITY_DAMP || partnerDefAbility == ABILITY_DAMP) + return TRUE; + break; } return FALSE; @@ -658,7 +694,7 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u u32 movePower = GetMovePower(move); if (movePower) - isDamageMoveUnusable = IsDamageMoveUnusable(battlerAtk, battlerDef, move, moveType); + isDamageMoveUnusable = IsDamageMoveUnusable(battlerAtk, battlerDef, move, moveType, effectivenessMultiplier, weather); if (movePower && !isDamageMoveUnusable) { diff --git a/test/battle/ai/ai.c b/test/battle/ai/ai.c index 5359ebe58f..a22097c815 100644 --- a/test/battle/ai/ai.c +++ b/test/battle/ai/ai.c @@ -915,6 +915,36 @@ SINGLE_BATTLE_TEST("AI correctly records used moves") } } +AI_SINGLE_BATTLE_TEST("AI sees that Primal weather can block a move by type") +{ + GIVEN { + ASSUME(GetMoveType(MOVE_HYDRO_PUMP) == TYPE_WATER); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT); + PLAYER(SPECIES_GROUDON) { Item(ITEM_RED_ORB); Moves(MOVE_SCRATCH); } + OPPONENT(SPECIES_BLASTOISE) { Moves(MOVE_HYDRO_PUMP, MOVE_POUND); } + } WHEN { + TURN { MOVE(player, MOVE_SCRATCH); EXPECT_MOVE(opponent, MOVE_POUND); } + } +} + +AI_DOUBLE_BATTLE_TEST("AI sees opposing drain ability") +{ + GIVEN { + ASSUME(GetMoveType(MOVE_THUNDERBOLT) == TYPE_ELECTRIC); + ASSUME(GetMoveType(MOVE_RAZOR_LEAF) != TYPE_ELECTRIC); + ASSUME(GetMoveType(MOVE_METAL_CLAW) != TYPE_ELECTRIC); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_OMNISCIENT); + PLAYER(SPECIES_RAICHU) { Ability(ABILITY_LIGHTNING_ROD); Moves(MOVE_CELEBRATE); } + PLAYER(SPECIES_KRABBY) { Ability(ABILITY_VOLT_ABSORB); Moves(MOVE_CELEBRATE); } + OPPONENT(SPECIES_MAGNETON) { Moves(MOVE_THUNDERBOLT, MOVE_RAZOR_LEAF); } + OPPONENT(SPECIES_WOBBUFFET) { Moves(MOVE_THUNDERBOLT, MOVE_METAL_CLAW); } + } WHEN { + TURN { + NOT_EXPECT_MOVE(opponentLeft, MOVE_THUNDERBOLT); + NOT_EXPECT_MOVE(opponentRight, MOVE_THUNDERBOLT); } + } +} + AI_SINGLE_BATTLE_TEST("AI will not set up Weather if it wont have any affect") { u32 ability; @@ -934,4 +964,3 @@ AI_SINGLE_BATTLE_TEST("AI will not set up Weather if it wont have any affect") TURN { MOVE(player, MOVE_SCRATCH); EXPECT_MOVE(opponent, MOVE_RAIN_DANCE); } } } - From 0b67aa7546526a264084c196c3991431ba2517ba Mon Sep 17 00:00:00 2001 From: PhallenTree <168426989+PhallenTree@users.noreply.github.com> Date: Sat, 24 May 2025 14:13:08 +0100 Subject: [PATCH 75/84] Fixes checking wrong move's Dynamic Move Type in Summary Screen (#6975) --- src/pokemon_summary_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index d34b0dd40d..ea4d449ec4 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -4308,7 +4308,7 @@ static void SetMoveTypeIcons(void) if (P_SHOW_DYNAMIC_TYPES) { enum MonState state = gMain.inBattle ? MON_IN_BATTLE : MON_OUTSIDE_BATTLE; - type = CheckDynamicMoveType(mon, sMonSummaryScreen->newMove, 0, state); // Bug: in battle, this only shows the dynamic type of battler in position 0 + type = CheckDynamicMoveType(mon, summary->moves[i], 0, state); // Bug: in battle, this only shows the dynamic type of battler in position 0 } SetTypeSpritePosAndPal(type, 85, 32 + (i * 16), i + SPRITE_ARR_ID_TYPE); From dc6e40a8397f046d284c15721c7cf275987324d5 Mon Sep 17 00:00:00 2001 From: Hedara Date: Sat, 24 May 2025 21:57:51 +0200 Subject: [PATCH 76/84] Fix tests using old item functions --- test/battle/ability/unburden.c | 2 +- test/battle/ai/ai.c | 4 ++-- test/battle/move_effect/bestow.c | 2 +- test/battle/move_effect/hidden_power.c | 4 ++-- test/test_runner_battle.c | 14 +++++++------- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/test/battle/ability/unburden.c b/test/battle/ability/unburden.c index 63a72e2ace..28f867622e 100644 --- a/test/battle/ability/unburden.c +++ b/test/battle/ability/unburden.c @@ -4,7 +4,7 @@ SINGLE_BATTLE_TEST("Unburden doubles speed once user uses item") { GIVEN { - ASSUME(ItemId_GetHoldEffect(ITEM_GRASSY_SEED) == HOLD_EFFECT_SEEDS); + ASSUME(GetItemHoldEffect(ITEM_GRASSY_SEED) == HOLD_EFFECT_SEEDS); ASSUME(GetMoveEffect(MOVE_U_TURN) == EFFECT_HIT_ESCAPE); PLAYER(SPECIES_DRIFBLIM) { Ability(ABILITY_UNBURDEN); Item(ITEM_GRASSY_SEED); Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(7); } diff --git a/test/battle/ai/ai.c b/test/battle/ai/ai.c index a22097c815..dfd0e2eeda 100644 --- a/test/battle/ai/ai.c +++ b/test/battle/ai/ai.c @@ -864,7 +864,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI considers Focus Sash when det AI_SINGLE_BATTLE_TEST("AI sees popped Air Balloon") { GIVEN { - ASSUME(ItemId_GetHoldEffect(ITEM_AIR_BALLOON) == HOLD_EFFECT_AIR_BALLOON); + ASSUME(GetItemHoldEffect(ITEM_AIR_BALLOON) == HOLD_EFFECT_AIR_BALLOON); ASSUME(GetMoveType(MOVE_EARTHQUAKE) == TYPE_GROUND); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT); PLAYER(SPECIES_TORCHIC) { Item(ITEM_AIR_BALLOON); Moves(MOVE_SCRATCH); } @@ -878,7 +878,7 @@ AI_SINGLE_BATTLE_TEST("AI sees popped Air Balloon") AI_SINGLE_BATTLE_TEST("AI sees popped Air Balloon after Air Balloon mon switches out and back in") { GIVEN { - ASSUME(ItemId_GetHoldEffect(ITEM_AIR_BALLOON) == HOLD_EFFECT_AIR_BALLOON); + ASSUME(GetItemHoldEffect(ITEM_AIR_BALLOON) == HOLD_EFFECT_AIR_BALLOON); ASSUME(GetMoveType(MOVE_EARTHQUAKE) == TYPE_GROUND); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT); PLAYER(SPECIES_TORCHIC) { Item(ITEM_AIR_BALLOON); Moves(MOVE_SCRATCH); } diff --git a/test/battle/move_effect/bestow.c b/test/battle/move_effect/bestow.c index 4ed952be6b..4ca86119b6 100644 --- a/test/battle/move_effect/bestow.c +++ b/test/battle/move_effect/bestow.c @@ -79,7 +79,7 @@ SINGLE_BATTLE_TEST("Bestow fails if the user's held item is a Mega Stone") SINGLE_BATTLE_TEST("Bestow fails if the user's held item is a Z-Crystal") { GIVEN { - ASSUME(ItemId_GetHoldEffect(ITEM_FIGHTINIUM_Z) == HOLD_EFFECT_Z_CRYSTAL); + ASSUME(GetItemHoldEffect(ITEM_FIGHTINIUM_Z) == HOLD_EFFECT_Z_CRYSTAL); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_FIGHTINIUM_Z); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/move_effect/hidden_power.c b/test/battle/move_effect/hidden_power.c index 7f2bb5f2b9..124d78c96a 100644 --- a/test/battle/move_effect/hidden_power.c +++ b/test/battle/move_effect/hidden_power.c @@ -113,8 +113,8 @@ SINGLE_BATTLE_TEST("Hidden Power's type is determined by IVs") ASSUME(gTypeEffectivenessTable[type][foeType] == UQ_4_12(2.0)); // Foe's Type resists ASSUME(gSpeciesInfo[foeSpecies].types[0] == gSpeciesInfo[foeSpecies].types[1]); // Foe's pure type ASSUME(gSpeciesInfo[foeSpecies].types[0] == foeType); // Foe is the super-effective type - ASSUME(ItemId_GetHoldEffect(foeItem) == HOLD_EFFECT_RESIST_BERRY); // Item is resist berry - ASSUME(ItemId_GetHoldEffectParam(foeItem) == type); // Resist berry of type + ASSUME(GetItemHoldEffect(foeItem) == HOLD_EFFECT_RESIST_BERRY); // Item is resist berry + ASSUME(GetItemHoldEffectParam(foeItem) == type); // Resist berry of type PLAYER(SPECIES_DUNSPARCE) { HPIV(hp); AttackIV(atk); DefenseIV(def); SpAttackIV(spAtk); SpDefenseIV(spDef); SpeedIV(speed); } } else { PLAYER(SPECIES_DUNSPARCE); diff --git a/test/test_runner_battle.c b/test/test_runner_battle.c index 098c4f4a29..cba0d95e59 100644 --- a/test/test_runner_battle.c +++ b/test/test_runner_battle.c @@ -2116,17 +2116,17 @@ void MoveGetIdAndSlot(s32 battlerId, struct MoveContext *ctx, u32 *moveId, u32 * if (ctx->explicitGimmick && ctx->gimmick != GIMMICK_NONE) { u32 item = GetMonData(mon, MON_DATA_HELD_ITEM); - u32 holdEffect = ItemId_GetHoldEffect(item); + u32 holdEffect = GetItemHoldEffect(item); u32 species = GetMonData(mon, MON_DATA_SPECIES); u32 side = battlerId & BIT_SIDE; // Check invalid item usage. INVALID_IF(ctx->gimmick == GIMMICK_MEGA && holdEffect != HOLD_EFFECT_MEGA_STONE && species != SPECIES_RAYQUAZA, "Cannot Mega Evolve without a Mega Stone"); INVALID_IF(ctx->gimmick == GIMMICK_Z_MOVE && holdEffect != HOLD_EFFECT_Z_CRYSTAL, "Cannot use a Z-Move without a Z-Crystal"); - INVALID_IF(ctx->gimmick == GIMMICK_Z_MOVE && ItemId_GetSecondaryId(item) != GetMoveType(*moveId) + INVALID_IF(ctx->gimmick == GIMMICK_Z_MOVE && GetItemSecondaryId(item) != GetMoveType(*moveId) && GetSignatureZMove(*moveId, species, item) == MOVE_NONE && *moveId != MOVE_PHOTON_GEYSER, // exception because test won't recognize Ultra Necrozma pre-Burst - "Cannot turn %S into a Z-Move with %S", GetMoveName(ctx->move), ItemId_GetName(item)); + "Cannot turn %S into a Z-Move with %S", GetMoveName(ctx->move), GetItemName(item)); INVALID_IF(ctx->gimmick != GIMMICK_MEGA && holdEffect == HOLD_EFFECT_MEGA_STONE, "Cannot use another gimmick while holding a Mega Stone"); INVALID_IF(ctx->gimmick != GIMMICK_Z_MOVE && ctx->gimmick != GIMMICK_ULTRA_BURST && holdEffect == HOLD_EFFECT_Z_CRYSTAL, "Cannot use another gimmick while holding a Z-Crystal"); @@ -2464,19 +2464,19 @@ void UseItem(u32 sourceLine, struct BattlePokemon *battler, struct ItemContext c { s32 i; s32 battlerId = battler - gBattleMons; - bool32 requirePartyIndex = ItemId_GetType(ctx.itemId) == ITEM_USE_PARTY_MENU || ItemId_GetType(ctx.itemId) == ITEM_USE_PARTY_MENU_MOVES; + bool32 requirePartyIndex = GetItemType(ctx.itemId) == ITEM_USE_PARTY_MENU || GetItemType(ctx.itemId) == ITEM_USE_PARTY_MENU_MOVES; // Check general bad use. INVALID_IF(DATA.turnState == TURN_CLOSED, "USE_ITEM outside TURN"); INVALID_IF(DATA.actionBattlers & (1 << battlerId), "Multiple battler actions"); INVALID_IF(ctx.itemId >= ITEMS_COUNT, "Illegal item: %d", ctx.itemId); // Check party menu items. - INVALID_IF(requirePartyIndex && !ctx.explicitPartyIndex, "%S requires explicit party index", ItemId_GetName(ctx.itemId)); + INVALID_IF(requirePartyIndex && !ctx.explicitPartyIndex, "%S requires explicit party index", GetItemName(ctx.itemId)); INVALID_IF(requirePartyIndex && ctx.partyIndex >= ((battlerId & BIT_SIDE) == B_SIDE_PLAYER ? DATA.playerPartySize : DATA.opponentPartySize), \ "USE_ITEM to invalid party index"); // Check move slot items. - if (ItemId_GetType(ctx.itemId) == ITEM_USE_PARTY_MENU_MOVES) + if (GetItemType(ctx.itemId) == ITEM_USE_PARTY_MENU_MOVES) { - INVALID_IF(!ctx.explicitMove, "%S requires an explicit move", ItemId_GetName(ctx.itemId)); + INVALID_IF(!ctx.explicitMove, "%S requires an explicit move", GetItemName(ctx.itemId)); for (i = 0; i < MAX_MON_MOVES; i++) { if (GetMonData(CurrentMon(battlerId), MON_DATA_MOVE1 + i, NULL) == ctx.move) From d0313ff3236e88e43049205bd551d99f89ebfe83 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sat, 24 May 2025 23:12:48 +0200 Subject: [PATCH 77/84] Rename AI test (#6977) --- test/battle/ai/ai_calc_best_move_score.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/battle/ai/ai_calc_best_move_score.c b/test/battle/ai/ai_calc_best_move_score.c index f3b339deba..a4a13c283f 100644 --- a/test/battle/ai/ai_calc_best_move_score.c +++ b/test/battle/ai/ai_calc_best_move_score.c @@ -54,7 +54,7 @@ AI_SINGLE_BATTLE_TEST("AI will increase speed if it is slower") } } -AI_SINGLE_BATTLE_TEST("AI will correctly predict what move the opposing mon going to use") +AI_SINGLE_BATTLE_TEST("AI will not waste a turn setting up if it knows target can faint it") { u16 move; From f8b3a02f6c4f7c5671571a21801b663c4b4d8229 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Sun, 25 May 2025 04:06:49 -0400 Subject: [PATCH 78/84] Backport #6712 Fix party data assignment (#6980) --- src/battle_ai_main.c | 4 ++-- test/battle/ai/ai_switching.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index de854bc738..18dd355ef4 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -310,8 +310,8 @@ void Ai_InitPartyStruct(void) bool32 isOmniscient = (AI_THINKING_STRUCT->aiFlags[B_POSITION_OPPONENT_LEFT] & AI_FLAG_OMNISCIENT) || (AI_THINKING_STRUCT->aiFlags[B_POSITION_OPPONENT_RIGHT] & AI_FLAG_OMNISCIENT); struct Pokemon *mon; - AI_PARTY->count[B_SIDE_PLAYER] = gPlayerPartyCount; - AI_PARTY->count[B_SIDE_OPPONENT] = gEnemyPartyCount; + AI_PARTY->count[B_SIDE_PLAYER] = CalculatePlayerPartyCount(); + AI_PARTY->count[B_SIDE_OPPONENT] = CalculateEnemyPartyCount(); // Save first 2 or 4(in doubles) mons CopyBattlerDataToAIParty(B_POSITION_PLAYER_LEFT, B_SIDE_PLAYER); diff --git a/test/battle/ai/ai_switching.c b/test/battle/ai/ai_switching.c index e20dd5bf61..a4ddef6735 100644 --- a/test/battle/ai/ai_switching.c +++ b/test/battle/ai/ai_switching.c @@ -540,7 +540,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if mon would ASSUME(GetMoveType(MOVE_THUNDERBOLT) == TYPE_ELECTRIC); ASSUME(GetMoveType(MOVE_EARTHQUAKE) == TYPE_GROUND); - AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES | AI_FLAG_OMNISCIENT); PLAYER(SPECIES_ELECTRODE) { Moves(MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_THUNDER_SHOCK); } OPPONENT(SPECIES_PELIPPER) { Moves(MOVE_EARTHQUAKE); }; OPPONENT(SPECIES_RHYDON) { Moves(MOVE_EARTHQUAKE); Ability(ABILITY_ROCK_HEAD); } From 7b686b6749a23729e4d3b61ac0a3ad1ef152b84b Mon Sep 17 00:00:00 2001 From: Vex Date: Sun, 25 May 2025 14:01:11 -0700 Subject: [PATCH 79/84] Fix Wish healing even if the target is Heal Blocked (#6979) Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --- asm/macros/battle_script.inc | 3 ++- data/battle_scripts_1.s | 12 +++++++++-- src/battle_script_commands.c | 6 ++++-- test/battle/move_effect/wish.c | 37 ++++++++++++++++++++++++++++++++++ 4 files changed, 53 insertions(+), 5 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 0b7a765f6c..6926173dbb 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1140,10 +1140,11 @@ .4byte \failInstr .endm - .macro trywish turnNumber:req, failInstr:req + .macro trywish turnNumber:req, failInstr:req, blockedInstr:req .byte 0xd4 .byte \turnNumber .4byte \failInstr + .4byte \blockedInstr .endm .macro settoxicspikes failInstr:req diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 7abff820b9..41afb65a5d 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -5033,7 +5033,7 @@ BattleScript_EffectWish:: attackcanceler attackstring ppreduce - trywish 0, BattleScript_ButItFailed + trywish 0, BattleScript_ButItFailed, BattleScript_ButItFailed attackanimation waitanimation goto BattleScript_MoveEnd @@ -6675,7 +6675,7 @@ BattleScript_SelectingNotAllowedCurrentMoveInPalace:: goto BattleScript_SelectingUnusableMoveInPalace BattleScript_WishComesTrue:: - trywish 1, BattleScript_WishButFullHp + trywish 1, BattleScript_WishButFullHp, BattleScript_WishButHealBlocked playanimation BS_TARGET, B_ANIM_WISH_HEAL printstring STRINGID_PKMNWISHCAMETRUE waitmessage B_WAIT_TIME_LONG @@ -6694,6 +6694,14 @@ BattleScript_WishButFullHp:: waitmessage B_WAIT_TIME_LONG end2 +BattleScript_WishButHealBlocked:: + printstring STRINGID_PKMNWISHCAMETRUE + waitmessage B_WAIT_TIME_LONG + pause B_WAIT_TIME_SHORT + printstring STRINGID_HEALBLOCKPREVENTSUSAGE + waitmessage B_WAIT_TIME_LONG + end2 + BattleScript_IngrainTurnHeal:: playanimation BS_ATTACKER, B_ANIM_INGRAIN_HEAL printstring STRINGID_PKMNABSORBEDNUTRIENTS diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 407d87a017..2d301679be 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -15150,7 +15150,7 @@ static void Cmd_trycopyability(void) static void Cmd_trywish(void) { - CMD_ARGS(u8 turnNumber, const u8 *failInstr); + CMD_ARGS(u8 turnNumber, const u8 *failInstr, const u8 *healBlockedInstr); switch (cmd->turnNumber) { @@ -15174,7 +15174,9 @@ static void Cmd_trywish(void) gBattleStruct->moveDamage[gBattlerTarget] = max(1, GetNonDynamaxMaxHP(gBattlerAttacker) / 2); gBattleStruct->moveDamage[gBattlerTarget] *= -1; - if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) + if (gStatuses3[gBattlerTarget] & STATUS3_HEAL_BLOCK) + gBattlescriptCurrInstr = cmd->healBlockedInstr; + else if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) gBattlescriptCurrInstr = cmd->failInstr; else gBattlescriptCurrInstr = cmd->nextInstr; diff --git a/test/battle/move_effect/wish.c b/test/battle/move_effect/wish.c index e96a3e1b11..a38529d792 100644 --- a/test/battle/move_effect/wish.c +++ b/test/battle/move_effect/wish.c @@ -1,4 +1,41 @@ #include "global.h" #include "test/battle.h" +SINGLE_BATTLE_TEST("Wish heals the user at the end of the next turn") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_WISH); MOVE(opponent, MOVE_POUND); } + TURN { } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WISH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POUND, opponent); + HP_BAR(player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); + MESSAGE("Wobbuffet's wish came true!"); + HP_BAR(player); + } +} + +SINGLE_BATTLE_TEST("Wish is blocked by Heal Block") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_WISH); MOVE(opponent, MOVE_POUND); } + TURN { MOVE(opponent, MOVE_HEAL_BLOCK); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WISH, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POUND, opponent); + HP_BAR(player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAL_BLOCK, opponent); + MESSAGE("Wobbuffet was prevented from healing!"); + NOT HP_BAR(player); + } +} TO_DO_BATTLE_TEST("TODO: Write Wish (Move Effect) test titles") From 372553b319eb8ad0b1273cc061b13c18c6c7906a Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Mon, 26 May 2025 08:33:17 +0100 Subject: [PATCH 80/84] Explicit -std=gnu17 in CPPFLAGS to mirror CFLAGS (#6839) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f2128cc25d..224f6ada29 100644 --- a/Makefile +++ b/Makefile @@ -117,7 +117,7 @@ O_LEVEL ?= g else O_LEVEL ?= 2 endif -CPPFLAGS := $(INCLUDE_CPP_ARGS) -Wno-trigraphs -DMODERN=1 -DTESTING=$(TEST) +CPPFLAGS := $(INCLUDE_CPP_ARGS) -Wno-trigraphs -DMODERN=1 -DTESTING=$(TEST) -std=gnu17 ARMCC := $(PREFIX)gcc PATH_ARMCC := PATH="$(PATH)" $(ARMCC) CC1 := $(shell $(PATH_ARMCC) --print-prog-name=cc1) -quiet From 803bd2dfbf0f092d5157c6fd870826349c24606f Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Mon, 26 May 2025 13:06:19 +0200 Subject: [PATCH 81/84] Prankster block check was missng the IsStatusMove check (#6987) --- src/battle_util.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 3f2c5f4492..ee08535a9d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5616,7 +5616,8 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 // prankster check if (effect == 0 - && GetChosenMovePriority(gBattlerAttacker) > 0 + && IsBattleMoveStatus(move) + && GetChosenMovePriority(gBattlerAttacker) > 0 && BlocksPrankster(move, gBattlerAttacker, gBattlerTarget, TRUE) && !(IsBattleMoveStatus(move) && (gLastUsedAbility == ABILITY_MAGIC_BOUNCE || gProtectStructs[gBattlerTarget].bounceMove))) { From 84118dec978881c9e686099243dd6658a343a157 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Mon, 26 May 2025 13:45:51 -0400 Subject: [PATCH 82/84] Fix heal bell test, add sparkly swirl test (#6262) Co-authored-by: ghoulslash Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --- test/battle/move_effect/heal_bell.c | 32 +++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/test/battle/move_effect/heal_bell.c b/test/battle/move_effect/heal_bell.c index 7730879d45..6a8e5d5ed4 100644 --- a/test/battle/move_effect/heal_bell.c +++ b/test/battle/move_effect/heal_bell.c @@ -3,7 +3,35 @@ ASSUMPTIONS { - ASSUME(GetMoveEffect(MOVE_HEAL_BELL) == EFFECT_HEAL_BELL); + ASSUME(gMovesInfo[MOVE_HEAL_BELL].effect == EFFECT_HEAL_BELL); + ASSUME(gMovesInfo[MOVE_AROMATHERAPY].effect == EFFECT_HEAL_BELL); + ASSUME(MoveHasAdditionalEffect(MOVE_SPARKLY_SWIRL, MOVE_EFFECT_AROMATHERAPY)); +} + +DOUBLE_BATTLE_TEST("Sparkly Swirl cures the entire party") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); } + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); } + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); } + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); } + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); } + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); } + OPPONENT(SPECIES_WYNAUT); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(playerLeft, MOVE_SPARKLY_SWIRL, target: opponentLeft); } + TURN { SWITCH(playerLeft, 2); SWITCH(playerRight, 3); } + } SCENE { + int i; + + ANIMATION(ANIM_TYPE_MOVE, MOVE_SPARKLY_SWIRL, playerLeft); + STATUS_ICON(playerLeft, none: TRUE); + STATUS_ICON(playerRight, none: TRUE); + NOT MESSAGE("Wobbuffet was hurt by its poisoning!"); + for (i = 0; i < PARTY_SIZE; i++) + EXPECT_EQ(GetMonData(&gPlayerParty[i], MON_DATA_STATUS), STATUS1_NONE); + } } DOUBLE_BATTLE_TEST("Heal Bell/Aromatherapy cures the entire party of the user from primary status effects") @@ -52,7 +80,7 @@ DOUBLE_BATTLE_TEST("Heal Bell/Aromatherapy cures the entire party of the user fr case STATUS1_FROSTBITE: STATUS_ICON(playerLeft, frostbite: FALSE); STATUS_ICON(playerRight, frostbite: FALSE); break; } for (j = 0; j < PARTY_SIZE; j++) - EXPECT_EQ(GetMonData(&gPlayerParty[0], MON_DATA_STATUS), STATUS1_NONE); + EXPECT_EQ(GetMonData(&gPlayerParty[i], MON_DATA_STATUS), STATUS1_NONE); } } From 8e0dffd8558ef94630c7ac1374b5b3dce55d1716 Mon Sep 17 00:00:00 2001 From: sayseong <70845428+sayseong@users.noreply.github.com> Date: Tue, 27 May 2025 13:44:33 +0800 Subject: [PATCH 83/84] Update battle_message.c --- src/battle_message.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/battle_message.c b/src/battle_message.c index 714502cf10..ec820cf9bd 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -638,6 +638,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_STEALTHROCKDMG] = COMPOUND_STRING("尖锐的岩石扎进了\n{B_SCR_NAME_WITH_PREFIX2}的体内!"), [STRINGID_TOXICSPIKESABSORBED] = COMPOUND_STRING("{B_SCR_TEAM2}脚下的\n毒菱消失不见了!"), [STRINGID_TOXICSPIKESPOISONED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}中毒了!"), + [STRINGID_TOXICSPIKESBADLYPOISONED] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX} was badly poisoned!"),//todo汉化 [STRINGID_STICKYWEBSWITCHIN] = COMPOUND_STRING("{B_SCR_NAME_WITH_PREFIX}\n被黏黏网粘住了!"), [STRINGID_HEALINGWISHCAMETRUE] = COMPOUND_STRING("治愈之愿\n在{B_ATK_NAME_WITH_PREFIX2}身上实现了!"), [STRINGID_HEALINGWISHHEALED] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX}的\n体力回复了!"), From cf50b5b2f6dc1a0117148f54df581f97d04bab76 Mon Sep 17 00:00:00 2001 From: sayseong <70845428+sayseong@users.noreply.github.com> Date: Tue, 27 May 2025 18:26:34 +0800 Subject: [PATCH 84/84] Update item.c --- src/item.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/item.c b/src/item.c index 5a0f60c1e8..370087e97d 100644 --- a/src/item.c +++ b/src/item.c @@ -106,7 +106,7 @@ u8 *CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity) { u8 *end = StringCopy(dst, GetItemName(itemId)); return StringCopy(end, sText_s); - }*/ + } } bool8 IsBagPocketNonEmpty(u8 pocket) @@ -876,7 +876,7 @@ u32 GetItemPrice(u16 itemId) return gItemsInfo[SanitizeItemId(itemId)].price; } -/*static bool32 DoesItemHavePluralName(u16 itemId) +static bool32 DoesItemHavePluralName(u16 itemId) { return (gItemsInfo[SanitizeItemId(itemId)].pluralName[0] != '\0'); } @@ -884,7 +884,7 @@ u32 GetItemPrice(u16 itemId) static const u8 *GetItemPluralName(u16 itemId) { return gItemsInfo[SanitizeItemId(itemId)].pluralName; -}*/ +} const u8 *GetItemEffect(u32 itemId) {