summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/cable_club.h16
-rw-r--r--include/constants/contest.h17
-rw-r--r--include/constants/field_specials.h5
-rw-r--r--include/constants/flags.h8
-rw-r--r--include/constants/global.h4
-rw-r--r--include/constants/items.h2
-rw-r--r--include/constants/opponents.h1
-rw-r--r--include/constants/trainers.h2
-rw-r--r--include/constants/union_room.h78
-rw-r--r--include/constants/vars.h1
10 files changed, 127 insertions, 7 deletions
diff --git a/include/constants/cable_club.h b/include/constants/cable_club.h
index f2aa4120c..cbdd049db 100644
--- a/include/constants/cable_club.h
+++ b/include/constants/cable_club.h
@@ -12,4 +12,20 @@
#define USING_MINIGAME 8
#define USING_BATTLE_TOWER 9
+// Return states for the group of specials that use CreateLinkupTask
+// A few also used by TryBecomeLinkLeader and TryJoinLinkGroup
+#define LINKUP_ONGOING 0
+#define LINKUP_SUCCESS 1
+#define LINKUP_SOMEONE_NOT_READY 2
+#define LINKUP_DIFF_SELECTIONS 3
+#define LINKUP_WRONG_NUM_PLAYERS 4
+#define LINKUP_FAILED 5
+#define LINKUP_CONNECTION_ERROR 6
+#define LINKUP_PLAYER_NOT_READY 7
+#define LINKUP_RETRY_ROLE_ASSIGN 8
+#define LINKUP_PARTNER_NOT_READY 9
+#define LINKUP_FAILED_CONTEST_GMODE 10
+#define LINKUP_FAILED_BATTLE_TOWER 11
+#define LINKUP_FOREIGN_GAME 12
+
#endif //GUARD_CONSTANTS_CABLE_CLUB_H
diff --git a/include/constants/contest.h b/include/constants/contest.h
index 186c56e2b..2de2866a3 100644
--- a/include/constants/contest.h
+++ b/include/constants/contest.h
@@ -29,6 +29,23 @@
#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
+#define CONTEST_WINNER_HALL_3 3
+#define CONTEST_WINNER_HALL_4 4
+#define CONTEST_WINNER_HALL_5 5
+#define CONTEST_WINNER_HALL_6 6
+#define NUM_CONTEST_HALL_WINNERS 6
+#define CONTEST_WINNER_7 7
+#define CONTEST_WINNER_8 8
+#define CONTEST_WINNER_MUSEUM_COOL 9
+#define CONTEST_WINNER_MUSEUM_BEAUTY 10
+#define CONTEST_WINNER_MUSEUM_CUTE 11
+#define CONTEST_WINNER_MUSEUM_SMART 12
+#define CONTEST_WINNER_MUSEUM_TOUGH 13
+// NUM_CONTEST_WINNERS in constants/global.h
+
#define CANT_ENTER_CONTEST 0
#define CAN_ENTER_CONTEST_EQUAL_RANK 1
#define CAN_ENTER_CONTEST_HIGH_RANK 2
diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h
index a2dc117e4..a01151378 100644
--- a/include/constants/field_specials.h
+++ b/include/constants/field_specials.h
@@ -75,4 +75,9 @@
#define FANCLUB_MEMBER7 14
#define FANCLUB_MEMBER8 15
+#define FANCOUNTER_DEFEATED_DRAKE 0
+#define FANCOUNTER_BATTLED_AT_BASE 1
+#define FANCOUNTER_FINISHED_CONTEST 2
+#define FANCOUNTER_USED_BATTLE_TOWER 3
+
#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 4dd18880f..a9c7abae1 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1573,7 +1573,9 @@
#define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag
// Daily Flags
-#define DAILY_FLAGS_START 0x920
+// These flags are cleared once per day
+// The start and end are byte-aligned because the flags are cleared in byte increments
+#define DAILY_FLAGS_START (FLAG_UNUSED_0x91F + (8 - FLAG_UNUSED_0x91F % 8))
#define FLAG_UNUSED_0x920 (DAILY_FLAGS_START + 0x0) // Unused Flag
#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (DAILY_FLAGS_START + 0x1)
#define FLAG_DAILY_SECRET_BASE (DAILY_FLAGS_START + 0x2)
@@ -1639,7 +1641,9 @@
#define FLAG_UNUSED_0x95D (DAILY_FLAGS_START + 0x3D) // Unused Flag
#define FLAG_UNUSED_0x95E (DAILY_FLAGS_START + 0x3E) // Unused Flag
#define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag
-#define DAILY_FLAGS_END FLAG_UNUSED_0x95F
+#define DAILY_FLAGS_END (FLAG_UNUSED_0x95F + (7 - FLAG_UNUSED_0x95F % 8))
+
+#define FLAGS_COUNT (DAILY_FLAGS_END + 1)
// Special Flags (Stored in EWRAM (gSpecialFlags), not in the SaveBlock)
#define SPECIAL_FLAGS_START 0x4000
diff --git a/include/constants/global.h b/include/constants/global.h
index c7063d71c..98f15e7dc 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -34,8 +34,6 @@
#define POKEBLOCKS_COUNT 40
#define OBJECT_EVENTS_COUNT 16
#define BERRY_TREES_COUNT 128
-#define FLAGS_COUNT 300
-#define VARS_COUNT 256
#define MAIL_COUNT 16
#define SECRET_BASES_COUNT 20
#define TV_SHOWS_COUNT 25
@@ -52,6 +50,8 @@
#define APPRENTICE_COUNT 4
#define APPRENTICE_MAX_QUESTIONS 9
#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used
+#define NUM_CONTEST_WINNERS 13
+#define UNION_ROOM_KB_ROW_COUNT 10
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
diff --git a/include/constants/items.h b/include/constants/items.h
index fafcac8b1..ba4d3c49e 100644
--- a/include/constants/items.h
+++ b/include/constants/items.h
@@ -17,6 +17,8 @@
#define ITEM_LUXURY_BALL 11
#define ITEM_PREMIER_BALL 12
+#define LAST_BALL ITEM_PREMIER_BALL
+
// Pokemon Items
#define ITEM_POTION 13
#define ITEM_ANTIDOTE 14
diff --git a/include/constants/opponents.h b/include/constants/opponents.h
index cd35cf6b7..c9cf9239d 100644
--- a/include/constants/opponents.h
+++ b/include/constants/opponents.h
@@ -859,6 +859,7 @@
// NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows
// More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled
+// MAX_TRAINERS_COUNT can be increased but will take up additional saveblock space
#define TRAINERS_COUNT 855
#define MAX_TRAINERS_COUNT 864
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index 541b131ca..3f22c7cef 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -13,7 +13,7 @@
#define TRAINER_PLAYER 1023
#define TRAINER_SECRET_BASE 1024
#define TRAINER_LINK_OPPONENT 2048
-#define TRAINER_OPPONENT_C00 3072
+#define TRAINER_UNION_ROOM 3072
#define TRAINER_STEVEN_PARTNER 3075
#define TRAINER_PIC_HIKER 0
diff --git a/include/constants/union_room.h b/include/constants/union_room.h
index 2314f85a0..d867fb340 100644
--- a/include/constants/union_room.h
+++ b/include/constants/union_room.h
@@ -1,6 +1,60 @@
#ifndef GUARD_CONSTANTS_UNION_ROOM_H
#define GUARD_CONSTANTS_UNION_ROOM_H
+#define MAX_UNION_ROOM_PLAYERS 8
+
+#define UNION_ROOM_SPAWN_NONE 0
+#define UNION_ROOM_SPAWN_IN 1
+#define UNION_ROOM_SPAWN_OUT 2
+
+#define ACTIVITY_NONE 0
+#define ACTIVITY_BATTLE_SINGLE 1
+#define ACTIVITY_BATTLE_DOUBLE 2
+#define ACTIVITY_BATTLE_MULTI 3
+#define ACTIVITY_TRADE 4
+#define ACTIVITY_CHAT 5
+#define ACTIVITY_WONDER_CARD 6
+#define ACTIVITY_WONDER_NEWS 7
+#define ACTIVITY_CARD 8
+#define ACTIVITY_POKEMON_JUMP 9
+#define ACTIVITY_BERRY_CRUSH 10
+#define ACTIVITY_BERRY_PICK 11
+#define ACTIVITY_SEARCH 12
+#define ACTIVITY_SPIN_TRADE 13
+#define ACTIVITY_BATTLE_TOWER_OPEN 14
+#define ACTIVITY_RECORD_CORNER 15
+#define ACTIVITY_BERRY_BLENDER 16
+
+// Player response
+#define ACTIVITY_ACCEPT 17
+#define ACTIVITY_DECLINE 18
+
+#define ACTIVITY_NPCTALK 19
+#define ACTIVITY_PLYRTALK 20
+
+// Duplicate IDs?
+#define ACTIVITY_WONDER_CARD2 21
+#define ACTIVITY_WONDER_NEWS2 22
+
+#define ACTIVITY_CONTEST_COOL 23
+#define ACTIVITY_CONTEST_BEAUTY 24
+#define ACTIVITY_CONTEST_CUTE 25
+#define ACTIVITY_CONTEST_SMART 26
+#define ACTIVITY_CONTEST_TOUGH 27
+#define ACTIVITY_BATTLE_TOWER 28
+#define ACTIVITY_29 29
+
+#define IN_UNION_ROOM (1 << 6)
+
+// Used in UR_AddTextPrinterParameterized
+#define UR_COLOR_DKE_WHT_LTE 0
+#define UR_COLOR_RED_WHT_LTR 1
+#define UR_COLOR_GRN_WHT_LTG 2
+#define UR_COLOR_WHT_WHT_LTE 3
+#define UR_COLOR_WHT_DKE_LTE 4
+#define UR_COLOR_GRN_DN6_LTB 5
+#define UR_COLOR_DN5_DN6_LTB 6
+
#define LINK_GROUP_SINGLE_BATTLE 0
#define LINK_GROUP_DOUBLE_BATTLE 1
#define LINK_GROUP_MULTI_BATTLE 2
@@ -10,8 +64,8 @@
#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_UNION_ROOM_RESUME 9
+#define LINK_GROUP_UNION_ROOM_INIT 10
#define LINK_GROUP_UNK_11 11
#define LINK_GROUP_RECORD_CORNER 12
#define LINK_GROUP_BERRY_BLENDER 13
@@ -25,4 +79,24 @@
#define LINK_GROUP_BATTLE_TOWER_OPEN 21
#define NUM_LINK_GROUP_TYPES 22
+#define UR_TRADE_MATCH 0
+#define UR_TRADE_NOTYPE 1
+#define UR_TRADE_NOEGG 2
+
+#define UR_TRADE_READY 0
+#define UR_TRADE_PLAYER_NOT_READY 1
+#define UR_TRADE_PARTNER_NOT_READY 2
+
+#define UR_INTERACT_PLAYER_1 1
+#define UR_INTERACT_PLAYER_2 2
+#define UR_INTERACT_PLAYER_3 3
+#define UR_INTERACT_PLAYER_4 4
+#define UR_INTERACT_PLAYER_5 5
+#define UR_INTERACT_PLAYER_6 6
+#define UR_INTERACT_PLAYER_7 7
+#define UR_INTERACT_PLAYER_8 8
+#define UR_INTERACT_ATTENDANT 9
+#define UR_INTERACT_UNUSED 10
+#define UR_INTERACT_START_MENU 11
+
#endif //GUARD_CONSTANTS_UNION_ROOM_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 4a38bde81..625c37aa9 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -274,6 +274,7 @@
#define VAR_UNUSED_0x40FF 0x40FF // Unused Var
#define VARS_END 0x40FF
+#define VARS_COUNT (VARS_END - VARS_START + 1)
#define SPECIAL_VARS_START 0x8000
// special vars