diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2017-10-02 23:32:39 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2017-10-02 23:32:39 +0200 |
commit | db58d5e24a89d9c411231a74ce01daed7a303d67 (patch) | |
tree | 9b4e178713a97421246c3ebe3706b8aa302bab7a /include | |
parent | d4e1c417d37b097bd8e7539e87a75f7026d4dc9a (diff) |
battle2 3500 C lines
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 42 | ||||
-rw-r--r-- | include/battle_controllers.h | 6 | ||||
-rw-r--r-- | include/pokemon.h | 2 | ||||
-rw-r--r-- | include/recorded_battle.h | 1 | ||||
-rw-r--r-- | include/sprite.h | 16 |
5 files changed, 50 insertions, 17 deletions
diff --git a/include/battle.h b/include/battle.h index afb3c8d6e..e5e5a94d1 100644 --- a/include/battle.h +++ b/include/battle.h @@ -54,6 +54,7 @@ #define BATTLE_TYPE_GROUDON 0x10000000 #define BATTLE_TYPE_KYORGE 0x20000000 #define BATTLE_TYPE_RAYQUAZA 0x40000000 +#define BATTLE_TYPE_x80000000 0x80000000 #define TRAINER_OPPONENT_C00 0xC00 #define TRAINER_OPPONENT_800 0x800 @@ -178,6 +179,9 @@ #define ABILITYEFFECT_COUNT_BANK_SIDE 0x11 #define ABILITYEFFECT_COUNT_ON_FIELD 0x12 #define ABILITYEFFECT_CHECK_ON_FIELD 0x13 +#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF + +#define ITEMEFFECT_ON_SWITCH_IN 0x0 #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))) @@ -228,6 +232,7 @@ #define MOVE_EFFECT_BYTE 0x3 #define MULTISTRING_CHOOSER 0x5 #define MSG_DISPLAY 0x7 +#define BATTLE_COMMUNICATION_ENTRIES_COUNT 0x8 #define MOVE_TARGET_SELECTED 0x0 #define MOVE_TARGET_DEPENDS 0x1 @@ -556,7 +561,7 @@ struct BattleResults u16 caughtMonSpecies; // 0x28 u8 caughtMonNick[10]; // 0x2A u8 filler34[2]; - u8 catchAttempts[10]; // 0x36 + u8 catchAttempts[12]; // 0x36 }; extern struct BattleResults gBattleResults; @@ -587,7 +592,7 @@ struct BattleStruct u8 field_49; u8 moneyMultiplier; u8 field_4B; - u8 field_4C; + u8 switchInAbilitiesCounter; u8 field_4D; u8 field_4E; u8 field_4F; @@ -650,7 +655,7 @@ struct BattleStruct u16 choicedMove[BATTLE_BANKS_COUNT]; u16 changedItems[BATTLE_BANKS_COUNT]; u8 intimidateBank; - u8 fillerD9[0xDA-0xD9]; + u8 switchInItemsCounter; u8 field_DA; u8 turnSideTracker; u8 fillerDC[0xDF-0xDC]; @@ -664,7 +669,7 @@ struct BattleStruct struct BattleEnigmaBerry battleEnigmaBerry; u8 field_1A0; u8 field_1A1; - u8 filler1A2; + bool8 overworldWeatherDone; u8 atkCancellerTracker; u8 field_1A4[240]; u8 field_294[4]; @@ -845,7 +850,7 @@ struct BattleScripting u8 statChanger; u8 field_1B; u8 atk23_state; - u8 field_1D; + u8 battleStyle; u8 atk6C_state; u8 learnMoveState; u8 field_20; @@ -874,9 +879,9 @@ void CancelMultiTurnMoves(u8 bank); void PressurePPLose(u8 bankAtk, u8 bankDef, u16 move); void PrepareStringBattle(u16 stringId, u8 bank); u8 GetBattleBank(u8 caseId); -void UndoEffectsAfterFainting(void); +void FaintClearSetData(void); bool8 HasMoveFailed(u8 bank); -void SwitchInClearStructs(void); +void SwitchInClearSetData(void); void sub_803BDA0(u8 bank); void sub_803FA70(u8 bank); void BattleMainCB2(void); @@ -886,6 +891,9 @@ bool8 CanRunFromBattle(u8 bank); bool8 IsRunningFromBattleImpossible(void); void PressurePPLoseOnUsingPerishSong(u8 bankAtk); void PressurePPLoseOnUsingImprision(u8 bankAtk); +u8 GetWhoStrikesFirst(u8 bankAtk, u8 bankDef, bool8 ignoreChosenMoves); +void sub_803CEDC(u8, u8); +void BattleTurnPassed(void); // battle_3 #define MOVE_LIMITATION_ZEROMOVE (1 << 0) @@ -971,10 +979,28 @@ struct BattleAnimationInfo u16 field; // to fill up later }; +struct BattleHealthboxInfo +{ + u8 flag_x1 : 1; + u8 flag_x2 : 1; + u8 flag_x4 : 1; + u8 field_1; + u8 field_2; + u8 field_3; + u8 field_4; + u8 field_5; + u8 field_6; + u8 field_7; + u8 field_8; + u8 field_9; + u8 field_A; + u8 field_B; +}; + struct BattleSpriteData { struct BattleSpriteInfo *bankData; - void* field_4; + struct BattleHealthboxInfo *healthBoxesData; struct BattleAnimationInfo *animationData; }; diff --git a/include/battle_controllers.h b/include/battle_controllers.h index b2846d7cf..61e8bec29 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -47,11 +47,15 @@ void EmitTrainerSlideBack(u8 bufferId); void EmitFaintingCry(u8 bufferId); void Emit_x37(u8 bufferId, u8 arg1); void EmitHitAnimation(u8 bufferId); -void EmitCmd48(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2); +void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2); void EmitCmd49(u8 bufferId); void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); void EmitCmd13(u8 bufferId); void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2); +void EmitIntroSlide(u8 bufferId, u8 terrainId); +void EmitDrawTrainerPic(u8 bufferId); +void EmitLoadMonSprite(u8 bufferId); +void EmitIntroTrainerBallThrow(u8 bufferId); #define RESET_ACTION_MOVE_SELECTION 0 #define RESET_ACTION_SELECTION 1 diff --git a/include/pokemon.h b/include/pokemon.h index 4b678d679..b3155881e 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -633,10 +633,12 @@ s32 sub_806D864(u16 a1); bool16 sub_806D82C(u8 id); u16 MonTryLearningNewMove(struct Pokemon* mon, bool8); void sub_8068AA4(void); // sets stats for deoxys +bool8 HasTwoFramesAnimation(u16 species); #include "sprite.h" void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3); void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3); +void BattleAnimateBackSprite(struct Sprite* sprite, u16 species); #endif // GUARD_POKEMON_H diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 5f3099d83..2040f2b8a 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -9,6 +9,7 @@ void RecordedBattle_SetBankAction(u8 bank, u8 action); void sub_8185F90(u16 arg0); bool8 sub_8186450(void); u8 sub_8185FAC(void); +u8 sub_8185FB8(void); u8 MoveRecordedBattleToSaveData(void); #endif // GUARD_RECORDED_BATTLE_H diff --git a/include/sprite.h b/include/sprite.h index 838b0d7c0..a9377165e 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -212,14 +212,14 @@ struct Sprite u16 flags_5:1; //0x20 u16 flags_6:1; //0x40 u16 flags_7:1; //0x80 - /*0x3F*/ u16 hFlip:1; - u16 vFlip:1; - u16 animBeginning:1; - u16 affineAnimBeginning:1; - u16 animEnded:1; - u16 affineAnimEnded:1; - u16 usingSheet:1; - u16 flags_f:1; + /*0x3F*/ u16 hFlip:1; //1 + u16 vFlip:1; //2 + u16 animBeginning:1; //4 + u16 affineAnimBeginning:1; //8 + u16 animEnded:1; //0x10 + u16 affineAnimEnded:1; //0x20 + u16 usingSheet:1; //0x40 + u16 flags_f:1; //0x80 /*0x40*/ u16 sheetTileStart; |