aboutsummaryrefslogtreecommitdiffstats
path: root/constants
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2026-01-17 22:38:33 -0600
committerdannye <33dannye@gmail.com>2026-01-17 22:38:33 -0600
commitbc2354dd6626ce28bb9561547ed2107cfa56c18e (patch)
tree5902d4c3389253c76b7c3351e0d7dfecb551c28d /constants
parentIdentify characters in `_OakSpeechText2B` and `Printer_GetMonStats.IDNo` (#144) (diff)
parentUse macros for `WildMonEncounterSlotChances` (#562) (diff)
downloadpokeyellow-bc2354dd6626ce28bb9561547ed2107cfa56c18e.tar.gz
pokeyellow-bc2354dd6626ce28bb9561547ed2107cfa56c18e.tar.xz
pokeyellow-bc2354dd6626ce28bb9561547ed2107cfa56c18e.zip
Merge branch 'master' of https://github.com/pret/pokered
Diffstat (limited to 'constants')
-rw-r--r--constants/event_constants.asm2
-rw-r--r--constants/gfx_constants.asm6
-rw-r--r--constants/hide_show_constants.asm248
-rw-r--r--constants/map_constants.asm137
-rw-r--r--constants/menu_constants.asm5
-rw-r--r--constants/player_constants.asm9
-rw-r--r--constants/pokemon_data_constants.asm4
-rw-r--r--constants/text_constants.asm13
-rw-r--r--constants/toggle_constants.asm408
9 files changed, 574 insertions, 258 deletions
diff --git a/constants/event_constants.asm b/constants/event_constants.asm
index 82fb1018..dfb913f3 100644
--- a/constants/event_constants.asm
+++ b/constants/event_constants.asm
@@ -610,7 +610,7 @@
const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3
const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
const_skip
- const EVENT_677 ; ???
+ const EVENT_ENTERED_ROCKET_HIDEOUT
const_skip 7
const EVENT_67F ; ???
const_skip
diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm
index 3418eee4..f440acc0 100644
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -7,7 +7,11 @@ DEF SCREEN_BLOCK_HEIGHT EQU 5 ; blocks
DEF SURROUNDING_WIDTH EQU SCREEN_BLOCK_WIDTH * BLOCK_WIDTH ; tiles
DEF SURROUNDING_HEIGHT EQU SCREEN_BLOCK_HEIGHT * BLOCK_HEIGHT ; tiles
-DEF SPRITEBUFFERSIZE EQU 7 * 7 * TILE_1BPP_SIZE
+DEF PIC_WIDTH EQU 7 ; tiles
+DEF PIC_HEIGHT EQU PIC_WIDTH ; tiles
+DEF PIC_SIZE EQU PIC_WIDTH * PIC_HEIGHT ; tiles
+
+DEF SPRITEBUFFERSIZE EQU PIC_WIDTH * PIC_HEIGHT * TILE_1BPP_SIZE
; DMGPalToCGBPal
DEF CONVERT_BGP EQU 0
diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm
deleted file mode 100644
index 50d9fa06..00000000
--- a/constants/hide_show_constants.asm
+++ /dev/null
@@ -1,248 +0,0 @@
-DEF HIDE EQU $11
-DEF SHOW EQU $15
-
-; MissableObjects indexes (see data/maps/hide_show_data.asm)
-; this is a list of the sprites that can be enabled/disabled during the game
-; TODO: mark sprite constants with an X that are never used
-
- const_def
- const HS_PALLET_TOWN_OAK ; 00
- const HS_LYING_OLD_MAN ; 01
- const HS_OLD_MAN_1 ; 02
- const HS_OLD_MAN_2 ; 03
- const HS_MUSEUM_GUY ; 04
- const HS_GYM_GUY ; 05
- const HS_CERULEAN_RIVAL ; 06
- const HS_CERULEAN_ROCKET ; 07
- const HS_CERULEAN_GUARD_1 ; 08
- const HS_CERULEAN_CAVE_GUY ; 09
- const HS_CERULEAN_GUARD_2 ; 0A
- const HS_SAFFRON_CITY_1 ; 0B
- const HS_SAFFRON_CITY_2 ; 0C
- const HS_SAFFRON_CITY_3 ; 0D
- const HS_SAFFRON_CITY_4 ; 0E
- const HS_SAFFRON_CITY_5 ; 0F
- const HS_SAFFRON_CITY_6 ; 10
- const HS_SAFFRON_CITY_7 ; 11
- const HS_SAFFRON_CITY_8 ; 12
- const HS_SAFFRON_CITY_9 ; 13
- const HS_SAFFRON_CITY_A ; 14
- const HS_SAFFRON_CITY_B ; 15
- const HS_SAFFRON_CITY_C ; 16
- const HS_SAFFRON_CITY_D ; 17
- const HS_SAFFRON_CITY_E ; 18
- const HS_SAFFRON_CITY_F ; 19
- const HS_ROUTE_2_ITEM_1 ; 1A
- const HS_ROUTE_2_ITEM_2 ; 1B
- const HS_ROUTE_4_ITEM ; 1C
- const HS_ROUTE_9_ITEM ; 1D
- const HS_ROUTE_12_SNORLAX ; 1E
- const HS_ROUTE_12_ITEM_1 ; 1F
- const HS_ROUTE_12_ITEM_2 ; 20
- const HS_ROUTE_15_ITEM ; 21
- const HS_ROUTE_16_SNORLAX ; 22
- const HS_ROUTE_22_RIVAL_1 ; 23
- const HS_ROUTE_22_RIVAL_2 ; 24
- const HS_NUGGET_BRIDGE_GUY ; 25
- const HS_ROUTE_24_ITEM ; 26
- const HS_ROUTE_25_ITEM ; 27
- const HS_DAISY_SITTING ; 28
- const HS_DAISY_WALKING ; 29
- const HS_TOWN_MAP ; 2A
- const HS_OAKS_LAB_RIVAL ; 2B
- const HS_STARTER_BALL_1 ; 2C
- const HS_OAKS_LAB_OAK_1 ; 2D
- const HS_POKEDEX_1 ; 2E
- const HS_POKEDEX_2 ; 2F
- const HS_OAKS_LAB_OAK_2 ; 30
- const HS_VIRIDIAN_GYM_GIOVANNI ; 31
- const HS_VIRIDIAN_GYM_ITEM ; 32
- const HS_OLD_AMBER ; 33
- const HS_CERULEAN_BULBASAUR ; 34
- const HS_CERULEAN_CAVE_1F_ITEM_1 ; 35
- const HS_CERULEAN_CAVE_1F_ITEM_2 ; 36
- const HS_CERULEAN_CAVE_1F_ITEM_3 ; 37
- const HS_CERULEAN_CAVE_1F_ITEM_4 ; 38
- const HS_POKEMON_TOWER_2F_RIVAL ; 39
- const HS_POKEMON_TOWER_3F_ITEM ; 3A
- const HS_POKEMON_TOWER_4F_ITEM_1 ; 3B
- const HS_POKEMON_TOWER_4F_ITEM_2 ; 3C
- const HS_POKEMON_TOWER_4F_ITEM_3 ; 3D
- const HS_POKEMON_TOWER_5F_ITEM ; 3E
- const HS_POKEMON_TOWER_6F_ITEM_1 ; 3F
- const HS_POKEMON_TOWER_6F_ITEM_2 ; 40
- const HS_POKEMON_TOWER_7F_JESSIE ; 41
- const HS_POKEMON_TOWER_7F_JAMES ; 42
- const HS_POKEMON_TOWER_7F_MR_FUJI ; 43
- const HS_MR_FUJIS_HOUSE_MR_FUJI ; 44
- const HS_CELADON_MANSION_EEVEE_GIFT ; 45
- const HS_GAME_CORNER_ROCKET ; 46
- const HS_WARDENS_HOUSE_ITEM ; 47
- const HS_POKEMON_MANSION_1F_ITEM_1 ; 48
- const HS_POKEMON_MANSION_1F_ITEM_2 ; 49
- const HS_FIGHTING_DOJO_GIFT_1 ; 4A
- const HS_FIGHTING_DOJO_GIFT_2 ; 4B
- const HS_SILPH_CO_1F_RECEPTIONIST ; 4C
- const HS_VOLTORB_1 ; 4D
- const HS_VOLTORB_2 ; 4E
- const HS_VOLTORB_3 ; 4F
- const HS_ELECTRODE_1 ; 50
- const HS_VOLTORB_4 ; 51
- const HS_VOLTORB_5 ; 52
- const HS_ELECTRODE_2 ; 53
- const HS_VOLTORB_6 ; 54
- const HS_ZAPDOS ; 55
- const HS_POWER_PLANT_ITEM_1 ; 56
- const HS_POWER_PLANT_ITEM_2 ; 57
- const HS_POWER_PLANT_ITEM_3 ; 58
- const HS_POWER_PLANT_ITEM_4 ; 59
- const HS_POWER_PLANT_ITEM_5 ; 5A
- const HS_MOLTRES ; 5B
- const HS_VICTORY_ROAD_2F_ITEM_1 ; 5C
- const HS_VICTORY_ROAD_2F_ITEM_2 ; 5D
- const HS_VICTORY_ROAD_2F_ITEM_3 ; 5E
- const HS_VICTORY_ROAD_2F_ITEM_4 ; 5F
- const HS_VICTORY_ROAD_2F_BOULDER ; 60
- const HS_BILL_POKEMON ; 61
- const HS_BILL_1 ; 62
- const HS_BILL_2 ; 63
- const HS_VIRIDIAN_FOREST_ITEM_1 ; 64
- const HS_VIRIDIAN_FOREST_ITEM_2 ; 65
- const HS_VIRIDIAN_FOREST_ITEM_3 ; 66
- const HS_MT_MOON_1F_ITEM_1 ; 67
- const HS_MT_MOON_1F_ITEM_2 ; 68
- const HS_MT_MOON_1F_ITEM_3 ; 69
- const HS_MT_MOON_1F_ITEM_4 ; 6A
- const HS_MT_MOON_1F_ITEM_5 ; 6B
- const HS_MT_MOON_1F_ITEM_6 ; 6C
- const HS_MT_MOON_B2F_JESSIE ; 6D
- const HS_MT_MOON_B2F_JAMES ; 6E
- const HS_MT_MOON_B2F_FOSSIL_1 ; 6F
- const HS_MT_MOON_B2F_FOSSIL_2 ; 70
- const HS_MT_MOON_B2F_ITEM_1 ; 71
- const HS_MT_MOON_B2F_ITEM_2 ; 72
- const HS_SS_ANNE_2F_RIVAL ; 73
- const HS_SS_ANNE_1F_ROOMS_ITEM ; 74
- const HS_SS_ANNE_2F_ROOMS_ITEM_1 ; 75
- const HS_SS_ANNE_2F_ROOMS_ITEM_2 ; 76
- const HS_SS_ANNE_B1F_ROOMS_ITEM_1 ; 77
- const HS_SS_ANNE_B1F_ROOMS_ITEM_2 ; 78
- const HS_SS_ANNE_B1F_ROOMS_ITEM_3 ; 79
- const HS_VICTORY_ROAD_3F_ITEM_1 ; 7A
- const HS_VICTORY_ROAD_3F_ITEM_2 ; 7B
- const HS_VICTORY_ROAD_3F_BOULDER ; 7C
- const HS_ROCKET_HIDEOUT_B1F_ITEM_1 ; 7D
- const HS_ROCKET_HIDEOUT_B1F_ITEM_2 ; 7E
- const HS_ROCKET_HIDEOUT_B2F_ITEM_1 ; 7F
- const HS_ROCKET_HIDEOUT_B2F_ITEM_2 ; 80
- const HS_ROCKET_HIDEOUT_B2F_ITEM_3 ; 81
- const HS_ROCKET_HIDEOUT_B2F_ITEM_4 ; 82
- const HS_ROCKET_HIDEOUT_B3F_ITEM_1 ; 83
- const HS_ROCKET_HIDEOUT_B3F_ITEM_2 ; 84
- const HS_ROCKET_HIDEOUT_B4F_GIOVANNI ; 85
- const HS_ROCKET_HIDEOUT_B4F_JAMES ; 86
- const HS_ROCKET_HIDEOUT_B4F_JESSIE ; 87
- const HS_ROCKET_HIDEOUT_B4F_ITEM_1 ; 88
- const HS_ROCKET_HIDEOUT_B4F_ITEM_2 ; 89
- const HS_ROCKET_HIDEOUT_B4F_ITEM_3 ; 8A
- const HS_ROCKET_HIDEOUT_B4F_ITEM_4 ; 8B
- const HS_ROCKET_HIDEOUT_B4F_ITEM_5 ; 8C
- const HS_SILPH_CO_2F_1 ; 8D XXX never (de)activated?
- const HS_SILPH_CO_2F_2 ; 8E
- const HS_SILPH_CO_2F_3 ; 8F
- const HS_SILPH_CO_2F_4 ; 90
- const HS_SILPH_CO_2F_5 ; 91
- const HS_SILPH_CO_3F_1 ; 92
- const HS_SILPH_CO_3F_2 ; 93
- const HS_SILPH_CO_3F_ITEM ; 94
- const HS_SILPH_CO_4F_1 ; 95
- const HS_SILPH_CO_4F_2 ; 96
- const HS_SILPH_CO_4F_3 ; 97
- const HS_SILPH_CO_4F_ITEM_1 ; 98
- const HS_SILPH_CO_4F_ITEM_2 ; 99
- const HS_SILPH_CO_4F_ITEM_3 ; 9A
- const HS_SILPH_CO_5F_1 ; 9B
- const HS_SILPH_CO_5F_2 ; 9C
- const HS_SILPH_CO_5F_3 ; 9D
- const HS_SILPH_CO_5F_4 ; 9E
- const HS_SILPH_CO_5F_ITEM_1 ; 9F
- const HS_SILPH_CO_5F_ITEM_2 ; A0
- const HS_SILPH_CO_5F_ITEM_3 ; A1
- const HS_SILPH_CO_6F_1 ; A2
- const HS_SILPH_CO_6F_2 ; A3
- const HS_SILPH_CO_6F_3 ; A4
- const HS_SILPH_CO_6F_ITEM_1 ; A5
- const HS_SILPH_CO_6F_ITEM_2 ; A6
- const HS_SILPH_CO_7F_1 ; A7
- const HS_SILPH_CO_7F_2 ; A8
- const HS_SILPH_CO_7F_3 ; A9
- const HS_SILPH_CO_7F_4 ; AA
- const HS_SILPH_CO_7F_RIVAL ; AB
- const HS_SILPH_CO_7F_ITEM_1 ; AC
- const HS_SILPH_CO_7F_ITEM_2 ; AD
- const HS_SILPH_CO_7F_8 ; AE XXX sprite doesn't exist
- const HS_SILPH_CO_8F_1 ; AF
- const HS_SILPH_CO_8F_2 ; B0
- const HS_SILPH_CO_8F_3 ; B1
- const HS_SILPH_CO_9F_1 ; B2
- const HS_SILPH_CO_9F_2 ; B3
- const HS_SILPH_CO_9F_3 ; B4
- const HS_SILPH_CO_10F_1 ; B5
- const HS_SILPH_CO_10F_2 ; B6
- const HS_SILPH_CO_10F_3 ; B7 XXX never (de)activated?
- const HS_SILPH_CO_10F_ITEM_1 ; B8
- const HS_SILPH_CO_10F_ITEM_2 ; B9
- const HS_SILPH_CO_10F_ITEM_3 ; BA
- const HS_SILPH_CO_11F_1 ; BB
- const HS_SILPH_CO_11F_JAMES ; BC
- const HS_SILPH_CO_11F_2 ; BD
- const HS_SILPH_CO_11F_JESSIE ; BE
- const HS_UNUSED_MAP_F4_1 ; BF XXX sprite doesn't exist
- const HS_POKEMON_MANSION_2F_ITEM ; C0
- const HS_POKEMON_MANSION_3F_ITEM_1 ; C1
- const HS_POKEMON_MANSION_3F_ITEM_2 ; C2
- const HS_POKEMON_MANSION_B1F_ITEM_1 ; C3
- const HS_POKEMON_MANSION_B1F_ITEM_2 ; C4
- const HS_POKEMON_MANSION_B1F_ITEM_3 ; C5
- const HS_POKEMON_MANSION_B1F_ITEM_4 ; C6
- const HS_POKEMON_MANSION_B1F_ITEM_5 ; C7
- const HS_SAFARI_ZONE_EAST_ITEM_1 ; C8
- const HS_SAFARI_ZONE_EAST_ITEM_2 ; C9
- const HS_SAFARI_ZONE_EAST_ITEM_3 ; CA
- const HS_SAFARI_ZONE_EAST_ITEM_4 ; CB
- const HS_SAFARI_ZONE_NORTH_ITEM_1 ; CC
- const HS_SAFARI_ZONE_NORTH_ITEM_2 ; CD
- const HS_SAFARI_ZONE_WEST_ITEM_1 ; CE
- const HS_SAFARI_ZONE_WEST_ITEM_2 ; CF
- const HS_SAFARI_ZONE_WEST_ITEM_3 ; D0
- const HS_SAFARI_ZONE_WEST_ITEM_4 ; D1
- const HS_SAFARI_ZONE_CENTER_ITEM ; D2
- const HS_CERULEAN_CAVE_2F_ITEM_1 ; D3
- const HS_CERULEAN_CAVE_2F_ITEM_2 ; D4
- const HS_CERULEAN_CAVE_2F_ITEM_3 ; D5
- const HS_CERULEAN_CAVE_2F_ITEM_4 ; D6
- const HS_MEWTWO ; D7
- const HS_CERULEAN_CAVE_B1F_ITEM_1 ; D8
- const HS_CERULEAN_CAVE_B1F_ITEM_2 ; D9
- const HS_CERULEAN_CAVE_B1F_ITEM_3 ; DA
- const HS_CERULEAN_CAVE_B1F_ITEM_4 ; DB
- const HS_VICTORY_ROAD_1F_ITEM_1 ; DC
- const HS_VICTORY_ROAD_1F_ITEM_2 ; DD
- const HS_CHAMPIONS_ROOM_OAK ; DE
- const HS_SEAFOAM_ISLANDS_1F_BOULDER_1 ; DF
- const HS_SEAFOAM_ISLANDS_1F_BOULDER_2 ; E0
- const HS_SEAFOAM_ISLANDS_B1F_BOULDER_1 ; E1
- const HS_SEAFOAM_ISLANDS_B1F_BOULDER_2 ; E2
- const HS_SEAFOAM_ISLANDS_B2F_BOULDER_1 ; E3
- const HS_SEAFOAM_ISLANDS_B2F_BOULDER_2 ; E4
- const HS_SEAFOAM_ISLANDS_B3F_BOULDER_1 ; E5
- const HS_SEAFOAM_ISLANDS_B3F_BOULDER_2 ; E6
- const HS_SEAFOAM_ISLANDS_B3F_BOULDER_3 ; E7
- const HS_SEAFOAM_ISLANDS_B3F_BOULDER_4 ; E8
- const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E9
- const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; EA
- const HS_ARTICUNO ; EB
- const HS_DAISY_SITTING_COPY ; EC
- const HS_DAISY_WALKING_COPY ; ED
- const HS_TOWN_MAP_COPY ; EE
-DEF NUM_HS_OBJECTS EQU const_value
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index cf23caa7..7f1f21d3 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -4,12 +4,19 @@ MACRO map_const
DEF \1_HEIGHT EQU \3
ENDM
+; "Indoor" maps are grouped sequentially (see data/maps/town_map_entries.asm)
+DEF NUM_INDOOR_MAP_GROUPS EQU 0
+MACRO end_indoor_group
+ DEF INDOORGROUP_\1 EQU const_value
+ REDEF NUM_INDOOR_MAP_GROUPS EQU NUM_INDOOR_MAP_GROUPS + 1
+ENDM
+
; map ids
; indexes for:
; - MapHeaderBanks (see data/maps/map_header_banks.asm)
; - MapHeaderPointers (see data/maps/map_header_pointers.asm)
; - MapSongBanks (see data/maps/songs.asm)
-; - MapHSPointers (see data/maps/hide_show_data.asm)
+; - ToggleableObjectMapPointers (see data/maps/toggleable_objects.asm)
; - MapSpriteSets (see data/maps/sprite_sets.asm)
; - ExternalMapEntries (see data/maps/town_map_entries.asm)
; - WildDataPointers (see data/wild/grass_water.asm)
@@ -28,7 +35,9 @@ ENDM
map_const INDIGO_PLATEAU, 10, 9 ; $09
map_const SAFFRON_CITY, 20, 18 ; $0A
DEF NUM_CITY_MAPS EQU const_value
+
map_const UNUSED_MAP_0B, 0, 0 ; $0B
+
DEF FIRST_ROUTE_MAP EQU const_value
map_const ROUTE_1, 10, 18 ; $0C
map_const ROUTE_2, 10, 36 ; $0D
@@ -55,22 +64,31 @@ DEF FIRST_ROUTE_MAP EQU const_value
map_const ROUTE_23, 10, 72 ; $22
map_const ROUTE_24, 10, 18 ; $23
map_const ROUTE_25, 30, 9 ; $24
+
DEF FIRST_INDOOR_MAP EQU const_value
map_const REDS_HOUSE_1F, 4, 4 ; $25
map_const REDS_HOUSE_2F, 4, 4 ; $26
map_const BLUES_HOUSE, 4, 4 ; $27
map_const OAKS_LAB, 5, 6 ; $28
+ end_indoor_group PALLET_TOWN
+
map_const VIRIDIAN_POKECENTER, 7, 4 ; $29
map_const VIRIDIAN_MART, 4, 4 ; $2A
map_const VIRIDIAN_SCHOOL_HOUSE, 4, 4 ; $2B
map_const VIRIDIAN_NICKNAME_HOUSE, 4, 4 ; $2C
map_const VIRIDIAN_GYM, 10, 9 ; $2D
+ end_indoor_group VIRIDIAN_CITY
+
map_const DIGLETTS_CAVE_ROUTE_2, 4, 4 ; $2E
map_const VIRIDIAN_FOREST_NORTH_GATE, 5, 4 ; $2F
map_const ROUTE_2_TRADE_HOUSE, 4, 4 ; $30
map_const ROUTE_2_GATE, 5, 4 ; $31
map_const VIRIDIAN_FOREST_SOUTH_GATE, 5, 4 ; $32
+ end_indoor_group ROUTE_2
+
map_const VIRIDIAN_FOREST, 17, 24 ; $33
+ end_indoor_group VIRIDIAN_FOREST
+
map_const MUSEUM_1F, 10, 4 ; $34
map_const MUSEUM_2F, 7, 4 ; $35
map_const PEWTER_GYM, 5, 7 ; $36
@@ -78,42 +96,72 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const PEWTER_MART, 4, 4 ; $38
map_const PEWTER_SPEECH_HOUSE, 4, 4 ; $39
map_const PEWTER_POKECENTER, 7, 4 ; $3A
+ end_indoor_group PEWTER_CITY
+
map_const MT_MOON_1F, 20, 18 ; $3B
map_const MT_MOON_B1F, 14, 14 ; $3C
map_const MT_MOON_B2F, 20, 18 ; $3D
+ end_indoor_group MT_MOON
+
map_const CERULEAN_TRASHED_HOUSE, 4, 4 ; $3E
map_const CERULEAN_MELANIES_HOUSE, 4, 4 ; $3F
map_const CERULEAN_POKECENTER, 7, 4 ; $40
map_const CERULEAN_GYM, 5, 7 ; $41
map_const BIKE_SHOP, 4, 4 ; $42
map_const CERULEAN_MART, 4, 4 ; $43
+ end_indoor_group CERULEAN_CITY
+
map_const MT_MOON_POKECENTER, 7, 4 ; $44
+ end_indoor_group ROUTE_4
+
map_const CERULEAN_TRASHED_HOUSE_COPY, 4, 4 ; $45
+ end_indoor_group CERULEAN_CITY_2
+
map_const ROUTE_5_GATE, 4, 3 ; $46
map_const UNDERGROUND_PATH_ROUTE_5, 4, 4 ; $47
map_const DAYCARE, 4, 4 ; $48
+ end_indoor_group ROUTE_5
+
map_const ROUTE_6_GATE, 4, 3 ; $49
map_const UNDERGROUND_PATH_ROUTE_6, 4, 4 ; $4A
map_const UNDERGROUND_PATH_ROUTE_6_COPY, 4, 4 ; $4B
+ end_indoor_group ROUTE_6
+
map_const ROUTE_7_GATE, 3, 4 ; $4C
map_const UNDERGROUND_PATH_ROUTE_7, 4, 4 ; $4D
map_const UNDERGROUND_PATH_ROUTE_7_COPY, 4, 4 ; $4E
+ end_indoor_group ROUTE_7
+
map_const ROUTE_8_GATE, 3, 4 ; $4F
map_const UNDERGROUND_PATH_ROUTE_8, 4, 4 ; $50
+ end_indoor_group ROUTE_8
+
map_const ROCK_TUNNEL_POKECENTER, 7, 4 ; $51
map_const ROCK_TUNNEL_1F, 20, 18 ; $52
+ end_indoor_group ROCK_TUNNEL
+
map_const POWER_PLANT, 20, 18 ; $53
+ end_indoor_group POWER_PLANT
+
map_const ROUTE_11_GATE_1F, 4, 5 ; $54
map_const DIGLETTS_CAVE_ROUTE_11, 4, 4 ; $55
map_const ROUTE_11_GATE_2F, 4, 4 ; $56
+ end_indoor_group ROUTE_11
+
map_const ROUTE_12_GATE_1F, 5, 4 ; $57
+ end_indoor_group ROUTE_12
+
map_const BILLS_HOUSE, 4, 4 ; $58
+ end_indoor_group SEA_COTTAGE
+
map_const VERMILION_POKECENTER, 7, 4 ; $59
map_const POKEMON_FAN_CLUB, 4, 4 ; $5A
map_const VERMILION_MART, 4, 4 ; $5B
map_const VERMILION_GYM, 5, 9 ; $5C
map_const VERMILION_PIDGEY_HOUSE, 4, 4 ; $5D
map_const VERMILION_DOCK, 14, 6 ; $5E
+ end_indoor_group VERMILION_CITY
+
map_const SS_ANNE_1F, 20, 9 ; $5F
map_const SS_ANNE_2F, 20, 9 ; $60
map_const SS_ANNE_3F, 10, 3 ; $61
@@ -124,10 +172,14 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const SS_ANNE_1F_ROOMS, 12, 8 ; $66
map_const SS_ANNE_2F_ROOMS, 12, 8 ; $67
map_const SS_ANNE_B1F_ROOMS, 12, 8 ; $68
+ end_indoor_group SS_ANNE
+
map_const UNUSED_MAP_69, 0, 0 ; $69
map_const UNUSED_MAP_6A, 0, 0 ; $6A
map_const UNUSED_MAP_6B, 0, 0 ; $6B
map_const VICTORY_ROAD_1F, 10, 9 ; $6C
+ end_indoor_group VICTORY_ROAD
+
map_const UNUSED_MAP_6D, 0, 0 ; $6D
map_const UNUSED_MAP_6E, 0, 0 ; $6E
map_const UNUSED_MAP_6F, 0, 0 ; $6F
@@ -138,9 +190,17 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const UNUSED_MAP_74, 0, 0 ; $74
map_const UNUSED_MAP_75, 0, 0 ; $75
map_const HALL_OF_FAME, 5, 4 ; $76
+ end_indoor_group POKEMON_LEAGUE
+
map_const UNDERGROUND_PATH_NORTH_SOUTH, 4, 24 ; $77 ; UndergroundPathNorthSouth.blk is actually 4x23
+ end_indoor_group UNDERGROUND_PATH
+
map_const CHAMPIONS_ROOM, 4, 4 ; $78
+ end_indoor_group POKEMON_LEAGUE_2
+
map_const UNDERGROUND_PATH_WEST_EAST, 25, 4 ; $79
+ end_indoor_group UNDERGROUND_PATH_2
+
map_const CELADON_MART_1F, 10, 4 ; $7A
map_const CELADON_MART_2F, 10, 4 ; $7B
map_const CELADON_MART_3F, 10, 4 ; $7C
@@ -160,7 +220,11 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const CELADON_DINER, 5, 4 ; $8A
map_const CELADON_CHIEF_HOUSE, 4, 4 ; $8B
map_const CELADON_HOTEL, 7, 4 ; $8C
+ end_indoor_group CELADON_CITY
+
map_const LAVENDER_POKECENTER, 7, 4 ; $8D
+ end_indoor_group LAVENDER_TOWN
+
map_const POKEMON_TOWER_1F, 10, 9 ; $8E
map_const POKEMON_TOWER_2F, 10, 9 ; $8F
map_const POKEMON_TOWER_3F, 10, 9 ; $90
@@ -168,23 +232,41 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const POKEMON_TOWER_5F, 10, 9 ; $92
map_const POKEMON_TOWER_6F, 10, 9 ; $93
map_const POKEMON_TOWER_7F, 10, 9 ; $94
+ end_indoor_group POKEMON_TOWER
+
map_const MR_FUJIS_HOUSE, 4, 4 ; $95
map_const LAVENDER_MART, 4, 4 ; $96
map_const LAVENDER_CUBONE_HOUSE, 4, 4 ; $97
+ end_indoor_group LAVENDER_TOWN_2
+
map_const FUCHSIA_MART, 4, 4 ; $98
map_const FUCHSIA_BILLS_GRANDPAS_HOUSE, 4, 4 ; $99
map_const FUCHSIA_POKECENTER, 7, 4 ; $9A
map_const WARDENS_HOUSE, 5, 4 ; $9B
+ end_indoor_group FUCHSIA_CITY
+
map_const SAFARI_ZONE_GATE, 4, 3 ; $9C
+ end_indoor_group SAFARI_ZONE
+
map_const FUCHSIA_GYM, 5, 9 ; $9D
map_const FUCHSIA_MEETING_ROOM, 7, 4 ; $9E
+ end_indoor_group FUCHSIA_CITY_2
+
map_const SEAFOAM_ISLANDS_B1F, 15, 9 ; $9F
map_const SEAFOAM_ISLANDS_B2F, 15, 9 ; $A0
map_const SEAFOAM_ISLANDS_B3F, 15, 9 ; $A1
map_const SEAFOAM_ISLANDS_B4F, 15, 9 ; $A2
+ end_indoor_group SEAFOAM_ISLANDS
+
map_const VERMILION_OLD_ROD_HOUSE, 4, 4 ; $A3
+ end_indoor_group VERMILION_CITY_2
+
map_const FUCHSIA_GOOD_ROD_HOUSE, 4, 4 ; $A4
+ end_indoor_group FUCHSIA_CITY_3
+
map_const POKEMON_MANSION_1F, 15, 14 ; $A5
+ end_indoor_group POKEMON_MANSION
+
map_const CINNABAR_GYM, 10, 9 ; $A6
map_const CINNABAR_LAB, 9, 4 ; $A7
map_const CINNABAR_LAB_TRADE_ROOM, 4, 4 ; $A8
@@ -193,7 +275,11 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const CINNABAR_POKECENTER, 7, 4 ; $AB
map_const CINNABAR_MART, 4, 4 ; $AC
map_const CINNABAR_MART_COPY, 4, 4 ; $AD
+ end_indoor_group CINNABAR_ISLAND
+
map_const INDIGO_PLATEAU_LOBBY, 8, 6 ; $AE
+ end_indoor_group INDIGO_PLATEAU
+
map_const COPYCATS_HOUSE_1F, 4, 4 ; $AF
map_const COPYCATS_HOUSE_2F, 4, 4 ; $B0
map_const FIGHTING_DOJO, 5, 6 ; $B1
@@ -203,21 +289,45 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const SILPH_CO_1F, 15, 9 ; $B5
map_const SAFFRON_POKECENTER, 7, 4 ; $B6
map_const MR_PSYCHICS_HOUSE, 4, 4 ; $B7
+ end_indoor_group SAFFRON_CITY
+
map_const ROUTE_15_GATE_1F, 4, 5 ; $B8
map_const ROUTE_15_GATE_2F, 4, 4 ; $B9
+ end_indoor_group ROUTE_15
+
map_const ROUTE_16_GATE_1F, 4, 7 ; $BA
map_const ROUTE_16_GATE_2F, 4, 4 ; $BB
map_const ROUTE_16_FLY_HOUSE, 4, 4 ; $BC
+ end_indoor_group ROUTE_16
+
map_const ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; $BD
+ end_indoor_group ROUTE_12_2
+
map_const ROUTE_18_GATE_1F, 4, 5 ; $BE
map_const ROUTE_18_GATE_2F, 4, 4 ; $BF
+ end_indoor_group ROUTE_18
+
map_const SEAFOAM_ISLANDS_1F, 15, 9 ; $C0
+ end_indoor_group SEAFOAM_ISLANDS_2
+
map_const ROUTE_22_GATE, 5, 4 ; $C1
+ end_indoor_group ROUTE_22
+
map_const VICTORY_ROAD_2F, 15, 9 ; $C2
+ end_indoor_group VICTORY_ROAD_2
+
map_const ROUTE_12_GATE_2F, 4, 4 ; $C3
+ end_indoor_group ROUTE_12_3
+
map_const VERMILION_TRADE_HOUSE, 4, 4 ; $C4
+ end_indoor_group VERMILION_CITY_3
+
map_const DIGLETTS_CAVE, 20, 18 ; $C5
+ end_indoor_group DIGLETTS_CAVE
+
map_const VICTORY_ROAD_3F, 15, 9 ; $C6
+ end_indoor_group VICTORY_ROAD_3
+
map_const ROCKET_HIDEOUT_B1F, 15, 14 ; $C7
map_const ROCKET_HIDEOUT_B2F, 15, 14 ; $C8
map_const ROCKET_HIDEOUT_B3F, 15, 14 ; $C9
@@ -226,6 +336,8 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const UNUSED_MAP_CC, 0, 0 ; $CC
map_const UNUSED_MAP_CD, 0, 0 ; $CD
map_const UNUSED_MAP_CE, 0, 0 ; $CE
+ end_indoor_group ROCKET_HQ
+
map_const SILPH_CO_2F, 15, 9 ; $CF
map_const SILPH_CO_3F, 15, 9 ; $D0
map_const SILPH_CO_4F, 15, 9 ; $D1
@@ -233,9 +345,13 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const SILPH_CO_6F, 13, 9 ; $D3
map_const SILPH_CO_7F, 13, 9 ; $D4
map_const SILPH_CO_8F, 13, 9 ; $D5
+ end_indoor_group SILPH_CO
+
map_const POKEMON_MANSION_2F, 15, 14 ; $D6
map_const POKEMON_MANSION_3F, 15, 9 ; $D7
map_const POKEMON_MANSION_B1F, 15, 14 ; $D8
+ end_indoor_group POKEMON_MANSION_2
+
map_const SAFARI_ZONE_EAST, 15, 13 ; $D9
map_const SAFARI_ZONE_NORTH, 20, 18 ; $DA
map_const SAFARI_ZONE_WEST, 15, 13 ; $DB
@@ -245,17 +361,29 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const SAFARI_ZONE_WEST_REST_HOUSE, 4, 4 ; $DF
map_const SAFARI_ZONE_EAST_REST_HOUSE, 4, 4 ; $E0
map_const SAFARI_ZONE_NORTH_REST_HOUSE, 4, 4 ; $E1
+ end_indoor_group SAFARI_ZONE_2
+
map_const CERULEAN_CAVE_2F, 15, 9 ; $E2
map_const CERULEAN_CAVE_B1F, 15, 9 ; $E3
map_const CERULEAN_CAVE_1F, 15, 9 ; $E4
+ end_indoor_group CERULEAN_CAVE
+
map_const NAME_RATERS_HOUSE, 4, 4 ; $E5
+ end_indoor_group LAVENDER_TOWN_3
+
map_const CERULEAN_BADGE_HOUSE, 4, 4 ; $E6
+ end_indoor_group CERULEAN_CITY_3
+
map_const UNUSED_MAP_E7, 0, 0 ; $E7
map_const ROCK_TUNNEL_B1F, 20, 18 ; $E8
+ end_indoor_group ROCK_TUNNEL_2
+
map_const SILPH_CO_9F, 13, 9 ; $E9
map_const SILPH_CO_10F, 8, 9 ; $EA
map_const SILPH_CO_11F, 9, 9 ; $EB
map_const SILPH_CO_ELEVATOR, 2, 2 ; $EC
+ end_indoor_group SILPH_CO_2
+
map_const UNUSED_MAP_ED, 0, 0 ; $ED
map_const UNUSED_MAP_EE, 0, 0 ; $EE
map_const TRADE_CENTER, 5, 4 ; $EF
@@ -267,9 +395,14 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const LORELEIS_ROOM, 5, 6 ; $F5
map_const BRUNOS_ROOM, 5, 6 ; $F6
map_const AGATHAS_ROOM, 5, 6 ; $F7
+ end_indoor_group POKEMON_LEAGUE_3
+
map_const SUMMER_BEACH_HOUSE, 7, 4 ; $F8
+ end_indoor_group ROUTE_19
DEF NUM_MAPS EQU const_value
; Indoor maps, such as houses, use this as the Map ID in their exit warps
; This map ID takes the player back to the last outdoor map they were on, stored in wLastMap
-DEF LAST_MAP EQU -1
+DEF LAST_MAP EQU $ff
+
+ASSERT NUM_MAPS <= LAST_MAP, "map IDs overlap LAST_MAP"
diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm
index a6e035e7..c4476e03 100644
--- a/constants/menu_constants.asm
+++ b/constants/menu_constants.asm
@@ -90,3 +90,8 @@ DEF FIRST_PARTY_MENU_TEXT_ID EQU const_value
const NAME_PLAYER_SCREEN ; 0
const NAME_RIVAL_SCREEN ; 1
const NAME_MON_SCREEN ; 2
+
+; Stats box layout (see engine/pokemon/status_screen.asm)
+ const_def
+ const STATUS_SCREEN_STATS_BOX ; 0
+ const LEVEL_UP_STATS_BOX ; 1
diff --git a/constants/player_constants.asm b/constants/player_constants.asm
new file mode 100644
index 00000000..26a640ec
--- /dev/null
+++ b/constants/player_constants.asm
@@ -0,0 +1,9 @@
+DEF NUM_PLAYER_NAMES EQU 3
+
+DEF PLAYERNAME1 EQUS "YELLOW"
+DEF PLAYERNAME2 EQUS "ASH"
+DEF PLAYERNAME3 EQUS "JACK"
+
+DEF RIVALNAME1 EQUS "BLUE"
+DEF RIVALNAME2 EQUS "GARY"
+DEF RIVALNAME3 EQUS "JOHN"
diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm
index 1234acab..16d21f54 100644
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -44,7 +44,7 @@ DEF MON_SPD_EXP rw
DEF MON_SPC_EXP rw
DEF MON_DVS rw
DEF MON_PP rb NUM_MOVES
-DEF BOXMON_STRUCT_LENGTH EQU _RS
+DEF BOXMON_STRUCT_LENGTH EQU _RS ; $21
DEF MON_LEVEL rb
DEF MON_STATS rw NUM_STATS
rsset MON_STATS
@@ -53,7 +53,7 @@ DEF MON_ATK rw
DEF MON_DEF rw
DEF MON_SPD rw
DEF MON_SPC rw
-DEF PARTYMON_STRUCT_LENGTH EQU _RS
+DEF PARTYMON_STRUCT_LENGTH EQU _RS ; $2c
DEF PARTY_LENGTH EQU 6
diff --git a/constants/text_constants.asm b/constants/text_constants.asm
index 1b515782..0670f405 100644
--- a/constants/text_constants.asm
+++ b/constants/text_constants.asm
@@ -1,7 +1,12 @@
-DEF NAME_LENGTH EQU 11
-DEF ITEM_NAME_LENGTH EQU 13
-DEF NAME_BUFFER_LENGTH EQU 20
-DEF NAME_LENGTH_JP EQU 6
+DEF PLAYER_NAME_LENGTH EQU 8
+DEF STAT_NAME_LENGTH EQU 10
+DEF NAME_LENGTH EQU 11
+DEF ITEM_NAME_LENGTH EQU 13
+DEF TRAINER_NAME_LENGTH EQU 13
+DEF MOVE_NAME_LENGTH EQU 14
+DEF GYM_CITY_LENGTH EQU 17
+DEF NAME_BUFFER_LENGTH EQU 20
+DEF NAME_LENGTH_JP EQU 6
; PrintNumber, PrintBCDNumber
const_def 5
diff --git a/constants/toggle_constants.asm b/constants/toggle_constants.asm
new file mode 100644
index 00000000..c44dde50
--- /dev/null
+++ b/constants/toggle_constants.asm
@@ -0,0 +1,408 @@
+DEF OFF EQU $11
+DEF ON EQU $15
+
+MACRO toggle_consts_for
+ DEF TOGGLEMAP{\1}_ID EQU const_value
+ DEF TOGGLEMAP{\1}_NAME EQUS "\1"
+ENDM
+
+; ToggleableObjectStates indexes (see data/maps/toggleable_objects.asm)
+; This lists the object_events that can be toggled by ShowObject/HideObject.
+; The constants marked with an X are never used, because those object_events
+; are not toggled on/off in any map's script.
+; (The X-ed ones are either items or static Pokemon encounters that deactivate
+; after battle and are detected in wToggleableObjectList.)
+
+ const_def
+
+ toggle_consts_for PALLET_TOWN
+ const TOGGLE_PALLET_TOWN_OAK ; 00
+
+ toggle_consts_for VIRIDIAN_CITY
+ const TOGGLE_LYING_OLD_MAN ; 01
+ const TOGGLE_OLD_MAN_1 ; 02
+ const TOGGLE_OLD_MAN_2 ; 03
+
+ toggle_consts_for PEWTER_CITY
+ const TOGGLE_MUSEUM_GUY ; 04
+ const TOGGLE_GYM_GUY ; 05
+
+ toggle_consts_for CERULEAN_CITY
+ const TOGGLE_CERULEAN_RIVAL ; 06
+ const TOGGLE_CERULEAN_ROCKET ; 07
+ const TOGGLE_CERULEAN_GUARD_1 ; 08
+ const TOGGLE_CERULEAN_CAVE_GUY ; 09
+ const TOGGLE_CERULEAN_GUARD_2 ; 0A
+
+ toggle_consts_for SAFFRON_CITY
+ const TOGGLE_SAFFRON_CITY_1 ; 0B
+ const TOGGLE_SAFFRON_CITY_2 ; 0C
+ const TOGGLE_SAFFRON_CITY_3 ; 0D
+ const TOGGLE_SAFFRON_CITY_4 ; 0E
+ const TOGGLE_SAFFRON_CITY_5 ; 0F
+ const TOGGLE_SAFFRON_CITY_6 ; 10
+ const TOGGLE_SAFFRON_CITY_7 ; 11
+ const TOGGLE_SAFFRON_CITY_8 ; 12
+ const TOGGLE_SAFFRON_CITY_9 ; 13
+ const TOGGLE_SAFFRON_CITY_A ; 14
+ const TOGGLE_SAFFRON_CITY_B ; 15
+ const TOGGLE_SAFFRON_CITY_C ; 16
+ const TOGGLE_SAFFRON_CITY_D ; 17
+ const TOGGLE_SAFFRON_CITY_E ; 18
+ const TOGGLE_SAFFRON_CITY_F ; 19
+
+ toggle_consts_for ROUTE_2
+ const TOGGLE_ROUTE_2_ITEM_1 ; 1A X
+ const TOGGLE_ROUTE_2_ITEM_2 ; 1B X
+
+ toggle_consts_for ROUTE_4
+ const TOGGLE_ROUTE_4_ITEM ; 1C X
+
+ toggle_consts_for ROUTE_9
+ const TOGGLE_ROUTE_9_ITEM ; 1D X
+
+ toggle_consts_for ROUTE_12
+ const TOGGLE_ROUTE_12_SNORLAX ; 1E
+ const TOGGLE_ROUTE_12_ITEM_1 ; 1F X
+ const TOGGLE_ROUTE_12_ITEM_2 ; 20 X
+
+ toggle_consts_for ROUTE_15
+ const TOGGLE_ROUTE_15_ITEM ; 21 X
+
+ toggle_consts_for ROUTE_16
+ const TOGGLE_ROUTE_16_SNORLAX ; 22
+
+ toggle_consts_for ROUTE_22
+ const TOGGLE_ROUTE_22_RIVAL_1 ; 23
+ const TOGGLE_ROUTE_22_RIVAL_2 ; 24
+
+ toggle_consts_for ROUTE_24
+ const TOGGLE_NUGGET_BRIDGE_GUY ; 25
+ const TOGGLE_ROUTE_24_ITEM ; 26 X
+
+ toggle_consts_for ROUTE_25
+ const TOGGLE_ROUTE_25_ITEM ; 27 X
+
+ toggle_consts_for BLUES_HOUSE
+ const TOGGLE_DAISY_SITTING ; 28
+ const TOGGLE_DAISY_WALKING ; 29
+ const TOGGLE_TOWN_MAP ; 2A
+
+ toggle_consts_for OAKS_LAB
+ const TOGGLE_OAKS_LAB_RIVAL ; 2B
+ const TOGGLE_STARTER_BALL_1 ; 2C
+ const TOGGLE_OAKS_LAB_OAK_1 ; 2D
+ const TOGGLE_POKEDEX_1 ; 2E
+ const TOGGLE_POKEDEX_2 ; 2F
+ const TOGGLE_OAKS_LAB_OAK_2 ; 30
+
+ toggle_consts_for VIRIDIAN_GYM
+ const TOGGLE_VIRIDIAN_GYM_GIOVANNI ; 31
+ const TOGGLE_VIRIDIAN_GYM_ITEM ; 32 X
+
+ toggle_consts_for MUSEUM_1F
+ const TOGGLE_OLD_AMBER ; 33
+
+ toggle_consts_for CERULEAN_MELANIES_HOUSE
+ const TOGGLE_CERULEAN_BULBASAUR ; 34
+
+ toggle_consts_for CERULEAN_CAVE_1F
+ const TOGGLE_CERULEAN_CAVE_1F_ITEM_1 ; 35 X
+ const TOGGLE_CERULEAN_CAVE_1F_ITEM_2 ; 36 X
+ const TOGGLE_CERULEAN_CAVE_1F_ITEM_3 ; 37 X
+ const TOGGLE_CERULEAN_CAVE_1F_ITEM_4 ; 38 X
+
+ toggle_consts_for POKEMON_TOWER_2F
+ const TOGGLE_POKEMON_TOWER_2F_RIVAL ; 39
+
+ toggle_consts_for POKEMON_TOWER_3F
+ const TOGGLE_POKEMON_TOWER_3F_ITEM ; 3A X
+
+ toggle_consts_for POKEMON_TOWER_4F
+ const TOGGLE_POKEMON_TOWER_4F_ITEM_1 ; 3B X
+ const TOGGLE_POKEMON_TOWER_4F_ITEM_2 ; 3C X
+ const TOGGLE_POKEMON_TOWER_4F_ITEM_3 ; 3D X
+
+ toggle_consts_for POKEMON_TOWER_5F
+ const TOGGLE_POKEMON_TOWER_5F_ITEM ; 3E X
+
+ toggle_consts_for POKEMON_TOWER_6F
+ const TOGGLE_POKEMON_TOWER_6F_ITEM_1 ; 3F X
+ const TOGGLE_POKEMON_TOWER_6F_ITEM_2 ; 40 X
+
+ toggle_consts_for POKEMON_TOWER_7F
+ const TOGGLE_POKEMON_TOWER_7F_JESSIE ; 41
+ const TOGGLE_POKEMON_TOWER_7F_JAMES ; 42
+ const TOGGLE_POKEMON_TOWER_7F_MR_FUJI ; 43
+
+ toggle_consts_for MR_FUJIS_HOUSE
+ const TOGGLE_MR_FUJIS_HOUSE_MR_FUJI ; 44
+
+ toggle_consts_for CELADON_MANSION_ROOF_HOUSE
+ const TOGGLE_CELADON_MANSION_EEVEE_GIFT ; 45
+
+ toggle_consts_for GAME_CORNER
+ const TOGGLE_GAME_CORNER_ROCKET ; 46
+
+ toggle_consts_for WARDENS_HOUSE
+ const TOGGLE_WARDENS_HOUSE_ITEM ; 47 X
+
+ toggle_consts_for POKEMON_MANSION_1F
+ const TOGGLE_POKEMON_MANSION_1F_ITEM_1 ; 48 X
+ const TOGGLE_POKEMON_MANSION_1F_ITEM_2 ; 49 X
+
+ toggle_consts_for FIGHTING_DOJO
+ const TOGGLE_FIGHTING_DOJO_GIFT_1 ; 4A
+ const TOGGLE_FIGHTING_DOJO_GIFT_2 ; 4B
+
+ toggle_consts_for SILPH_CO_1F
+ const TOGGLE_SILPH_CO_1F_RECEPTIONIST ; 4C
+
+ toggle_consts_for POWER_PLANT
+ const TOGGLE_VOLTORB_1 ; 4D X
+ const TOGGLE_VOLTORB_2 ; 4E X
+ const TOGGLE_VOLTORB_3 ; 4F X
+ const TOGGLE_ELECTRODE_1 ; 50 X
+ const TOGGLE_VOLTORB_4 ; 51 X
+ const TOGGLE_VOLTORB_5 ; 52 X
+ const TOGGLE_ELECTRODE_2 ; 53 X
+ const TOGGLE_VOLTORB_6 ; 54 X
+ const TOGGLE_ZAPDOS ; 55 X
+ const TOGGLE_POWER_PLANT_ITEM_1 ; 56 X
+ const TOGGLE_POWER_PLANT_ITEM_2 ; 57 X
+ const TOGGLE_POWER_PLANT_ITEM_3 ; 58 X
+ const TOGGLE_POWER_PLANT_ITEM_4 ; 59 X
+ const TOGGLE_POWER_PLANT_ITEM_5 ; 5A X
+
+ toggle_consts_for VICTORY_ROAD_2F
+ const TOGGLE_MOLTRES ; 5B X
+ const TOGGLE_VICTORY_ROAD_2F_ITEM_1 ; 5C X
+ const TOGGLE_VICTORY_ROAD_2F_ITEM_2 ; 5D X
+ const TOGGLE_VICTORY_ROAD_2F_ITEM_3 ; 5E X
+ const TOGGLE_VICTORY_ROAD_2F_ITEM_4 ; 5F X
+ const TOGGLE_VICTORY_ROAD_2F_BOULDER ; 60
+
+ toggle_consts_for BILLS_HOUSE
+ const TOGGLE_BILL_POKEMON ; 61
+ const TOGGLE_BILL_1 ; 62
+ const TOGGLE_BILL_2 ; 63
+
+ toggle_consts_for VIRIDIAN_FOREST
+ const TOGGLE_VIRIDIAN_FOREST_ITEM_1 ; 64 X
+ const TOGGLE_VIRIDIAN_FOREST_ITEM_2 ; 65 X
+ const TOGGLE_VIRIDIAN_FOREST_ITEM_3 ; 66 X
+
+ toggle_consts_for MT_MOON_1F
+ const TOGGLE_MT_MOON_1F_ITEM_1 ; 67 X
+ const TOGGLE_MT_MOON_1F_ITEM_2 ; 68 X
+ const TOGGLE_MT_MOON_1F_ITEM_3 ; 69 X
+ const TOGGLE_MT_MOON_1F_ITEM_4 ; 6A X
+ const TOGGLE_MT_MOON_1F_ITEM_5 ; 6B X
+ const TOGGLE_MT_MOON_1F_ITEM_6 ; 6C X
+
+ toggle_consts_for MT_MOON_B2F
+ const TOGGLE_MT_MOON_B2F_JESSIE ; 6D
+ const TOGGLE_MT_MOON_B2F_JAMES ; 6E
+ const TOGGLE_MT_MOON_B2F_FOSSIL_1 ; 6F
+ const TOGGLE_MT_MOON_B2F_FOSSIL_2 ; 70
+ const TOGGLE_MT_MOON_B2F_ITEM_1 ; 71 X
+ const TOGGLE_MT_MOON_B2F_ITEM_2 ; 72 X
+
+ toggle_consts_for SS_ANNE_2F
+ const TOGGLE_SS_ANNE_2F_RIVAL ; 73
+
+ toggle_consts_for SS_ANNE_1F_ROOMS
+ const TOGGLE_SS_ANNE_1F_ROOMS_ITEM ; 74 X
+
+ toggle_consts_for SS_ANNE_2F_ROOMS
+ const TOGGLE_SS_ANNE_2F_ROOMS_ITEM_1 ; 75 X
+ const TOGGLE_SS_ANNE_2F_ROOMS_ITEM_2 ; 76 X
+
+ toggle_consts_for SS_ANNE_B1F_ROOMS
+ const TOGGLE_SS_ANNE_B1F_ROOMS_ITEM_1 ; 77 X
+ const TOGGLE_SS_ANNE_B1F_ROOMS_ITEM_2 ; 78 X
+ const TOGGLE_SS_ANNE_B1F_ROOMS_ITEM_3 ; 79 X
+
+ toggle_consts_for VICTORY_ROAD_3F
+ const TOGGLE_VICTORY_ROAD_3F_ITEM_1 ; 7A X
+ const TOGGLE_VICTORY_ROAD_3F_ITEM_2 ; 7B X
+ const TOGGLE_VICTORY_ROAD_3F_BOULDER ; 7C
+
+ toggle_consts_for ROCKET_HIDEOUT_B1F
+ const TOGGLE_ROCKET_HIDEOUT_B1F_ITEM_1 ; 7D X
+ const TOGGLE_ROCKET_HIDEOUT_B1F_ITEM_2 ; 7E X
+
+ toggle_consts_for ROCKET_HIDEOUT_B2F
+ const TOGGLE_ROCKET_HIDEOUT_B2F_ITEM_1 ; 7F X
+ const TOGGLE_ROCKET_HIDEOUT_B2F_ITEM_2 ; 80 X
+ const TOGGLE_ROCKET_HIDEOUT_B2F_ITEM_3 ; 81 X
+ const TOGGLE_ROCKET_HIDEOUT_B2F_ITEM_4 ; 82 X
+
+ toggle_consts_for ROCKET_HIDEOUT_B3F
+ const TOGGLE_ROCKET_HIDEOUT_B3F_ITEM_1 ; 83 X
+ const TOGGLE_ROCKET_HIDEOUT_B3F_ITEM_2 ; 84 X
+
+ toggle_consts_for ROCKET_HIDEOUT_B4F
+ const TOGGLE_ROCKET_HIDEOUT_B4F_GIOVANNI ; 85
+ const TOGGLE_ROCKET_HIDEOUT_B4F_JAMES ; 86
+ const TOGGLE_ROCKET_HIDEOUT_B4F_JESSIE ; 87
+ const TOGGLE_ROCKET_HIDEOUT_B4F_ITEM_1 ; 88 X
+ const TOGGLE_ROCKET_HIDEOUT_B4F_ITEM_2 ; 89 X
+ const TOGGLE_ROCKET_HIDEOUT_B4F_ITEM_3 ; 8A X
+ const TOGGLE_ROCKET_HIDEOUT_B4F_ITEM_4 ; 8B
+ const TOGGLE_ROCKET_HIDEOUT_B4F_ITEM_5 ; 8C
+
+ toggle_consts_for SILPH_CO_2F
+ const TOGGLE_SILPH_CO_2F_1 ; 8D XXX never (de)activated?
+ const TOGGLE_SILPH_CO_2F_2 ; 8E
+ const TOGGLE_SILPH_CO_2F_3 ; 8F
+ const TOGGLE_SILPH_CO_2F_4 ; 90
+ const TOGGLE_SILPH_CO_2F_5 ; 91
+
+ toggle_consts_for SILPH_CO_3F
+ const TOGGLE_SILPH_CO_3F_1 ; 92
+ const TOGGLE_SILPH_CO_3F_2 ; 93
+ const TOGGLE_SILPH_CO_3F_ITEM ; 94 X
+
+ toggle_consts_for SILPH_CO_4F
+ const TOGGLE_SILPH_CO_4F_1 ; 95
+ const TOGGLE_SILPH_CO_4F_2 ; 96
+ const TOGGLE_SILPH_CO_4F_3 ; 97
+ const TOGGLE_SILPH_CO_4F_ITEM_1 ; 98 X
+ const TOGGLE_SILPH_CO_4F_ITEM_2 ; 99 X
+ const TOGGLE_SILPH_CO_4F_ITEM_3 ; 9A X
+
+ toggle_consts_for SILPH_CO_5F
+ const TOGGLE_SILPH_CO_5F_1 ; 9B
+ const TOGGLE_SILPH_CO_5F_2 ; 9C
+ const TOGGLE_SILPH_CO_5F_3 ; 9D
+ const TOGGLE_SILPH_CO_5F_4 ; 9E
+ const TOGGLE_SILPH_CO_5F_ITEM_1 ; 9F X
+ const TOGGLE_SILPH_CO_5F_ITEM_2 ; A0 X
+ const TOGGLE_SILPH_CO_5F_ITEM_3 ; A1 X
+
+ toggle_consts_for SILPH_CO_6F
+ const TOGGLE_SILPH_CO_6F_1 ; A2
+ const TOGGLE_SILPH_CO_6F_2 ; A3
+ const TOGGLE_SILPH_CO_6F_3 ; A4
+ const TOGGLE_SILPH_CO_6F_ITEM_1 ; A5 X
+ const TOGGLE_SILPH_CO_6F_ITEM_2 ; A6 X
+
+ toggle_consts_for SILPH_CO_7F
+ const TOGGLE_SILPH_CO_7F_1 ; A7
+ const TOGGLE_SILPH_CO_7F_2 ; A8
+ const TOGGLE_SILPH_CO_7F_3 ; A9
+ const TOGGLE_SILPH_CO_7F_4 ; AA
+ const TOGGLE_SILPH_CO_7F_RIVAL ; AB
+ const TOGGLE_SILPH_CO_7F_ITEM_1 ; AC X
+ const TOGGLE_SILPH_CO_7F_ITEM_2 ; AD X
+ const TOGGLE_SILPH_CO_7F_8 ; AE XXX sprite doesn't exist
+
+ toggle_consts_for SILPH_CO_8F
+ const TOGGLE_SILPH_CO_8F_1 ; AF
+ const TOGGLE_SILPH_CO_8F_2 ; B0
+ const TOGGLE_SILPH_CO_8F_3 ; B1
+
+ toggle_consts_for SILPH_CO_9F
+ const TOGGLE_SILPH_CO_9F_1 ; B2
+ const TOGGLE_SILPH_CO_9F_2 ; B3
+ const TOGGLE_SILPH_CO_9F_3 ; B4
+
+ toggle_consts_for SILPH_CO_10F
+ const TOGGLE_SILPH_CO_10F_1 ; B5
+ const TOGGLE_SILPH_CO_10F_2 ; B6
+ const TOGGLE_SILPH_CO_10F_3 ; B7 XXX never (de)activated?
+ const TOGGLE_SILPH_CO_10F_ITEM_1 ; B8 X
+ const TOGGLE_SILPH_CO_10F_ITEM_2 ; B9 X
+ const TOGGLE_SILPH_CO_10F_ITEM_3 ; BA X
+
+ toggle_consts_for SILPH_CO_11F
+ const TOGGLE_SILPH_CO_11F_1 ; BB
+ const TOGGLE_SILPH_CO_11F_JAMES ; BC
+ const TOGGLE_SILPH_CO_11F_2 ; BD
+ const TOGGLE_SILPH_CO_11F_JESSIE ; BE
+
+ toggle_consts_for UNUSED_MAP_F4
+ const TOGGLE_UNUSED_MAP_F4_1 ; BF XXX sprite doesn't exist
+
+ toggle_consts_for POKEMON_MANSION_2F
+ const TOGGLE_POKEMON_MANSION_2F_ITEM ; C0 X
+
+ toggle_consts_for POKEMON_MANSION_3F
+ const TOGGLE_POKEMON_MANSION_3F_ITEM_1 ; C1 X
+ const TOGGLE_POKEMON_MANSION_3F_ITEM_2 ; C2 X
+
+ toggle_consts_for POKEMON_MANSION_B1F
+ const TOGGLE_POKEMON_MANSION_B1F_ITEM_1 ; C3 X
+ const TOGGLE_POKEMON_MANSION_B1F_ITEM_2 ; C4 X
+ const TOGGLE_POKEMON_MANSION_B1F_ITEM_3 ; C5 X
+ const TOGGLE_POKEMON_MANSION_B1F_ITEM_4 ; C6 X
+ const TOGGLE_POKEMON_MANSION_B1F_ITEM_5 ; C7 X
+
+ toggle_consts_for SAFARI_ZONE_EAST
+ const TOGGLE_SAFARI_ZONE_EAST_ITEM_1 ; C8 X
+ const TOGGLE_SAFARI_ZONE_EAST_ITEM_2 ; C9 X
+ const TOGGLE_SAFARI_ZONE_EAST_ITEM_3 ; CA X
+ const TOGGLE_SAFARI_ZONE_EAST_ITEM_4 ; CB X
+
+ toggle_consts_for SAFARI_ZONE_NORTH
+ const TOGGLE_SAFARI_ZONE_NORTH_ITEM_1 ; CC X
+ const TOGGLE_SAFARI_ZONE_NORTH_ITEM_2 ; CD X
+
+ toggle_consts_for SAFARI_ZONE_WEST
+ const TOGGLE_SAFARI_ZONE_WEST_ITEM_1 ; CE X
+ const TOGGLE_SAFARI_ZONE_WEST_ITEM_2 ; CF X
+ const TOGGLE_SAFARI_ZONE_WEST_ITEM_3 ; D0 X
+ const TOGGLE_SAFARI_ZONE_WEST_ITEM_4 ; D1 X
+
+ toggle_consts_for SAFARI_ZONE_CENTER
+ const TOGGLE_SAFARI_ZONE_CENTER_ITEM ; D2 X
+
+ toggle_consts_for CERULEAN_CAVE_2F
+ const TOGGLE_CERULEAN_CAVE_2F_ITEM_1 ; D3 X
+ const TOGGLE_CERULEAN_CAVE_2F_ITEM_2 ; D4 X
+ const TOGGLE_CERULEAN_CAVE_2F_ITEM_3 ; D5 X
+ const TOGGLE_CERULEAN_CAVE_2F_ITEM_4 ; D6 X
+
+ toggle_consts_for CERULEAN_CAVE_B1F
+ const TOGGLE_MEWTWO ; D7 X
+ const TOGGLE_CERULEAN_CAVE_B1F_ITEM_1 ; D8 X
+ const TOGGLE_CERULEAN_CAVE_B1F_ITEM_2 ; D9 X
+ const TOGGLE_CERULEAN_CAVE_B1F_ITEM_3 ; DA X
+ const TOGGLE_CERULEAN_CAVE_B1F_ITEM_4 ; DB X
+
+ toggle_consts_for VICTORY_ROAD_1F
+ const TOGGLE_VICTORY_ROAD_1F_ITEM_1 ; DC X
+ const TOGGLE_VICTORY_ROAD_1F_ITEM_2 ; DD X
+
+ toggle_consts_for CHAMPIONS_ROOM
+ const TOGGLE_CHAMPIONS_ROOM_OAK ; DE
+
+ toggle_consts_for SEAFOAM_ISLANDS_1F
+ const TOGGLE_SEAFOAM_ISLANDS_1F_BOULDER_1 ; DF
+ const TOGGLE_SEAFOAM_ISLANDS_1F_BOULDER_2 ; E0
+
+ toggle_consts_for SEAFOAM_ISLANDS_B1F
+ const TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_1 ; E1
+ const TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_2 ; E2
+
+ toggle_consts_for SEAFOAM_ISLANDS_B2F
+ const TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_1 ; E3
+ const TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_2 ; E4
+
+ toggle_consts_for SEAFOAM_ISLANDS_B3F
+ const TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_1 ; E5
+ const TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_2 ; E6
+ const TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_3 ; E7
+ const TOGGLE_SEAFOAM_ISLANDS_B3F_BOULDER_4 ; E8
+
+ toggle_consts_for SEAFOAM_ISLANDS_B4F
+ const TOGGLE_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E9
+ const TOGGLE_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; EA
+ const TOGGLE_ARTICUNO ; EB X
+
+ const TOGGLE_DAISY_SITTING_COPY ; EC
+ const TOGGLE_DAISY_WALKING_COPY ; ED
+ const TOGGLE_TOWN_MAP_COPY ; EE
+
+DEF NUM_TOGGLEABLE_OBJECTS EQU const_value