Merge pull request #1138 from GriffinRichards/doc-contest
Document contest
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
#ifndef GUARD_CONSTANTS_CONTEST_H
|
||||
#define GUARD_CONSTANTS_CONTEST_H
|
||||
|
||||
#define CONTESTANT_COUNT 4
|
||||
#define APPLAUSE_METER_SIZE 5
|
||||
#define CONTEST_TURN_COUNT 5
|
||||
#define CONTEST_NUM_APPEALS 5
|
||||
#define CONTEST_LAST_APPEAL (CONTEST_NUM_APPEALS - 1)
|
||||
|
||||
#define LINK_CONTEST_FLAG_IS_LINK (1 << 0)
|
||||
#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
|
||||
@@ -22,13 +22,6 @@
|
||||
#define CONTEST_TYPE_NPC_MASTER (CONTEST_RANK_MASTER + 1)
|
||||
#define CONTEST_TYPE_LINK (CONTEST_RANK_LINK + 1)
|
||||
|
||||
#define CONTEST_CATEGORY_COOL 0
|
||||
#define CONTEST_CATEGORY_BEAUTY 1
|
||||
#define CONTEST_CATEGORY_CUTE 2
|
||||
#define CONTEST_CATEGORY_SMART 3
|
||||
#define CONTEST_CATEGORY_TOUGH 4
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
|
||||
#define CONTEST_WINNER_ARTIST 0 // Winner shown by the artist, painting not necessarily saved
|
||||
#define CONTEST_WINNER_HALL_1 1
|
||||
#define CONTEST_WINNER_HALL_2 2
|
||||
@@ -52,4 +45,124 @@
|
||||
#define CANT_ENTER_CONTEST_EGG 3
|
||||
#define CANT_ENTER_CONTEST_FAINTED 4
|
||||
|
||||
#define CONTEST_AI_CHECK_BAD_MOVE (1 << 0)
|
||||
#define CONTEST_AI_CHECK_COMBO (1 << 1)
|
||||
#define CONTEST_AI_CHECK_BORING (1 << 2)
|
||||
#define CONTEST_AI_CHECK_EXCITEMENT (1 << 3)
|
||||
#define CONTEST_AI_CHECK_ORDER (1 << 4)
|
||||
#define CONTEST_AI_CHECK_GOOD_MOVE (1 << 5)
|
||||
#define CONTEST_AI_ERRATIC (1 << 6)
|
||||
|
||||
#define CONTEST_EFFECT_HIGHLY_APPEALING 0
|
||||
#define CONTEST_EFFECT_USER_MORE_EASILY_STARTLED 1
|
||||
#define CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES 2
|
||||
#define CONTEST_EFFECT_REPETITION_NOT_BORING 3
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE_ONCE 4
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE 5
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY 6
|
||||
#define CONTEST_EFFECT_USER_LESS_EASILY_STARTLED 7
|
||||
#define CONTEST_EFFECT_STARTLE_FRONT_MON 8
|
||||
#define CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS 9
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MON 10
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MONS 11
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON 12
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS 13
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MON_2 14
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MONS_2 15
|
||||
#define CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION 16
|
||||
#define CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION 17
|
||||
#define CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN 18
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL 19
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL 20
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL 21
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL 22
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL 23
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL 24
|
||||
#define CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS 25
|
||||
#define CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS 26
|
||||
#define CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS 27
|
||||
#define CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION 28
|
||||
#define CONTEST_EFFECT_BETTER_IF_FIRST 29
|
||||
#define CONTEST_EFFECT_BETTER_IF_LAST 30
|
||||
#define CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES 31
|
||||
#define CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE 32
|
||||
#define CONTEST_EFFECT_BETTER_WHEN_LATER 33
|
||||
#define CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING 34
|
||||
#define CONTEST_EFFECT_BETTER_IF_SAME_TYPE 35
|
||||
#define CONTEST_EFFECT_BETTER_IF_DIFF_TYPE 36
|
||||
#define CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL 37
|
||||
#define CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS 38
|
||||
#define CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION 39
|
||||
#define CONTEST_EFFECT_NEXT_APPEAL_EARLIER 40
|
||||
#define CONTEST_EFFECT_NEXT_APPEAL_LATER 41
|
||||
#define CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER 42
|
||||
#define CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER 43
|
||||
#define CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST 44
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS 45
|
||||
#define CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED 46
|
||||
#define CONTEST_EFFECT_DONT_EXCITE_AUDIENCE 47
|
||||
|
||||
#define COMBO_STARTER_RAIN_DANCE 1
|
||||
#define COMBO_STARTER_RAGE 2
|
||||
#define COMBO_STARTER_FOCUS_ENERGY 3
|
||||
#define COMBO_STARTER_HYPNOSIS 4
|
||||
#define COMBO_STARTER_ENDURE 5
|
||||
#define COMBO_STARTER_HORN_ATTACK 6
|
||||
#define COMBO_STARTER_SWORDS_DANCE 7
|
||||
#define COMBO_STARTER_STOCKPILE 8
|
||||
#define COMBO_STARTER_SUNNY_DAY 9
|
||||
#define COMBO_STARTER_REST 10
|
||||
#define COMBO_STARTER_VICE_GRIP 11
|
||||
#define COMBO_STARTER_DEFENSE_CURL 12
|
||||
#define COMBO_STARTER_CHARGE 13
|
||||
#define COMBO_STARTER_ROCK_THROW 14
|
||||
#define COMBO_STARTER_YAWN 15
|
||||
#define COMBO_STARTER_SCARY_FACE 16
|
||||
#define COMBO_STARTER_POWDER_SNOW 17
|
||||
#define COMBO_STARTER_LOCK_ON 18
|
||||
#define COMBO_STARTER_SOFT_BOILED 19
|
||||
#define COMBO_STARTER_MEAN_LOOK 20
|
||||
#define COMBO_STARTER_SCRATCH 21
|
||||
#define COMBO_STARTER_GROWTH 22
|
||||
#define COMBO_STARTER_HAIL 23
|
||||
#define COMBO_STARTER_SANDSTORM 24
|
||||
#define COMBO_STARTER_BELLY_DRUM 25
|
||||
#define COMBO_STARTER_MIND_READER 26
|
||||
#define COMBO_STARTER_DRAGON_BREATH 27
|
||||
#define COMBO_STARTER_DRAGON_RAGE 28
|
||||
#define COMBO_STARTER_DRAGON_DANCE 29
|
||||
#define COMBO_STARTER_SURF 30
|
||||
#define COMBO_STARTER_DIVE 31
|
||||
#define COMBO_STARTER_STRING_SHOT 32
|
||||
#define COMBO_STARTER_LEER 33
|
||||
#define COMBO_STARTER_TAUNT 34
|
||||
#define COMBO_STARTER_CHARM 35
|
||||
#define COMBO_STARTER_HARDEN 36
|
||||
#define COMBO_STARTER_SING 37
|
||||
#define COMBO_STARTER_EARTHQUAKE 38
|
||||
#define COMBO_STARTER_DOUBLE_TEAM 39
|
||||
#define COMBO_STARTER_CURSE 40
|
||||
#define COMBO_STARTER_SWEET_SCENT 41
|
||||
#define COMBO_STARTER_SLUDGE 42
|
||||
#define COMBO_STARTER_SLUDGE_BOMB 43
|
||||
#define COMBO_STARTER_THUNDER_PUNCH 44
|
||||
#define COMBO_STARTER_FIRE_PUNCH 45
|
||||
#define COMBO_STARTER_ICE_PUNCH 46
|
||||
#define COMBO_STARTER_PECK 47
|
||||
#define COMBO_STARTER_METAL_SOUND 48
|
||||
#define COMBO_STARTER_MUD_SPORT 49
|
||||
#define COMBO_STARTER_WATER_SPORT 50
|
||||
#define COMBO_STARTER_BONE_CLUB 51
|
||||
#define COMBO_STARTER_BONEMERANG 52
|
||||
#define COMBO_STARTER_BONE_RUSH 53
|
||||
#define COMBO_STARTER_SAND_ATTACK 54
|
||||
#define COMBO_STARTER_MUD_SLAP 55
|
||||
#define COMBO_STARTER_FAKE_OUT 56
|
||||
#define COMBO_STARTER_PSYCHIC 57
|
||||
#define COMBO_STARTER_KINESIS 58
|
||||
#define COMBO_STARTER_CONFUSION 59
|
||||
#define COMBO_STARTER_POUND 60
|
||||
#define COMBO_STARTER_SMOG 61
|
||||
#define COMBO_STARTER_CALM_MIND 62
|
||||
|
||||
#endif // GUARD_CONSTANTS_CONTEST_H
|
||||
|
||||
@@ -60,6 +60,14 @@
|
||||
#define MAX_MON_MOVES 4
|
||||
#define NUM_STATS 6
|
||||
|
||||
#define CONTESTANT_COUNT 4
|
||||
#define CONTEST_CATEGORY_COOL 0
|
||||
#define CONTEST_CATEGORY_BEAUTY 1
|
||||
#define CONTEST_CATEGORY_CUTE 2
|
||||
#define CONTEST_CATEGORY_SMART 3
|
||||
#define CONTEST_CATEGORY_TOUGH 4
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
|
||||
// party sizes
|
||||
#define PARTY_SIZE 6
|
||||
#define MULTI_PARTY_SIZE PARTY_SIZE / 2
|
||||
|
||||
@@ -133,5 +133,59 @@
|
||||
|
||||
#define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s
|
||||
|
||||
// TV Show states for Pokemon Contest Live Updates
|
||||
#define CONTESTLIVE_STATE_INTRO 0
|
||||
#define CONTESTLIVE_STATE_WON_BOTH_ROUNDS 1
|
||||
#define CONTESTLIVE_STATE_BETTER_ROUND2 2
|
||||
#define CONTESTLIVE_STATE_EQUAL_ROUNDS 3
|
||||
#define CONTESTLIVE_STATE_BETTER_ROUND1 4
|
||||
#define CONTESTLIVE_STATE_GOT_NERVOUS 5
|
||||
#define CONTESTLIVE_STATE_STARTLED_OTHER 6
|
||||
#define CONTESTLIVE_STATE_USED_COMBO 7
|
||||
#define CONTESTLIVE_STATE_EXCITING_APPEAL 8
|
||||
#define CONTESTLIVE_STATE_COOL 9
|
||||
#define CONTESTLIVE_STATE_BEAUTIFUL 10
|
||||
#define CONTESTLIVE_STATE_CUTE 11
|
||||
#define CONTESTLIVE_STATE_SMART 12
|
||||
#define CONTESTLIVE_STATE_TOUGH 13
|
||||
#define CONTESTLIVE_STATE_VERY_EXCITING_APPEAL 14
|
||||
#define CONTESTLIVE_STATE_VERY_COOL 15
|
||||
#define CONTESTLIVE_STATE_VERY_BEAUTIFUL 16
|
||||
#define CONTESTLIVE_STATE_VERY_CUTE 17
|
||||
#define CONTESTLIVE_STATE_VERY_SMART 18
|
||||
#define CONTESTLIVE_STATE_VERY_TOUGH 19
|
||||
#define CONTESTLIVE_STATE_TOOK_BREAK 20
|
||||
#define CONTESTLIVE_STATE_GOT_STARTLED 21
|
||||
#define CONTESTLIVE_STATE_USED_MOVE 22
|
||||
#define CONTESTLIVE_STATE_TALK_ABOUT_LOSER 23
|
||||
#define CONTESTLIVE_STATE_NO_APPEALS 24
|
||||
#define CONTESTLIVE_STATE_LAST_BOTH 25
|
||||
#define CONTESTLIVE_STATE_NOT_EXCITING_ENOUGH 26
|
||||
#define CONTESTLIVE_STATE_LOST_AFTER_ROUND1_WIN 27
|
||||
#define CONTESTLIVE_STATE_NO_EXCITING_APPEALS 28
|
||||
#define CONTESTLIVE_STATE_LOST_SMALL_MARGIN 29
|
||||
#define CONTESTLIVE_STATE_REPEATED_APPEALS 30
|
||||
#define CONTESTLIVE_STATE_LOST 31
|
||||
#define CONTESTLIVE_STATE_OUTRO 32
|
||||
|
||||
// Flags used to comment on winner
|
||||
#define CONTESTLIVE_FLAG_EXCITING_APPEAL (1 << 0)
|
||||
#define CONTESTLIVE_FLAG_GOT_NERVOUS (1 << 1)
|
||||
#define CONTESTLIVE_FLAG_MAXED_EXCITEMENT (1 << 2)
|
||||
#define CONTESTLIVE_FLAG_USED_COMBO (1 << 3)
|
||||
#define CONTESTLIVE_FLAG_STARTLED_OTHER (1 << 4)
|
||||
#define CONTESTLIVE_FLAG_SKIPPED_TURN (1 << 5)
|
||||
#define CONTESTLIVE_FLAG_GOT_STARTLED (1 << 6)
|
||||
#define CONTESTLIVE_FLAG_MADE_APPEAL (1 << 7)
|
||||
|
||||
// Flags used to comment on loser
|
||||
#define CONTESTLIVE_FLAG_LOST (1 << 0)
|
||||
#define CONTESTLIVE_FLAG_REPEATED_MOVE (1 << 1)
|
||||
#define CONTESTLIVE_FLAG_LOST_SMALL_MARGIN (1 << 2)
|
||||
#define CONTESTLIVE_FLAG_NO_EXCITEMENT (1 << 3)
|
||||
#define CONTESTLIVE_FLAG_BLEW_LEAD (1 << 4)
|
||||
#define CONTESTLIVE_FLAG_MISSED_EXCITEMENT (1 << 5)
|
||||
#define CONTESTLIVE_FLAG_LAST_BOTH_ROUNDS (1 << 6)
|
||||
#define CONTESTLIVE_FLAG_NO_APPEALS (1 << 7)
|
||||
|
||||
#endif //GUARD_CONSTANTS_TV_H
|
||||
|
||||
@@ -4,135 +4,6 @@
|
||||
#include "palette.h"
|
||||
#include "constants/contest.h"
|
||||
|
||||
enum
|
||||
{
|
||||
CONTEST_DEBUG_MODE_OFF,
|
||||
// Prints the totalPoints value for each contestant.
|
||||
CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL,
|
||||
// Prints the ContestResourcesField1C::unk_C value as a bitstring for each contestant.
|
||||
CONTEST_DEBUG_MODE_PRINT_UNK_C,
|
||||
// Prints the ContestResourcesField1C::unk_D value as a bitstring for each contestant.
|
||||
CONTEST_DEBUG_MODE_PRINT_UNK_D
|
||||
};
|
||||
|
||||
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,
|
||||
@@ -206,29 +77,38 @@ enum {
|
||||
CONTEST_FILTER_ONLY_POSTGAME
|
||||
};
|
||||
|
||||
// Constants for changing in-contest Condition (the stars that appear during appeals)
|
||||
enum {
|
||||
CONDITION_NO_CHANGE,
|
||||
CONDITION_GAIN,
|
||||
CONDITION_LOSE,
|
||||
};
|
||||
|
||||
struct ContestPokemon
|
||||
{
|
||||
/*0x00*/ u16 species;
|
||||
/*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
/*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x15*/ u8 trainerGfxId;
|
||||
/*0x18*/ u32 aiChecks;
|
||||
/*0x1C*/ u8 whichRank:2; // 0x1 0x2
|
||||
u8 aiPool_Cool:1; // 0x4
|
||||
u8 aiPool_Beauty:1; // 0x8
|
||||
u8 aiPool_Cute:1; // 0x10
|
||||
u8 aiPool_Smart:1; // 0x20
|
||||
u8 aiPool_Tough:1; // 0x40
|
||||
/*0x1E*/ u16 moves[MAX_MON_MOVES]; // 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
|
||||
u16 species;
|
||||
u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
u8 trainerGfxId;
|
||||
u32 aiChecks;
|
||||
u8 whichRank:2;
|
||||
u8 aiPool_Cool:1;
|
||||
u8 aiPool_Beauty:1;
|
||||
u8 aiPool_Cute:1;
|
||||
u8 aiPool_Smart:1;
|
||||
u8 aiPool_Tough:1;
|
||||
u16 moves[MAX_MON_MOVES];
|
||||
u8 cool;
|
||||
u8 beauty;
|
||||
u8 cute;
|
||||
u8 smart;
|
||||
u8 tough;
|
||||
u8 sheen;
|
||||
u8 highestRank;
|
||||
bool8 gameCleared;
|
||||
u8 unused[10];
|
||||
u32 personality;
|
||||
u32 otId;
|
||||
};
|
||||
|
||||
struct Shared1A004
|
||||
@@ -239,101 +119,101 @@ struct Shared1A004
|
||||
u8 savedJunk[0x800];
|
||||
};
|
||||
|
||||
struct ContestStruct_field_18
|
||||
struct ContestMoveAnimData
|
||||
{
|
||||
u16 species;
|
||||
u16 unk2;
|
||||
u8 unk4_0:1;
|
||||
u8 unk5;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
u32 unk10;
|
||||
u16 targetSpecies;
|
||||
bool8 hasTargetAnim:1;
|
||||
u8 contestant;
|
||||
u32 personality;
|
||||
u32 otId;
|
||||
u32 targetPersonality;
|
||||
};
|
||||
|
||||
struct Contest
|
||||
{
|
||||
/*0x0*/ u8 playerMoveChoice;
|
||||
/*0x1*/ u8 turnNumber;
|
||||
/*0x2*/ u8 unused2[CONTESTANT_COUNT];
|
||||
/*0x6*/ u16 unk1920A_0:1; // Task active flags?
|
||||
u16 unk1920A_1:1;
|
||||
u16 unk1920A_2:1;
|
||||
u16 unk1920A_3:1;
|
||||
u16 unk1920A_4:1;
|
||||
u16 isShowingApplauseMeter:1;
|
||||
u16 applauseMeterIsMoving:1;
|
||||
u16 unk1920A_7:1;
|
||||
/*0x7*/ u16 unk1920B_0:1;
|
||||
u16 unk1920B_1:1;
|
||||
u16 unk1920B_2:1;
|
||||
/*0x8*/ u8 mainTaskId;
|
||||
/*0x9*/ u8 unk1920D[4];
|
||||
/*0xD*/ u8 unk19211;
|
||||
/*0xE*/ u8 unk19212;
|
||||
/*0xF*/ u8 filler19213;
|
||||
/*0x10*/ u8 unk19214;
|
||||
/*0x11*/ u8 unk19215;
|
||||
/*0x12*/ u8 unk19216; // sprite ID
|
||||
/*0x13*/ s8 applauseLevel;
|
||||
/*0x19218*/ u8 prevTurnOrder[CONTESTANT_COUNT];
|
||||
/*0x1921C*/ u32 unk1921C; // saved RNG value?
|
||||
u16 moveHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT];
|
||||
u8 excitementHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT];
|
||||
u8 playerMoveChoice;
|
||||
u8 appealNumber;
|
||||
u8 unk[CONTESTANT_COUNT]; // never read
|
||||
bool16 unused1:1;
|
||||
bool16 unused2:1;
|
||||
bool16 unused3:1;
|
||||
bool16 unused4:1;
|
||||
bool16 waitForJudgeSpeechBubble:1;
|
||||
bool16 isShowingApplauseMeter:1;
|
||||
bool16 applauseMeterIsMoving:1;
|
||||
bool16 animatingAudience:1;
|
||||
bool16 waitForAudienceBlend:1;
|
||||
bool16 sliderHeartsAnimating:1; // When the slider heart is appearing/disappearing
|
||||
bool16 waitForLink:1;
|
||||
u8 mainTaskId;
|
||||
u8 filler1[4];
|
||||
u8 judgeAttentionTaskId;
|
||||
u8 blendTaskId;
|
||||
u8 filler2;
|
||||
u8 turnNumber;
|
||||
u8 currentContestant;
|
||||
u8 judgeSpeechBubbleSpriteId;
|
||||
s8 applauseLevel;
|
||||
u8 prevTurnOrder[CONTESTANT_COUNT];
|
||||
u32 unusedRng;
|
||||
u16 moveHistory[CONTEST_NUM_APPEALS][CONTESTANT_COUNT];
|
||||
u8 excitementHistory[CONTEST_NUM_APPEALS][CONTESTANT_COUNT];
|
||||
u8 applauseMeterSpriteId;
|
||||
/*0x1925D*/ u8 contestSetupState;
|
||||
/*0x1925E*/ u8 unk1925E;
|
||||
u8 contestSetupState;
|
||||
u8 moveAnimTurnCount;
|
||||
};
|
||||
|
||||
struct ContestantStatus
|
||||
{
|
||||
/*0x00*/ s16 appeal1; // move appeal?
|
||||
/*0x02*/ s16 appeal2; // final appeal after end of turn, maybe?
|
||||
/*0x04*/ s16 pointTotal;
|
||||
/*0x06*/ u16 currMove;
|
||||
/*0x08*/ u16 prevMove;
|
||||
/*0x0A*/ u8 moveCategory;
|
||||
/*0x0B*/ u8 ranking:2;
|
||||
u8 unkB_2:2;
|
||||
s16 baseAppeal;
|
||||
s16 appeal;
|
||||
s16 pointTotal;
|
||||
u16 currMove;
|
||||
u16 prevMove;
|
||||
u8 moveCategory;
|
||||
u8 ranking:2;
|
||||
u8 unused1:2;
|
||||
u8 moveRepeatCount:3;
|
||||
u8 noMoreTurns:1; // used a one-time move?
|
||||
/*0x0C*/ u8 nervous:1;
|
||||
bool8 noMoreTurns:1; // used a one-time move?
|
||||
bool8 nervous:1;
|
||||
u8 numTurnsSkipped:2;
|
||||
/*0x0D*/ s8 condition;
|
||||
/*0x0E*/ u8 jam;
|
||||
/*0x0F*/ u8 jamReduction;
|
||||
s8 condition;
|
||||
u8 jam;
|
||||
u8 jamReduction;
|
||||
|
||||
// Flags set by move effect
|
||||
/*0x10*/ u8 resistant:1;
|
||||
u8 immune:1;
|
||||
u8 moreEasilyStartled:1;
|
||||
u8 usedRepeatableMove:1;
|
||||
bool8 resistant:1;
|
||||
bool8 immune:1;
|
||||
bool8 moreEasilyStartled:1;
|
||||
bool8 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;
|
||||
u8 turnOrderModAction:2; // 1: made first; 2: made last; 3: made random
|
||||
bool8 turnSkipped:1;
|
||||
bool8 exploded:1;
|
||||
bool8 overrideCategoryExcitementMod:1;
|
||||
bool8 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;
|
||||
u8 jamSafetyCount;
|
||||
u8 effectStringId; // status action?
|
||||
u8 effectStringId2;
|
||||
bool8 repeatedMove:1;
|
||||
bool8 unused2:1;
|
||||
bool8 repeatedPrevMove:1; // never read
|
||||
bool8 unk15_3:1;
|
||||
bool8 hasJudgesAttention:1;
|
||||
bool8 judgesAttentionWasRemoved:1;
|
||||
bool8 usedComboMove:1;
|
||||
bool8 completedCombo;
|
||||
u8 comboAppealBonus;
|
||||
u8 repeatJam;
|
||||
u8 nextTurnOrder; // turn position
|
||||
u8 attentionLevel; // How much the Pokemon "stood out"
|
||||
u8 contestantAnimTarget;
|
||||
};
|
||||
|
||||
struct UnknownContestStruct7
|
||||
struct ContestAppealMoveResults
|
||||
{
|
||||
u8 turnOrder[CONTESTANT_COUNT];
|
||||
s16 jam;
|
||||
@@ -348,9 +228,9 @@ struct ContestAIInfo
|
||||
/*0x00*/ u8 aiState;
|
||||
/*0x02*/ u16 nextMove;
|
||||
/*0x04*/ u8 nextMoveIndex;
|
||||
/*0x05*/ u8 unk5[4];
|
||||
/*0x05*/ u8 moveScores[MAX_MON_MOVES];
|
||||
/*0x09*/ u8 aiAction;
|
||||
/*0x0A*/ u8 fillerA[0x6]; // TODO: don't know what's here
|
||||
/*0x0A*/ u8 filler[6];
|
||||
/*0x10*/ u8 currentAICheck;
|
||||
/*0x14*/ u32 aiChecks;
|
||||
/*0x18*/ s16 scriptResult;
|
||||
@@ -360,85 +240,85 @@ struct ContestAIInfo
|
||||
/*0x41*/ u8 contestantId;
|
||||
};
|
||||
|
||||
struct UnknownContestStruct5
|
||||
struct ContestExcitement
|
||||
{
|
||||
s8 bits_0; // current move excitement?
|
||||
u8 excitementFrozen:1;
|
||||
u8 excitementFreezer:3;
|
||||
s8 unk2;
|
||||
s8 moveExcitement;
|
||||
u8 frozen:1;
|
||||
u8 freezer:3;
|
||||
s8 excitementAppealBonus;
|
||||
};
|
||||
|
||||
struct UnknownContestStruct4
|
||||
struct ContestGraphicsState
|
||||
{
|
||||
u8 unk0; // sprite ID
|
||||
u8 unk1; // sprite ID
|
||||
u8 unk2_0:1;
|
||||
u8 unk2_1:1;
|
||||
u8 unk2_2:1;
|
||||
u8 sliderHeartSpriteId;
|
||||
u8 nextTurnSpriteId;
|
||||
bool8 sliderUpdating:1;
|
||||
bool8 boxBlinking:1;
|
||||
bool8 updatingAppealHearts:1;
|
||||
};
|
||||
|
||||
struct UnknownContestStruct6
|
||||
struct ContestFinalStandings
|
||||
{
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 totalPoints;
|
||||
s32 round1Points;
|
||||
s32 random;
|
||||
s32 contestant;
|
||||
};
|
||||
|
||||
struct ContestResourcesField1C
|
||||
struct ContestTV
|
||||
{
|
||||
u16 unk0[5];
|
||||
s16 unkA;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE_1:1;
|
||||
u8 unkE_2:1;
|
||||
u16 appeals[CONTEST_NUM_APPEALS];
|
||||
s16 move;
|
||||
u8 winnerFlags;
|
||||
u8 loserFlags;
|
||||
bool8 madeAppeal:1;
|
||||
bool8 madeExcitingAppeal:1;
|
||||
};
|
||||
|
||||
struct ContestResourcesField20
|
||||
struct ContestUnused
|
||||
{
|
||||
u8 filler_00[0x0C];
|
||||
u8 filler[12];
|
||||
};
|
||||
|
||||
struct ContestResources
|
||||
{
|
||||
struct Contest *contest;
|
||||
struct ContestantStatus *status;
|
||||
struct UnknownContestStruct7 *field_8;
|
||||
struct ContestAppealMoveResults *appealResults;
|
||||
struct ContestAIInfo *aiData;
|
||||
struct UnknownContestStruct5 *field_10;
|
||||
struct UnknownContestStruct4 *field_14;
|
||||
struct ContestStruct_field_18 *field_18;
|
||||
struct ContestResourcesField1C * field_1c;
|
||||
struct ContestResourcesField20 * field_20;
|
||||
struct ContestExcitement *excitement;
|
||||
struct ContestGraphicsState *gfxState;
|
||||
struct ContestMoveAnimData *moveAnim;
|
||||
struct ContestTV *tv;
|
||||
struct ContestUnused * unused;
|
||||
u8 * contestBgTilemaps[CONTESTANT_COUNT];
|
||||
void * field_34;
|
||||
void * field_38;
|
||||
void * boxBlinkTiles1;
|
||||
void * boxBlinkTiles2;
|
||||
void * field_3c;
|
||||
};
|
||||
|
||||
#define eContest (*gContestResources->contest)
|
||||
#define eContestantStatus (gContestResources->status)
|
||||
#define eContestResources8 (*gContestResources->field_8)
|
||||
#define eContestAppealResults (*gContestResources->appealResults)
|
||||
#define eContestAI (*gContestResources->aiData)
|
||||
#define eContestResources10 (*gContestResources->field_10)
|
||||
#define eContestResources14 (*gContestResources->field_14)
|
||||
#define eUnzippedContestAudienceGfx (gHeap + 0x18000)
|
||||
#define eUnknownHeap19000 (gHeap + 0x19000)
|
||||
#define eContestExcitement (*gContestResources->excitement)
|
||||
#define eContestGfxState (gContestResources->gfxState)
|
||||
#define eUnzippedContestAudience_Gfx (gHeap + 0x18000)
|
||||
#define eContestAudienceFrame2_Gfx (gHeap + 0x19000)
|
||||
#define eContestDebugMode (gHeap[0x1a000])
|
||||
#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004))
|
||||
|
||||
extern struct ContestPokemon gContestMons[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonConditions[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonRound1Points[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonTotalPoints[CONTESTANT_COUNT];
|
||||
extern s16 gUnknown_02039F10[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonAppealPointTotals[CONTESTANT_COUNT];
|
||||
extern s16 gContestMonRound2Points[CONTESTANT_COUNT];
|
||||
extern u8 gContestFinalStandings[CONTESTANT_COUNT];
|
||||
extern u8 gContestMonPartyIndex;
|
||||
extern u8 gContestPlayerMonIndex;
|
||||
extern u8 gContestantTurnOrder[CONTESTANT_COUNT];
|
||||
extern u8 gLinkContestFlags;
|
||||
extern u8 gUnknown_02039F2B;
|
||||
extern u8 gContestLinkLeaderIndex;
|
||||
extern u16 gSpecialVar_ContestCategory;
|
||||
extern u16 gSpecialVar_ContestRank;
|
||||
extern u8 gNumLinkContestPlayers;
|
||||
@@ -454,11 +334,11 @@ extern u32 gContestRngValue;
|
||||
void ResetLinkContestBoolean(void);
|
||||
void LoadContestBgAfterMoveAnim(void);
|
||||
void CB2_StartContest(void);
|
||||
void sub_80DA8C8(u8 partyIndex);
|
||||
void sub_80DAB8C(u8 contestType, u8 rank);
|
||||
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
|
||||
void CreateContestMonFromParty(u8 partyIndex);
|
||||
void SetContestants(u8 contestType, u8 rank);
|
||||
void SetLinkAIContestants(u8 contestType, u8 rank, bool32 isPostgame);
|
||||
u8 GetContestEntryEligibility(struct Pokemon *pkmn);
|
||||
void sub_80DB09C(u8 contestCategory);
|
||||
void CalculateRound1Points(u8 contestCategory);
|
||||
bool8 IsSpeciesNotUnown(u16 species);
|
||||
bool8 Contest_IsMonsTurnDisabled(u8 a);
|
||||
void SaveLinkContestResults(void);
|
||||
@@ -468,24 +348,12 @@ void SetContestantEffectStringID2(u8 a, u8 b);
|
||||
void SetStartledString(u8 contestant, u8 jam);
|
||||
void MakeContestantNervous(u8 p);
|
||||
s8 Contest_GetMoveExcitement(u16 move);
|
||||
bool8 sub_80DE1E8(u8 a);
|
||||
bool8 IsContestantAllowedToCombo(u8 contestant);
|
||||
void Contest_PrintTextToBg0WindowAt(u32 windowId, u8 *currChar, s32 x, s32 y, s32 fontId);
|
||||
void ResetContestLinkResults(void);
|
||||
bool8 sub_80DEDA8(u8 a);
|
||||
u8 sub_80DEFA8(u8 a, u8 b);
|
||||
void ClearContestWinnerPicsInContestHall(void);
|
||||
void sub_80DFA08(struct ContestPokemon *mon, s32 language);
|
||||
|
||||
// contest link
|
||||
void sub_81D9DE4(u8 taskId);
|
||||
void sub_80FCF40(u8);
|
||||
void sub_80FCFD0(u8);
|
||||
void sub_80F8714(u8);
|
||||
bool32 sub_80FC670(s16 *);
|
||||
bool32 sub_80FC4F4(void *, u16);
|
||||
bool8 sub_80FC55C(void);
|
||||
bool8 sub_80FC530(u8);
|
||||
u8 sub_80F86E0(u8 *);
|
||||
void sub_80FC9F8(u8 taskId);
|
||||
void StripPlayerAndMonNamesForLinkContest(struct ContestPokemon *mon, s32 language);
|
||||
|
||||
#endif //GUARD_CONTEST_H
|
||||
|
||||
@@ -1,13 +1,23 @@
|
||||
#ifndef GUARD_CONTEST_LINK_H
|
||||
#define GUARD_CONTEST_LINK_H
|
||||
|
||||
void sub_80FCC88(u8);
|
||||
void sub_80FCC88(u8);
|
||||
void sub_80FCACC(u8);
|
||||
void sub_80FC580(u8);
|
||||
void sub_80FC6BC(u8);
|
||||
void sub_80FC804(u8);
|
||||
void sub_80FCE48(u8);
|
||||
void sub_80FC894(u8);
|
||||
void Task_LinkContest_CommunicateAppealsState(u8);
|
||||
void Task_LinkContest_CommunicateFinalStandings(u8);
|
||||
void Task_LinkContest_Init(u8);
|
||||
void Task_LinkContest_CommunicateMonsRS(u8);
|
||||
void Task_LinkContest_CommunicateRngRS(u8);
|
||||
void Task_LinkContest_CommunicateLeaderIdsRS(u8);
|
||||
void Task_LinkContest_CommunicateCategoryRS(u8);
|
||||
void Task_LinkContest_CommunicateMonIdxs(u8);
|
||||
void Task_LinkContest_StartCommunicationEm(u8);
|
||||
void Task_LinkContest_CommunicateRound1Points(u8);
|
||||
void Task_LinkContest_CommunicateTurnOrder(u8);
|
||||
void Task_LinkContest_FinalizeConnection(u8);
|
||||
void Task_LinkContest_CommunicateMoveSelections(u8);
|
||||
bool32 LinkContest_TryLinkStandby(s16 *);
|
||||
bool32 LinkContest_SendBlock(void *, u16);
|
||||
bool8 LinkContest_GetBlockReceivedFromAllPlayers(void);
|
||||
bool8 LinkContest_GetBlockReceived(u8);
|
||||
u8 LinkContest_GetLeaderIndex(u8 *);
|
||||
|
||||
#endif //GUARD_CONTEST_LINK_H
|
||||
|
||||
@@ -7,6 +7,8 @@ void StartContest(void);
|
||||
void BufferContestantMonSpecies(void);
|
||||
void ShowContestResults(void);
|
||||
void ContestLinkTransfer(u8);
|
||||
void sub_80FC998(u8 taskId);
|
||||
void ShowContestWinnerPainting(void);
|
||||
u16 GetContestRand(void);
|
||||
u8 CountPlayerContestPaintings(void);
|
||||
|
||||
#endif // GUARD_CONTEST_UTIL_H
|
||||
|
||||
@@ -294,39 +294,39 @@ extern const u8 gTVSafariFanClubText07[];
|
||||
extern const u8 gTVSafariFanClubText08[];
|
||||
extern const u8 gTVSafariFanClubText09[];
|
||||
extern const u8 gTVSafariFanClubText10[];
|
||||
extern const u8 gTVContestLiveUpdatesText00[];
|
||||
extern const u8 gTVContestLiveUpdatesText01[];
|
||||
extern const u8 gTVContestLiveUpdatesText02[];
|
||||
extern const u8 gTVContestLiveUpdatesText03[];
|
||||
extern const u8 gTVContestLiveUpdatesText04[];
|
||||
extern const u8 gTVContestLiveUpdatesText05[];
|
||||
extern const u8 gTVContestLiveUpdatesText06[];
|
||||
extern const u8 gTVContestLiveUpdatesText07[];
|
||||
extern const u8 gTVContestLiveUpdatesText08[];
|
||||
extern const u8 gTVContestLiveUpdatesText09[];
|
||||
extern const u8 gTVContestLiveUpdatesText10[];
|
||||
extern const u8 gTVContestLiveUpdatesText11[];
|
||||
extern const u8 gTVContestLiveUpdatesText12[];
|
||||
extern const u8 gTVContestLiveUpdatesText13[];
|
||||
extern const u8 gTVContestLiveUpdatesText14[];
|
||||
extern const u8 gTVContestLiveUpdatesText15[];
|
||||
extern const u8 gTVContestLiveUpdatesText16[];
|
||||
extern const u8 gTVContestLiveUpdatesText17[];
|
||||
extern const u8 gTVContestLiveUpdatesText18[];
|
||||
extern const u8 gTVContestLiveUpdatesText19[];
|
||||
extern const u8 gTVContestLiveUpdatesText20[];
|
||||
extern const u8 gTVContestLiveUpdatesText21[];
|
||||
extern const u8 gTVContestLiveUpdatesText22[];
|
||||
extern const u8 gTVContestLiveUpdatesText23[];
|
||||
extern const u8 gTVContestLiveUpdatesText24[];
|
||||
extern const u8 gTVContestLiveUpdatesText25[];
|
||||
extern const u8 gTVContestLiveUpdatesText26[];
|
||||
extern const u8 gTVContestLiveUpdatesText27[];
|
||||
extern const u8 gTVContestLiveUpdatesText28[];
|
||||
extern const u8 gTVContestLiveUpdatesText29[];
|
||||
extern const u8 gTVContestLiveUpdatesText30[];
|
||||
extern const u8 gTVContestLiveUpdatesText31[];
|
||||
extern const u8 gTVContestLiveUpdatesText32[];
|
||||
extern const u8 ContestLiveUpdates_Text_Intro[];
|
||||
extern const u8 ContestLiveUpdates_Text_WonBothRounds[];
|
||||
extern const u8 ContestLiveUpdates_Text_BetterRound2[];
|
||||
extern const u8 ContestLiveUpdates_Text_EqualRounds[];
|
||||
extern const u8 ContestLiveUpdates_Text_BetterRound1[];
|
||||
extern const u8 ContestLiveUpdates_Text_GotNervous[];
|
||||
extern const u8 ContestLiveUpdates_Text_StartledFoes[];
|
||||
extern const u8 ContestLiveUpdates_Text_UsedCombo[];
|
||||
extern const u8 ContestLiveUpdates_Text_ExcitingAppeal[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasCool[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasBeautiful[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasCute[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasSmart[];
|
||||
extern const u8 ContestLiveUpdates_Text_WasTough[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryExcitingAppeal[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryCool[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryBeautiful[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryCute[];
|
||||
extern const u8 ContestLiveUpdates_Text_VerySmart[];
|
||||
extern const u8 ContestLiveUpdates_Text_VeryTough[];
|
||||
extern const u8 ContestLiveUpdates_Text_TookBreak[];
|
||||
extern const u8 ContestLiveUpdates_Text_GotStartled[];
|
||||
extern const u8 ContestLiveUpdates_Text_MoveWonderful[];
|
||||
extern const u8 ContestLiveUpdates_Text_TalkAboutAnotherMon[];
|
||||
extern const u8 ContestLiveUpdates_Text_FailedToAppeal[];
|
||||
extern const u8 ContestLiveUpdates_Text_LastInBothRounds[];
|
||||
extern const u8 ContestLiveUpdates_Text_NotExcitingEnough[];
|
||||
extern const u8 ContestLiveUpdates_Text_LostAfterWinningRound1[];
|
||||
extern const u8 ContestLiveUpdates_Text_NeverExciting[];
|
||||
extern const u8 ContestLiveUpdates_Text_LostBySmallMargin[];
|
||||
extern const u8 ContestLiveUpdates_Text_RepeatedAppeals[];
|
||||
extern const u8 ContestLiveUpdates_Text_ValiantEffortButLost[];
|
||||
extern const u8 ContestLiveUpdates_Text_Outro[];
|
||||
extern const u8 gTVPokemonBattleUpdateText00[];
|
||||
extern const u8 gTVPokemonBattleUpdateText01[];
|
||||
extern const u8 gTVPokemonBattleUpdateText02[];
|
||||
|
||||
@@ -480,7 +480,7 @@ struct SaveBlock2
|
||||
/*0x20C*/ struct BerryPickingResults berryPick;
|
||||
/*0x21C*/ struct RankingHall1P hallRecords1P[HALL_FACILITIES_COUNT][2][3]; // From record mixing.
|
||||
/*0x57C*/ struct RankingHall2P hallRecords2P[2][3]; // From record mixing.
|
||||
/*0x624*/ u16 contestLinkResults[5][4]; // 4 positions for 5 categories.
|
||||
/*0x624*/ u16 contestLinkResults[CONTEST_CATEGORIES_COUNT][CONTESTANT_COUNT];
|
||||
/*0x64C*/ struct BattleFrontier frontier;
|
||||
}; // sizeof=0xF2C
|
||||
|
||||
@@ -489,7 +489,7 @@ extern struct SaveBlock2 *gSaveBlock2Ptr;
|
||||
struct SecretBaseParty
|
||||
{
|
||||
u32 personality[PARTY_SIZE];
|
||||
u16 moves[PARTY_SIZE * 4];
|
||||
u16 moves[PARTY_SIZE * MAX_MON_MOVES];
|
||||
u16 species[PARTY_SIZE];
|
||||
u16 heldItems[PARTY_SIZE];
|
||||
u8 levels[PARTY_SIZE];
|
||||
|
||||
@@ -124,18 +124,18 @@ typedef union // size = 0x24
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 winningSpecies;
|
||||
/*0x04*/ u8 winningTrainerName[8];
|
||||
/*0x0C*/ u8 appealFlags2;
|
||||
/*0x0D*/ u8 round1Rank;
|
||||
/*0x0e*/ u8 round2Rank;
|
||||
/*0x0f*/ u8 appealFlags1;
|
||||
/*0x02*/ u16 losingSpecies;
|
||||
/*0x04*/ u8 losingTrainerName[8];
|
||||
/*0x0C*/ u8 loserAppealFlag;
|
||||
/*0x0D*/ u8 round1Placing;
|
||||
/*0x0e*/ u8 round2Placing;
|
||||
/*0x0f*/ u8 winnerAppealFlag;
|
||||
/*0x10*/ u16 move;
|
||||
/*0x12*/ u16 species;
|
||||
/*0x14*/ u8 playerName[8];
|
||||
/*0x12*/ u16 winningSpecies;
|
||||
/*0x14*/ u8 winningTrainerName[8];
|
||||
/*0x1C*/ u8 category;
|
||||
/*0x1D*/ u8 language;
|
||||
/*0x1E*/ u8 winningTrainerLanguage;
|
||||
/*0x1D*/ u8 winningTrainerLanguage;
|
||||
/*0x1E*/ u8 losingTrainerLanguage;
|
||||
} contestLiveUpdates;
|
||||
|
||||
// TVSHOW_3_CHEERS_FOR_POKEBLOCKS
|
||||
|
||||
@@ -4786,10 +4786,10 @@ extern const u32 gOldContestGfx[];
|
||||
extern const u32 gOldContestPalette[];
|
||||
extern const u32 gUnknown_08C17170[];
|
||||
extern const u32 gUnknown_08C17980[];
|
||||
extern const u32 gTiles_8C19450[];
|
||||
extern const u32 gContestSliderHeart_Gfx[];
|
||||
extern const u32 gContestNextTurnGfx[];
|
||||
extern const u16 gContestPal[];
|
||||
extern const u32 gUnknown_08C19168[];
|
||||
extern const u32 gContestFaces_Gfx[];
|
||||
extern const u32 gContestApplauseGfx[];
|
||||
extern const u32 gContestJudgeGfx[];
|
||||
extern const u32 gContestJudgeSymbolsGfx[];
|
||||
|
||||
@@ -49,11 +49,11 @@
|
||||
(((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT)
|
||||
|
||||
#define LINKCMD_SEND_LINK_TYPE 0x2222
|
||||
#define LINKCMD_0x2FFE 0x2FFE
|
||||
#define LINKCMD_READY_EXIT_STANDBY 0x2FFE
|
||||
#define LINKCMD_SEND_HELD_KEYS 0x4444
|
||||
#define LINKCMD_0x5555 0x5555
|
||||
#define LINKCMD_0x5566 0x5566
|
||||
#define LINKCMD_0x5FFF 0x5FFF
|
||||
#define LINKCMD_READY_CLOSE_LINK 0x5FFF
|
||||
#define LINKCMD_0x6666 0x6666
|
||||
#define LINKCMD_0x7777 0x7777
|
||||
#define LINKCMD_CONT_BLOCK 0x8888
|
||||
@@ -64,7 +64,7 @@
|
||||
#define LINKCMD_INIT_BLOCK 0xBBBB
|
||||
#define LINKCMD_READY_CANCEL_TRADE 0xBBCC
|
||||
#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE
|
||||
#define LINKCMD_0xCCCC 0xCCCC
|
||||
#define LINKCMD_SEND_BLOCK_REQ 0xCCCC
|
||||
#define LINKCMD_START_TRADE 0xCCDD
|
||||
#define LINKCMD_CONFIRM_FINISH_TRADE 0xDCBA
|
||||
#define LINKCMD_SET_MONS_TO_TRADE 0xDDDD
|
||||
@@ -273,11 +273,11 @@ bool32 InUnionRoom(void);
|
||||
void LoadWirelessStatusIndicatorSpriteGfx(void);
|
||||
bool8 IsLinkTaskFinished(void);
|
||||
void CreateWirelessStatusIndicatorSprite(u8, u8);
|
||||
void sub_800ADF8(void);
|
||||
void SetLinkStandbyCallback(void);
|
||||
void SetWirelessCommType1(void);
|
||||
void CheckShouldAdvanceLinkState(void);
|
||||
u8 IsLinkMaster(void);
|
||||
void sub_800AC34(void);
|
||||
void SetCloseLinkCallback(void);
|
||||
bool8 HandleLinkConnection(void);
|
||||
void SetLinkDebugValues(u32 seed, u32 flags);
|
||||
void sub_800A418(void);
|
||||
@@ -305,9 +305,9 @@ extern u16 gLinkHeldKeys;
|
||||
extern u32 gLinkStatus;
|
||||
extern u8 gUnknown_030030E4;
|
||||
extern u8 gUnknown_030030E8;
|
||||
extern u8 gUnknown_030030EC[MAX_LINK_PLAYERS];
|
||||
extern u8 gUnknown_030030F0[MAX_LINK_PLAYERS];
|
||||
extern u16 gUnknown_030030F4;
|
||||
extern bool8 gReadyToExitStandby[MAX_LINK_PLAYERS];
|
||||
extern bool8 gReadyToCloseLink[MAX_LINK_PLAYERS];
|
||||
extern u16 gReadyCloseLinkType;
|
||||
extern u8 gSuppressLinkErrorMessage;
|
||||
extern u8 gWirelessCommType;
|
||||
extern bool8 gSavedLinkPlayerCount;
|
||||
@@ -334,15 +334,15 @@ bool32 LinkDummy_Return2(void);
|
||||
void SetLocalLinkPlayerId(u8);
|
||||
u8 GetSavedPlayerCount(void);
|
||||
void sub_8009FAC(void);
|
||||
bool8 sub_800A4D8(u8 a0);
|
||||
bool8 SendBlockRequest(u8 type);
|
||||
u8 GetLinkPlayerCountAsBitFlags(void);
|
||||
u8 sub_800A0C8(s32, s32);
|
||||
u8 GetSavedLinkPlayerCountAsBitFlags(void);
|
||||
void sub_800AD10(void);
|
||||
void SetCloseLinkCallbackHandleJP(void);
|
||||
void CheckLinkPlayersMatchSaved(void);
|
||||
void StartSendingKeysToLink(void);
|
||||
bool8 DoesLinkPlayerCountMatchSaved(void);
|
||||
void sub_800ABF4(u16 a0);
|
||||
void SetCloseLinkCallbackAndType(u16 type);
|
||||
bool32 IsSendingKeysToLink(void);
|
||||
u32 GetLinkRecvQueueLength(void);
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
#define RFU_COMMAND_0x4400 0x4400
|
||||
#define RFU_COMMAND_0x8800 0x8800
|
||||
#define RFU_COMMAND_0x8900 0x8900
|
||||
#define RFU_COMMAND_0xA100 0xA100
|
||||
#define RFU_COMMAND_SEND_BLOCK_REQ 0xA100
|
||||
#define RFU_COMMAND_0x7700 0x7700
|
||||
#define RFU_COMMAND_0x7800 0x7800
|
||||
#define RFU_COMMAND_0x6600 0x6600
|
||||
#define RFU_COMMAND_0x5F00 0x5F00
|
||||
#define RFU_COMMAND_READY_EXIT_STANDBY 0x6600
|
||||
#define RFU_COMMAND_READY_CLOSE_LINK 0x5F00
|
||||
#define RFU_COMMAND_0x2F00 0x2F00
|
||||
#define RFU_COMMAND_0xBE00 0xBE00
|
||||
#define RFU_COMMAND_0xEE00 0xEE00
|
||||
@@ -125,7 +125,7 @@ struct GFRfuManager
|
||||
/* 0x012 */ u16 unk_12;
|
||||
/* 0x014 */ u8 unk_14[RFU_CHILD_MAX][14];
|
||||
/* 0x04c */ u8 unk_4c[14];
|
||||
/* 0x05a */ u8 unk_5a;
|
||||
/* 0x05a */ u8 blockRequestType;
|
||||
/* 0x05b */ u8 unk_5b;
|
||||
/* 0x05c */ bool8 blockReceived[MAX_RFU_PLAYERS];
|
||||
/* 0x061 */ bool8 numBlocksReceived[MAX_RFU_PLAYERS];
|
||||
@@ -134,14 +134,14 @@ struct GFRfuManager
|
||||
/* 0x068 */ u8 filler_68[4];
|
||||
/* 0x06c */ struct RfuBlockSend sendBlock;
|
||||
/* 0x080 */ struct RfuBlockSend recvBlock[MAX_RFU_PLAYERS];
|
||||
/* 0x0e4 */ u8 unk_e4[5];
|
||||
/* 0x0e9 */ u8 unk_e9[5];
|
||||
/* 0x0e4 */ bool8 readyCloseLink[MAX_RFU_PLAYERS];
|
||||
/* 0x0e9 */ bool8 readyExitStandby[MAX_RFU_PLAYERS];
|
||||
/* 0x0ee */ vu8 errorState;
|
||||
/* 0x0ef */ bool8 isShuttingDown;
|
||||
/* 0x0f0 */ u8 linkLossRecoveryState;
|
||||
/* 0x0f1 */ u8 status;
|
||||
/* 0x0f2 */ u16 unk_f2[6];
|
||||
/* 0x0fe */ u16 unk_fe;
|
||||
/* 0x0fe */ u16 resendExitStandbyTimer;
|
||||
/* 0x100 */ u16 unk_100;
|
||||
/* 0x102 */ u8 unk_102;
|
||||
/* 0x103 */ u8 filler_103[0x10A - 0x103];
|
||||
@@ -203,11 +203,11 @@ bool32 Rfu_InitBlockSend(const u8 *src, size_t size);
|
||||
void ClearLinkRfuCallback(void);
|
||||
u8 Rfu_GetLinkPlayerCount(void);
|
||||
u8 Rfu_GetMultiplayerId(void);
|
||||
bool8 sub_8010100(u8 a0);
|
||||
bool8 Rfu_SendBlockRequest(u8 type);
|
||||
bool8 IsLinkRfuTaskFinished(void);
|
||||
bool8 Rfu_IsMaster(void);
|
||||
void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
|
||||
void sub_8010434(void);
|
||||
void Rfu_SetCloseLinkCallback(void);
|
||||
void Rfu_SetLinkStandbyCallback(void);
|
||||
void ResetLinkRfuGFLayer(void);
|
||||
void UpdateWirelessStatusIndicatorSprite(void);
|
||||
void InitRFU(void);
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#ifndef GUARD_SCRIPTPOKE80F8_H
|
||||
#define GUARD_SCRIPTPOKE80F8_H
|
||||
|
||||
void ShowContestWinner(void);
|
||||
u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8);
|
||||
u8 ScriptGiveEgg(u16);
|
||||
void CreateScriptedWildMon(u16, u8, u16);
|
||||
void ScriptSetMonMoveSlot(u8, u16, u8);
|
||||
|
||||
#endif
|
||||
11
include/script_pokemon_util.h
Normal file
11
include/script_pokemon_util.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_SCRIPT_POKEMON_UTIL
|
||||
#define GUARD_SCRIPT_POKEMON_UTIL
|
||||
|
||||
u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8);
|
||||
u8 ScriptGiveEgg(u16);
|
||||
void CreateScriptedWildMon(u16, u8, u16);
|
||||
void ScriptSetMonMoveSlot(u8, u16, u8);
|
||||
void ReducePlayerPartyToSelectedMons(void);
|
||||
void HealPlayerParty(void);
|
||||
|
||||
#endif // GUARD_SCRIPT_POKEMON_UTIL
|
||||
@@ -1,9 +0,0 @@
|
||||
#ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
|
||||
#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
|
||||
|
||||
u16 GetContestRand(void);
|
||||
void ReducePlayerPartyToSelectedMons(void);
|
||||
void HealPlayerParty(void);
|
||||
u8 CountPlayerContestPaintings(void);
|
||||
|
||||
#endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
|
||||
10
include/tv.h
10
include/tv.h
@@ -59,11 +59,11 @@ void SaveRecordedItemPurchasesForTVShow(void);
|
||||
bool8 ShouldAirFrontierTVShow(void);
|
||||
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
|
||||
void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace);
|
||||
void ContestLiveUpdates_BeforeInterview_1(u8 a0);
|
||||
void ContestLiveUpdates_BeforeInterview_2(u8 a0);
|
||||
void ContestLiveUpdates_BeforeInterview_3(u8 a0);
|
||||
void ContestLiveUpdates_BeforeInterview_4(u16 a0);
|
||||
void ContestLiveUpdates_BeforeInterview_5(u8 a0, u8 a1);
|
||||
void ContestLiveUpdates_Init(u8 round1Placing);
|
||||
void ContestLiveUpdates_SetRound2Placing(u8 round2Placing);
|
||||
void ContestLiveUpdates_SetWinnerAppealFlag(u8 flag);
|
||||
void ContestLiveUpdates_SetWinnerMoveUsed(u16 move);
|
||||
void ContestLiveUpdates_SetLoserData(u8 flag, u8 loser);
|
||||
void ResetGabbyAndTy(void);
|
||||
|
||||
#endif //GUARD_TV_H
|
||||
|
||||
Reference in New Issue
Block a user