From 4b1e30434d9c86964bf9735a392f4b3c2d7b1dcd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 1 May 2018 19:47:11 -0400 Subject: Through sub_80D787C --- include/contest.h | 384 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 370 insertions(+), 14 deletions(-) (limited to 'include') diff --git a/include/contest.h b/include/contest.h index d920117f3..7b49e71a9 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,17 +248,153 @@ 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 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)[4]; struct ContestStruct_field_18 *field_18; + struct ContestResourcesField1C * field_1c; + u8 filler_20[4]; + u8 * field_24[4]; }; +#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) + extern struct ContestResources *gContestResources; bool8 IsSpeciesNotUnown(u16 species); -- cgit v1.2.3 From ef29d17c4128b674897c056a37aa424b21afe35c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 1 May 2018 21:27:24 -0400 Subject: through sub_80D7B24 --- include/contest.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/contest.h b/include/contest.h index 7b49e71a9..80b681cef 100644 --- a/include/contest.h +++ b/include/contest.h @@ -379,6 +379,11 @@ struct ContestResourcesField1C u8 filler_00[0x40]; }; +struct ContestResourcesField20 +{ + u8 filler_00[0x0C]; +}; + struct ContestResources { struct Contest *field_0; @@ -386,11 +391,14 @@ struct ContestResources struct UnknownContestStruct7 *field_8; struct ContestAIInfo *field_C; struct UnknownContestStruct5 *field_10; - struct UnknownContestStruct4 (*field_14)[4]; + struct UnknownContestStruct4 *field_14; struct ContestStruct_field_18 *field_18; struct ContestResourcesField1C * field_1c; - u8 filler_20[4]; + struct ContestResourcesField20 * field_20; u8 * field_24[4]; + void * field_34; + void * field_38; + void * field_3c; }; #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) -- cgit v1.2.3 From 4bf09504216c1c9668843cc93b5392cd1022a4c1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 2 May 2018 08:43:27 -0400 Subject: through sub_80D7DE8 --- include/contest.h | 2 ++ include/contest_link_80F57C4.h | 1 + 2 files changed, 3 insertions(+) (limited to 'include') diff --git a/include/contest.h b/include/contest.h index 80b681cef..250929de7 100644 --- a/include/contest.h +++ b/include/contest.h @@ -405,6 +405,8 @@ struct ContestResources extern struct ContestResources *gContestResources; +extern u32 gContestRngValue; + bool8 IsSpeciesNotUnown(u16 species); void LoadContestBgAfterMoveAnim(void); 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 -- cgit v1.2.3 From f9230e80aa1fd32d0428af9b684dcf4395148fc3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 2 May 2018 19:59:00 -0400 Subject: through vblank_cb_battle --- include/contest.h | 1 + include/gba/types.h | 11 +++++++++++ 2 files changed, 12 insertions(+) (limited to 'include') diff --git a/include/contest.h b/include/contest.h index 250929de7..45fc9b477 100644 --- a/include/contest.h +++ b/include/contest.h @@ -401,6 +401,7 @@ struct ContestResources void * field_3c; }; +#define shared15800 (gHeap + 0x18000) #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) extern struct ContestResources *gContestResources; 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 -- cgit v1.2.3 From 7d446a9ef7737874f772f7537de97a8b8be2d7d4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 May 2018 08:51:52 -0400 Subject: through sub_80D8490 --- include/contest_effect.h | 14 ++++++++++++++ include/event_scripts.h | 4 ++++ include/strings.h | 2 ++ 3 files changed, 20 insertions(+) create mode 100644 include/contest_effect.h (limited to 'include') 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/event_scripts.h b/include/event_scripts.h index eb523a487..b26d1c164 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -394,4 +394,8 @@ 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[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/strings.h b/include/strings.h index 7c81dbcfb..7a96dc036 100644 --- a/include/strings.h +++ b/include/strings.h @@ -429,5 +429,7 @@ 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[]; #endif //GUARD_STRINGS_H -- cgit v1.2.3 From e6cca1523286e9f730db0ed36b9945047bde7bc6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 4 May 2018 18:59:59 -0400 Subject: sub_80D8B38 --- include/constants/moves.h | 1 + include/contest_link_80FC4F4.h | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 include/contest_link_80FC4F4.h (limited to 'include') 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_link_80FC4F4.h b/include/contest_link_80FC4F4.h new file mode 100644 index 000000000..16ec1fbd2 --- /dev/null +++ b/include/contest_link_80FC4F4.h @@ -0,0 +1,7 @@ +#ifndef GUARD_CONTEST_LINK_80FC4F4_H +#define GUARD_CONTEST_LINK_80FC4F4_H + +void sub_80FCC88(u8); +void sub_80FCC88(u8); + +#endif //GUARD_CONTEST_LINK_80FC4F4_H -- cgit v1.2.3 From e8bb464de91bf4abf4998d7700ca44e0e4fd39cd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 7 May 2018 19:46:48 -0400 Subject: through sub_80DA4F4 --- include/contest.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/contest.h b/include/contest.h index 45fc9b477..b7324e26b 100644 --- a/include/contest.h +++ b/include/contest.h @@ -401,11 +401,18 @@ struct ContestResources 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 struct ContestResources *gContestResources; - extern u32 gContestRngValue; bool8 IsSpeciesNotUnown(u16 species); -- cgit v1.2.3 From f6fbecbc4124dead542bd6ab2a4461d3f4bb3151 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 7 May 2018 20:49:23 -0400 Subject: through sub_80DA874 --- include/contest_link_80FC4F4.h | 1 + include/tv.h | 1 + 2 files changed, 2 insertions(+) (limited to 'include') diff --git a/include/contest_link_80FC4F4.h b/include/contest_link_80FC4F4.h index 16ec1fbd2..6f3bab97d 100644 --- a/include/contest_link_80FC4F4.h +++ b/include/contest_link_80FC4F4.h @@ -3,5 +3,6 @@ void sub_80FCC88(u8); void sub_80FCC88(u8); +void sub_80FCACC(u8); #endif //GUARD_CONTEST_LINK_80FC4F4_H diff --git a/include/tv.h b/include/tv.h index 19c900ba8..ea296a327 100644 --- a/include/tv.h +++ b/include/tv.h @@ -45,5 +45,6 @@ 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); #endif //GUARD_TV_H -- cgit v1.2.3 From 7fdebe0d15754d315386a5bb308d5b7a2eaf648f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 10 May 2018 17:54:30 -0400 Subject: through sub_80DAE0C --- include/global.h | 2 +- include/script_pokemon_util_80F87D8.h | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 include/script_pokemon_util_80F87D8.h (limited to 'include') diff --git a/include/global.h b/include/global.h index ec636bb07..b73baf2ce 100644 --- a/include/global.h +++ b/include/global.h @@ -11,7 +11,7 @@ // to help in decompiling #define asm_comment(x) asm volatile("@ -- " x " -- ") #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") -#define ASM_DIRECT __attribute__((naked)) +#define NAKED __attribute__((naked)) // IDE support #if defined (__APPLE__) || defined (__CYGWIN__) 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 -- cgit v1.2.3 From 508a8e51824e4d9d09a5122576c3b69f43cb2cbf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 10 May 2018 18:16:58 -0400 Subject: through sub_80DAFA0 --- include/strings.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/strings.h b/include/strings.h index e5459c320..f3a4fafbe 100644 --- a/include/strings.h +++ b/include/strings.h @@ -445,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 -- cgit v1.2.3 From 9bee601b163ff9fcfebba6021ea162880b6fed92 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 10 May 2018 19:28:52 -0400 Subject: through sub_80DB174 --- include/battle_anim.h | 2 ++ include/data2.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'include') 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/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 -- cgit v1.2.3 From c15b50ac686632130512de37d01037bff6e10cd2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 11 May 2018 08:44:21 -0400 Subject: through prints_contest_move_description --- include/contest_effect.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include') diff --git a/include/contest_effect.h b/include/contest_effect.h index 4d680be9e..3484ca5df 100644 --- a/include/contest_effect.h +++ b/include/contest_effect.h @@ -9,6 +9,14 @@ struct ContestMove 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 -- cgit v1.2.3 From 8d0da7d8e006beda6c72c437545bca9f20086b28 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 11 May 2018 09:41:32 -0400 Subject: Propagate ASM_DIRECT --> NAKED renaming --- include/global.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include') diff --git a/include/global.h b/include/global.h index b73baf2ce..5e742d732 100644 --- a/include/global.h +++ b/include/global.h @@ -12,6 +12,11 @@ #define asm_comment(x) asm volatile("@ -- " x " -- ") #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") #define NAKED __attribute__((naked)) +// While this nomenclature change is being rolled out, the following +// redundant define will be used to prevent build errors when merging +// from master. +// TODO: Remove this before merging the pull request. +#define ASM_DIRECT NAKED // IDE support #if defined (__APPLE__) || defined (__CYGWIN__) -- cgit v1.2.3