summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/secret_base.c6
-rw-r--r--src/tv.c26
2 files changed, 26 insertions, 6 deletions
diff --git a/src/secret_base.c b/src/secret_base.c
index 04f14018c..2769806f6 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -30,9 +30,9 @@ extern const struct
} gUnknown_083D1358[7];
extern const u8 gUnknown_083D1374[4 * 16];
extern void *gUnknown_0300485C;
-extern u8 sub_807D770(void);
-extern u8 gUnknown_083D13EC[12];
-extern u8 sub_80BCCA4(u8);
+extern const u8 sub_807D770(void);
+extern const u8 gUnknown_083D13EC[12];
+extern const u8 sub_80BCCA4(u8);
extern u8 gUnknown_081A2E14[];
diff --git a/src/tv.c b/src/tv.c
index 1e955279e..ab030116c 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -55,6 +55,8 @@ extern void sub_80BEBF4(void);
extern u16 gUnknown_020387E0;
extern u16 gUnknown_020387E2;
+u32 GetPlayerTrainerId(void);
+
void ClearTVShowData(void)
{
u8 showidx;
@@ -348,7 +350,7 @@ void sub_80BE97C(bool8 flag)
}
s8 sub_80BF74C(TVShow tvShow[]);
-u8 sub_80BF1B4(s8);
+bool8 sub_80BF1B4(u8);
void sub_80BE9D4()
{
@@ -456,6 +458,26 @@ asm(".section .text_b");
void sub_80BF6D8(void);
void sub_80BF588(TVShow tvShows[]);
+bool8 sub_80BF1B4(u8 showIdx)
+{
+ TVShow *tvShows;
+ u8 i;
+ u32 trainerId;
+ tvShows = gSaveBlock1.tvShows.shows;
+ trainerId = GetPlayerTrainerId();
+ for (i=5; i<24; i++)
+ {
+ if (tvShows[i].common.var00 == showIdx)
+ {
+ if ((trainerId & 0xFF) == tvShows[i].common.trainerIdLo && ((trainerId >> 8) & 0xFF) == tvShows[i].common.trainerIdHi)
+ {
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+
void sub_80BF20C(void)
{
u8 i, j;
@@ -844,8 +866,6 @@ void sub_80BFAE0(void)
StringGetEnd10(gStringVar1);
}
-u32 GetPlayerTrainerId(void);
-
void sub_80BFB10(void)
{
if (GetPlayerTrainerId() == GetMonData(&(gPlayerParty[gSpecialVar_0x8004]), MON_DATA_OT_ID, 0))