diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/battle_anim.h | 2 | ||||
| -rw-r--r-- | include/constants/moves.h | 1 | ||||
| -rw-r--r-- | include/contest.h | 402 | ||||
| -rw-r--r-- | include/contest_effect.h | 22 | ||||
| -rw-r--r-- | include/contest_link_80F57C4.h | 1 | ||||
| -rw-r--r-- | include/contest_link_80FC4F4.h | 8 | ||||
| -rw-r--r-- | include/data2.h | 4 | ||||
| -rw-r--r-- | include/event_scripts.h | 4 | ||||
| -rw-r--r-- | include/gba/types.h | 11 | ||||
| -rw-r--r-- | include/script_pokemon_util_80F87D8.h | 7 | ||||
| -rw-r--r-- | include/strings.h | 4 | ||||
| -rw-r--r-- | include/tv.h | 1 | 
12 files changed, 452 insertions, 15 deletions
| diff --git a/include/battle_anim.h b/include/battle_anim.h index d6d4c05d6..f690cf10c 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -107,4 +107,6 @@ u8 ItemIdToBallId(u16 itemId);  u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId);  u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId); +u8 sub_80A600C(u8, u16, u8); +  #endif // GUARD_BATTLE_ANIM_H 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..3484ca5df --- /dev/null +++ b/include/contest_effect.h @@ -0,0 +1,22 @@ +#ifndef GUARD_CONTEST_EFFECT_H +#define GUARD_CONTEST_EFFECT_H + +struct ContestMove +{ +    u8 effect; +    u8 contestCategory:3; +    u8 comboStarterId; +    u8 comboMoves[4]; +}; + +struct ContestEffect +{ +    u8 effectType; +    u8 appeal; +    u8 jam; +}; + +extern const struct ContestMove gContestMoves[]; +extern struct ContestEffect gContestEffects[]; + +#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/data2.h b/include/data2.h index d71958201..2cc13d88e 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,6 +1,8 @@  #ifndef GUARD_DATA2_H  #define GUARD_DATA2_H +#include "constants/species.h" +  struct MonCoords  {      // This would use a bitfield, but some function @@ -17,6 +19,6 @@ extern const u8 gMoveNames[][13];  extern struct CompressedSpriteSheet gUnknown_0831C620;  extern struct CompressedSpritePalette gUnknown_0831C628;  extern const struct SpriteTemplate gUnknown_0831C688; - +extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES];  #endif // GUARD_DATA2_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/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h new file mode 100644 index 000000000..555b3428b --- /dev/null +++ b/include/script_pokemon_util_80F87D8.h @@ -0,0 +1,7 @@ + +#ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H +#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H + +u16 sub_80F903C(void); + +#endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H diff --git a/include/strings.h b/include/strings.h index f9b752176..f3a4fafbe 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[]; @@ -443,5 +445,7 @@ extern const u8 gText_FiveMarks[];  extern const u8 gText_TotalRecordWLD[];  extern const u8 gText_PlayersBattleResults[];  extern const u8 gText_WinLoseDraw[]; +extern const u8 gText_ColorTransparent[]; +extern const u8 gText_Slash[];  #endif //GUARD_STRINGS_H 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 | 
