summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGriffinR <griffin.richards@comcast.net>2019-11-10 21:54:00 -0500
committerhuderlem <huderlem@gmail.com>2019-11-13 18:20:55 -0600
commitef8370566f14c22b9927db09b8ff69a98049c796 (patch)
treef0b6bc3021d2d0b5927346eff282f0f12ff16960 /include
parentaf83b41dd19a49121f23d188015959d8072e4d7f (diff)
Document Contest scripts
Diffstat (limited to 'include')
-rw-r--r--include/constants/contest.h13
-rw-r--r--include/constants/flags.h6
-rwxr-xr-xinclude/constants/layouts.h12
-rwxr-xr-xinclude/constants/map_groups.h12
-rw-r--r--include/constants/tv.h3
-rw-r--r--include/constants/union_room.h28
-rw-r--r--include/constants/vars.h4
-rw-r--r--include/contest.h22
-rw-r--r--include/contest_link_80F57C4.h8
-rw-r--r--include/field_screen_effect.h2
-rw-r--r--include/link.h4
-rw-r--r--include/script_pokemon_util_80F87D8.h2
-rw-r--r--include/tv.h2
13 files changed, 77 insertions, 41 deletions
diff --git a/include/constants/contest.h b/include/constants/contest.h
index 0c866069e..186c56e2b 100644
--- a/include/constants/contest.h
+++ b/include/constants/contest.h
@@ -9,6 +9,19 @@
#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2)
+#define CONTEST_RANK_NORMAL 0
+#define CONTEST_RANK_SUPER 1
+#define CONTEST_RANK_HYPER 2
+#define CONTEST_RANK_MASTER 3
+#define CONTEST_RANK_LINK 4
+
+// States for VAR_CONTEST_TYPE
+#define CONTEST_TYPE_NPC_NORMAL (CONTEST_RANK_NORMAL + 1)
+#define CONTEST_TYPE_NPC_SUPER (CONTEST_RANK_SUPER + 1)
+#define CONTEST_TYPE_NPC_HYPER (CONTEST_RANK_HYPER + 1)
+#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
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 00aa328f7..8a507e976 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -95,7 +95,7 @@
#define FLAG_UNUSED_0x054 0x54 // Unused Flag
#define FLAG_UNUSED_0x055 0x55 // Unused Flag
-#define FLAG_LINK_CONTEST_POKE_BALL 0x56
+#define FLAG_HIDE_CONTEST_POKE_BALL 0x56 // Always set after new game, object it hides is added directly
#define FLAG_MET_RIVAL_MOM 0x57
#define FLAG_BIRCH_AIDE_MET 0x58
#define FLAG_DECLINED_BIKE 0x59
@@ -287,7 +287,7 @@
#define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B
#define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C
#define FLAG_RECEIVED_TM46 0x10D
-#define FLAG_CONTEST_SKETCH_CREATED 0x10E
+#define FLAG_CONTEST_SKETCH_CREATED 0x10E // Set but never read
#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F
#define FLAG_RECEIVED_EXP_SHARE 0x110
#define FLAG_POKERUS_EXPLAINED 0x111
@@ -361,7 +361,7 @@
#define FLAG_MET_BATTLE_FRONTIER_BREEDER 0x153
#define FLAG_MET_BATTLE_FRONTIER_MANIAC 0x154
-#define FLAG_ENTERED_LINK_CONTEST 0x155
+#define FLAG_ENTERED_CONTEST 0x155
#define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN 0x156
#define FLAG_MET_BATTLE_FRONTIER_BETTOR 0x157
#define FLAG_ENABLE_MR_STONE_POKENAV 0x158
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
index fd64196e0..5e134b119 100755
--- a/include/constants/layouts.h
+++ b/include/constants/layouts.h
@@ -225,18 +225,18 @@
#define LAYOUT_TRADE_CENTER 222
#define LAYOUT_RECORD_CORNER 223
#define LAYOUT_BATTLE_COLOSSEUM_4P 224
-#define LAYOUT_LINK_CONTEST_ROOM1 225
+#define LAYOUT_CONTEST_HALL 225
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29 226
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_30 227
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_31 228
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_32 229
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_33 230
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_34 231
-#define LAYOUT_LINK_CONTEST_ROOM2 232
-#define LAYOUT_LINK_CONTEST_ROOM3 233
-#define LAYOUT_LINK_CONTEST_ROOM4 234
-#define LAYOUT_LINK_CONTEST_ROOM5 235
-#define LAYOUT_LINK_CONTEST_ROOM6 236
+#define LAYOUT_CONTEST_HALL_BEAUTY 232
+#define LAYOUT_CONTEST_HALL_TOUGH 233
+#define LAYOUT_CONTEST_HALL_COOL 234
+#define LAYOUT_CONTEST_HALL_SMART 235
+#define LAYOUT_CONTEST_HALL_CUTE 236
#define LAYOUT_INSIDE_OF_TRUCK 237
#define LAYOUT_SAFARI_ZONE_NORTHWEST 238
#define LAYOUT_SAFARI_ZONE_NORTH 239
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
index be8f2fec8..23a8f224f 100755
--- a/include/constants/map_groups.h
+++ b/include/constants/map_groups.h
@@ -426,18 +426,18 @@
#define MAP_TRADE_CENTER (25 | (25 << 8))
#define MAP_RECORD_CORNER (26 | (25 << 8))
#define MAP_BATTLE_COLOSSEUM_4P (27 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
+#define MAP_CONTEST_HALL (28 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_29 (29 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_30 (30 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_31 (31 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_32 (32 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_33 (33 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_34 (34 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
+#define MAP_CONTEST_HALL_BEAUTY (35 | (25 << 8))
+#define MAP_CONTEST_HALL_TOUGH (36 | (25 << 8))
+#define MAP_CONTEST_HALL_COOL (37 | (25 << 8))
+#define MAP_CONTEST_HALL_SMART (38 | (25 << 8))
+#define MAP_CONTEST_HALL_CUTE (39 | (25 << 8))
#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
diff --git a/include/constants/tv.h b/include/constants/tv.h
index c22bec9a3..fddf650e4 100644
--- a/include/constants/tv.h
+++ b/include/constants/tv.h
@@ -43,4 +43,7 @@
// //
#define TVSHOW_MASS_OUTBREAK 41
+// Number of ribbons to put Spot the Cuties on air
+#define NUM_CUTIES_RIBBONS 4
+
#endif //GUARD_CONSTANTS_TV_H
diff --git a/include/constants/union_room.h b/include/constants/union_room.h
new file mode 100644
index 000000000..2314f85a0
--- /dev/null
+++ b/include/constants/union_room.h
@@ -0,0 +1,28 @@
+#ifndef GUARD_CONSTANTS_UNION_ROOM_H
+#define GUARD_CONSTANTS_UNION_ROOM_H
+
+#define LINK_GROUP_SINGLE_BATTLE 0
+#define LINK_GROUP_DOUBLE_BATTLE 1
+#define LINK_GROUP_MULTI_BATTLE 2
+#define LINK_GROUP_TRADE 3
+#define LINK_GROUP_POKEMON_JUMP 4
+#define LINK_GROUP_BERRY_CRUSH 5
+#define LINK_GROUP_BERRY_PICKING 6
+#define LINK_GROUP_WONDER_CARD 7
+#define LINK_GROUP_WONDER_NEWS 8
+#define LINK_GROUP_UNK_9 9
+#define LINK_GROUP_UNK_10 10
+#define LINK_GROUP_UNK_11 11
+#define LINK_GROUP_RECORD_CORNER 12
+#define LINK_GROUP_BERRY_BLENDER 13
+#define LINK_GROUP_UNK_14 14
+#define LINK_GROUP_COOL_CONTEST 15
+#define LINK_GROUP_BEAUTY_CONTEST 16
+#define LINK_GROUP_CUTE_CONTEST 17
+#define LINK_GROUP_SMART_CONTEST 18
+#define LINK_GROUP_TOUGH_CONTEST 19
+#define LINK_GROUP_BATTLE_TOWER 20
+#define LINK_GROUP_BATTLE_TOWER_OPEN 21
+#define NUM_LINK_GROUP_TYPES 22
+
+#endif //GUARD_CONSTANTS_UNION_ROOM_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 099c9ac9f..0d217b192 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -148,9 +148,9 @@
#define VAR_UNUSED_0x4083 0x4083 // Unused Var
#define VAR_BIRCH_LAB_STATE 0x4084
#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman
-#define VAR_LINK_CONTEST_ROOM_STATE 0x4086
+#define VAR_CONTEST_HALL_STATE 0x4086
#define VAR_CABLE_CLUB_STATE 0x4087
-#define VAR_CONTEST_LOCATION 0x4088
+#define VAR_CONTEST_TYPE 0x4088
#define VAR_SECRET_BASE_INITIALIZED 0x4089
#define VAR_CONTEST_PRIZE_PICKUP 0x408A
#define VAR_UNUSED_0x408B 0x408B // Unused Var
diff --git a/include/contest.h b/include/contest.h
index 49e130b08..00c3191eb 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -201,14 +201,6 @@ enum
};
enum {
- CONTEST_RANK_NORMAL,
- CONTEST_RANK_SUPER,
- CONTEST_RANK_HYPER,
- CONTEST_RANK_MASTER,
- CONTEST_RANK_LINK
-};
-
-enum {
CONTEST_FILTER_NONE,
CONTEST_FILTER_NO_POSTGAME,
CONTEST_FILTER_ONLY_POSTGAME
@@ -436,15 +428,15 @@ struct ContestResources
#define eContestDebugMode (gHeap[0x1a000])
#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004))
-extern struct ContestPokemon gContestMons[4];
-extern s16 gContestMonConditions[4];
-extern s16 gUnknown_02039F08[4];
-extern s16 gUnknown_02039F10[4];
-extern s16 gUnknown_02039F18[4];
-extern u8 gContestFinalStandings[4];
+extern struct ContestPokemon gContestMons[CONTESTANT_COUNT];
+extern s16 gContestMonConditions[CONTESTANT_COUNT];
+extern s16 gUnknown_02039F08[CONTESTANT_COUNT];
+extern s16 gUnknown_02039F10[CONTESTANT_COUNT];
+extern s16 gUnknown_02039F18[CONTESTANT_COUNT];
+extern u8 gContestFinalStandings[CONTESTANT_COUNT];
extern u8 gContestMonPartyIndex;
extern u8 gContestPlayerMonIndex;
-extern u8 gContestantTurnOrder[4];
+extern u8 gContestantTurnOrder[CONTESTANT_COUNT];
extern u8 gLinkContestFlags;
extern u8 gUnknown_02039F2B;
extern u16 gSpecialVar_ContestCategory;
diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h
index b4ccf2803..add3ae62f 100644
--- a/include/contest_link_80F57C4.h
+++ b/include/contest_link_80F57C4.h
@@ -1,10 +1,10 @@
#ifndef GUARD_CONTEST_LINK_80F57C4_H
#define GUARD_CONTEST_LINK_80F57C4_H
-void sub_80F8264(void);
-void sub_80F8290(void);
-void sub_80F840C(void);
-void sub_80F8438(void);
+void BufferContestantTrainerName(void);
+void BufferContestantMonNickname(void);
+void StartContest(void);
+void BufferContestantMonSpecies(void);
void sub_80F8484(void);
void sub_80F84C4(u8);
void sub_80FC998(u8 taskId);
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index 42f077dc3..02a927d4b 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -32,7 +32,7 @@ void DoMossdeepGymWarp(void);
void sub_80AF8B8(void);
void sub_80AF948(void);
void sub_80AF9F8(void);
-void sub_80AFC60(void);
+void DoContestHallWarp(void);
void AnimateFlash(u8 flashLevel);
void WriteBattlePyramidViewScanlineEffectBuffer(void);
void sub_80B0244(void);
diff --git a/include/link.h b/include/link.h
index 32dfaf51e..4d6771a03 100644
--- a/include/link.h
+++ b/include/link.h
@@ -92,8 +92,8 @@
#define LINKTYPE_0x5501 0x5501 // mystery event
#define LINKTYPE_0x5502 0x5502 // unused?
#define LINKTYPE_0x5503 0x5503 // eReader
-#define LINKTYPE_0x6601 0x6601
-#define LINKTYPE_0x6602 0x6602
+#define LINKTYPE_CONTEST_GMODE 0x6601
+#define LINKTYPE_CONTEST_EMODE 0x6602
struct LinkStatus
{
diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h
index 7d8d99628..7c246b745 100644
--- a/include/script_pokemon_util_80F87D8.h
+++ b/include/script_pokemon_util_80F87D8.h
@@ -1,7 +1,7 @@
#ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
-u16 sub_80F903C(void);
+u16 GetContestRand(void);
void ReducePlayerPartyToSelectedMons(void);
void HealPlayerParty(void);
u8 CountPlayerContestPaintings(void);
diff --git a/include/tv.h b/include/tv.h
index d0ca648be..8b37116de 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -20,7 +20,7 @@ void IncrementDailyPickedBerries(void);
void IncrementDailyBattlePoints(u16 delta);
void sub_80F01B8(void);
void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx);
-void sub_80EE4DC(struct Pokemon *pokemon, u8 ribbonMonDataIdx);
+void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx);
u32 GetPlayerIDAsU32(void);
bool8 GetPriceReduction(u8 newsKind);
void sub_80F14F8(TVShow *shows);