diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/battle.h | 16 | ||||
| -rw-r--r-- | include/battle_controllers.h | 67 | ||||
| -rw-r--r-- | include/battle_script_commands.h | 2 | ||||
| -rw-r--r-- | include/battle_util.h | 5 | ||||
| -rw-r--r-- | include/constants/battle.h | 4 | ||||
| -rw-r--r-- | include/rom3.h | 73 | 
6 files changed, 78 insertions, 89 deletions
| diff --git a/include/battle.h b/include/battle.h index bc9307f57..d7396da58 100644 --- a/include/battle.h +++ b/include/battle.h @@ -69,10 +69,6 @@  #define TYPE_FORESIGHT  0xFE  #define TYPE_ENDTABLE   0xFF -// physical/special types -#define TYPE_IS_PHYSICAL(type) ((type) < TYPE_MYSTERY) -#define TYPE_IS_SPECIAL(type) ((type) > TYPE_MYSTERY) -  struct DisableStruct  {      /*0x00*/ u32 transformedMonPersonality; @@ -97,12 +93,12 @@ struct DisableStruct      /*0x13*/ u8 tauntTimer1:4;      /*0x13*/ u8 tauntTimer2:4;      /*0x14*/ u8 bankPreventingEscape; -    /*0x15*/ u8 bankWithSureHit; +    /*0x15*/ u8 battlerWithSureHit;      /*0x16*/ u8 isFirstTurn;      /*0x17*/ u8 unk17;      /*0x18*/ u8 truantCounter : 1;      /*0x18*/ u8 unk18_a : 3; -    /*0x18*/ u8 unk18_b : 4; +    /*0x18*/ u8 mimickedMoves : 4;      /*0x19*/ u8 rechargeCounter;      /*0x1A*/ u8 unk1A[2];  }; @@ -240,7 +236,7 @@ struct BattleResults      u8 unk2;                  // 0x2      u8 unk3;                  // 0x3      u8 unk4;                  // 0x4 -    u8 unk5_0:1;              // 0x5 +    u8 playerMonWasDamaged:1; // 0x5      u8 unk5_1:1;              // 0x5      u16 poke1Species;         // 0x6      u8 pokeString1[10];       // 0x8 @@ -310,7 +306,7 @@ struct BattleStruct /* 0x2000000 */      /*0x16015*/ u8 unk16015;      /*0x16016*/ u8 unk16016;      /*0x16017*/ u8 unk16017; -    /*0x16018*/ u8 expGetterID; +    /*0x16018*/ u8 expGetterMonId;      /*0x16019*/ u8 unk16019;      /*0x1601A*/ u8 atk5A_StateTracker; //also atk5B, statetracker      /*0x1601B*/ u8 wildVictorySong; @@ -408,7 +404,7 @@ struct BattleStruct /* 0x2000000 */      /*0x1609F*/ u8 unk1609F;      /*0x160A0*/ u8 stringMoveType;      /*0x160A1*/ u8 animTargetsHit; -    /*0x160A2*/ u8 expGetterBank; +    /*0x160A2*/ u8 expGetterBattlerId;      /*0x160A3*/ u8 unk160A3;      /*0x160A4*/ u8 animArg1;      /*0x160A5*/ u8 animArg2; @@ -776,7 +772,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget);  // asm/battle_4.o  void AI_CalcDmg(u8, u8);  u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def); -u8 BankGetTurnOrder(u8 bank); +u8 GetBattlerTurnOrderNum(u8 bank);  // asm/battle_5.o  void nullsub_91(void); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index b5f2f886d..5dae99ecd 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -128,4 +128,69 @@ enum      CONTROLLER_CMDS_COUNT  }; -#endif
\ No newline at end of file +struct HpAndStatus +{ +    u16 hp; +    u32 status; +}; + +struct DisableStruct; + +// emitters +void HandleLinkBattleSetup(void); +void SetUpBattleVarsAndBirchPoochyena(); +void sub_800B950(void); +void InitLinkBtlControllers(void); +void PrepareBufferDataTransferLink(u8 a, u16, u8 *c); +void sub_800C35C(void); +void BtlController_EmitGetMonData(u8 a, u8 b, u8 c); +void BtlController_EmitGetRawMonData(u8 a, u8 b, u8 c); +void BtlController_EmitLoadMonSprite(u8 a); +void BtlController_EmitSwitchInAnim(u8, u8, u8); +void BtlController_EmitReturnMonToBall(u8 a, u8 b); +void BtlController_EmitDrawTrainerPic(u8 a); +void BtlController_EmitTrainerSlide(u8 a); +void BtlController_EmitTrainerSlideBack(u8 a); +void BtlController_EmitFaintAnimation(u8 a); +void BtlController_EmitPaletteFade(u8 a); +void BtlController_EmitSuccessBallThrowAnim(u8 a); +void BtlController_EmitBallThrowAnim(u8 a, u8 b); +void BtlController_EmitMoveAnimation(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, struct DisableStruct *g); +void BtlController_EmitPrintString(u8 a, u16 b); +void BtlController_EmitPrintSelectionString(u8 a, u16 stringID); +void BtlController_EmitChooseAction(u8 a, u8 b, u16 c); +void BtlController_EmitChooseMove(u8 a, u8 b, u8 c, u8 *d); +void BtlController_EmitChooseItem(u8 a, u8 *b); +void BtlController_EmitChoosePokemon(u8 a, u8 b, u8 c, u8 d, u8 *e); +void BtlController_EmitCmd23(u8 a); +void BtlController_EmitHealthBarUpdate(u8 a, u16 b); +void BtlController_EmitExpUpdate(u8 a, u8 b, u16 c); +void BtlController_EmitStatusIconUpdate(u8 a, u32 b, u32 c); +void BtlController_EmitStatusAnimation(u8 a, u8 b, u32 c); +void BtlController_EmitStatusXor(u8 a, u8 b); +void BtlController_EmitDataTransfer(u8, u16, u8 *); +void BtlController_EmitTwoReturnValues(u8 a, u8 b, u16 c); +void BtlController_EmitChosenMonReturnValue(u8 a, u8 b, u8 *c); +void BtlController_EmitOneReturnValue(u8 a, u16 b); +void BtlController_EmitOneReturnValue_Duplicate(u8 a, u16 b); +void BtlController_EmitCmd37(u8 a); +void BtlController_EmitCmd38(u8 a, u8 b); +void BtlController_EmitCmd39(u8 a); +void BtlController_EmitCmd40(u8 a); +void BtlController_EmitHitAnimation(u8 a); +void BtlController_EmitCmd42(u8 a); +void BtlController_EmitPlaySE(u8 a, u16 b); +void BtlController_EmitPlayFanfareOrBGM(u8 a, u16 b); +void BtlController_EmitFaintingCry(u8 a); +void BtlController_EmitIntroSlide(u8 a, u8 b); +void BtlController_EmitIntroTrainerBallThrow(u8 a); +void BtlController_EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c); //0x30 +void BtlController_EmitHidePartyStatusSummary(u8 a); +void BtlController_EmitEndBounceEffect(u8 a); +void BtlController_EmitSpriteInvisibility(u8 a, u8 b); +void BtlController_EmitBattleAnimation(u8 a, u8 b, u16 c); +void BtlController_EmitLinkStandbyMsg(u8 a, u8 b); +void BtlController_EmitResetActionMoveSelection(u8 a, u8 b); +void BtlController_EmitCmd55(u8 a, u8 b); + +#endif // GUARD_BATTLE_CONTROLLERS_H
\ No newline at end of file diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 030844ec3..36f54c6a8 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -52,7 +52,7 @@  void AI_CalcDmg(u8 bankAtk, u8 bankDef);  u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef);  u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility); -u8 BankGetTurnOrder(u8 bank); +u8 GetBattlerTurnOrderNum(u8 bank);  void SetMoveEffect(bool8 primary, u8 certain);  void BattleDestroyYesNoCursorAt(u8 cursorPosition);  void BattleCreateYesNoCursorAt(u8 cursorPosition); diff --git a/include/battle_util.h b/include/battle_util.h index 3d178b487..e116eab16 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -1,7 +1,7 @@  #ifndef GUARD_BATTLE_UTIL_H  #define GUARD_BATTLE_UTIL_H -#define BS_GET_TARGET                   0 +#define BS_TARGET                   0  #define BS_GET_ATTACKER                 1  #define BS_GET_EFFECT_BANK              2  #define BS_GET_SCRIPTING_BANK           10 @@ -47,6 +47,9 @@  #define ITEMEFFECT_MOVE_END                     0x3  #define ITEMEFFECT_KINGSROCK_SHELLBELL          0x4 +#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0))) +#define WEATHER_HAS_EFFECT2 ((!ABILITY_ON_FIELD2(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD2(ABILITY_AIR_LOCK))) +  void TryClearRageStatuses(void);  void BattleScriptPush(const u8* BS_ptr);  void PressurePPLoseOnUsingImprision(u8 bankAtk); diff --git a/include/constants/battle.h b/include/constants/battle.h index 5835bf439..5aa1772d1 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -324,9 +324,7 @@  #define ABILITYEFFECT_COUNT_ON_FIELD      0x12  #define ABILITYEFFECT_CHECK_ON_FIELD      0x13 -#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0))) - -#define BS_GET_TARGET                   0 +#define BS_TARGET                   0  #define BS_GET_ATTACKER                 1  #define BS_GET_EFFECT_BANK              2  #define BS_GET_gBank1   3 diff --git a/include/rom3.h b/include/rom3.h deleted file mode 100644 index 2b889c78b..000000000 --- a/include/rom3.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef GUARD_ROM3_H -#define GUARD_ROM3_H - -struct HpAndStatus -{ -    u16 hp; -    u32 status; -}; - -struct DisableStruct; - -void sub_800B858(void); -void SetUpBattleVarsAndBirchPoochyena(); -void sub_800B950(void); -void sub_800B9A8(void); -void sub_800BA78(void); -void sub_800BD54(void); -void CreateTasksForSendRecvLinkBuffers(void); -void PrepareBufferDataTransferLink(u8 a, u16, u8 *c); -void Task_HandleSendLinkBuffersData(u8); -void sub_800C35C(void); -void Task_HandleCopyReceivedLinkBuffersData(u8); -void BtlController_EmitGetMonData(u8 a, u8 b, u8 c); -void BtlController_EmitGetRawMonData(u8 a, u8 b, u8 c); -void BtlController_EmitLoadMonSprite(u8 a); -void BtlController_EmitSwitchInAnim(u8, u8, u8); -void BtlController_EmitReturnMonToBall(u8 a, u8 b); -void BtlController_EmitDrawTrainerPic(u8 a); -void BtlController_EmitTrainerSlide(u8 a); -void BtlController_EmitTrainerSlideBack(u8 a); -void BtlController_EmitFaintAnimation(u8 a); -void BtlController_EmitPaletteFade(u8 a); -void BtlController_EmitSuccessBallThrowAnim(u8 a); -void BtlController_EmitBallThrowAnim(u8 a, u8 b); -void BtlController_EmitMoveAnimation(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, struct DisableStruct *g); -void BtlController_EmitPrintString(u8 a, u16 b); -void BtlController_EmitPrintSelectionString(u8 a, u16 stringID); -void BtlController_EmitChooseAction(u8 a, u8 b, u16 c); -void BtlController_EmitChooseMove(u8 a, u8 b, u8 c, u8 *d); -void BtlController_EmitChooseItem(u8 a, u8 *b); -void BtlController_EmitChoosePokemon(u8 a, u8 b, u8 c, u8 d, u8 *e); -void BtlController_EmitCmd23(u8 a); -void BtlController_EmitHealthBarUpdate(u8 a, u16 b); -void BtlController_EmitExpUpdate(u8 a, u8 b, u16 c); -void BtlController_EmitStatusIconUpdate(u8 a, u32 b, u32 c); -void BtlController_EmitStatusAnimation(u8 a, u8 b, u32 c); -void BtlController_EmitStatusXor(u8 a, u8 b); -void BtlController_EmitDataTransfer(u8, u16, u8 *); -void BtlController_EmitTwoReturnValues(u8 a, u8 b, u16 c); -void BtlController_EmitChosenMonReturnValue(u8 a, u8 b, u8 *c); -void BtlController_EmitOneReturnValue(u8 a, u16 b); -void BtlController_EmitOneReturnValue_Duplicate(u8 a, u16 b); -void BtlController_EmitCmd37(u8 a); -void BtlController_EmitCmd38(u8 a, u8 b); -void BtlController_EmitCmd39(u8 a); -void BtlController_EmitCmd40(u8 a); -void BtlController_EmitHitAnimation(u8 a); -void BtlController_EmitCmd42(u8 a); -void BtlController_EmitPlaySE(u8 a, u16 b); -void BtlController_EmitPlayFanfareOrBGM(u8 a, u16 b); -void BtlController_EmitFaintingCry(u8 a); -void BtlController_EmitIntroSlide(u8 a, u8 b); -void BtlController_EmitIntroTrainerBallThrow(u8 a); -void BtlController_EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c); //0x30 -void BtlController_EmitHidePartyStatusSummary(u8 a); -void BtlController_EmitEndBounceEffect(u8 a); -void BtlController_EmitSpriteInvisibility(u8 a, u8 b); -void BtlController_EmitBattleAnimation(u8 a, u8 b, u16 c); -void BtlController_EmitLinkStandbyMsg(u8 a, u8 b); -void BtlController_EmitResetActionMoveSelection(u8 a, u8 b); -void BtlController_EmitCmd55(u8 a, u8 b); - -#endif // GUARD_ROM3_H | 
