From 32ddd0f5cc1bf0ae7ae2c3d255a12fb583872265 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 7 Dec 2022 14:09:33 -0500 Subject: [PATCH] Index controller function tables --- include/battle_controllers.h | 10 +-- src/battle_controller_oak_old_man.c | 114 +++++++++++++------------- src/battle_controller_opponent.c | 114 +++++++++++++------------- src/battle_controller_player.c | 114 +++++++++++++------------- src/battle_controller_pokedude.c | 120 ++++++++++++++-------------- src/battle_controller_safari.c | 114 +++++++++++++------------- 6 files changed, 293 insertions(+), 293 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 7172ad793..334485c15 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -120,16 +120,16 @@ struct HpAndStatus struct MovePpInfo { - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; u8 ppBonuses; }; struct ChooseMoveStruct { - u16 moves[4]; - u8 currentPp[4]; - u8 maxPp[4]; + u16 moves[MAX_MON_MOVES]; + u8 currentPp[MAX_MON_MOVES]; + u8 maxPp[MAX_MON_MOVES]; u16 species; u8 monType1; u8 monType2; diff --git a/src/battle_controller_oak_old_man.c b/src/battle_controller_oak_old_man.c index a1d06d4d1..cf9ef722a 100644 --- a/src/battle_controller_oak_old_man.c +++ b/src/battle_controller_oak_old_man.c @@ -98,63 +98,63 @@ static void Task_StartSendOutAnim(u8 taskId); static void (*const sOakOldManBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - OakOldManHandleGetMonData, - OakOldManHandleGetRawMonData, - OakOldManHandleSetMonData, - OakOldManHandleSetRawMonData, - OakOldManHandleLoadMonSprite, - OakOldManHandleSwitchInAnim, - OakOldManHandleReturnMonToBall, - OakOldManHandleDrawTrainerPic, - OakOldManHandleTrainerSlide, - OakOldManHandleTrainerSlideBack, - OakOldManHandleFaintAnimation, - OakOldManHandlePaletteFade, - OakOldManHandleSuccessBallThrowAnim, - OakOldManHandleBallThrowAnim, - OakOldManHandlePause, - OakOldManHandleMoveAnimation, - OakOldManHandlePrintString, - OakOldManHandlePrintSelectionString, - OakOldManHandleChooseAction, - OakOldManHandleUnknownYesNoBox, - OakOldManHandleChooseMove, - OakOldManHandleChooseItem, - OakOldManHandleChoosePokemon, - OakOldManHandleCmd23, - OakOldManHandleHealthBarUpdate, - OakOldManHandleExpUpdate, - OakOldManHandleStatusIconUpdate, - OakOldManHandleStatusAnimation, - OakOldManHandleStatusXor, - OakOldManHandleDataTransfer, - OakOldManHandleDMA3Transfer, - OakOldManHandlePlayBGM, - OakOldManHandleCmd32, - OakOldManHandleTwoReturnValues, - OakOldManHandleChosenMonReturnValue, - OakOldManHandleOneReturnValue, - OakOldManHandleOneReturnValue_Duplicate, - OakOldManHandleCmd37, - OakOldManHandleCmd38, - OakOldManHandleCmd39, - OakOldManHandleCmd40, - OakOldManHandleHitAnimation, - OakOldManHandleCmd42, - OakOldManHandlePlaySE, - OakOldManHandlePlayFanfare, - OakOldManHandleFaintingCry, - OakOldManHandleIntroSlide, - OakOldManHandleIntroTrainerBallThrow, - OakOldManHandleDrawPartyStatusSummary, - OakOldManHandleHidePartyStatusSummary, - OakOldManHandleEndBounceEffect, - OakOldManHandleSpriteInvisibility, - OakOldManHandleBattleAnimation, - OakOldManHandleLinkStandbyMsg, - OakOldManHandleResetActionMoveSelection, - OakOldManHandleCmd55, - OakOldManCmdEnd, + [CONTROLLER_GETMONDATA] = OakOldManHandleGetMonData, + [CONTROLLER_GETRAWMONDATA] = OakOldManHandleGetRawMonData, + [CONTROLLER_SETMONDATA] = OakOldManHandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = OakOldManHandleSetRawMonData, + [CONTROLLER_LOADMONSPRITE] = OakOldManHandleLoadMonSprite, + [CONTROLLER_SWITCHINANIM] = OakOldManHandleSwitchInAnim, + [CONTROLLER_RETURNMONTOBALL] = OakOldManHandleReturnMonToBall, + [CONTROLLER_DRAWTRAINERPIC] = OakOldManHandleDrawTrainerPic, + [CONTROLLER_TRAINERSLIDE] = OakOldManHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDEBACK] = OakOldManHandleTrainerSlideBack, + [CONTROLLER_FAINTANIMATION] = OakOldManHandleFaintAnimation, + [CONTROLLER_PALETTEFADE] = OakOldManHandlePaletteFade, + [CONTROLLER_SUCCESSBALLTHROWANIM] = OakOldManHandleSuccessBallThrowAnim, + [CONTROLLER_BALLTHROWANIM] = OakOldManHandleBallThrowAnim, + [CONTROLLER_PAUSE] = OakOldManHandlePause, + [CONTROLLER_MOVEANIMATION] = OakOldManHandleMoveAnimation, + [CONTROLLER_PRINTSTRING] = OakOldManHandlePrintString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = OakOldManHandlePrintSelectionString, + [CONTROLLER_CHOOSEACTION] = OakOldManHandleChooseAction, + [CONTROLLER_UNKNOWNYESNOBOX] = OakOldManHandleUnknownYesNoBox, + [CONTROLLER_CHOOSEMOVE] = OakOldManHandleChooseMove, + [CONTROLLER_OPENBAG] = OakOldManHandleChooseItem, + [CONTROLLER_CHOOSEPOKEMON] = OakOldManHandleChoosePokemon, + [CONTROLLER_23] = OakOldManHandleCmd23, + [CONTROLLER_HEALTHBARUPDATE] = OakOldManHandleHealthBarUpdate, + [CONTROLLER_EXPUPDATE] = OakOldManHandleExpUpdate, + [CONTROLLER_STATUSICONUPDATE] = OakOldManHandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = OakOldManHandleStatusAnimation, + [CONTROLLER_STATUSXOR] = OakOldManHandleStatusXor, + [CONTROLLER_DATATRANSFER] = OakOldManHandleDataTransfer, + [CONTROLLER_DMA3TRANSFER] = OakOldManHandleDMA3Transfer, + [CONTROLLER_PLAYBGM] = OakOldManHandlePlayBGM, + [CONTROLLER_32] = OakOldManHandleCmd32, + [CONTROLLER_TWORETURNVALUES] = OakOldManHandleTwoReturnValues, + [CONTROLLER_CHOSENMONRETURNVALUE] = OakOldManHandleChosenMonReturnValue, + [CONTROLLER_ONERETURNVALUE] = OakOldManHandleOneReturnValue, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = OakOldManHandleOneReturnValue_Duplicate, + [CONTROLLER_CLEARUNKVAR] = OakOldManHandleCmd37, + [CONTROLLER_SETUNKVAR] = OakOldManHandleCmd38, + [CONTROLLER_CLEARUNKFLAG] = OakOldManHandleCmd39, + [CONTROLLER_TOGGLEUNKFLAG] = OakOldManHandleCmd40, + [CONTROLLER_HITANIMATION] = OakOldManHandleHitAnimation, + [CONTROLLER_CANTSWITCH] = OakOldManHandleCmd42, + [CONTROLLER_PLAYSE] = OakOldManHandlePlaySE, + [CONTROLLER_PLAYFANFARE] = OakOldManHandlePlayFanfare, + [CONTROLLER_FAINTINGCRY] = OakOldManHandleFaintingCry, + [CONTROLLER_INTROSLIDE] = OakOldManHandleIntroSlide, + [CONTROLLER_INTROTRAINERBALLTHROW] = OakOldManHandleIntroTrainerBallThrow, + [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = OakOldManHandleDrawPartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = OakOldManHandleHidePartyStatusSummary, + [CONTROLLER_ENDBOUNCE] = OakOldManHandleEndBounceEffect, + [CONTROLLER_SPRITEINVISIBILITY] = OakOldManHandleSpriteInvisibility, + [CONTROLLER_BATTLEANIMATION] = OakOldManHandleBattleAnimation, + [CONTROLLER_LINKSTANDBYMSG] = OakOldManHandleLinkStandbyMsg, + [CONTROLLER_RESETACTIONMOVESELECTION] = OakOldManHandleResetActionMoveSelection, + [CONTROLLER_ENDLINKBATTLE] = OakOldManHandleCmd55, + [CONTROLLER_TERMINATOR_NOP] = OakOldManCmdEnd, }; static void OakOldManDummy(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 19ad30441..b4b6ebbdf 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -92,63 +92,63 @@ static void EndDrawPartyStatusSummary(void); static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - OpponentHandleGetMonData, - OpponentHandleGetRawMonData, - OpponentHandleSetMonData, - OpponentHandleSetRawMonData, - OpponentHandleLoadMonSprite, - OpponentHandleSwitchInAnim, - OpponentHandleReturnMonToBall, - OpponentHandleDrawTrainerPic, - OpponentHandleTrainerSlide, - OpponentHandleTrainerSlideBack, - OpponentHandleFaintAnimation, - OpponentHandlePaletteFade, - OpponentHandleSuccessBallThrowAnim, - OpponentHandleBallThrowAnim, - OpponentHandlePause, - OpponentHandleMoveAnimation, - OpponentHandlePrintString, - OpponentHandlePrintSelectionString, - OpponentHandleChooseAction, - OpponentHandleUnknownYesNoBox, - OpponentHandleChooseMove, - OpponentHandleChooseItem, - OpponentHandleChoosePokemon, - OpponentHandleCmd23, - OpponentHandleHealthBarUpdate, - OpponentHandleExpUpdate, - OpponentHandleStatusIconUpdate, - OpponentHandleStatusAnimation, - OpponentHandleStatusXor, - OpponentHandleDataTransfer, - OpponentHandleDMA3Transfer, - OpponentHandlePlayBGM, - OpponentHandleCmd32, - OpponentHandleTwoReturnValues, - OpponentHandleChosenMonReturnValue, - OpponentHandleOneReturnValue, - OpponentHandleOneReturnValue_Duplicate, - OpponentHandleCmd37, - OpponentHandleCmd38, - OpponentHandleCmd39, - OpponentHandleCmd40, - OpponentHandleHitAnimation, - OpponentHandleCmd42, - OpponentHandlePlaySE, - OpponentHandlePlayFanfare, - OpponentHandleFaintingCry, - OpponentHandleIntroSlide, - OpponentHandleIntroTrainerBallThrow, - OpponentHandleDrawPartyStatusSummary, - OpponentHandleHidePartyStatusSummary, - OpponentHandleEndBounceEffect, - OpponentHandleSpriteInvisibility, - OpponentHandleBattleAnimation, - OpponentHandleLinkStandbyMsg, - OpponentHandleResetActionMoveSelection, - OpponentHandleCmd55, - OpponentCmdEnd + [CONTROLLER_GETMONDATA] = OpponentHandleGetMonData, + [CONTROLLER_GETRAWMONDATA] = OpponentHandleGetRawMonData, + [CONTROLLER_SETMONDATA] = OpponentHandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = OpponentHandleSetRawMonData, + [CONTROLLER_LOADMONSPRITE] = OpponentHandleLoadMonSprite, + [CONTROLLER_SWITCHINANIM] = OpponentHandleSwitchInAnim, + [CONTROLLER_RETURNMONTOBALL] = OpponentHandleReturnMonToBall, + [CONTROLLER_DRAWTRAINERPIC] = OpponentHandleDrawTrainerPic, + [CONTROLLER_TRAINERSLIDE] = OpponentHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDEBACK] = OpponentHandleTrainerSlideBack, + [CONTROLLER_FAINTANIMATION] = OpponentHandleFaintAnimation, + [CONTROLLER_PALETTEFADE] = OpponentHandlePaletteFade, + [CONTROLLER_SUCCESSBALLTHROWANIM] = OpponentHandleSuccessBallThrowAnim, + [CONTROLLER_BALLTHROWANIM] = OpponentHandleBallThrowAnim, + [CONTROLLER_PAUSE] = OpponentHandlePause, + [CONTROLLER_MOVEANIMATION] = OpponentHandleMoveAnimation, + [CONTROLLER_PRINTSTRING] = OpponentHandlePrintString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = OpponentHandlePrintSelectionString, + [CONTROLLER_CHOOSEACTION] = OpponentHandleChooseAction, + [CONTROLLER_UNKNOWNYESNOBOX] = OpponentHandleUnknownYesNoBox, + [CONTROLLER_CHOOSEMOVE] = OpponentHandleChooseMove, + [CONTROLLER_OPENBAG] = OpponentHandleChooseItem, + [CONTROLLER_CHOOSEPOKEMON] = OpponentHandleChoosePokemon, + [CONTROLLER_23] = OpponentHandleCmd23, + [CONTROLLER_HEALTHBARUPDATE] = OpponentHandleHealthBarUpdate, + [CONTROLLER_EXPUPDATE] = OpponentHandleExpUpdate, + [CONTROLLER_STATUSICONUPDATE] = OpponentHandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = OpponentHandleStatusAnimation, + [CONTROLLER_STATUSXOR] = OpponentHandleStatusXor, + [CONTROLLER_DATATRANSFER] = OpponentHandleDataTransfer, + [CONTROLLER_DMA3TRANSFER] = OpponentHandleDMA3Transfer, + [CONTROLLER_PLAYBGM] = OpponentHandlePlayBGM, + [CONTROLLER_32] = OpponentHandleCmd32, + [CONTROLLER_TWORETURNVALUES] = OpponentHandleTwoReturnValues, + [CONTROLLER_CHOSENMONRETURNVALUE] = OpponentHandleChosenMonReturnValue, + [CONTROLLER_ONERETURNVALUE] = OpponentHandleOneReturnValue, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = OpponentHandleOneReturnValue_Duplicate, + [CONTROLLER_CLEARUNKVAR] = OpponentHandleCmd37, + [CONTROLLER_SETUNKVAR] = OpponentHandleCmd38, + [CONTROLLER_CLEARUNKFLAG] = OpponentHandleCmd39, + [CONTROLLER_TOGGLEUNKFLAG] = OpponentHandleCmd40, + [CONTROLLER_HITANIMATION] = OpponentHandleHitAnimation, + [CONTROLLER_CANTSWITCH] = OpponentHandleCmd42, + [CONTROLLER_PLAYSE] = OpponentHandlePlaySE, + [CONTROLLER_PLAYFANFARE] = OpponentHandlePlayFanfare, + [CONTROLLER_FAINTINGCRY] = OpponentHandleFaintingCry, + [CONTROLLER_INTROSLIDE] = OpponentHandleIntroSlide, + [CONTROLLER_INTROTRAINERBALLTHROW] = OpponentHandleIntroTrainerBallThrow, + [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = OpponentHandleDrawPartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = OpponentHandleHidePartyStatusSummary, + [CONTROLLER_ENDBOUNCE] = OpponentHandleEndBounceEffect, + [CONTROLLER_SPRITEINVISIBILITY] = OpponentHandleSpriteInvisibility, + [CONTROLLER_BATTLEANIMATION] = OpponentHandleBattleAnimation, + [CONTROLLER_LINKSTANDBYMSG] = OpponentHandleLinkStandbyMsg, + [CONTROLLER_RESETACTIONMOVESELECTION] = OpponentHandleResetActionMoveSelection, + [CONTROLLER_ENDLINKBATTLE] = OpponentHandleCmd55, + [CONTROLLER_TERMINATOR_NOP] = OpponentCmdEnd }; // unknown unused data diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 7928a7031..64a47823f 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -109,63 +109,63 @@ static void EndDrawPartyStatusSummary(void); static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - PlayerHandleGetMonData, - PlayerHandleGetRawMonData, - PlayerHandleSetMonData, - PlayerHandleSetRawMonData, - PlayerHandleLoadMonSprite, - PlayerHandleSwitchInAnim, - PlayerHandleReturnMonToBall, - PlayerHandleDrawTrainerPic, - PlayerHandleTrainerSlide, - PlayerHandleTrainerSlideBack, - PlayerHandleFaintAnimation, - PlayerHandlePaletteFade, - PlayerHandleSuccessBallThrowAnim, - PlayerHandleBallThrowAnim, - PlayerHandlePause, - PlayerHandleMoveAnimation, - PlayerHandlePrintString, - PlayerHandlePrintSelectionString, - PlayerHandleChooseAction, - PlayerHandleUnknownYesNoBox, - PlayerHandleChooseMove, - PlayerHandleChooseItem, - PlayerHandleChoosePokemon, - PlayerHandleCmd23, - PlayerHandleHealthBarUpdate, - PlayerHandleExpUpdate, - PlayerHandleStatusIconUpdate, - PlayerHandleStatusAnimation, - PlayerHandleStatusXor, - PlayerHandleDataTransfer, - PlayerHandleDMA3Transfer, - PlayerHandlePlayBGM, - PlayerHandleCmd32, - PlayerHandleTwoReturnValues, - PlayerHandleChosenMonReturnValue, - PlayerHandleOneReturnValue, - PlayerHandleOneReturnValue_Duplicate, - PlayerHandleCmd37, - PlayerHandleCmd38, - PlayerHandleCmd39, - PlayerHandleCmd40, - PlayerHandleHitAnimation, - PlayerHandleCmd42, - PlayerHandlePlaySE, - PlayerHandlePlayFanfare, - PlayerHandleFaintingCry, - PlayerHandleIntroSlide, - PlayerHandleIntroTrainerBallThrow, - PlayerHandleDrawPartyStatusSummary, - PlayerHandleHidePartyStatusSummary, - PlayerHandleEndBounceEffect, - PlayerHandleSpriteInvisibility, - PlayerHandleBattleAnimation, - PlayerHandleLinkStandbyMsg, - PlayerHandleResetActionMoveSelection, - PlayerHandleCmd55, - PlayerCmdEnd, + [CONTROLLER_GETMONDATA] = PlayerHandleGetMonData, + [CONTROLLER_GETRAWMONDATA] = PlayerHandleGetRawMonData, + [CONTROLLER_SETMONDATA] = PlayerHandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = PlayerHandleSetRawMonData, + [CONTROLLER_LOADMONSPRITE] = PlayerHandleLoadMonSprite, + [CONTROLLER_SWITCHINANIM] = PlayerHandleSwitchInAnim, + [CONTROLLER_RETURNMONTOBALL] = PlayerHandleReturnMonToBall, + [CONTROLLER_DRAWTRAINERPIC] = PlayerHandleDrawTrainerPic, + [CONTROLLER_TRAINERSLIDE] = PlayerHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDEBACK] = PlayerHandleTrainerSlideBack, + [CONTROLLER_FAINTANIMATION] = PlayerHandleFaintAnimation, + [CONTROLLER_PALETTEFADE] = PlayerHandlePaletteFade, + [CONTROLLER_SUCCESSBALLTHROWANIM] = PlayerHandleSuccessBallThrowAnim, + [CONTROLLER_BALLTHROWANIM] = PlayerHandleBallThrowAnim, + [CONTROLLER_PAUSE] = PlayerHandlePause, + [CONTROLLER_MOVEANIMATION] = PlayerHandleMoveAnimation, + [CONTROLLER_PRINTSTRING] = PlayerHandlePrintString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = PlayerHandlePrintSelectionString, + [CONTROLLER_CHOOSEACTION] = PlayerHandleChooseAction, + [CONTROLLER_UNKNOWNYESNOBOX] = PlayerHandleUnknownYesNoBox, + [CONTROLLER_CHOOSEMOVE] = PlayerHandleChooseMove, + [CONTROLLER_OPENBAG] = PlayerHandleChooseItem, + [CONTROLLER_CHOOSEPOKEMON] = PlayerHandleChoosePokemon, + [CONTROLLER_23] = PlayerHandleCmd23, + [CONTROLLER_HEALTHBARUPDATE] = PlayerHandleHealthBarUpdate, + [CONTROLLER_EXPUPDATE] = PlayerHandleExpUpdate, + [CONTROLLER_STATUSICONUPDATE] = PlayerHandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = PlayerHandleStatusAnimation, + [CONTROLLER_STATUSXOR] = PlayerHandleStatusXor, + [CONTROLLER_DATATRANSFER] = PlayerHandleDataTransfer, + [CONTROLLER_DMA3TRANSFER] = PlayerHandleDMA3Transfer, + [CONTROLLER_PLAYBGM] = PlayerHandlePlayBGM, + [CONTROLLER_32] = PlayerHandleCmd32, + [CONTROLLER_TWORETURNVALUES] = PlayerHandleTwoReturnValues, + [CONTROLLER_CHOSENMONRETURNVALUE] = PlayerHandleChosenMonReturnValue, + [CONTROLLER_ONERETURNVALUE] = PlayerHandleOneReturnValue, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = PlayerHandleOneReturnValue_Duplicate, + [CONTROLLER_CLEARUNKVAR] = PlayerHandleCmd37, + [CONTROLLER_SETUNKVAR] = PlayerHandleCmd38, + [CONTROLLER_CLEARUNKFLAG] = PlayerHandleCmd39, + [CONTROLLER_TOGGLEUNKFLAG] = PlayerHandleCmd40, + [CONTROLLER_HITANIMATION] = PlayerHandleHitAnimation, + [CONTROLLER_CANTSWITCH] = PlayerHandleCmd42, + [CONTROLLER_PLAYSE] = PlayerHandlePlaySE, + [CONTROLLER_PLAYFANFARE] = PlayerHandlePlayFanfare, + [CONTROLLER_FAINTINGCRY] = PlayerHandleFaintingCry, + [CONTROLLER_INTROSLIDE] = PlayerHandleIntroSlide, + [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerHandleIntroTrainerBallThrow, + [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerHandleDrawPartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PlayerHandleHidePartyStatusSummary, + [CONTROLLER_ENDBOUNCE] = PlayerHandleEndBounceEffect, + [CONTROLLER_SPRITEINVISIBILITY] = PlayerHandleSpriteInvisibility, + [CONTROLLER_BATTLEANIMATION] = PlayerHandleBattleAnimation, + [CONTROLLER_LINKSTANDBYMSG] = PlayerHandleLinkStandbyMsg, + [CONTROLLER_RESETACTIONMOVESELECTION] = PlayerHandleResetActionMoveSelection, + [CONTROLLER_ENDLINKBATTLE] = PlayerHandleCmd55, + [CONTROLLER_TERMINATOR_NOP] = PlayerCmdEnd, }; static const u8 sTargetIdentities[] = { B_POSITION_PLAYER_LEFT, B_POSITION_PLAYER_RIGHT, B_POSITION_OPPONENT_RIGHT, B_POSITION_OPPONENT_LEFT }; diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c index 83c44a19c..3b1084aa4 100644 --- a/src/battle_controller_pokedude.c +++ b/src/battle_controller_pokedude.c @@ -34,7 +34,7 @@ struct PokedudeBattlePartyInfo u8 side; u8 level; u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 nature; u8 gender; }; @@ -121,65 +121,65 @@ static void Task_StartSendOutAnim(u8 taskId); static const u8 *GetPokedudeText(void); static void (*const sPokedudeBufferCommands[CONTROLLER_CMDS_COUNT])(void) = - { - PokedudeHandleGetMonData, - PokedudeHandleGetRawMonData, - PokedudeHandleSetMonData, - PokedudeHandleSetRawMonData, - PokedudeHandleLoadMonSprite, - PokedudeHandleSwitchInAnim, - PokedudeHandleReturnMonToBall, - PokedudeHandleDrawTrainerPic, - PokedudeHandleTrainerSlide, - PokedudeHandleTrainerSlideBack, - PokedudeHandleFaintAnimation, - PokedudeHandlePaletteFade, - PokedudeHandleSuccessBallThrowAnim, - PokedudeHandleBallThrowAnim, - PokedudeHandlePause, - PokedudeHandleMoveAnimation, - PokedudeHandlePrintString, - PokedudeHandlePrintSelectionString, - PokedudeHandleChooseAction, - PokedudeHandleUnknownYesNoBox, - PokedudeHandleChooseMove, - PokedudeHandleChooseItem, - PokedudeHandleChoosePokemon, - PokedudeHandleCmd23, - PokedudeHandleHealthBarUpdate, - PokedudeHandleExpUpdate, - PokedudeHandleStatusIconUpdate, - PokedudeHandleStatusAnimation, - PokedudeHandleStatusXor, - PokedudeHandleDataTransfer, - PokedudeHandleDMA3Transfer, - PokedudeHandlePlayBGM, - PokedudeHandleCmd32, - PokedudeHandleTwoReturnValues, - PokedudeHandleChosenMonReturnValue, - PokedudeHandleOneReturnValue, - PokedudeHandleOneReturnValue_Duplicate, - PokedudeHandleCmd37, - PokedudeHandleCmd38, - PokedudeHandleCmd39, - PokedudeHandleCmd40, - PokedudeHandleHitAnimation, - PokedudeHandleCmd42, - PokedudeHandlePlaySE, - PokedudeHandlePlayFanfare, - PokedudeHandleFaintingCry, - PokedudeHandleIntroSlide, - PokedudeHandleIntroTrainerBallThrow, - PokedudeHandleDrawPartyStatusSummary, - PokedudeHandleHidePartyStatusSummary, - PokedudeHandleEndBounceEffect, - PokedudeHandleSpriteInvisibility, - PokedudeHandleBattleAnimation, - PokedudeHandleLinkStandbyMsg, - PokedudeHandleResetActionMoveSelection, - PokedudeHandleCmd55, - PokedudeCmdEnd, - }; +{ + [CONTROLLER_GETMONDATA] = PokedudeHandleGetMonData, + [CONTROLLER_GETRAWMONDATA] = PokedudeHandleGetRawMonData, + [CONTROLLER_SETMONDATA] = PokedudeHandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = PokedudeHandleSetRawMonData, + [CONTROLLER_LOADMONSPRITE] = PokedudeHandleLoadMonSprite, + [CONTROLLER_SWITCHINANIM] = PokedudeHandleSwitchInAnim, + [CONTROLLER_RETURNMONTOBALL] = PokedudeHandleReturnMonToBall, + [CONTROLLER_DRAWTRAINERPIC] = PokedudeHandleDrawTrainerPic, + [CONTROLLER_TRAINERSLIDE] = PokedudeHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDEBACK] = PokedudeHandleTrainerSlideBack, + [CONTROLLER_FAINTANIMATION] = PokedudeHandleFaintAnimation, + [CONTROLLER_PALETTEFADE] = PokedudeHandlePaletteFade, + [CONTROLLER_SUCCESSBALLTHROWANIM] = PokedudeHandleSuccessBallThrowAnim, + [CONTROLLER_BALLTHROWANIM] = PokedudeHandleBallThrowAnim, + [CONTROLLER_PAUSE] = PokedudeHandlePause, + [CONTROLLER_MOVEANIMATION] = PokedudeHandleMoveAnimation, + [CONTROLLER_PRINTSTRING] = PokedudeHandlePrintString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = PokedudeHandlePrintSelectionString, + [CONTROLLER_CHOOSEACTION] = PokedudeHandleChooseAction, + [CONTROLLER_UNKNOWNYESNOBOX] = PokedudeHandleUnknownYesNoBox, + [CONTROLLER_CHOOSEMOVE] = PokedudeHandleChooseMove, + [CONTROLLER_OPENBAG] = PokedudeHandleChooseItem, + [CONTROLLER_CHOOSEPOKEMON] = PokedudeHandleChoosePokemon, + [CONTROLLER_23] = PokedudeHandleCmd23, + [CONTROLLER_HEALTHBARUPDATE] = PokedudeHandleHealthBarUpdate, + [CONTROLLER_EXPUPDATE] = PokedudeHandleExpUpdate, + [CONTROLLER_STATUSICONUPDATE] = PokedudeHandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = PokedudeHandleStatusAnimation, + [CONTROLLER_STATUSXOR] = PokedudeHandleStatusXor, + [CONTROLLER_DATATRANSFER] = PokedudeHandleDataTransfer, + [CONTROLLER_DMA3TRANSFER] = PokedudeHandleDMA3Transfer, + [CONTROLLER_PLAYBGM] = PokedudeHandlePlayBGM, + [CONTROLLER_32] = PokedudeHandleCmd32, + [CONTROLLER_TWORETURNVALUES] = PokedudeHandleTwoReturnValues, + [CONTROLLER_CHOSENMONRETURNVALUE] = PokedudeHandleChosenMonReturnValue, + [CONTROLLER_ONERETURNVALUE] = PokedudeHandleOneReturnValue, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = PokedudeHandleOneReturnValue_Duplicate, + [CONTROLLER_CLEARUNKVAR] = PokedudeHandleCmd37, + [CONTROLLER_SETUNKVAR] = PokedudeHandleCmd38, + [CONTROLLER_CLEARUNKFLAG] = PokedudeHandleCmd39, + [CONTROLLER_TOGGLEUNKFLAG] = PokedudeHandleCmd40, + [CONTROLLER_HITANIMATION] = PokedudeHandleHitAnimation, + [CONTROLLER_CANTSWITCH] = PokedudeHandleCmd42, + [CONTROLLER_PLAYSE] = PokedudeHandlePlaySE, + [CONTROLLER_PLAYFANFARE] = PokedudeHandlePlayFanfare, + [CONTROLLER_FAINTINGCRY] = PokedudeHandleFaintingCry, + [CONTROLLER_INTROSLIDE] = PokedudeHandleIntroSlide, + [CONTROLLER_INTROTRAINERBALLTHROW] = PokedudeHandleIntroTrainerBallThrow, + [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PokedudeHandleDrawPartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PokedudeHandleHidePartyStatusSummary, + [CONTROLLER_ENDBOUNCE] = PokedudeHandleEndBounceEffect, + [CONTROLLER_SPRITEINVISIBILITY] = PokedudeHandleSpriteInvisibility, + [CONTROLLER_BATTLEANIMATION] = PokedudeHandleBattleAnimation, + [CONTROLLER_LINKSTANDBYMSG] = PokedudeHandleLinkStandbyMsg, + [CONTROLLER_RESETACTIONMOVESELECTION] = PokedudeHandleResetActionMoveSelection, + [CONTROLLER_ENDLINKBATTLE] = PokedudeHandleCmd55, + [CONTROLLER_TERMINATOR_NOP] = PokedudeCmdEnd, +}; // unknown unused data static const u8 sUnused[] = { 0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58 }; diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 50bfdb205..4337dd723 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -79,63 +79,63 @@ static void CompleteWhenChosePokeblock(void); static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - SafariHandleGetMonData, - SafariHandleGetRawMonData, - SafariHandleSetMonData, - SafariHandleSetRawMonData, - SafariHandleLoadMonSprite, - SafariHandleSwitchInAnim, - SafariHandleReturnMonToBall, - SafariHandleDrawTrainerPic, - SafariHandleTrainerSlide, - SafariHandleTrainerSlideBack, - SafariHandleFaintAnimation, - SafariHandlePaletteFade, - SafariHandleSuccessBallThrowAnim, - SafariHandleBallThrowAnim, - SafariHandlePause, - SafariHandleMoveAnimation, - SafariHandlePrintString, - SafariHandlePrintSelectionString, - SafariHandleChooseAction, - SafariHandleUnknownYesNoBox, - SafariHandleChooseMove, - SafariHandleChooseItem, - SafariHandleChoosePokemon, - SafariHandleCmd23, - SafariHandleHealthBarUpdate, - SafariHandleExpUpdate, - SafariHandleStatusIconUpdate, - SafariHandleStatusAnimation, - SafariHandleStatusXor, - SafariHandleDataTransfer, - SafariHandleDMA3Transfer, - SafariHandlePlayBGM, - SafariHandleCmd32, - SafariHandleTwoReturnValues, - SafariHandleChosenMonReturnValue, - SafariHandleOneReturnValue, - SafariHandleOneReturnValue_Duplicate, - SafariHandleCmd37, - SafariHandleCmd38, - SafariHandleCmd39, - SafariHandleCmd40, - SafariHandleHitAnimation, - SafariHandleCmd42, - SafariHandlePlaySE, - SafariHandlePlayFanfareOrBGM, - SafariHandleFaintingCry, - SafariHandleIntroSlide, - SafariHandleIntroTrainerBallThrow, - SafariHandleDrawPartyStatusSummary, - SafariHandleHidePartyStatusSummary, - SafariHandleEndBounceEffect, - SafariHandleSpriteInvisibility, - SafariHandleBattleAnimation, - SafariHandleLinkStandbyMsg, - SafariHandleResetActionMoveSelection, - SafariHandleCmd55, - SafariCmdEnd, + [CONTROLLER_GETMONDATA] = SafariHandleGetMonData, + [CONTROLLER_GETRAWMONDATA] = SafariHandleGetRawMonData, + [CONTROLLER_SETMONDATA] = SafariHandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = SafariHandleSetRawMonData, + [CONTROLLER_LOADMONSPRITE] = SafariHandleLoadMonSprite, + [CONTROLLER_SWITCHINANIM] = SafariHandleSwitchInAnim, + [CONTROLLER_RETURNMONTOBALL] = SafariHandleReturnMonToBall, + [CONTROLLER_DRAWTRAINERPIC] = SafariHandleDrawTrainerPic, + [CONTROLLER_TRAINERSLIDE] = SafariHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDEBACK] = SafariHandleTrainerSlideBack, + [CONTROLLER_FAINTANIMATION] = SafariHandleFaintAnimation, + [CONTROLLER_PALETTEFADE] = SafariHandlePaletteFade, + [CONTROLLER_SUCCESSBALLTHROWANIM] = SafariHandleSuccessBallThrowAnim, + [CONTROLLER_BALLTHROWANIM] = SafariHandleBallThrowAnim, + [CONTROLLER_PAUSE] = SafariHandlePause, + [CONTROLLER_MOVEANIMATION] = SafariHandleMoveAnimation, + [CONTROLLER_PRINTSTRING] = SafariHandlePrintString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = SafariHandlePrintSelectionString, + [CONTROLLER_CHOOSEACTION] = SafariHandleChooseAction, + [CONTROLLER_UNKNOWNYESNOBOX] = SafariHandleUnknownYesNoBox, + [CONTROLLER_CHOOSEMOVE] = SafariHandleChooseMove, + [CONTROLLER_OPENBAG] = SafariHandleChooseItem, + [CONTROLLER_CHOOSEPOKEMON] = SafariHandleChoosePokemon, + [CONTROLLER_23] = SafariHandleCmd23, + [CONTROLLER_HEALTHBARUPDATE] = SafariHandleHealthBarUpdate, + [CONTROLLER_EXPUPDATE] = SafariHandleExpUpdate, + [CONTROLLER_STATUSICONUPDATE] = SafariHandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = SafariHandleStatusAnimation, + [CONTROLLER_STATUSXOR] = SafariHandleStatusXor, + [CONTROLLER_DATATRANSFER] = SafariHandleDataTransfer, + [CONTROLLER_DMA3TRANSFER] = SafariHandleDMA3Transfer, + [CONTROLLER_PLAYBGM] = SafariHandlePlayBGM, + [CONTROLLER_32] = SafariHandleCmd32, + [CONTROLLER_TWORETURNVALUES] = SafariHandleTwoReturnValues, + [CONTROLLER_CHOSENMONRETURNVALUE] = SafariHandleChosenMonReturnValue, + [CONTROLLER_ONERETURNVALUE] = SafariHandleOneReturnValue, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = SafariHandleOneReturnValue_Duplicate, + [CONTROLLER_CLEARUNKVAR] = SafariHandleCmd37, + [CONTROLLER_SETUNKVAR] = SafariHandleCmd38, + [CONTROLLER_CLEARUNKFLAG] = SafariHandleCmd39, + [CONTROLLER_TOGGLEUNKFLAG] = SafariHandleCmd40, + [CONTROLLER_HITANIMATION] = SafariHandleHitAnimation, + [CONTROLLER_CANTSWITCH] = SafariHandleCmd42, + [CONTROLLER_PLAYSE] = SafariHandlePlaySE, + [CONTROLLER_PLAYFANFARE] = SafariHandlePlayFanfareOrBGM, + [CONTROLLER_FAINTINGCRY] = SafariHandleFaintingCry, + [CONTROLLER_INTROSLIDE] = SafariHandleIntroSlide, + [CONTROLLER_INTROTRAINERBALLTHROW] = SafariHandleIntroTrainerBallThrow, + [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = SafariHandleDrawPartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = SafariHandleHidePartyStatusSummary, + [CONTROLLER_ENDBOUNCE] = SafariHandleEndBounceEffect, + [CONTROLLER_SPRITEINVISIBILITY] = SafariHandleSpriteInvisibility, + [CONTROLLER_BATTLEANIMATION] = SafariHandleBattleAnimation, + [CONTROLLER_LINKSTANDBYMSG] = SafariHandleLinkStandbyMsg, + [CONTROLLER_RESETACTIONMOVESELECTION] = SafariHandleResetActionMoveSelection, + [CONTROLLER_ENDLINKBATTLE] = SafariHandleCmd55, + [CONTROLLER_TERMINATOR_NOP] = SafariCmdEnd, }; // not used