diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2018-02-27 20:40:09 +0100 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2018-02-27 20:40:09 +0100 |
commit | 59ff4aec9b792acacbdf6978ba4e9f63543af41f (patch) | |
tree | 4cb480e6e6ce31194026f32f6bd50d4dc8ebae59 /include | |
parent | a9212eeb664efcdfb74a2f4bbc5e94f37e27e748 (diff) |
decompile and document battle tv
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 37 | ||||
-rw-r--r-- | include/battle_link_817C95C.h | 11 | ||||
-rw-r--r-- | include/battle_tv.h | 11 | ||||
-rw-r--r-- | include/global.tv.h | 4 | ||||
-rw-r--r-- | include/tv.h | 1 |
5 files changed, 31 insertions, 33 deletions
diff --git a/include/battle.h b/include/battle.h index 8c819f047..731b5692e 100644 --- a/include/battle.h +++ b/include/battle.h @@ -368,7 +368,7 @@ struct BattleResults u8 catchAttempts[11]; // 0x36 }; -struct BattleLinkStringSide +struct BattleTv_Side { u32 spikesMonId:3; u32 reflectMonId:3; @@ -380,7 +380,7 @@ struct BattleLinkStringSide u32 perishSongMonId:3; u32 wishMonId:3; u32 grudgeMonId:3; - u32 field_8_6:2; + u32 usedMoveSlot:2; u32 spikesMoveSlot:2; u32 reflectMoveSlot:2; u32 lightScreenMoveSlot:2; @@ -393,18 +393,15 @@ struct BattleLinkStringSide u32 grudgeMoveSlot:2; u32 destinyBondMonId:3; u32 destinyBondMoveSlot:2; - u32 field_3_0:4; - u32 field_3_1:3; + u32 faintCause:4; + u32 faintCauseMonId:3; u32 explosion:1; u32 explosionMoveSlot:2; u32 explosionMonId:3; u32 perishSong:1; - u32 field_4_2:1; - u32 field_5_0:3; - u32 field_5_1:2; }; -struct BattleLinkStringPosition +struct BattleTv_Position { u32 curseMonId:3; u32 leechSeedMonId:3; @@ -424,11 +421,11 @@ struct BattleLinkStringPosition u32 mudSportMoveSlot:2; u32 ingrainMonId:3; u32 ingrainMoveSlot:2; - u32 field_5_5:3; - u32 field_6_0:2; + u32 attackedByMonId:3; + u32 attackedByMoveSlot:2; }; -struct BattleLinkStringMon +struct BattleTv_Mon { u32 psnMonId:3; u32 badPsnMonId:3; @@ -444,16 +441,16 @@ struct BattleLinkStringMon u32 frzMoveSlot:2; }; -struct UnknownBattleLinkStruct +struct BattleTv { - struct BattleLinkStringMon mon[2][6]; // [side][partyId] - struct BattleLinkStringPosition pos[2][2]; // [side][flank] - struct BattleLinkStringSide side[2]; // [side] + struct BattleTv_Mon mon[2][6]; // [side][partyId] + struct BattleTv_Position pos[2][2]; // [side][flank] + struct BattleTv_Side side[2]; // [side] }; -struct UnknownBattleLinkArrayStruct +struct BattleTvMovePoints { - s16 unk0[2][6*4]; + s16 points[2][PARTY_SIZE * 4]; }; struct BattleStruct @@ -535,7 +532,7 @@ struct BattleStruct u8 field_B0; u8 hpScale; u8 synchronizeMoveEffect; - u8 field_B3; + bool8 anyMonHasTransformed; void (*savedCallback)(void); u16 usedHeldItems[MAX_BATTLERS_COUNT]; u8 chosenItem[4]; // why is this an u8? @@ -560,8 +557,8 @@ struct BattleStruct u8 wishPerishSongBattlerId; bool8 overworldWeatherDone; u8 atkCancellerTracker; - struct UnknownBattleLinkArrayStruct field_1A4; - struct UnknownBattleLinkStruct field_204; + struct BattleTvMovePoints tvMovePoints; + struct BattleTv tv; u8 notSureWhatFieldLol[0x28]; u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT]; u8 field_298[8]; diff --git a/include/battle_link_817C95C.h b/include/battle_link_817C95C.h deleted file mode 100644 index cb2cb0b27..000000000 --- a/include/battle_link_817C95C.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef GUARD_BATTLE_LINK_817C95C_H -#define GUARD_BATTLE_LINK_817C95C_H - -void sub_817C95C(u16 stringId); -void sub_817E0FC(u16 move, u16 weatherFlags, struct DisableStruct *disableStructPtr); -void sub_817E32C(u8 animationId); -void sub_817E3F4(void); -void sub_817F2A8(void); -u8 GetBattlerMoveSlotId(u8 bank, u16 move); - -#endif // GUARD_BATTLE_LINK_817C95C_H diff --git a/include/battle_tv.h b/include/battle_tv.h new file mode 100644 index 000000000..72466d73b --- /dev/null +++ b/include/battle_tv.h @@ -0,0 +1,11 @@ +#ifndef GUARD_BATTLE_TV_H +#define GUARD_BATTLE_TV_H + +void BattleTv_SetDataBasedOnString(u16 stringId); +void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruct *disableStructPtr); +void BattleTv_SetDataBasedOnAnimation(u8 animationId); +void TryPutLinkBattleTvShowOnAir(void); +void BattleTv_ClearExplosionFaintCause(void); +u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId); + +#endif // GUARD_BATTLE_TV_H diff --git a/include/global.tv.h b/include/global.tv.h index 5f65aa8e0..81f181cf3 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -188,11 +188,11 @@ typedef union // size = 0x24 struct { /*0x00*/ u8 kind; /*0x01*/ bool8 active; - /*0x02*/ u16 species; + /*0x02*/ u16 speciesOpponent; /*0x04*/ u8 playerName[8]; /*0x0C*/ u8 linkOpponentName[8]; /*0x14*/ u16 move; - /*0x16*/ u16 species2; + /*0x16*/ u16 speciesPlayer; /*0x18*/ u8 battleType; /*0x19*/ u8 language; /*0x1A*/ u8 linkOpponentLanguage; diff --git a/include/tv.h b/include/tv.h index 93854be56..8c7c4701e 100644 --- a/include/tv.h +++ b/include/tv.h @@ -38,5 +38,6 @@ void sub_80EECC8(void); void sub_80EECEC(void); void sub_80F1208(TVShow *shows); void sub_80EE44C(u8 nMonsCaught, u8 nPkblkUsed); +void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent); #endif //GUARD_TV_H |