summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-02-27 20:40:09 +0100
committerDizzyEggg <jajkodizzy@wp.pl>2018-02-27 20:40:09 +0100
commit59ff4aec9b792acacbdf6978ba4e9f63543af41f (patch)
tree4cb480e6e6ce31194026f32f6bd50d4dc8ebae59 /include
parenta9212eeb664efcdfb74a2f4bbc5e94f37e27e748 (diff)
decompile and document battle tv
Diffstat (limited to 'include')
-rw-r--r--include/battle.h37
-rw-r--r--include/battle_link_817C95C.h11
-rw-r--r--include/battle_tv.h11
-rw-r--r--include/global.tv.h4
-rw-r--r--include/tv.h1
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