summaryrefslogtreecommitdiff
path: root/include/contest.h
diff options
context:
space:
mode:
authorCameron Hall <camthesaxman@users.noreply.github.com>2017-12-22 17:58:40 -0600
committerGitHub <noreply@github.com>2017-12-22 17:58:40 -0600
commitaa13f45ebb79aed62171fbfe654d8b542fc9aa6c (patch)
tree89d4bc15a468733180a0d76041f73ee5364e5d89 /include/contest.h
parent62bdd4d480ced306b85791c828ee8497e9fa2acc (diff)
parent7bf8a1c67fb373854673e870b15ba5170e7b0243 (diff)
Merge pull request #490 from camthesaxman/decompile_contest
decompile contest.s
Diffstat (limited to 'include/contest.h')
-rw-r--r--include/contest.h96
1 files changed, 73 insertions, 23 deletions
diff --git a/include/contest.h b/include/contest.h
index 983f9bc6a..ae2767aef 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -1,40 +1,90 @@
#ifndef GUARD_CONTEST_H
#define GUARD_CONTEST_H
+enum
+{
+ CONTEST_CATEGORY_COOL,
+ CONTEST_CATEGORY_BEAUTY,
+ CONTEST_CATEGORY_CUTE,
+ CONTEST_CATEGORY_SMART,
+ CONTEST_CATEGORY_TOUGH,
+};
+
+enum
+{
+ CONTEST_EFFECT_HIGHLY_APPEALING,
+ CONTEST_EFFECT_USER_MORE_STARTLED,
+ CONTEST_EFFECT_APPEAL_ONLY_ONCE,
+ CONTEST_EFFECT_REPEATABLE,
+ CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ CONTEST_EFFECT_AVOID_STARTLE,
+ CONTEST_EFFECT_AVOID_STARTLE_LITTLE,
+ //...
+};
+
+struct ContestMove
+{
+ u8 effect;
+ u8 contestCategory:3;
+ u8 comboStarterId;
+ u8 comboMoves[4];
+};
+
+struct ContestEffect
+{
+ u8 effectType;
+ u8 appeal;
+ u8 jam;
+};
+
struct ContestPokemon
{
- /* 0x00 */ u16 species;
- /* 0x02 */ u8 nickname[POKEMON_NAME_LENGTH];
- /* 0x0D */ u8 trainerName[8];
- /* 0x15 */ u8 unk15;
- /* 0x16 */ u8 unk16;
- /* 0x17 */ u8 filler17[7];
- /* 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 filler2C[12];
- /* 0x38 */ u32 unk38;
- /* 0x3C */ u32 unk3C;
+ /*0x00*/ u16 species;
+ /*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
+ /*0x0D*/ u8 trainerName[8];
+ /*0x15*/ u8 trainerGfxId;
+ /*0x16*/ u8 unk16;
+ /*0x17*/ u8 filler17;
+ /*0x18*/ u32 flags;
+ /*0x1C*/ u8 unk1C_0:2;
+ u8 unk1C_2:1;
+ u8 unk1C_3:1;
+ u8 unk1C_4:1;
+ u8 unk1C_5:1;
+ u8 unk1C_6:1;
+ u8 unk1C_7:1;
+ u8 filler1D;
+ /*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;
+ /*0x2D*/ u8 unk2D[11];
+ /*0x38*/ u32 personality; // personality
+ /*0x3C*/ u32 otId; // otId
}; // wow
extern struct ContestPokemon gContestMons[];
+extern const struct ContestMove gContestMoves[];
+extern const struct ContestEffect gContestEffects[];
+extern const u8 *const gContestEffectStrings[];
+
void ResetLinkContestBoolean(void);
void sub_80AB2AC(void);
-void sub_80AB47C(void);
-void sub_80AE098(u8);
-void sub_80AE398(u8, u8);
+void CB2_StartContest(void);
+void Contest_CreatePlayerMon(u8);
+void Contest_InitAllPokemon(u8, u8);
u8 sub_80AE47C(struct Pokemon *party);
-u32 sub_80AE770(u8, u8);
+u16 sub_80AE770(u8, u8);
void sub_80AE82C(u8);
-u8 sub_80AEB1C();
+u8 sub_80AEB1C(u16);
void sub_80AF668(void);
void sub_80B0F28(u8);
-int sub_80B2A7C(u8); //Don't know return type size
+bool8 Contest_SaveWinner(u8);
u8 sub_80B2C4C(u8, u8);
-void sub_80B2D1C(void);
+void Contest_ResetWinners(void);
#endif // GUARD_CONTEST_H