From 3d1c16523e277b0b4044e685aa118c15aaaeffe9 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 21 Oct 2017 17:32:35 +0200 Subject: start working on battle controllers, especially player --- include/battle_controllers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/battle_controllers.h') diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 4bc6b7b84..1c076b3e0 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -107,7 +107,7 @@ enum CONTROLLER_56 }; -#define LAST_CONTROLLER_CMD_ID CONTROLLER_56 + 1 +#define CONTOLLER_CMDS_COUNT CONTROLLER_56 + 1 // general functions void HandleLinkBattleSetup(void); -- cgit v1.2.3 From 813b1bfd4a8f0fc316e78b39abaaafd09a42f0c4 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 22 Oct 2017 01:04:02 +0200 Subject: label and do more work at player controller --- include/battle_controllers.h | 91 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 72 insertions(+), 19 deletions(-) (limited to 'include/battle_controllers.h') diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 1c076b3e0..0b8fb0c0e 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -1,16 +1,69 @@ #ifndef GUARD_BATTLE_CONTROLLERS_H #define GUARD_BATTLE_CONTROLLERS_H -#define REQUEST_ALL_BATTLE 0x0 -#define REQUEST_SPECIES_BATTLE 0x1 -#define REQUEST_HELDITEM_BATTLE 0x2 -#define REQUEST_MOVES_PP_BATTLE 0x3 -#define REQUEST_PPMOVE1_BATTLE 0x9 -#define REQUEST_PPMOVE2_BATTLE 0xA -#define REQUEST_PPMOVE3_BATTLE 0xB -#define REQUEST_PPMOVE4_BATTLE 0xC -#define REQUEST_STATUS_BATTLE 0x28 -#define REQUEST_HP_BATTLE 0x2A +enum +{ + REQUEST_ALL_BATTLE, + REQUEST_SPECIES_BATTLE, + REQUEST_HELDITEM_BATTLE, + REQUEST_MOVES_PP_BATTLE, + REQUEST_MOVE1_BATTLE, + REQUEST_MOVE2_BATTLE, + REQUEST_MOVE3_BATTLE, + REQUEST_MOVE4_BATTLE, + REQUEST_PP_DATA_BATTLE, + REQUEST_PPMOVE1_BATTLE, + REQUEST_PPMOVE2_BATTLE, + REQUEST_PPMOVE3_BATTLE, + REQUEST_PPMOVE4_BATTLE, + REQUEST_UNUSED_13_BATTLE, + REQUEST_UNUSED_14_BATTLE, + REQUEST_UNUSED_15_BATTLE, + REQUEST_UNUSED_16_BATTLE, + REQUEST_OTID_BATTLE, + REQUEST_EXP_BATTLE, + REQUEST_HP_EV_BATTLE, + REQUEST_ATK_EV_BATTLE, + REQUEST_DEF_EV_BATTLE, + REQUEST_SPEED_EV_BATTLE, + REQUEST_SPATK_EV_BATTLE, + REQUEST_SPDEF_EV_BATTLE, + REQUEST_FRIENDSHIP_BATTLE, + REQUEST_POKERUS_BATTLE, + REQUEST_MET_LOCATION_BATTLE, + REQUEST_MET_LEVEL_BATTLE, + REQUEST_MET_GAME_BATTLE, + REQUEST_POKEBALL_BATTLE, + REQUEST_ALL_IVS_BATTLE, + REQUEST_HP_IV_BATTLE, + REQUEST_ATK_IV_BATTLE, + REQUEST_DEF_IV_BATTLE, + REQUEST_SPEED_IV_BATTLE, + REQUEST_SPATK_IV_BATTLE, + REQUEST_SPDEF_IV_BATTLE, + REQUEST_PERSONALITY_BATTLE, + REQUEST_CHECKSUM_BATTLE, + REQUEST_STATUS_BATTLE, + REQUEST_LEVEL_BATTLE, + REQUEST_HP_BATTLE, + REQUEST_MAX_HP_BATTLE, + REQUEST_ATK_BATTLE, + REQUEST_DEF_BATTLE, + REQUEST_SPEED_BATTLE, + REQUEST_SPATK_BATTLE, + REQUEST_SPDEF_BATTLE, + REQUEST_COOL_BATTLE, + REQUEST_BEAUTY_BATTLE, + REQUEST_CUTE_BATTLE, + REQUEST_SMART_BATTLE, + REQUEST_TOUGH_BATTLE, + REQUEST_SHEEN_BATTLE, + REQUEST_COOL_RIBBON_BATTLE, + REQUEST_BEAUTY_RIBBON_BATTLE, + REQUEST_CUTE_RIBBON_BATTLE, + REQUEST_SMART_RIBBON_BATTLE, + REQUEST_TOUGH_RIBBON_BATTLE, +}; #define RESET_ACTION_MOVE_SELECTION 0 #define RESET_ACTION_SELECTION 1 @@ -31,7 +84,7 @@ struct HpAndStatus struct MovePpInfo { - u16 move[4]; + u16 moves[4]; u8 pp[4]; u8 ppBonuses; }; @@ -59,7 +112,7 @@ enum CONTROLLER_TRAINERSLIDE, CONTROLLER_TRAINERSLIDEBACK, CONTROLLER_FAINTANIMATION, - CONTROLLER_11, + CONTROLLER_PALETTEFADE, CONTROLLER_12, CONTROLLER_BALLTHROW, CONTROLLER_PAUSE, @@ -67,7 +120,7 @@ enum CONTROLLER_PRINTSTRING, CONTROLLER_PRINTSTRINGPLAYERONLY, CONTROLLER_CHOOSEACTION, - CONTROLLER_19, + CONTROLLER_YESNOBOX, CONTROLLER_CHOOSEMOVE, CONTROLLER_OPENBAG, CONTROLLER_CHOOSEPOKEMON, @@ -81,7 +134,7 @@ enum CONTROLLER_DMA3TRANSFER, CONTROLLER_31, CONTROLLER_32, - CONTROLLER_33, + CONTROLLER_CHOICERETURNVALUE, CONTROLLER_34, CONTROLLER_35, CONTROLLER_36, @@ -117,9 +170,9 @@ void sub_8033648(void); void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data); // emitters -void EmitGetMonData(u8 bufferId, u8 arg1, u8 arg2); +void EmitGetMonData(u8 bufferId, u8 requestId, u8 monsToCheck); void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused -void EmitSetMonData(u8 bufferId, u8 request, u8 c, u8 bytes, void *data); +void EmitSetMonData(u8 bufferId, u8 requestId, u8 monsToCheck, u8 bytes, void *data); void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused void EmitLoadMonSprite(u8 bufferId); void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); @@ -128,7 +181,7 @@ void EmitDrawTrainerPic(u8 bufferId); void EmitTrainerSlide(u8 bufferId); void EmitTrainerSlideBack(u8 bufferId); void EmitFaintAnimation(u8 bufferId); -void EmitCmd11(u8 bufferId); // unused +void EmitPaletteFade(u8 bufferId); // unused void EmitCmd12(u8 bufferId); // unused void EmitBallThrow(u8 bufferId, u8 caseId); void EmitPause(u8 bufferId, u8 toWait, void *data); // unused @@ -136,7 +189,7 @@ void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 void EmitPrintString(u8 bufferId, u16 stringId); void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId); void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); -void EmitCmd19(u8 bufferId); +void EmitYesNoBox(u8 bufferId); void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); void EmitOpenBag(u8 bufferId, u8* arg1); void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4); @@ -150,7 +203,7 @@ void EmitDataTransfer(u8 bufferId, u16 size, void *data); void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused void EmitCmd32(u8 bufferId, u16 size, void *c); // unused -void EmitCmd33(u8 bufferId, u8 arg1, u16 arg2); +void EmitChoiceReturnValue(u8 bufferId, u8 arg1, u16 arg2); void EmitCmd34(u8 bufferId, u8 b, u8 *c); void EmitCmd35(u8 bufferId, u16 b); void EmitCmd36(u8 bufferId, u16 b); -- cgit v1.2.3 From df4e32a307c17163e9a64e5ea615ab9eb18afc4b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 22 Oct 2017 18:43:15 +0200 Subject: player battle controller is done --- include/battle_controllers.h | 55 +++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 19 deletions(-) (limited to 'include/battle_controllers.h') diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 0b8fb0c0e..8affb1406 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -76,6 +76,16 @@ enum #define BALL_3_SHAKES_SUCCESS 4 #define BALL_TRAINER_BLOCK 5 +#define RET_VALUE_LEVELLED_UP 11 + +#define INSTANT_HP_BAR_DROP 32767 + +struct UnusedControllerStruct +{ + u8 field_0 : 7; + u8 flag_x80 : 1; +}; + struct HpAndStatus { u16 hp; @@ -113,14 +123,14 @@ enum CONTROLLER_TRAINERSLIDEBACK, CONTROLLER_FAINTANIMATION, CONTROLLER_PALETTEFADE, - CONTROLLER_12, - CONTROLLER_BALLTHROW, + CONTROLLER_SUCCESSBALLTHROWANIM, + CONTROLLER_BALLTHROWANIM, CONTROLLER_PAUSE, CONTROLLER_MOVEANIMATION, CONTROLLER_PRINTSTRING, CONTROLLER_PRINTSTRINGPLAYERONLY, CONTROLLER_CHOOSEACTION, - CONTROLLER_YESNOBOX, + CONTROLLER_UNKNOWNYESNOBOX, CONTROLLER_CHOOSEMOVE, CONTROLLER_OPENBAG, CONTROLLER_CHOOSEPOKEMON, @@ -134,10 +144,10 @@ enum CONTROLLER_DMA3TRANSFER, CONTROLLER_31, CONTROLLER_32, - CONTROLLER_CHOICERETURNVALUE, - CONTROLLER_34, - CONTROLLER_35, - CONTROLLER_36, + CONTROLLER_TWORETURNVALUES, + CONTROLLER_CHOSENMONRETURNVALUE, + CONTROLLER_ONERETURNVALUE, + CONTROLLER_ONERETURNVALUE_DUPLICATE, CONTROLLER_37, CONTROLLER_38, CONTROLLER_39, @@ -182,16 +192,16 @@ void EmitTrainerSlide(u8 bufferId); void EmitTrainerSlideBack(u8 bufferId); void EmitFaintAnimation(u8 bufferId); void EmitPaletteFade(u8 bufferId); // unused -void EmitCmd12(u8 bufferId); // unused -void EmitBallThrow(u8 bufferId, u8 caseId); +void EmitSuccessBallThrowAnim(u8 bufferId); // unused +void EmitBallThrowAnim(u8 bufferId, u8 caseId); void EmitPause(u8 bufferId, u8 toWait, void *data); // unused void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); void EmitPrintString(u8 bufferId, u16 stringId); void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId); void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); -void EmitYesNoBox(u8 bufferId); +void EmitUnknownYesNoBox(u8 bufferId); void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); -void EmitOpenBag(u8 bufferId, u8* arg1); +void EmitChooseItem(u8 bufferId, u8* arg1); void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4); void EmitCmd23(u8 bufferId); // unused void EmitHealthBarUpdate(u8 bufferId, u16 hpValue); @@ -203,14 +213,14 @@ void EmitDataTransfer(u8 bufferId, u16 size, void *data); void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused void EmitCmd32(u8 bufferId, u16 size, void *c); // unused -void EmitChoiceReturnValue(u8 bufferId, u8 arg1, u16 arg2); -void EmitCmd34(u8 bufferId, u8 b, u8 *c); -void EmitCmd35(u8 bufferId, u16 b); -void EmitCmd36(u8 bufferId, u16 b); -void EmitCmd37(u8 bufferId); -void EmitCmd38(u8 bufferId, u8 b); -void EmitCmd39(u8 bufferId); -void EmitCmd40(u8 bufferId); +void EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2); +void EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c); +void EmitOneReturnValue(u8 bufferId, u16 arg1); +void EmitOneReturnValue_Duplicate(u8 bufferId, u16 b); +void EmitCmd37(u8 bufferId); // unused +void EmitCmd38(u8 bufferId, u8 b); // unused +void EmitCmd39(u8 bufferId); // unused +void EmitCmd40(u8 bufferId); // unused void EmitHitAnimation(u8 bufferId); void EmitCmd42(u8 bufferId); void EmitEffectivenessSound(u8 bufferId, u16 songId); @@ -230,8 +240,15 @@ void EmitCmd55(u8 bufferId, u8 arg1); // player controller void SetBankFuncToPlayerBufferRunCommand(void); void nullsub_21(void); +void PlayerHandleGetRawMonData(void); +void sub_80587B0(void); +void sub_805CC00(struct Sprite *sprite); +void SetCB2ToReshowScreenAfterMenu(void); +void SetCB2ToReshowScreenAfterMenu2(void); +void c3_0802FDF4(u8 taskId); void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); void ActionSelectionDestroyCursorAt(u8 cursorPos); +void InitMoveSelectionsVarsAndStrings(void); // recorded player controller void SetBankFuncToRecordedPlayerBufferRunCommand(void); -- cgit v1.2.3 From 15061844651c0d0cdbe5ec0a3097b054d58e7f88 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 26 Oct 2017 23:12:48 +0200 Subject: battle controller opponent is done --- include/battle_controllers.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'include/battle_controllers.h') diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 8affb1406..2f7b88c2f 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -238,7 +238,7 @@ void EmitResetActionMoveSelection(u8 bufferId, u8 caseId); void EmitCmd55(u8 bufferId, u8 arg1); // player controller -void SetBankFuncToPlayerBufferRunCommand(void); +void SetControllerToPlayer(void); void nullsub_21(void); void PlayerHandleGetRawMonData(void); void sub_80587B0(void); @@ -251,27 +251,27 @@ void ActionSelectionDestroyCursorAt(u8 cursorPos); void InitMoveSelectionsVarsAndStrings(void); // recorded player controller -void SetBankFuncToRecordedPlayerBufferRunCommand(void); +void SetControllerToRecordedPlayer(void); // opponent controller -void SetBankFuncToOpponentBufferRunCommand(void); +void SetControllerToOpponent(void); // player partner controller -void SetBankFuncToPlayerPartnerBufferRunCommand(void); +void SetControllerToPlayerPartner(void); // safari controller -void SetBankFuncToSafariBufferRunCommand(void); +void SetControllerToSafari(void); // wally controller -void SetBankFuncToWallyBufferRunCommand(void); +void SetControllerToWally(void); // recorded opponent controller -void SetBankFuncToRecordedOpponentBufferRunCommand(void); +void SetControllerToRecordedOpponent(void); // link opponent -void SetBankFuncToLinkOpponentBufferRunCommand(void); +void SetControllerToLinkOpponent(void); // link partner -void SetBankFuncToLinkPartnerBufferRunCommand(void); +void SetControllerToLinkPartner(void); #endif // GUARD_BATTLE_CONTROLLERS_H -- cgit v1.2.3 From 712ae5616734f91fdc3cea821349f397af798905 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 31 Oct 2017 18:04:08 +0100 Subject: review change battle controllers --- include/battle_controllers.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'include/battle_controllers.h') diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 2f7b88c2f..517df3edb 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -167,10 +167,11 @@ enum CONTROLLER_LINKSTANDBYMSG, CONTROLLER_RESETACTIONMOVESELECTION, CONTROLLER_55, - CONTROLLER_56 + /*new controllers should go after 55 and before 56*/ + CONTROLLER_56, + CONTROLLER_CMDS_COUNT }; -#define CONTOLLER_CMDS_COUNT CONTROLLER_56 + 1 // general functions void HandleLinkBattleSetup(void); @@ -180,9 +181,9 @@ void sub_8033648(void); void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data); // emitters -void EmitGetMonData(u8 bufferId, u8 requestId, u8 monsToCheck); +void EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck); void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused -void EmitSetMonData(u8 bufferId, u8 requestId, u8 monsToCheck, u8 bytes, void *data); +void EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data); void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused void EmitLoadMonSprite(u8 bufferId); void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); -- cgit v1.2.3 From 192817a7dcbfb4cab5eef0d57c95536cf5971584 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 31 Oct 2017 18:49:29 +0100 Subject: clarify controllers terminator --- include/battle_controllers.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/battle_controllers.h') diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 517df3edb..973a723e0 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -167,8 +167,8 @@ enum CONTROLLER_LINKSTANDBYMSG, CONTROLLER_RESETACTIONMOVESELECTION, CONTROLLER_55, - /*new controllers should go after 55 and before 56*/ - CONTROLLER_56, + /*new controllers should go here*/ + CONTROLLER_TERMINATOR_NOP, CONTROLLER_CMDS_COUNT }; -- cgit v1.2.3