summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/daycare.h27
-rw-r--r--include/constants/event_object_movement.h7
-rw-r--r--include/constants/flags.h18
-rw-r--r--include/constants/global.h3
-rw-r--r--include/constants/item_menu.h35
-rw-r--r--include/constants/layouts.h10
-rw-r--r--include/constants/map_groups.h12
-rw-r--r--include/constants/menu.h31
-rw-r--r--include/constants/metatile_labels.h6
-rw-r--r--include/constants/pokemon.h118
-rw-r--r--include/constants/region_map.h4
11 files changed, 248 insertions, 23 deletions
diff --git a/include/constants/daycare.h b/include/constants/daycare.h
new file mode 100644
index 000000000..103f920f2
--- /dev/null
+++ b/include/constants/daycare.h
@@ -0,0 +1,27 @@
+#ifndef GUARD_DAYCARE_CONSTANTS_H
+#define GUARD_DAYCARE_CONSTANTS_H
+
+// Parent compatability scores
+#define PARENTS_INCOMPATIBLE 0
+#define PARENTS_LOW_COMPATIBILITY 20
+#define PARENTS_MED_COMPATABILITY 50
+#define PARENTS_MAX_COMPATABILITY 70
+
+// Daycare state
+#define DAYCARE_NO_MONS 0
+#define DAYCARE_EGG_WAITING 1
+#define DAYCARE_ONE_MON 2
+#define DAYCARE_TWO_MONS 3
+
+#define INHERITED_IV_COUNT 3
+#define EGG_HATCH_LEVEL 5
+#define EGG_GENDER_MALE 0x8000 // used to create a male egg from a female-only parent species (e.g. Nidoran)
+
+#define DAYCARE_LEVEL_MENU_EXIT 5
+#define DAYCARE_EXITED_LEVEL_MENU 2 // would be redundant with above if GF had used the same value
+
+// Array buffers
+#define EGG_MOVES_ARRAY_COUNT 10
+#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50
+
+#endif //GUARD_DAYCARE_CONSTANTS_H
diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h
index 6a4405b65..bf75a47cc 100644
--- a/include/constants/event_object_movement.h
+++ b/include/constants/event_object_movement.h
@@ -1,6 +1,7 @@
#ifndef GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
#define GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
+// FIXME: Different in FRLG
#define MOVEMENT_TYPE_NONE 0x0
#define MOVEMENT_TYPE_LOOK_AROUND 0x1
#define MOVEMENT_TYPE_WANDER_AROUND 0x2
@@ -239,8 +240,10 @@
#define MOVEMENT_ACTION_STOP_LEVITATE 0x99
#define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A
#define MOVEMENT_ACTION_FIGURE_8 0x9B
-#define MOVEMENT_ACTION_FLY_UP 0x9C
-#define MOVEMENT_ACTION_FLY_DOWN 0x9D
+
+// These two are verified correct in FRLG
+#define MOVEMENT_ACTION_FLY_UP 0xA4
+#define MOVEMENT_ACTION_FLY_DOWN 0xA5
#define MOVEMENT_ACTION_STEP_END 0xFE
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 982c90fcc..26ffa8a7c 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -104,14 +104,14 @@
#define FLAG_HIDE_DOJO_HITMONLEE_BALL 0x060
#define FLAG_HIDE_DOJO_HITMONCHAN_BALL 0x061
#define FLAG_HIDE_CINNABAR_BILL 0x062
-#define FLAG_HIDE_UNION_ROOM_1 0x063
-#define FLAG_HIDE_UNION_ROOM_2 0x064
-#define FLAG_HIDE_UNION_ROOM_3 0x065
-#define FLAG_HIDE_UNION_ROOM_4 0x066
-#define FLAG_HIDE_UNION_ROOM_5 0x067
-#define FLAG_HIDE_UNION_ROOM_6 0x068
-#define FLAG_HIDE_UNION_ROOM_7 0x069
-#define FLAG_HIDE_UNION_ROOM_8 0x06A
+#define FLAG_HIDE_UNION_ROOM_PLAYER_1 0x063
+#define FLAG_HIDE_UNION_ROOM_PLAYER_2 0x064
+#define FLAG_HIDE_UNION_ROOM_PLAYER_3 0x065
+#define FLAG_HIDE_UNION_ROOM_PLAYER_4 0x066
+#define FLAG_HIDE_UNION_ROOM_PLAYER_5 0x067
+#define FLAG_HIDE_UNION_ROOM_PLAYER_6 0x068
+#define FLAG_HIDE_UNION_ROOM_PLAYER_7 0x069
+#define FLAG_HIDE_UNION_ROOM_PLAYER_8 0x06A
#define FLAG_HIDE_CINNABAR_SEAGALLOP 0x06B
#define FLAG_HIDE_SAFFRON_FAN_CLUB_BLACKBELT 0x06C
#define FLAG_HIDE_SAFFRON_FAN_CLUB_ROCKER 0x06D
@@ -450,7 +450,7 @@
#define FLAG_HIDE_CERULEAN_CAVE_2F_ULTRA_BALL 0x1B6
#define FLAG_HIDE_CERULEAN_CAVE_B1F_MAX_REVIVE 0x1B7
#define FLAG_HIDE_CERULEAN_CAVE_B1F_ULTRA_BALL 0x1B8
-#define FLAG_HIDE_FUCHSIA_CITY_BUILDING1_RARE_CANDY 0x1B9
+#define FLAG_HIDE_FUCHSIA_CITY_WARDENS_HOUSE_RARE_CANDY 0x1B9
#define FLAG_HIDE_TWO_ISLAND_REVIVE 0x1BA
#define FLAG_HIDE_THREE_ISLAND_ZINC 0x1BB
#define FLAG_0x1BC 0x1BC
diff --git a/include/constants/global.h b/include/constants/global.h
index 420a9da71..77ef6f203 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -36,6 +36,7 @@
#define MALE 0
#define FEMALE 1
+#define GENDER_COUNT 2
#define OPTIONS_BUTTON_MODE_HELP 0
#define OPTIONS_BUTTON_MODE_LR 1
@@ -59,6 +60,8 @@
#define NUM_BAG_POCKETS 5
+#define MAX_MON_MOVES 4
+
#define PARTY_SIZE 6
#define MULTI_PARTY_SIZE (PARTY_SIZE / 2)
diff --git a/include/constants/item_menu.h b/include/constants/item_menu.h
new file mode 100644
index 000000000..d173b9212
--- /dev/null
+++ b/include/constants/item_menu.h
@@ -0,0 +1,35 @@
+#ifndef GUARD_CONSTANTS_ITEM_MENU_H
+#define GUARD_CONSTANTS_ITEM_MENU_H
+
+#define OPEN_BAG_ITEMS 0
+#define OPEN_BAG_KEYITEMS 1
+#define OPEN_BAG_POKEBALLS 2
+#define OPEN_BAG_LAST 3
+
+#define ITEMMENULOCATION_FIELD 0
+#define ITEMMENULOCATION_PARTY 1
+#define ITEMMENULOCATION_SHOP 2
+#define ITEMMENULOCATION_ITEMPC 3
+#define ITEMMENULOCATION_PCBOX 4
+#define ITEMMENULOCATION_BATTLE 5
+#define ITEMMENULOCATION_OLD_MAN 6
+#define ITEMMENULOCATION_TTVSCR_STATUS 7
+#define ITEMMENULOCATION_TTVSCR_CATCHING 8
+#define ITEMMENULOCATION_TTVSCR_REGISTER 9
+#define ITEMMENULOCATION_TTVSCR_TMS 10
+#define ITEMMENULOCATION_LAST 11
+
+#define ITEMMENUACTION_USE 0
+#define ITEMMENUACTION_TOSS 1
+#define ITEMMENUACTION_REGISTER 2
+#define ITEMMENUACTION_GIVE 3
+#define ITEMMENUACTION_CANCEL 4
+#define ITEMMENUACTION_BATTLE_USE 5
+#define ITEMMENUACTION_CHECK 6
+#define ITEMMENUACTION_OPEN 7
+#define ITEMMENUACTION_OPEN_BERRIES 8
+#define ITEMMENUACTION_WALK 9
+#define ITEMMENUACTION_DESELECT 10
+#define ITEMMENUACTION_DUMMY 11
+
+#endif //GUARD_CONSTANTS_ITEM_MENU_H
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
index a9d40220f..657d531e8 100644
--- a/include/constants/layouts.h
+++ b/include/constants/layouts.h
@@ -180,10 +180,10 @@
#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_4F 195
#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_5F 196
#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_ROOF 197
-#define LAYOUT_SAFARI_ZONE_BUILDING 198
+#define LAYOUT_SAFARI_ZONE_REST_HOUSE 198
#define LAYOUT_SAFARI_ZONE_SECRET_HOUSE 199
-#define LAYOUT_FUCHSIA_CITY_ZOO_BUILDING 200
-#define LAYOUT_FUCHSIA_CITY_BUILDING1 201
+#define LAYOUT_FUCHSIA_CITY_SAFARI_ZONE_OFFICE 200
+#define LAYOUT_FUCHSIA_CITY_WARDENS_HOUSE 201
#define LAYOUT_FUCHSIA_CITY_HOUSE2 202
#define LAYOUT_CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE 203
#define LAYOUT_CINNABAR_ISLAND_POKEMON_LAB_LOUNGE 204
@@ -260,8 +260,8 @@
#define LAYOUT_ROUTE5_POKEMON_DAY_CARE 275
#define LAYOUT_VIRIDIAN_CITY_HOUSE1 276
#define LAYOUT_FOUR_ISLAND_POKEMON_DAY_CARE 277
-#define LAYOUT_UNUSED_LAYOUT_833B6EC 278
-#define LAYOUT_UNUSED_LAYOUT_833BE30 279
+#define LAYOUT_SEAFOAM_ISLANDS_B3F_CURRENT_STOPPED 278
+#define LAYOUT_SEAFOAM_ISLANDS_B4F_CURRENT_STOPPED 279
#define LAYOUT_MT_EMBER_EXTERIOR 280
#define LAYOUT_MT_EMBER_SUMMIT 281
#define LAYOUT_MT_EMBER_SUMMIT_PATH_1F 282
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
index 4d37b0dc8..0cc1c27fb 100644
--- a/include/constants/map_groups.h
+++ b/include/constants/map_groups.h
@@ -76,10 +76,10 @@
#define MAP_SAFARI_ZONE_EAST (64 | (1 << 8))
#define MAP_SAFARI_ZONE_NORTH (65 | (1 << 8))
#define MAP_SAFARI_ZONE_WEST (66 | (1 << 8))
-#define MAP_SAFARI_ZONE_BUILDING1 (67 | (1 << 8))
-#define MAP_SAFARI_ZONE_BUILDING2 (68 | (1 << 8))
-#define MAP_SAFARI_ZONE_BUILDING3 (69 | (1 << 8))
-#define MAP_SAFARI_ZONE_BUILDING4 (70 | (1 << 8))
+#define MAP_SAFARI_ZONE_CENTER_REST_HOUSE (67 | (1 << 8))
+#define MAP_SAFARI_ZONE_EAST_REST_HOUSE (68 | (1 << 8))
+#define MAP_SAFARI_ZONE_NORTH_REST_HOUSE (69 | (1 << 8))
+#define MAP_SAFARI_ZONE_WEST_REST_HOUSE (70 | (1 << 8))
#define MAP_SAFARI_ZONE_SECRET_HOUSE (71 | (1 << 8))
#define MAP_CERULEAN_CAVE_1F (72 | (1 << 8))
#define MAP_CERULEAN_CAVE_2F (73 | (1 << 8))
@@ -342,12 +342,12 @@
// Map Group 11
#define MAP_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE (0 | (11 << 8))
#define MAP_FUCHSIA_CITY_MART (1 | (11 << 8))
-#define MAP_FUCHSIA_CITY_ZOO_BUILDING (2 | (11 << 8))
+#define MAP_FUCHSIA_CITY_SAFARI_ZONE_OFFICE (2 | (11 << 8))
#define MAP_FUCHSIA_CITY_GYM (3 | (11 << 8))
#define MAP_FUCHSIA_CITY_HOUSE1 (4 | (11 << 8))
#define MAP_FUCHSIA_CITY_POKEMON_CENTER_1F (5 | (11 << 8))
#define MAP_FUCHSIA_CITY_POKEMON_CENTER_2F (6 | (11 << 8))
-#define MAP_FUCHSIA_CITY_BUILDING1 (7 | (11 << 8))
+#define MAP_FUCHSIA_CITY_WARDENS_HOUSE (7 | (11 << 8))
#define MAP_FUCHSIA_CITY_HOUSE2 (8 | (11 << 8))
#define MAP_FUCHSIA_CITY_HOUSE3 (9 | (11 << 8))
diff --git a/include/constants/menu.h b/include/constants/menu.h
index 6d72787dc..aed98dec4 100644
--- a/include/constants/menu.h
+++ b/include/constants/menu.h
@@ -78,4 +78,35 @@
#define LISTMENU_BERRY_POWDER 5
#define LISTMENU_TRAINER_TOWER_FLOORS 6
+// Std String Ids
+#define STDSTRING_COOL 0
+#define STDSTRING_BEAUTY 1
+#define STDSTRING_CUTE 2
+#define STDSTRING_SMART 3
+#define STDSTRING_TOUGH 4
+#define STDSTRING_COOL2 5
+#define STDSTRING_BEAUTY2 6
+#define STDSTRING_CUTE2 7
+#define STDSTRING_SMART2 8
+#define STDSTRING_TOUGH2 9
+#define STDSTRING_ITEMS 10
+#define STDSTRING_KEY_ITEMS 11
+#define STDSTRING_POKEBALLS 12
+#define STDSTRING_TMHMS 13
+#define STDSTRING_BERRIES 14
+#define STDSTRING_BOULDER_BADGE 15
+#define STDSTRING_CASCADE_BADGE 16
+#define STDSTRING_THUNDER_BADGE 17
+#define STDSTRING_RAINBOW_BADGE 18
+#define STDSTRING_SOUL_BADGE 19
+#define STDSTRING_MARSH_BADGE 20
+#define STDSTRING_VOLCANO_BADGE 21
+#define STDSTRING_EARTH_BADGE 22
+#define STDSTRING_COINS 23
+#define STDSTRING_ITEMS_POCKET 24
+#define STDSTRING_KEY_ITEMS_POCKET 25
+#define STDSTRING_POKEBALLS_POCKET 26
+#define STDSTRING_TM_CASE 27
+#define STDSTRING_BERRY_POUCH 28
+
#endif //GUARD_CONSTANTS_MENU_H
diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h
index c664290d5..f2bf4b865 100644
--- a/include/constants/metatile_labels.h
+++ b/include/constants/metatile_labels.h
@@ -1,6 +1,9 @@
#ifndef GUARD_METATILE_LABELS_H
#define GUARD_METATILE_LABELS_H
+// General
+#define METATILE_General_CalmWater 0x12B
+
// Pokemon Mansion
#define METATILE_PokemonMansion_Floor 0x284
#define METATILE_PokemonMansion_Floor_ShadeFull 0x285
@@ -34,4 +37,7 @@
#define METATILE_PokemonMansion_Statue_RedEyes_Shade 0x34E
#define METATILE_PokemonMansion_Statue_RedEyes_Basement 0x34F
+// gTileset_82D504C. Below metatile probably needs generic name
+#define METATILE_MtEmber_CaveEntrance 0x346
+
#endif // GUARD_METATILE_LABELS_H
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index e394a8fb4..a8009f1ff 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -1,6 +1,97 @@
#ifndef GUARD_CONSTANTS_POKEMON_H
#define GUARD_CONSTANTS_POKEMON_H
+// For (Set|Get)(Box)?MonData
+#define MON_DATA_PERSONALITY 0
+#define MON_DATA_OT_ID 1
+#define MON_DATA_NICKNAME 2
+#define MON_DATA_LANGUAGE 3
+#define MON_DATA_SANITY_IS_BAD_EGG 4
+#define MON_DATA_SANITY_HAS_SPECIES 5
+#define MON_DATA_SANITY_IS_EGG 6
+#define MON_DATA_OT_NAME 7
+#define MON_DATA_MARKINGS 8
+#define MON_DATA_CHECKSUM 9
+#define MON_DATA_ENCRYPT_SEPARATOR 10
+#define MON_DATA_SPECIES 11
+#define MON_DATA_HELD_ITEM 12
+#define MON_DATA_MOVE1 13
+#define MON_DATA_MOVE2 14
+#define MON_DATA_MOVE3 15
+#define MON_DATA_MOVE4 16
+#define MON_DATA_PP1 17
+#define MON_DATA_PP2 18
+#define MON_DATA_PP3 19
+#define MON_DATA_PP4 20
+#define MON_DATA_PP_BONUSES 21
+#define MON_DATA_COOL 22
+#define MON_DATA_BEAUTY 23
+#define MON_DATA_CUTE 24
+#define MON_DATA_EXP 25
+#define MON_DATA_HP_EV 26
+#define MON_DATA_ATK_EV 27
+#define MON_DATA_DEF_EV 28
+#define MON_DATA_SPEED_EV 29
+#define MON_DATA_SPATK_EV 30
+#define MON_DATA_SPDEF_EV 31
+#define MON_DATA_FRIENDSHIP 32
+#define MON_DATA_SMART 33
+#define MON_DATA_POKERUS 34
+#define MON_DATA_MET_LOCATION 35
+#define MON_DATA_MET_LEVEL 36
+#define MON_DATA_MET_GAME 37
+#define MON_DATA_POKEBALL 38
+#define MON_DATA_HP_IV 39
+#define MON_DATA_ATK_IV 40
+#define MON_DATA_DEF_IV 41
+#define MON_DATA_SPEED_IV 42
+#define MON_DATA_SPATK_IV 43
+#define MON_DATA_SPDEF_IV 44
+#define MON_DATA_IS_EGG 45
+#define MON_DATA_ABILITY_NUM 46
+#define MON_DATA_TOUGH 47
+#define MON_DATA_SHEEN 48
+#define MON_DATA_OT_GENDER 49
+#define MON_DATA_COOL_RIBBON 50
+#define MON_DATA_BEAUTY_RIBBON 51
+#define MON_DATA_CUTE_RIBBON 52
+#define MON_DATA_SMART_RIBBON 53
+#define MON_DATA_TOUGH_RIBBON 54
+#define MON_DATA_STATUS 55
+#define MON_DATA_LEVEL 56
+#define MON_DATA_HP 57
+#define MON_DATA_MAX_HP 58
+#define MON_DATA_ATK 59
+#define MON_DATA_DEF 60
+#define MON_DATA_SPEED 61
+#define MON_DATA_SPATK 62
+#define MON_DATA_SPDEF 63
+#define MON_DATA_MAIL 64
+#define MON_DATA_SPECIES2 65
+#define MON_DATA_IVS 66
+#define MON_DATA_CHAMPION_RIBBON 67
+#define MON_DATA_WINNING_RIBBON 68
+#define MON_DATA_VICTORY_RIBBON 69
+#define MON_DATA_ARTIST_RIBBON 70
+#define MON_DATA_EFFORT_RIBBON 71
+#define MON_DATA_GIFT_RIBBON_1 72
+#define MON_DATA_GIFT_RIBBON_2 73
+#define MON_DATA_GIFT_RIBBON_3 74
+#define MON_DATA_GIFT_RIBBON_4 75
+#define MON_DATA_GIFT_RIBBON_5 76
+#define MON_DATA_GIFT_RIBBON_6 77
+#define MON_DATA_GIFT_RIBBON_7 78
+#define MON_DATA_FATEFUL_ENCOUNTER 79
+#define MON_DATA_OBEDIENCE 80
+#define MON_DATA_KNOWN_MOVES 81
+#define MON_DATA_RIBBON_COUNT 82
+#define MON_DATA_RIBBONS 83
+#define MON_DATA_ATK2 84
+#define MON_DATA_DEF2 85
+#define MON_DATA_SPEED2 86
+#define MON_DATA_SPATK2 87
+#define MON_DATA_SPDEF2 88
+
// Pokemon types
#define TYPE_NORMAL 0x00
#define TYPE_FIGHTING 0x01
@@ -40,6 +131,8 @@
#define EGG_GROUP_DRAGON 14
#define EGG_GROUP_UNDISCOVERED 15
+#define EGG_GROUPS_PER_MON 2
+
// Pokemon natures
#define NATURE_HARDY 0
#define NATURE_LONELY 1
@@ -91,8 +184,33 @@
#define PLAYER_HAS_ONE_MON 0x1
#define PLAYER_HAS_ONE_USABLE_MON 0x2
+#define MAX_LEVEL 100
+
+#define OT_ID_RANDOM_NO_SHINY 2
+#define OT_ID_PRESET 1
+#define OT_ID_PLAYER_ID 0
+
+#define MON_GIVEN_TO_PARTY 0x0
+#define MON_GIVEN_TO_PC 0x1
+#define MON_CANT_GIVE 0x2
+
#define MON_MALE 0x00
#define MON_FEMALE 0xFE
#define MON_GENDERLESS 0xFF
+#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
+#define FRIENDSHIP_EVENT_VITAMIN 0x1
+#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2
+#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3
+#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4
+#define FRIENDSHIP_EVENT_WALKING 0x5
+#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6
+#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7
+#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8
+
+#define PARTY_SIZE 6
+#define MAX_TOTAL_EVS 510
+#define UNOWN_FORM_COUNT 28
+#define MAX_MON_LEVEL 100
+
#endif // GUARD_CONSTANTS_POKEMON_H
diff --git a/include/constants/region_map.h b/include/constants/region_map.h
index bd087bd60..78dab242c 100644
--- a/include/constants/region_map.h
+++ b/include/constants/region_map.h
@@ -206,6 +206,8 @@
#define MAPSEC_SPECIAL_AREA 0xC4
#define MAPSEC_NONE 0xC5
-#define MAPSEC_IN_GAME_TRADE 0xFE
+#define METLOC_SPECIAL_EGG 0xFD
+#define METLOC_IN_GAME_TRADE 0xFE
+#define METLOC_FATEFUL_ENCOUNTER 0xFF
#endif //GUARD_CONSTANTS_REGION_MAP_H