summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm.inc.h13
-rw-r--r--include/global.h88
2 files changed, 97 insertions, 4 deletions
diff --git a/include/asm.inc.h b/include/asm.inc.h
index a7c40a08d..4d49ef7b6 100644
--- a/include/asm.inc.h
+++ b/include/asm.inc.h
@@ -278,12 +278,24 @@ void sub_80BD674(void *, u32, u8);
void sub_80BD7A8(void);
void UpdateTVScreensOnMap(u32, u32);
void sub_80BDAB4(void);
+u8 sub_80BDEAC(u8 *);
+void sub_80BE160(TVShow *);
+void sub_80BE8EC(u16);
+void UpdateMassOutbreakTimeLeft(u16);
void sub_80BE97C(u8);
void sub_80BEA50(u16);
+void sub_80BEA5C(u16);
bool8 GetPriceReduction(u8);
+void sub_80BEE84(u16);
u8 sub_80BF0B8(u32);
+void sub_80BF478(void);
+u16 sub_80BF674(u16 species);
+s8 sub_80BF720(TVShow *);
+u8 sub_80BF77C(u32);
void sub_80BFD44(void *, u32, u8);
void sub_80C0514(void *, u32, u8);
+void StartMassOutbreak(void);
+void TVShowDone(void);
// asm/contest_link_80C2020.o
void sub_80C2358(void);
@@ -360,6 +372,7 @@ bool8 SB1ContainsWords(u16 *);
bool8 IsEasyChatPairEqual(u16 *, u16 *);
// asm/region_map.o
+void sub_80FBFB4(u8 *str, u8 region, u8);
void CopyMapName();
// asm/slot_machine.o
diff --git a/include/global.h b/include/global.h
index 004d9c50d..b74956aa7 100644
--- a/include/global.h
+++ b/include/global.h
@@ -183,6 +183,84 @@ struct EasyChatPair
u16 words[2];
}; /*size = 0x8*/
+struct TVShowCommon {
+ /*0x00*/ u8 var00;
+ /*0x01*/ u8 var01;
+};
+
+struct TVShowFanClubLetter {
+ /*0x00*/ u8 var00;
+ /*0x01*/ u8 var01;
+ /*0x02*/ u16 species;
+ u8 pad04[12];
+ /*0x10*/ u8 playerName[8];
+ /*0x18*/ u8 var18;
+};
+
+struct TVShowRecentHappenings {
+ /*0x00*/ u8 var00;
+ /*0x01*/ u8 var01;
+ /*0x02*/ u16 var02;
+ u8 pad04[12];
+ /*0x10*/ u8 var10[8];
+ /*0x18*/ u8 var18;
+ u8 pad19[10];
+};
+
+struct TVShowFanclubOpinions {
+ /*0x00*/ u8 var00;
+ /*0x01*/ u8 var01;
+ /*0x02*/ u16 var02;
+ /*0x04*/ u8 var04A:4;
+ u8 var04B:4;
+ /*0x04*/ u8 var05[8];
+ /*0x0D*/ u8 var0D;
+ /*0x0E*/ u8 var0E;
+ /*0x0F*/ u8 var0F;
+ /*0x10*/ u8 var10[8];
+};
+
+struct TVShowNameRaterShow {
+ /*0x00*/ u8 var00;
+ /*0x01*/ u8 var01;
+ /*0x02*/ u16 species;
+ /*0x04*/ u8 pokemonName[11];
+ /*0x0F*/ u8 trainerName[11];
+ /*0x1A*/ u8 random;
+ /*0x1B*/ u8 random2;
+ /*0x1C*/ u16 var1C;
+ /*0x1E*/ u8 language;
+ /*0x1F*/ u8 var1F;
+};
+
+struct TVShowMassOutbreak {
+ /*0x00*/ u8 var00;
+ /*0x01*/ u8 var01;
+ /*0x02*/ u8 var02;
+ /*0x03*/ u8 var03;
+ /*0x04*/ u16 moves[4];
+ /*0x0C*/ u16 species;
+ /*0x0E*/ u16 var0E;
+ /*0x10*/ u8 locationMapNum;
+ /*0x11*/ u8 locationMapGroup;
+ /*0x12*/ u8 var12;
+ /*0x13*/ u8 probability;
+ /*0x14*/ u8 level;
+ /*0x15*/ u8 var15;
+ /*0x16*/ u16 var16;
+ /*0x18*/ u8 var18;
+ u8 pad19[11];
+};
+
+typedef union TVShow {
+ struct TVShowCommon common;
+ struct TVShowFanClubLetter fanclubLetter;
+ struct TVShowRecentHappenings recentHappenings;
+ struct TVShowFanclubOpinions fanclubOpinions;
+ struct TVShowNameRaterShow nameRaterShow;
+ struct TVShowMassOutbreak massOutbreak;
+} TVShow;
+
struct MailStruct
{
/*0x00*/ u16 words[9];
@@ -241,17 +319,19 @@ struct SaveBlock1
/*0x2704*/ u8 decorDoll[40];
/*0x272C*/ u8 decorCushion[10];
/*0x2736*/ u8 padding_2736[2];
- /*0x2738*/ u8 tvShows[24][36]; // TODO: TV show struct
+ /*0x2738*/ TVShow tvShows[24];
/*0x2A98*/ u8 filler_2A98[0x64];
/*0x2AFC*/ u16 outbreakPokemonSpecies;
/*0x2AFE*/ u8 outbreakLocationMapNum;
/*0x2AFF*/ u8 outbreakLocationMapGroup;
/*0x2B00*/ u8 outbreakPokemonLevel;
- /*0x2B01*/ u8 filler_2B01[3];
+ /*0x2B01*/ u8 outbreakUnk1;
+ /*0x2B02*/ u16 outbreakUnk2;
/*0x2B04*/ u16 outbreakPokemonMoves[4];
- /*0x2B0C*/ u8 unk2B0C;
+ /*0x2B0C*/ u8 outbreakUnk4;
/*0x2B0D*/ u8 outbreakPokemonProbability;
- /*0x2B0E*/ u8 filler_2B0E[0xE];
+ /*0x2B0E*/ u16 outbreakUnk5;
+ /*0x2B10*/ u8 filler_2B0E[0xC];
/*0x2B1C*/ u16 unk2B1C[4];
/*0x2B24*/ u8 filler_2B24[0x28];
/*0x2B4C*/ struct MailStruct mail[16];