diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/secret_base.c | 6 | ||||
-rw-r--r-- | src/tv.c | 26 |
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[]; @@ -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)) |