summaryrefslogtreecommitdiff
path: root/include/battle_controllers.h
diff options
context:
space:
mode:
authorDiegoisawesome <diego@domoreaweso.me>2017-11-09 19:43:30 -0600
committerDiegoisawesome <diego@domoreaweso.me>2017-11-09 20:30:56 -0600
commit09e431077af3c6fe672ad8a775b58d955596b81d (patch)
tree88d2eceb1071df85b4f73b1742885127755579c6 /include/battle_controllers.h
parent2d3044aaa645bbad85e8e60dfe23f7f0224383ca (diff)
parentaf197ccd3bd62fab813154dc4311e65f9992a676 (diff)
Merge remote-tracking branch 'pret/master' into dump_maps
Diffstat (limited to 'include/battle_controllers.h')
-rw-r--r--include/battle_controllers.h161
1 files changed, 116 insertions, 45 deletions
diff --git a/include/battle_controllers.h b/include/battle_controllers.h
index 4bc6b7b84..973a723e0 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
@@ -23,6 +76,16 @@
#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;
@@ -31,7 +94,7 @@ struct HpAndStatus
struct MovePpInfo
{
- u16 move[4];
+ u16 moves[4];
u8 pp[4];
u8 ppBonuses;
};
@@ -59,15 +122,15 @@ enum
CONTROLLER_TRAINERSLIDE,
CONTROLLER_TRAINERSLIDEBACK,
CONTROLLER_FAINTANIMATION,
- CONTROLLER_11,
- CONTROLLER_12,
- CONTROLLER_BALLTHROW,
+ CONTROLLER_PALETTEFADE,
+ CONTROLLER_SUCCESSBALLTHROWANIM,
+ CONTROLLER_BALLTHROWANIM,
CONTROLLER_PAUSE,
CONTROLLER_MOVEANIMATION,
CONTROLLER_PRINTSTRING,
CONTROLLER_PRINTSTRINGPLAYERONLY,
CONTROLLER_CHOOSEACTION,
- CONTROLLER_19,
+ CONTROLLER_UNKNOWNYESNOBOX,
CONTROLLER_CHOOSEMOVE,
CONTROLLER_OPENBAG,
CONTROLLER_CHOOSEPOKEMON,
@@ -81,10 +144,10 @@ enum
CONTROLLER_DMA3TRANSFER,
CONTROLLER_31,
CONTROLLER_32,
- CONTROLLER_33,
- CONTROLLER_34,
- CONTROLLER_35,
- CONTROLLER_36,
+ CONTROLLER_TWORETURNVALUES,
+ CONTROLLER_CHOSENMONRETURNVALUE,
+ CONTROLLER_ONERETURNVALUE,
+ CONTROLLER_ONERETURNVALUE_DUPLICATE,
CONTROLLER_37,
CONTROLLER_38,
CONTROLLER_39,
@@ -104,10 +167,11 @@ enum
CONTROLLER_LINKSTANDBYMSG,
CONTROLLER_RESETACTIONMOVESELECTION,
CONTROLLER_55,
- CONTROLLER_56
+ /*new controllers should go here*/
+ CONTROLLER_TERMINATOR_NOP,
+ CONTROLLER_CMDS_COUNT
};
-#define LAST_CONTROLLER_CMD_ID CONTROLLER_56 + 1
// general functions
void HandleLinkBattleSetup(void);
@@ -117,9 +181,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 monToCheck);
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 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);
@@ -128,17 +192,17 @@ void EmitDrawTrainerPic(u8 bufferId);
void EmitTrainerSlide(u8 bufferId);
void EmitTrainerSlideBack(u8 bufferId);
void EmitFaintAnimation(u8 bufferId);
-void EmitCmd11(u8 bufferId); // unused
-void EmitCmd12(u8 bufferId); // unused
-void EmitBallThrow(u8 bufferId, u8 caseId);
+void EmitPaletteFade(u8 bufferId); // unused
+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 EmitCmd19(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);
@@ -150,14 +214,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 EmitCmd33(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);
@@ -175,33 +239,40 @@ 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);
+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);
+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