summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/moves.h1
-rw-r--r--include/contest.h402
-rw-r--r--include/contest_effect.h14
-rw-r--r--include/contest_link_80F57C4.h1
-rw-r--r--include/contest_link_80FC4F4.h8
-rw-r--r--include/event_scripts.h4
-rw-r--r--include/gba/types.h11
-rw-r--r--include/strings.h2
-rw-r--r--include/tv.h1
9 files changed, 430 insertions, 14 deletions
diff --git a/include/constants/moves.h b/include/constants/moves.h
index f3a3acb90..aaa5c3ab9 100644
--- a/include/constants/moves.h
+++ b/include/constants/moves.h
@@ -358,5 +358,6 @@
#define MOVE_PSYCHO_BOOST 354
#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST
+#define NUM_MOVES LAST_MOVE_INDEX + 1
#endif // GUARD_CONSTANTS_MOVES_H
diff --git a/include/contest.h b/include/contest.h
index d920117f3..b7324e26b 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -1,21 +1,241 @@
#ifndef GUARD_CONTEST_H
#define GUARD_CONTEST_H
-struct ContestStruct_02039E00
+enum
{
- u16 unk_00;
- u8 unk_02[11];
- u8 unk_0d[8];
- u8 filler_15[9];
- u8 filler_1E[34];
+ CONTEST_CATEGORY_COOL,
+ CONTEST_CATEGORY_BEAUTY,
+ CONTEST_CATEGORY_CUTE,
+ CONTEST_CATEGORY_SMART,
+ CONTEST_CATEGORY_TOUGH,
};
-extern struct ContestStruct_02039E00 gUnknown_02039E00[4];
+enum
+{
+ CONTEST_EFFECT_HIGHLY_APPEALING,
+ CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
+ CONTEST_EFFECT_REPETITION_NOT_BORING,
+ CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ CONTEST_EFFECT_AVOID_STARTLE,
+ CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY,
+ CONTEST_EFFECT_USER_LESS_EASILY_STARTLED,
+ CONTEST_EFFECT_STARTLE_FRONT_MON,
+ CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS,
+ CONTEST_EFFECT_STARTLE_PREV_MON,
+ CONTEST_EFFECT_STARTLE_PREV_MONS,
+ CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ CONTEST_EFFECT_STARTLE_PREV_MON_2,
+ CONTEST_EFFECT_STARTLE_PREV_MONS_2,
+ CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
+ CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL,
+ CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL,
+ CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL,
+ CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL,
+ CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL,
+ CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS,
+ CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION,
+ CONTEST_EFFECT_BETTER_IF_FIRST,
+ CONTEST_EFFECT_BETTER_IF_LAST,
+ CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
+ CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
+ CONTEST_EFFECT_BETTER_WHEN_LATER,
+ CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
+ CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ CONTEST_EFFECT_BETTER_IF_DIFF_TYPE,
+ CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
+ CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
+ CONTEST_EFFECT_NEXT_APPEAL_LATER,
+ CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER,
+ CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
+ CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
+ CONTEST_EFFECT_DONT_EXCITE_AUDIENCE
+};
+
+enum
+{
+ COMBO_STARTER_RAIN_DANCE = 1,
+ COMBO_STARTER_RAGE,
+ COMBO_STARTER_FOCUS_ENERGY,
+ COMBO_STARTER_HYPNOSIS,
+ COMBO_STARTER_ENDURE,
+ COMBO_STARTER_HORN_ATTACK,
+ COMBO_STARTER_SWORDS_DANCE,
+ COMBO_STARTER_STOCKPILE,
+ COMBO_STARTER_SUNNY_DAY,
+ COMBO_STARTER_REST,
+ COMBO_STARTER_VICE_GRIP,
+ COMBO_STARTER_DEFENSE_CURL,
+ COMBO_STARTER_CHARGE,
+ COMBO_STARTER_ROCK_THROW,
+ COMBO_STARTER_YAWN,
+ COMBO_STARTER_SCARY_FACE,
+ COMBO_STARTER_POWDER_SNOW,
+ COMBO_STARTER_LOCK_ON,
+ COMBO_STARTER_SOFT_BOILED,
+ COMBO_STARTER_MEAN_LOOK,
+ COMBO_STARTER_SCRATCH,
+ COMBO_STARTER_GROWTH,
+ COMBO_STARTER_HAIL,
+ COMBO_STARTER_SANDSTORM,
+ COMBO_STARTER_BELLY_DRUM,
+ COMBO_STARTER_MIND_READER,
+ COMBO_STARTER_DRAGON_BREATH,
+ COMBO_STARTER_DRAGON_RAGE,
+ COMBO_STARTER_DRAGON_DANCE,
+ COMBO_STARTER_SURF,
+ COMBO_STARTER_DIVE,
+ COMBO_STARTER_STRING_SHOT,
+ COMBO_STARTER_LEER,
+ COMBO_STARTER_TAUNT,
+ COMBO_STARTER_CHARM,
+ COMBO_STARTER_HARDEN,
+ COMBO_STARTER_SING,
+ COMBO_STARTER_EARTHQUAKE,
+ COMBO_STARTER_DOUBLE_TEAM,
+ COMBO_STARTER_CURSE,
+ COMBO_STARTER_SWEET_SCENT,
+ COMBO_STARTER_SLUDGE,
+ COMBO_STARTER_SLUDGE_BOMB,
+ COMBO_STARTER_THUNDER_PUNCH,
+ COMBO_STARTER_FIRE_PUNCH,
+ COMBO_STARTER_ICE_PUNCH,
+ COMBO_STARTER_PECK,
+ COMBO_STARTER_METAL_SOUND,
+ COMBO_STARTER_MUD_SPORT,
+ COMBO_STARTER_WATER_SPORT,
+ COMBO_STARTER_BONE_CLUB,
+ COMBO_STARTER_BONEMERANG,
+ COMBO_STARTER_BONE_RUSH,
+ COMBO_STARTER_SAND_ATTACK,
+ COMBO_STARTER_MUD_SLAP,
+ COMBO_STARTER_FAKE_OUT,
+ COMBO_STARTER_PSYCHIC,
+ COMBO_STARTER_KINESIS,
+ COMBO_STARTER_CONFUSION,
+ COMBO_STARTER_POUND,
+ COMBO_STARTER_SMOG,
+ COMBO_STARTER_CALM_MIND
+};
+
+enum
+{
+ CONTEST_STRING_MORE_CONSCIOUS,
+ CONTEST_STRING_NO_APPEAL,
+ CONTEST_STRING_SETTLE_DOWN,
+ CONTEST_STRING_OBLIVIOUS_TO_OTHERS,
+ CONTEST_STRING_LESS_AWARE,
+ CONTEST_STRING_STOPPED_CARING,
+ CONTEST_STRING_STARTLE_ATTEMPT,
+ CONTEST_STRING_DAZZLE_ATTEMPT,
+ CONTEST_STRING_JUDGE_LOOK_AWAY2,
+ CONTEST_STRING_UNNERVE_ATTEMPT,
+ CONTEST_STRING_NERVOUS,
+ CONTEST_STRING_UNNERVE_WAITING,
+ CONTEST_STRING_TAUNT_WELL,
+ CONTEST_STRING_REGAINED_FORM,
+ CONTEST_STRING_JAM_WELL,
+ CONTEST_STRING_HUSTLE_STANDOUT,
+ CONTEST_STRING_WORK_HARD_UNNOTICED,
+ CONTEST_STRING_WORK_BEFORE,
+ CONTEST_STRING_APPEAL_NOT_WELL,
+ CONTEST_STRING_WORK_PRECEDING,
+ CONTEST_STRING_APPEAL_NOT_WELL2,
+ CONTEST_STRING_APPEAL_NOT_SHOWN_WELL,
+ CONTEST_STRING_APPEAL_SLIGHTLY_WELL,
+ CONTEST_STRING_APPEAL_PRETTY_WELL,
+ CONTEST_STRING_APPEAL_EXCELLENTLY,
+ CONTEST_STRING_APPEAL_DUD,
+ CONTEST_STRING_APPEAL_NOT_VERY_WELL,
+ CONTEST_STRING_APPEAL_SLIGHTLY_WELL2,
+ CONTEST_STRING_APPEAL_PRETTY_WELL2,
+ CONTEST_STRING_APPEAL_VERY_WELL,
+ CONTEST_STRING_APPEAL_EXCELLENTLY2,
+ CONTEST_STRING_SAME_TYPE_GOOD,
+ CONTEST_STRING_DIFF_TYPE_GOOD,
+ CONTEST_STRING_STOOD_OUT_AS_MUCH,
+ CONTEST_STRING_NOT_AS_WELL,
+ CONTEST_STRING_CONDITION_ROSE,
+ CONTEST_STRING_HOT_STATUS,
+ CONTEST_STRING_MOVE_UP_LINE,
+ CONTEST_STRING_MOVE_BACK_LINE,
+ CONTEST_STRING_SCRAMBLE_ORDER,
+ CONTEST_STRING_JUDGE_EXPECTANTLY2,
+ CONTEST_STRING_WENT_OVER_WELL,
+ CONTEST_STRING_WENT_OVER_VERY_WELL,
+ CONTEST_STRING_APPEAL_COMBO_EXCELLENTLY,
+ CONTEST_STRING_AVERT_GAZE,
+ CONTEST_STRING_AVOID_SEEING,
+ CONTEST_STRING_NOT_FAZED,
+ CONTEST_STRING_LITTLE_DISTRACTED,
+ CONTEST_STRING_ATTEMPT_STARTLE,
+ CONTEST_STRING_LOOKED_DOWN,
+ CONTEST_STRING_TURNED_BACK,
+ CONTEST_STRING_UTTER_CRY,
+ CONTEST_STRING_LEAPT_UP,
+ CONTEST_STRING_TRIPPED_OVER,
+ CONTEST_STRING_MESSED_UP2,
+ CONTEST_STRING_FAILED_TARGET_NERVOUS,
+ CONTEST_STRING_FAILED_ANYONE_NERVOUS,
+ CONTEST_STRING_IGNORED,
+ CONTEST_STRING_NO_CONDITION_IMPROVE,
+ CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL,
+ CONTEST_STRING_UNAFFECTED,
+ CONTEST_STRING_ATTRACTED_ATTENTION,
+ CONTEST_STRING_NONE = 255
+};
+
+struct ContestPokemon
+{
+ /*0x00*/ u16 species;
+ /*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
+ /*0x0D*/ u8 trainerName[8];
+ /*0x15*/ u8 trainerGfxId;
+ /*0x18*/ u32 flags;
+ /*0x1C*/ u8 whichRank:2;
+ u8 aiPool_Cool:1;
+ u8 aiPool_Beauty:1;
+ u8 aiPool_Cute:1;
+ u8 aiPool_Smart:1;
+ u8 aiPool_Tough:1;
+ /*0x1E*/ u16 moves[4]; // moves
+ /*0x26*/ u8 cool; // cool
+ /*0x27*/ u8 beauty; // beauty
+ /*0x28*/ u8 cute; // cute
+ /*0x29*/ u8 smart; // smart
+ /*0x2A*/ u8 tough; // tough
+ /*0x2B*/ u8 sheen; // sheen
+ /*0x2C*/ u8 unk2C[12];
+ /*0x38*/ u32 personality; // personality
+ /*0x3C*/ u32 otId; // otId
+}; // wow
+
+extern struct ContestPokemon gContestMons[4];
extern u8 gUnknown_02039F24;
extern u16 gSpecialVar_ContestCategory;
-extern u8 gSpecialVar_ContestRank;
+extern u16 gSpecialVar_ContestRank;
extern u8 gUnknown_02039F30;
+struct Shared18000
+{
+ /*0x18000*/ u8 unk18000;
+ /*0x18001*/ u8 filler18001[3];
+ /*0x18004*/ u16 unk18004[16][16];
+ /*0x18204*/ u16 unk18204[0x200];
+ /*0x18604*/ u16 unk18604[0x200];
+ /*0x18A04*/ u8 unk18A04[0x800];
+};
+
struct ContestStruct_field_18
{
// unknown size
@@ -28,19 +248,173 @@ struct ContestStruct_field_18
u32 field_10;
};
+struct Contest
+{
+ /*0x19204*/ u8 playerMoveChoice;
+ /*0x19205*/ u8 turnNumber;
+ /*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function
+ /*0x1920A*/ u16 unk1920A_0:1; // Task active flags?
+ u16 unk1920A_1:1;
+ u16 unk1920A_2:1;
+ u16 unk1920A_3:1;
+ u16 unk1920A_4:1;
+ u16 unk1920A_5:1;
+ u16 unk1920A_6:1;
+ u16 unk1920A_7:1;
+ /*0x1920B*/ u16 unk1920B_0:1;
+ u16 unk1920B_1:1;
+ u16 unk1920B_2:1;
+ /*0x1920C*/ u8 mainTaskId;
+ /*0x1920D*/ u8 unk1920D[4];
+ /*0x19211*/ u8 unk19211;
+ /*0x19212*/ u8 unk19212;
+ /*0x19213*/ u8 filler19213;
+ /*0x19214*/ u8 unk19214;
+ /*0x19215*/ u8 unk19215;
+ /*0x19216*/ u8 unk19216; // sprite ID
+ /*0x19217*/ s8 applauseLevel;
+ /*0x19218*/ u8 unk19218[4];
+ /*0x1921C*/ u32 unk1921C; // saved RNG value?
+ u16 unk19220[5][4]; // move history?
+ u8 unk19248[5][4]; // excitement history
+ u8 applauseMeterSpriteId; // sprite ID
+ /*0x1925D*/ u8 unk1925D;
+ /*0x1925E*/ u8 unk1925E;
+};
+
+struct ContestantStatus
+{
+ /*0x00*/ s16 appeal1; // move appeal?
+ /*0x02*/ s16 appeal2; // final appeal after end of turn, maybe?
+ /*0x04*/ s16 unk4;
+ /*0x06*/ u16 currMove;
+ /*0x08*/ u16 prevMove;
+ /*0x0A*/ u8 moveCategory;
+ /*0x0B*/ u8 unkB_0:2;
+ u8 unkB_2:2;
+ u8 moveRepeatCount:3;
+ u8 noMoreTurns:1; // used a one-time move?
+ /*0x0C*/ u8 nervous:1;
+ u8 numTurnsSkipped:2;
+ /*0x0D*/ s8 condition;
+ /*0x0E*/ u8 jam;
+ /*0x0F*/ u8 jamReduction;
+
+ // Flags set by move effect
+ /*0x10*/ u8 resistant:1;
+ u8 immune:1;
+ u8 moreEasilyStartled:1;
+ u8 usedRepeatableMove:1;
+ u8 conditionMod:2; // 1: just raised condition; 2: appeal greatly improved by condition
+ u8 turnOrderMod:2; // 1: defined; 2: random
+ /*0x11*/ u8 turnOrderModAction:2; // 1: made first; 2: made last; 3: made random
+ u8 turnSkipped:1;
+ u8 exploded:1;
+ u8 overrideCategoryExcitementMod:1;
+ u8 appealTripleCondition:1;
+
+ /*0x12*/ u8 jamSafetyCount;
+ /*0x13*/ u8 effectStringId; // status action?
+ /*0x14*/ u8 effectStringId2;
+ /*0x15*/ u8 disappointedRepeat:1;
+ u8 unk15_1:1;
+ u8 unk15_2:1;
+ u8 unk15_3:1;
+ u8 hasJudgesAttention:1;
+ u8 judgesAttentionWasRemoved:1;
+ u8 unk15_6:1;
+ /*0x16*/ u8 unk16;
+ /*0x17*/ u8 unk17;
+ /*0x18*/ u8 unk18;
+ /*0x19*/ u8 nextTurnOrder; // turn position
+ /*0x1A*/ u8 attentionLevel; // How much the Pokemon "stood out"
+ /*0x1B*/ u8 unk1B;
+};
+
+struct UnknownContestStruct7
+{
+ u8 turnOrder[4];
+ s16 jam;
+ s16 jam2;
+ u8 jamQueue[5];
+ u8 unnervedPokes[4];
+ u8 contestant;
+};
+
+struct ContestAIInfo {
+ /*0x00*/ u8 aiState;
+ /*0x02*/ u16 unk2;
+ /*0x04*/ u8 unk4;
+ /*0x05*/ u8 unk5[4];
+ /*0x09*/ u8 aiAction;
+ /*0x0A*/ u8 fillerA[0x6]; // TODO: don't know what's here
+ /*0x10*/ u8 unk10;
+ /*0x14*/ u32 flags;
+ /*0x18*/ s16 scriptResult;
+ /*0x1A*/ s16 scriptArr[3];
+ /*0x20*/ u32 stack[8];
+ /*0x40*/ u8 unk40;
+ /*0x41*/ u8 unk41;
+};
+
+struct UnknownContestStruct5
+{
+ s8 bits_0; // current move excitement?
+ u8 excitementFrozen:1;
+ u8 excitementFreezer:3;
+ s8 unk2;
+};
+
+struct UnknownContestStruct4
+{
+ u8 unk0; // sprite ID
+ u8 unk1; // sprite ID
+ u8 unk2_0:1;
+ u8 unk2_1:1;
+ u8 unk2_2:1;
+};
+
+struct ContestResourcesField1C
+{
+ u8 filler_00[0x40];
+};
+
+struct ContestResourcesField20
+{
+ u8 filler_00[0x0C];
+};
+
struct ContestResources
{
- void *field_0;
- void *field_4;
- void *field_8;
- void *field_C;
- void *field_10;
- void *field_14;
+ struct Contest *field_0;
+ struct ContestantStatus *field_4;
+ struct UnknownContestStruct7 *field_8;
+ struct ContestAIInfo *field_C;
+ struct UnknownContestStruct5 *field_10;
+ struct UnknownContestStruct4 *field_14;
struct ContestStruct_field_18 *field_18;
+ struct ContestResourcesField1C * field_1c;
+ struct ContestResourcesField20 * field_20;
+ u8 * field_24[4];
+ void * field_34;
+ void * field_38;
+ void * field_3c;
};
extern struct ContestResources *gContestResources;
+#define sContest (*gContestResources->field_0)
+#define sContestantStatus (gContestResources->field_4)
+#define shared192D0 (*gContestResources->field_8)
+#define eContestAI (*gContestResources->field_C)
+#define shared19328 (*gContestResources->field_10)
+#define shared19338 (*gContestResources->field_14)
+
+#define shared15800 (gHeap + 0x18000)
+#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000))
+
+extern u32 gContestRngValue;
+
bool8 IsSpeciesNotUnown(u16 species);
void LoadContestBgAfterMoveAnim(void);
diff --git a/include/contest_effect.h b/include/contest_effect.h
new file mode 100644
index 000000000..4d680be9e
--- /dev/null
+++ b/include/contest_effect.h
@@ -0,0 +1,14 @@
+#ifndef GUARD_CONTEST_EFFECT_H
+#define GUARD_CONTEST_EFFECT_H
+
+struct ContestMove
+{
+ u8 effect;
+ u8 contestCategory:3;
+ u8 comboStarterId;
+ u8 comboMoves[4];
+};
+
+extern const struct ContestMove gContestMoves[];
+
+#endif //GUARD_CONTEST_EFFECT_H
diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h
index 98523c175..3c12e5e53 100644
--- a/include/contest_link_80F57C4.h
+++ b/include/contest_link_80F57C4.h
@@ -4,5 +4,6 @@
void sub_80F840C(void);
void sub_80F8484(void);
void sub_80F84C4(u8);
+void sub_80FC998(u8 taskId);
#endif // GUARD_CONTEST_LINK_80F57C4_H
diff --git a/include/contest_link_80FC4F4.h b/include/contest_link_80FC4F4.h
new file mode 100644
index 000000000..6f3bab97d
--- /dev/null
+++ b/include/contest_link_80FC4F4.h
@@ -0,0 +1,8 @@
+#ifndef GUARD_CONTEST_LINK_80FC4F4_H
+#define GUARD_CONTEST_LINK_80FC4F4_H
+
+void sub_80FCC88(u8);
+void sub_80FCC88(u8);
+void sub_80FCACC(u8);
+
+#endif //GUARD_CONTEST_LINK_80FC4F4_H
diff --git a/include/event_scripts.h b/include/event_scripts.h
index c187682b0..4f85156aa 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -394,6 +394,10 @@ extern const u8 Route111_EventScript_2907F0[];
extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[];
extern const u8 LittlerootTown_MaysHouse_2F_EventScript_1F958F[];
+//contest_strings
+extern const u8 gText_0827D507[];
+extern const u8 gText_0827D531[];
+
//mauville_old_man
extern const u8 gOtherText_Is[];
extern const u8 gOtherText_DontYouAgree[];
diff --git a/include/gba/types.h b/include/gba/types.h
index 9f63489aa..a7dbf3e03 100644
--- a/include/gba/types.h
+++ b/include/gba/types.h
@@ -28,6 +28,17 @@ typedef u8 bool8;
typedef u16 bool16;
typedef u32 bool32;
+struct BgCnt
+{
+ u16 priority:2;
+ u16 charBaseBlock:2;
+ u16 dummy:4;
+ u16 screenBaseBlock:5;
+ u16 areaOverflowMode:1;
+ u16 screenSize:2;
+};
+typedef volatile struct BgCnt vBgCnt;
+
struct PlttData
{
u16 r:5; // red
diff --git a/include/strings.h b/include/strings.h
index f9b752176..e5459c320 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -433,6 +433,8 @@ extern const u8 gText_TooImportantToToss[];
extern const u8 gText_ConfirmTossItems[];
extern const u8 gText_MoveVar1Where[];
+extern const u8 gText_ColorLightShadowDarkGrey[];
+extern const u8 gText_ColorBlue[];
extern const u8 gText_Friend[];
extern const u8 gText_Tristan[];
extern const u8 gText_Philip[];
diff --git a/include/tv.h b/include/tv.h
index 1e05a680e..677bc0986 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -45,6 +45,7 @@ void PutPokemonTodayCaughtOnAir(void);
void TV_PutSecretBaseVisitOnTheAir(void);
bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language);
void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent);
+void BravoTrainerPokemonProfile_BeforeInterview1(u16 move);
void UpdateTVScreensOnMap(int, int);
#endif //GUARD_TV_H