summaryrefslogtreecommitdiff
path: root/constants
diff options
context:
space:
mode:
Diffstat (limited to 'constants')
-rw-r--r--constants/collision_constants.asm132
-rw-r--r--constants/gfx_constants.asm1
-rw-r--r--constants/landmark_constants.asm90
-rw-r--r--constants/main_menu_constants.asm12
-rw-r--r--constants/map_constants.asm520
-rw-r--r--constants/map_data_constants.asm20
-rw-r--r--constants/map_object_constants.asm4
-rw-r--r--constants/metatile_constants.asm31
-rw-r--r--constants/movement_constants.asm44
-rw-r--r--constants/sprite_constants.asm2
-rw-r--r--constants/text_constants.asm2
-rw-r--r--constants/wram_constants.asm6
12 files changed, 585 insertions, 279 deletions
diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm
new file mode 100644
index 0000000..ebe3856
--- /dev/null
+++ b/constants/collision_constants.asm
@@ -0,0 +1,132 @@
+; collision IDs are built like this:
+; 76543210
+; \__/|\_/
+; | | \-- SubType
+; | \---- Flag
+; \------ Type
+;
+; What exactly flag means or if it
+; means anything is up to Type.
+; Old Types:
+; ???
+; New Types:
+; 0 - Regular 8 - ???
+; 1 - Trees, Grass etc. 9 - Special Talk Action
+; 2 - Water A - Jump Action
+; 3 - Water 2 B - unused
+; 4 - Land C - unused
+; 5 - Land 2 D - unused
+; 6 - ??? E - unused
+; 7 - Warps F - unused
+
+COLLISION_TYPE_MASK EQU $f0
+COLLISION_SUBTYPE_MASK EQU $07
+COLLISION_WATER_SUBTYPE_MASK EQU $03
+
+COLLISION_FLAG EQU $08
+
+; old collision constants
+
+OLD_COLLISION_TYPE_REGULAR EQU $00
+OLD_COLLISION_TYPE_SCENERY EQU $10
+OLD_COLLISION_TYPE_WATER EQU $20
+OLD_COLLISION_TYPE_WATER2 EQU $40
+
+OLD_COLLISION_WALKABLE EQU $00
+OLD_COLLISION_SOLID EQU $01
+OLD_COLLISION_FLOOR EQU $03
+OLD_COLLISION_WALL EQU $04
+
+OLD_COLLISION_LEDGE EQU $11
+
+OLD_COLLISION_WATER2_S EQU $40
+
+OLD_COLLISION_ROCK EQU $51
+
+OLD_COLLISION_CARPED EQU $60
+OLD_COLLISION_DOOR EQU $61
+
+OLD_COLLISION_SIGNPOST EQU $70
+OLD_COLLISION_SHOP_SIGN EQU $71
+OLD_COLLISION_MART_ITEM EQU $72
+OLD_COLLISION_COUNTER EQU $73
+
+OLD_COLLISION_CUT_TREE EQU $80
+OLD_COLLISION_GRASS EQU $82
+
+; new collision constants
+
+COLLISION_TYPE_REGULAR EQU $00
+COLLISION_TYPE_SCENERY EQU $10
+COLLISION_TYPE_WATER EQU $20
+COLLISION_TYPE_WATER2 EQU $30
+COLLISION_TYPE_LAND EQU $40
+COLLISION_TYPE_LAND2 EQU $50
+COLLISION_TYPE_UNK EQU $60
+COLLISION_TYPE_WARPS EQU $70
+COLLISION_TYPE_UNKN2 EQU $80
+COLLISION_TYPE_SPECIAL EQU $90
+COLLISION_TYPE_JUMP EQU $A0
+
+COLLISION_WALKABLE EQU $00
+COLLISION_SOLID EQU $07
+COLLISION_CUT_TREE EQU $12
+COLLISION_GRASS EQU $18
+
+; water collisions
+
+COLLISION_WATER EQU $21
+COLLISION_WATERFALL EQU $22
+COLLISION_WATER_SOLID EQU $27
+
+; water collisions 2
+COLLISION_WATER2_E EQU $30
+COLLISION_WATER2_W EQU $31
+COLLISION_WATER2_N EQU $32
+COLLISION_WATER2_S EQU $33
+; $34..$37 will behave like COLLISION_WATER2_E..COLLISION_WATER2_S
+
+; land collisions
+COLLISION_LAND_SLOW EQU $40
+COLLISION_LAND_E EQU $41
+COLLISION_LAND_W EQU $42
+COLLISION_LAND_N EQU $43
+COLLISION_LAND_S EQU $44
+; $45..$47 will behave like COLLISION_LAND_E
+
+; land collisions 2
+COLLISION_LAND2_E EQU $50
+COLLISION_LAND2_W EQU $51
+COLLISION_LAND2_N EQU $52
+COLLISION_LAND2_S EQU $53
+; $54..$57 will behave like COLLISION_LAND2_E
+
+
+; warp collisions
+COLLISION_CARPET EQU $70
+COLLISION_DOOR EQU $71
+COLLISION_STEPS EQU $72
+
+; special collisions
+COLLISION_COUNTER EQU $90
+COLLISION_BOOKCASE EQU $91
+COLLISION_PC EQU $93
+COLLISION_RADIO EQU $94
+COLLISION_SIGNPOST EQU $95
+COLLISION_STRAIGHT_SIGNPOST EQU $97
+
+; jump collisions
+; perform jump in marked direction, else
+; regular walking
+COLLISION_JUMP_E EQU $a0
+COLLISION_JUMP_W EQU $a1
+COLLISION_JUMP_N EQU $a2
+COLLISION_JUMP_S EQU $a3
+COLLISION_JUMP_SE EQU $a4
+COLLISION_JUMP_SW EQU $a5
+COLLISION_JUMP_NE EQU $a6
+COLLISION_JUMP_NW EQU $a7
+
+NEVER_SOLID EQU 0
+SOMETIMES_SOLID EQU 1
+ALWAYS_SOLID EQU 15
diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm
index 536f4a4..52f74e5 100644
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -35,6 +35,7 @@ HP_YELLOW EQU 1
HP_RED EQU 2
SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile)
+DOUBLESPRITEBUFFERSIZE EQU 2*SPRITEBUFFERSIZE
; sprite_oam_struct members (see macros/wram.asm)
const_def
diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm
index b7a7542..56a7b02 100644
--- a/constants/landmark_constants.asm
+++ b/constants/landmark_constants.asm
@@ -1,47 +1,45 @@
const_def
- const LANDMARK_NONE ; 00
- const LANDMARK_SILENT ; 01
- const LANDMARK_OLD ; 02
- const LANDMARK_WEST ; 03
- const LANDMARK_HIGH_TECH ; 04
- const LANDMARK_FOUNT ; 05
- const LANDMARK_BIRDON ; 06
- const LANDMARK_NEW_TYPE ; 07
- const LANDMARK_SUGAR ; 08
- const LANDMARK_BLUE_FOREST ; 09
- const LANDMARK_STAND ; 0a
- const LANDMARK_KANTO ; 0b
- const LANDMARK_PRINCE ; 0c
- const LANDMARK_MT_FUJI ; 0d
- const LANDMARK_SOUTH ; 0e
- const LANDMARK_NORTH ; 0f
- const LANDMARK_ROUTE_15 ; 10
- const LANDMARK_ROUTE_18 ; 11
- const LANDMARK_POWER_PLANT_1 ; 12
- const LANDMARK_POWER_PLANT_2 ; 13
- const LANDMARK_POWER_PLANT_3 ; 14
- const LANDMARK_POWER_PLANT_4 ; 15
- const LANDMARK_RUINS_1 ; 16
- const LANDMARK_RUINS_2 ; 17
- const LANDMARK_MINES_1 ; 18
- const LANDMARK_MINES_2 ; 19
- const LANDMARK_MINES_3 ; 1a
- const LANDMARK_MINES_4 ; 1b
- const LANDMARK_MINES_5 ; 1c
- const LANDMARK_MINES_6 ; 1d
- const LANDMARK_MINES_7 ; 1e
- const LANDMARK_HIDEOUT_1 ; 1f
- const LANDMARK_HIDEOUT_2 ; 20
- const LANDMARK_HIDEOUT_3 ; 21
- const LANDMARK_SLOWPOKE_WELL_1 ; 22
- const LANDMARK_SLOWPOKE_WELL_2 ; 23
- const LANDMARK_POKEMON_LEAGUE_1 ; 24
- const LANDMARK_POKEMON_LEAGUE_1_2 ; 25
- const LANDMARK_POKEMON_LEAGUE_2 ; 26
- const LANDMARK_POKEMON_LEAGUE_3 ; 27
- const LANDMARK_POKEMON_LEAGUE_4 ; 28
- const LANDMARK_POKEMON_LEAGUE_5 ; 29
- const LANDMARK_POKEMON_LEAGUE_6 ; 2a
- const LANDMARK_POKEMON_LEAGUE_7 ; 2b
- const LANDMARK_POKEMON_LEAGUE_7_2 ; 2c
- const LANDMARK_SILENT_HILL ; 2d
+ const LANDMARK_NONE ; 00
+ const LANDMARK_NORTH ; 01
+ const LANDMARK_BULL_FOREST_ROUTE_3 ; 02
+ const LANDMARK_BULL_FOREST ; 03
+ const LANDMARK_BULL_FOREST_ROUTE_2 ; 04
+ const LANDMARK_STAND ; 05
+ const LANDMARK_STAND_ROUTE ; 06
+ const LANDMARK_KANTO_EAST_ROUTE ; 07
+ const LANDMARK_KANTO ; 08
+ const LANDMARK_ROUTE_SILENT_EAST ; 09
+ const LANDMARK_SILENT_HILL ; 0a
+ const LANDMARK_PRINCE ; 0b
+ const LANDMARK_MT_FUJI ; 0c
+ const LANDMARK_ROUTE_1_P1 ; 0d
+ const LANDMARK_ROUTE_1_P2 ; 0e
+ const LANDMARK_OLD_CITY ; 0f
+ const LANDMARK_ROUTE_2 ; 10
+ const LANDMARK_WEST ; 11
+ const LANDMARK_BAADON_ROUTE_1 ; 12
+ const LANDMARK_BAADON ; 13
+ const LANDMARK_BAADON_ROUTE_2 ; 14
+ const LANDMARK_BAADON_ROUTE_3 ; 15
+ const LANDMARK_ROUTE_15 ; 16
+ const LANDMARK_NEWTYPE ; 17
+ const LANDMARK_SUGAR_ROUTE ; 18
+ const LANDMARK_SUGAR ; 19
+ const LANDMARK_NEWTYPE_ROUTE ; 1a
+ const LANDMARK_ROUTE_18 ; 1b
+ const LANDMARK_BULL_FOREST_ROUTE_1 ; 1c
+ const LANDMARK_1C ; 1d
+ const LANDMARK_1D ; 1e
+ const LANDMARK_FONTO_ROUTE_3 ; 1f
+ const LANDMARK_FONTO ; 20
+ const LANDMARK_FONTO_ROUTE_2 ; 21
+ const LANDMARK_FONTO_ROUTE_6 ; 22
+ const LANDMARK_FONTO_ROUTE_5 ; 23
+ const LANDMARK_SOUTH ; 24
+ const LANDMARK_FONTO_ROUTE_1 ; 25
+ const LANDMARK_HAITEKU_WEST_ROUTE_OCEAN ; 26
+ const LANDMARK_HAITEKU_WEST_ROUTE ; 27
+ const LANDMARK_HAITEKU ; 28
+ const LANDMARK_WASTE_BRIDGE ; 29
+ const LANDMARK_FONTO_ROUTE_4 ; 2a
+ const LANDMARK_FONTO_BRIDGE ; 2b
diff --git a/constants/main_menu_constants.asm b/constants/main_menu_constants.asm
new file mode 100644
index 0000000..033e396
--- /dev/null
+++ b/constants/main_menu_constants.asm
@@ -0,0 +1,12 @@
+ const_def
+ const M_NEW_GAME
+ const M_CONTINUE
+ const M_PLAY_GAME
+ const M_SET_TIME
+
+ const_def
+ const CONTINUE
+ const NEW_GAME
+ const OPTION
+ const PLAY_POKEMON
+ const SET_TIME \ No newline at end of file
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index d5e130e..828b01a 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -1,231 +1,293 @@
-; Map IDs
+newgroup: MACRO
+const_value = const_value + 1
+ enum_start 1
+ENDM
+
+map_const: MACRO
+;\1: map id
+;\2: width: in blocks
+;\3: height: in blocks
+GROUP_\1 EQU const_value
+ enum MAP_\1
+\1_WIDTH EQU \2
+\1_HEIGHT EQU \3
+ENDM
+; Map IDs
const_def
- const ROUTE_1_P1
- const ROUTE_1_P2
- const ROUTE_SILENT_EAST
- const SILENT_HILL
- const ROUTE_1_GATE_1F
- const ROUTE_1_GATE_2F
- const ROUTE_SILENT_EAST_GATE
- const PLAYER_HOUSE_1F
- const PLAYER_HOUSE_2F
- const SILENT_POKECENTER
- const SILENT_HILL_HOUSE
- const SILENT_HILL_LAB
- const SILENT_HILL_LAB_2
- const UNUSED_13
- const SHIZUKANA_OKA
- const ROUTE_2
- const OLD_CITY
- const ROUTE_2_GATE_1F
- const ROUTE_2_GATE_2F
- const ROUTE_2_HOUSE
- const OLD_CITY_MUSEUM
- const OLD_CITY_GYM
- const OLD_CITY_TOWER_1F
- const OLD_CITY_TOWER_2F
- const OLD_CITY_TOWER_3F
- const OLD_CITY_TOWER_4F
- const OLD_CITY_TOWER_5F
- const OLD_CITY_BILLS_HOUSE
- const OLD_CITY_MART
- const OLD_CITY_HOUSE
- const OLD_CITY_POKECENTER_1F
- const OLD_CITY_POKECENTER_2F
- const OLD_CITY_POKECENTER_TRADE
- const OLD_CITY_POKECENTER_BATTLE
- const OLD_CITY_POKECENTER_TIME_MACHINE
- const OLD_CITY_KURTS_HOUSE
- const OLD_CITY_SCHOOL
- const WEST
- const WEST_MART_1F
- const WEST_MART_2F
- const WEST_MART_3F
- const WEST_MART_4F
- const WEST_MART_5F
- const WEST_MART_6F
- const WEST_MART_ELEVATOR
- const WEST_RADIO_TOWER_1F
- const WEST_RADIO_TOWER_2F
- const WEST_RADIO_TOWER_3F
- const WEST_RADIO_TOWER_4F
- const WEST_RADIO_TOWER_5F
- const WEST_ROCKET_RAIDED_HOUSE
- const WEST_POKECENTER_1F
- const WEST_POKECENTER_2F
- const WEST_GYM
- const WEST_HOUSE_1
- const WEST_HOUSE_2
- const HAITEKU_WEST_ROUTE
- const HAITEKU_WEST_ROUTE_OCEAN
- const HAITEKU
- const HAITEKU_WEST_ROUTE_GATE
- const HAITEKU_POKECENTER_1F
- const HAITEKU_POKECENTER_2F
- const HAITEKU_LEAGUE_1F
- const HAITEKU_LEAGUE_2F
- const HAITEKU_MART
- const HAITEKU_HOUSE_1
- const HAITEKU_HOUSE_2
- const HAITEKU_IMPOSTER_OAK_HOUSE
- const HAITEKU_AQUARIUM_1F
- const HAITEKU_AQUARIUM_2F
- const FONTO_ROUTE_1
- const FONTO_ROUTE_2
- const FONTO_ROUTE_3
- const FONTO_ROUTE_4
- const FONTO_ROUTE_5
- const FONTO_ROUTE_6
- const FONTO
- const FONTO_ROUTE_GATE_1
- const FONTO_ROUTE_GATE_2
- const FONTO_ROUTE_GATE_3
- const FONTO_ROCKET_HOUSE
- const FONTO_MART
- const FONTO_HOUSE
- const FONTO_POKECENTER_1F
- const FONTO_POKECENTER_2F
- const FONTO_LAB
- const BAADON_ROUTE_1
- const BAADON_ROUTE_2
- const BAADON_ROUTE_3
- const BAADON
- const BAADON_ROUTE_GATE_WEST
- const BAADON_ROUTE_GATE_NEWTYPE
- const BAADON_MART
- const BAADON_POKECENTER_1F
- const BAADON_POKECENTER_2F
- const BAADON_HOUSE_1
- const BAADON_WALLPAPER_HOUSE
- const BAADON_HOUSE_2
- const BAADON_LEAGUE_1F
- const BAADON_LEAGUE_2F
- const ROUTE_15
- const NEWTYPE_ROUTE
- const ROUTE_18
- const NEWTYPE
- const ROUTE_15_POKECENTER_1F
- const ROUTE_15_POKECENTER_2F
- const NEWTYPE_ROUTE_GATE
- const ROUTE_18_POKECENTER_1F
- const ROUTE_18_POKECENTER_2F
- const NEWTYPE_POKECENTER_1F
- const NEWTYPE_POKECENTER_2F
- const NEWTYPE_LEAGUE_1F
- const NEWTYPE_LEAGUE_2F
- const NEWTYPE_SAILOR_HOUSE
- const NEWTYPE_MART
- const NEWTYPE_DOJO
- const NEWTYPE_HOUSE_1
- const NEWTYPE_DINER
- const NEWTYPE_HOUSE_2
- const NEWTYPE_HOUSE_3
- const SUGAR_ROUTE
- const SUGAR
- const SUGAR_ROUTE_GATE
- const SUGAR_HOUSE
- const SUGAR_HOUSE_2
- const SUGAR_MART
- const SUGAR_POKECENTER_1F
- const SUGAR_POKECENTER_2F
- const BULL_FOREST_ROUTE_1
- const BULL_FOREST_ROUTE_2
- const BULL_FOREST_ROUTE_3
- const BULL_FOREST
- const BULL_FOREST_ROUTE_1_HOUSE
- const BULL_FOREST_ROUTE_GATE_STAND
- const BULL_MART
- const BULL_HOUSE_1
- const BULL_HOUSE_2
- const BULL_HOUSE_3
- const BULL_POKECENTER_1F
- const BULL_POKECENTER_2F
- const BULL_LEAGUE_1F
- const BULL_LEAGUE_2F
- const BULL_HOUSE_4
- const STAND_ROUTE
- const STAND
- const STAND_ROUTE_GATE_KANTO
- const STAND_LAB
- const STAND_POKECENTER_1F
- const STAND_POKECENTER_2F
- const STAND_OFFICE
- const STAND_MART
- const STAND_HOUSE
- const STAND_ROCKET_HOUSE_1F
- const STAND_ROCKET_HOUSE_2F
- const STAND_LEAGUE_1F
- const STAND_LEAGUE_2F
- const KANTO_EAST_ROUTE
- const KANTO
- const KANTO_CERULEAN_HOUSE
- const KANTO_POKECENTER_1F
- const KANTO_POKECENTER_2F
- const KANTO_LEAGUE_1F
- const KANTO_LEAGUE_2F
- const KANTO_LAVENDER_HOUSE
- const KANTO_CELADON_MART_1F
- const KANTO_CELADON_MART_2F
- const KANTO_CELADON_MART_3F
- const KANTO_CELADON_MART_4F
- const KANTO_CELADON_MART_5F
- const KANTO_CELADON_ELEVATOR
- const KANTO_MART
- const KANTO_GAMEFREAK_HQ_1
- const KANTO_GAMEFREAK_HQ_2
- const KANTO_GAMEFREAK_HQ_3
- const KANTO_GAMEFREAK_HQ_4
- const KANTO_GAMEFREAK_HQ_5
- const KANTO_SILPH_CO
- const KANTO_VIRIDIAN_HOUSE
- const KANTO_GAME_CORNER
- const KANTO_UNUSED_AREA
- const KANTO_GAME_CORNER_PRIZES
- const KANTO_DINER
- const KANTO_SCHOOL
- const KANTO_HOSPITAL
- const KANTO_POKECENTER_2_1F
- const KANTO_POKECENTER_2_2F
- const KANTO_REDS_HOUSE
- const KANTO_GREENS_HOUSE_1F
- const KANTO_GREENS_HOUSE_2F
- const KANTO_ELDERS_HOUSE
- const KANTO_OAKS_LAB
- const KANTO_LEAGUE_2_1F
- const KANTO_LEAGUE_2_2F
- const KANTO_FISHING_GURU
- const PRINCE_ROUTE
- const PRINCE
- const MT_FUJI_ROUTE
- const MT_FUJI
- const SOUTH
- const SOUTH_HOUSE_1
- const SOUTH_POKECENTER_1F
- const SOUTH_POKECENTER_2F
- const SOUTH_MART
- const SOUTH_HOUSE_2
- const NORTH
- const NORTH_HOUSE_1
- const NORTH_MART
- const NORTH_HOUSE_2
- const NORTH_POKECENTER_1F
- const NORTH_POKECENTER_2F
- const POWER_PLANT_1
- const POWER_PLANT_2
- const POWER_PLANT_3
- const POWER_PLANT_4
- const RUINS_OF_ALPH_ENTRANCE
- const RUINS_OF_ALPH_MAIN
- const CAVE_MINECARTS_1
- const CAVE_MINECARTS_2
- const CAVE_MINECARTS_3
- const CAVE_MINECARTS_4
- const CAVE_MINECARTS_5
- const CAVE_MINECARTS_6
- const CAVE_MINECARTS_7
- const OFFICE_1
- const OFFICE_2
- const OFFICE_3
- const SLOWPOKE_WELL_ENTRANCE
- const SLOWPOKE_WELL_MAIN
+
+ newgroup ; 1
+
+ map_const ROUTE_1_P1, 15, 9 ; 1
+ map_const ROUTE_1_P2, 10, 18 ; 2
+ map_const ROUTE_SILENT_EAST, 30, 9 ; 3
+ map_const SILENT_HILL, 10, 9 ; 4
+ map_const ROUTE_1_GATE_1F, 5, 4 ; 5
+ map_const ROUTE_1_GATE_2F, 4, 3 ; 6
+ map_const ROUTE_SILENT_EAST_GATE, 5, 4 ; 7
+ map_const PLAYER_HOUSE_1F, 5, 4 ; 8
+ map_const PLAYER_HOUSE_2F, 5, 4 ; 9
+ map_const SILENT_POKECENTER, 8, 4 ; 10
+ map_const SILENT_HILL_HOUSE, 5, 4 ; 11
+ map_const SILENT_HILL_LAB, 4, 8 ; 12
+ map_const SILENT_HILL_LAB_2, 4, 4 ; 13
+ map_const UNUSED_13, 4, 4 ; 14
+ map_const SHIZUKANA_OKA, 25, 18 ; 15
+
+ newgroup ; 2
+
+ map_const ROUTE_2, 15, 9 ; 1
+ map_const OLD_CITY, 20, 18 ; 2
+ map_const ROUTE_2_GATE_1F, 5, 4 ; 3
+ map_const ROUTE_2_GATE_2F, 4, 3 ; 4
+ map_const ROUTE_2_HOUSE, 4, 4 ; 5
+ map_const OLD_CITY_MUSEUM, 8, 4 ; 6
+ map_const OLD_CITY_GYM, 5, 9 ; 7
+ map_const OLD_CITY_TOWER_1F, 4, 4 ; 8
+ map_const OLD_CITY_TOWER_2F, 4, 4 ; 9
+ map_const OLD_CITY_TOWER_3F, 4, 4 ; 10
+ map_const OLD_CITY_TOWER_4F, 4, 4 ; 11
+ map_const OLD_CITY_TOWER_5F, 3, 3 ; 12
+ map_const OLD_CITY_BILLS_HOUSE, 4, 4 ; 13
+ map_const OLD_CITY_MART, 6, 4 ; 14
+ map_const OLD_CITY_HOUSE, 4, 4 ; 15
+ map_const OLD_CITY_POKECENTER_1F, 8, 4 ; 16
+ map_const OLD_CITY_POKECENTER_2F, 8, 4 ; 17
+ map_const OLD_CITY_POKECENTER_TRADE, 5, 4 ; 18
+ map_const OLD_CITY_POKECENTER_BATTLE, 5, 4 ; 19
+ map_const OLD_CITY_POKECENTER_TIME_MACHINE, 8, 4 ; 20
+ map_const OLD_CITY_KURTS_HOUSE, 8, 4 ; 21
+ map_const OLD_CITY_SCHOOL, 4, 8 ; 22
+
+ newgroup ; 3
+
+ map_const WEST, 20, 18 ; 1
+ map_const WEST_MART_1F, 8, 4 ; 2
+ map_const WEST_MART_2F, 8, 4 ; 3
+ map_const WEST_MART_3F, 8, 4 ; 4
+ map_const WEST_MART_4F, 8, 4 ; 5
+ map_const WEST_MART_5F, 8, 4 ; 6
+ map_const WEST_MART_6F, 8, 4 ; 7
+ map_const WEST_MART_ELEVATOR, 2, 2 ; 8
+ map_const WEST_RADIO_TOWER_1F, 4, 4 ; 9
+ map_const WEST_RADIO_TOWER_2F, 4, 4 ; 10
+ map_const WEST_RADIO_TOWER_3F, 4, 4 ; 11
+ map_const WEST_RADIO_TOWER_4F, 4, 4 ; 12
+ map_const WEST_RADIO_TOWER_5F, 4, 4 ; 13
+ map_const WEST_ROCKET_RAIDED_HOUSE, 5, 4 ; 14
+ map_const WEST_POKECENTER_1F, 8, 4 ; 15
+ map_const WEST_POKECENTER_2F, 8, 4 ; 16
+ map_const WEST_GYM, 5, 9 ; 17
+ map_const WEST_HOUSE_1, 5, 4 ; 18
+ map_const WEST_HOUSE_2, 5, 4 ; 19
+
+ newgroup ; 4
+
+ map_const HAITEKU_WEST_ROUTE, 25, 9 ; 1
+ map_const HAITEKU_WEST_ROUTE_OCEAN, 10, 27 ; 2
+ map_const HAITEKU, 20, 18 ; 3
+ map_const HAITEKU_WEST_ROUTE_GATE, 5, 4 ; 4
+ map_const HAITEKU_POKECENTER_1F, 8, 4 ; 5
+ map_const HAITEKU_POKECENTER_2F, 8, 4 ; 6
+ map_const HAITEKU_LEAGUE_1F, 4, 8 ; 7
+ map_const HAITEKU_LEAGUE_2F, 5, 9 ; 8
+ map_const HAITEKU_MART, 6, 4 ; 9
+ map_const HAITEKU_HOUSE_1, 5, 4 ; 10
+ map_const HAITEKU_HOUSE_2, 5, 4 ; 11
+ map_const HAITEKU_IMPOSTER_OAK_HOUSE, 5, 4 ; 12
+ map_const HAITEKU_AQUARIUM_1F, 8, 4 ; 13
+ map_const HAITEKU_AQUARIUM_2F, 8, 4 ; 14
+
+ newgroup
+
+ map_const FONTO_ROUTE_1, 35, 9
+ map_const FONTO_ROUTE_2, 10, 18
+ map_const FONTO_ROUTE_3, 25, 9
+ map_const FONTO_ROUTE_4, 10, 18
+ map_const FONTO_ROUTE_5, 10, 18
+ map_const FONTO_ROUTE_6, 35, 9
+ map_const FONTO, 10, 9
+ map_const FONTO_ROUTE_GATE_1, 5, 4
+ map_const FONTO_ROUTE_GATE_2, 5, 4
+ map_const FONTO_ROUTE_GATE_3, 5, 4
+ map_const FONTO_ROCKET_HOUSE, 8, 4
+ map_const FONTO_MART, 8, 4
+ map_const FONTO_HOUSE, 5, 4
+ map_const FONTO_POKECENTER_1F, 8, 4
+ map_const FONTO_POKECENTER_2F, 8, 4
+ map_const FONTO_LAB, 5, 4
+
+ newgroup
+
+ map_const BAADON_ROUTE_1, 10, 27
+ map_const BAADON_ROUTE_2, 50, 9
+ map_const BAADON_ROUTE_3, 10, 18
+ map_const BAADON, 10, 9
+ map_const BAADON_ROUTE_GATE_WEST, 5, 4
+ map_const BAADON_ROUTE_GATE_NEWTYPE, 5, 4
+ map_const BAADON_MART, 8, 4
+ map_const BAADON_POKECENTER_1F, 8, 4
+ map_const BAADON_POKECENTER_2F, 8, 4
+ map_const BAADON_HOUSE_1, 4, 4
+ map_const BAADON_WALLPAPER_HOUSE, 4, 4
+ map_const BAADON_HOUSE_2, 5, 4
+ map_const BAADON_LEAGUE_1F, 4, 8
+ map_const BAADON_LEAGUE_2F, 5, 9
+
+ newgroup
+
+ map_const ROUTE_15, 15, 9
+ map_const NEWTYPE_ROUTE, 15, 9
+ map_const ROUTE_18, 10, 45
+ map_const NEWTYPE, 20, 18
+ map_const ROUTE_15_POKECENTER_1F, 8, 4
+ map_const ROUTE_15_POKECENTER_2F, 8, 4
+ map_const NEWTYPE_ROUTE_GATE, 5, 4
+ map_const ROUTE_18_POKECENTER_1F, 8, 4
+ map_const ROUTE_18_POKECENTER_2F, 8, 4
+ map_const NEWTYPE_POKECENTER_1F, 8, 4
+ map_const NEWTYPE_POKECENTER_2F, 8, 4
+ map_const NEWTYPE_LEAGUE_1F, 4, 8
+ map_const NEWTYPE_LEAGUE_2F, 5, 9
+ map_const NEWTYPE_SAILOR_HOUSE, 5, 4
+ map_const NEWTYPE_MART, 8, 4
+ map_const NEWTYPE_DOJO, 4, 8
+ map_const NEWTYPE_HOUSE_1, 5, 4
+ map_const NEWTYPE_DINER, 4, 4
+ map_const NEWTYPE_HOUSE_2, 5, 4
+ map_const NEWTYPE_HOUSE_3, 5, 4
+
+ newgroup
+
+ map_const SUGAR_ROUTE, 10, 27
+ map_const SUGAR, 10, 9
+ map_const SUGAR_ROUTE_GATE, 5, 4
+ map_const SUGAR_HOUSE, 4, 8
+ map_const SUGAR_HOUSE_2, 4, 4
+ map_const SUGAR_MART, 8, 4
+ map_const SUGAR_POKECENTER_1F, 8, 4
+ map_const SUGAR_POKECENTER_2F, 8, 4
+
+ newgroup
+
+ map_const BULL_FOREST_ROUTE_1, 25, 9
+ map_const BULL_FOREST_ROUTE_2, 10, 27
+ map_const BULL_FOREST_ROUTE_3, 10, 27
+ map_const BULL_FOREST, 20, 18
+ map_const BULL_FOREST_ROUTE_1_HOUSE, 5, 4
+ map_const BULL_FOREST_ROUTE_GATE_STAND, 5, 4
+ map_const BULL_MART, 8, 4
+ map_const BULL_HOUSE_1, 4, 4
+ map_const BULL_HOUSE_2, 5, 4
+ map_const BULL_HOUSE_3, 5, 4
+ map_const BULL_POKECENTER_1F, 8, 4
+ map_const BULL_POKECENTER_2F, 8, 4
+ map_const BULL_LEAGUE_1F, 4, 8
+ map_const BULL_LEAGUE_2F, 5, 9
+ map_const BULL_HOUSE_4, 5, 4
+
+ newgroup
+
+ map_const STAND_ROUTE, 10, 27
+ map_const STAND, 20, 18
+ map_const STAND_ROUTE_GATE_KANTO, 5, 4
+ map_const STAND_LAB, 4, 4
+ map_const STAND_POKECENTER_1F, 8, 4
+ map_const STAND_POKECENTER_2F, 8, 4
+ map_const STAND_OFFICE, 8, 4
+ map_const STAND_MART, 8, 4
+ map_const STAND_HOUSE, 5, 4
+ map_const STAND_ROCKET_HOUSE_1F, 8, 4
+ map_const STAND_ROCKET_HOUSE_2F, 8, 4
+ map_const STAND_LEAGUE_1F, 4, 8
+ map_const STAND_LEAGUE_2F, 5, 9
+
+ newgroup
+
+ map_const KANTO_EAST_ROUTE, 20, 9
+ map_const KANTO, 30, 27
+ map_const KANTO_CERULEAN_HOUSE, 5, 4
+ map_const KANTO_POKECENTER_1F, 8, 4
+ map_const KANTO_POKECENTER_2F, 8, 4
+ map_const KANTO_LEAGUE_1F, 4, 8
+ map_const KANTO_LEAGUE_2F, 5, 9
+ map_const KANTO_LAVENDER_HOUSE, 5, 4
+ map_const KANTO_CELADON_MART_1F, 8, 4
+ map_const KANTO_CELADON_MART_2F, 8, 4
+ map_const KANTO_CELADON_MART_3F, 8, 4
+ map_const KANTO_CELADON_MART_4F, 8, 4
+ map_const KANTO_CELADON_MART_5F, 8, 4
+ map_const KANTO_CELADON_ELEVATOR, 2, 2
+ map_const KANTO_MART, 8, 4
+ map_const KANTO_GAMEFREAK_HQ_1, 4, 6
+ map_const KANTO_GAMEFREAK_HQ_2, 4, 6
+ map_const KANTO_GAMEFREAK_HQ_3, 4, 6
+ map_const KANTO_GAMEFREAK_HQ_4, 4, 6
+ map_const KANTO_GAMEFREAK_HQ_5, 4, 4
+ map_const KANTO_SILPH_CO, 12, 8
+ map_const KANTO_VIRIDIAN_HOUSE, 5, 4
+ map_const KANTO_GAME_CORNER, 10, 7
+ map_const KANTO_UNUSED_AREA, 4, 4
+ map_const KANTO_GAME_CORNER_PRIZES, 5, 4
+ map_const KANTO_DINER, 5, 4
+ map_const KANTO_SCHOOL, 4, 8
+ map_const KANTO_HOSPITAL, 8, 4
+ map_const KANTO_POKECENTER_2_1F, 8, 4
+ map_const KANTO_POKECENTER_2_2F, 8, 4
+ map_const KANTO_REDS_HOUSE, 5, 4
+ map_const KANTO_GREENS_HOUSE_1F, 4, 4
+ map_const KANTO_GREENS_HOUSE_2F, 4, 4
+ map_const KANTO_ELDERS_HOUSE, 5, 4
+ map_const KANTO_OAKS_LAB, 4, 4
+ map_const KANTO_LEAGUE_2_1F, 4, 8
+ map_const KANTO_LEAGUE_2_2F, 5, 9
+ map_const KANTO_FISHING_GURU, 5, 4
+
+ newgroup
+
+ map_const PRINCE_ROUTE, 10, 5
+ map_const PRINCE, 10, 9
+
+ newgroup
+
+ map_const MT_FUJI_ROUTE, 10, 5
+ map_const MT_FUJI, 10, 9
+
+ newgroup
+
+ map_const SOUTH, 20, 18
+ map_const SOUTH_HOUSE_1, 5, 4
+ map_const SOUTH_POKECENTER_1F, 8, 4
+ map_const SOUTH_POKECENTER_2F, 8, 4
+ map_const SOUTH_MART, 8, 4
+ map_const SOUTH_HOUSE_2, 5, 4
+
+ newgroup
+
+ map_const NORTH, 10, 9
+ map_const NORTH_HOUSE_1, 5, 4
+ map_const NORTH_MART, 6, 4
+ map_const NORTH_HOUSE_2, 5, 4
+ map_const NORTH_POKECENTER_1F, 8, 4
+ map_const NORTH_POKECENTER_2F, 8, 4
+
+ newgroup
+
+ map_const POWER_PLANT_1, 10, 9
+ map_const POWER_PLANT_2, 10, 9
+ map_const POWER_PLANT_3, 15, 18
+ map_const POWER_PLANT_4, 15, 18
+ map_const RUINS_OF_ALPH_ENTRANCE, 10, 9
+ map_const RUINS_OF_ALPH_MAIN, 25, 27
+ map_const CAVE_MINECARTS_1, 20, 18
+ map_const CAVE_MINECARTS_2, 20, 18
+ map_const CAVE_MINECARTS_3, 20, 18
+ map_const CAVE_MINECARTS_4, 20, 18
+ map_const CAVE_MINECARTS_5, 20, 18
+ map_const CAVE_MINECARTS_6, 10, 18
+ map_const CAVE_MINECARTS_7, 10, 18
+ map_const OFFICE_1, 10, 9
+ map_const OFFICE_2, 15, 18
+ map_const OFFICE_3, 10, 18
+ map_const SLOWPOKE_WELL_ENTRANCE, 10, 9
+ map_const SLOWPOKE_WELL_MAIN, 10, 18
diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm
index e711e1d..8a60442 100644
--- a/constants/map_data_constants.asm
+++ b/constants/map_data_constants.asm
@@ -8,11 +8,25 @@
const GATE
const DUNGEON
+; connection directions (see data/maps/data.asm)
+ const_def
+ const EAST_F
+ const WEST_F
+ const SOUTH_F
+ const NORTH_F
+
+; wMapConnections
+ const_def
+ shift_const EAST
+ shift_const WEST
+ shift_const SOUTH
+ shift_const NORTH
+
; SpawnPoints indexes (see data/maps/spawn_points.asm)
const_value = -1
const SPAWN_N_A
-
+
NUM_SPAWNS EQU 18
-
+
; size of each spawn point data
-SPAWN_POINT_SIZE EQU 4 \ No newline at end of file
+SPAWN_POINT_SIZE EQU 4
diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm
index c9bce93..81c52a3 100644
--- a/constants/map_object_constants.asm
+++ b/constants/map_object_constants.asm
@@ -70,3 +70,7 @@ MAPOBJECTTEMPLATE_SCRIPT_POINTER rb 1 ; 9
MAPOBJECTTEMPLATE_POINTER_HI rb 1 ; a
MAPOBJECTTEMPLATE_EVENT_FLAG rw 1 ; b
MAP_OBJECT_TEMPLATE_LENGTH SET _RS
+
+PLAYER_OBJECT_INDEX EQU 1
+COMPANION_OBJECT_INDEX EQU 2
+NUM_OBJECT_STRUCTS EQU 10
diff --git a/constants/metatile_constants.asm b/constants/metatile_constants.asm
new file mode 100644
index 0000000..88d54ab
--- /dev/null
+++ b/constants/metatile_constants.asm
@@ -0,0 +1,31 @@
+; all outside tileset share certain metatiles
+; this is used in overworld code when editing the map
+; D - dirt
+; L - lawn
+; T - small tree
+; C - cut tree
+; G - grass
+METATILE_GROUND EQU $01 ; DD
+ ; DD
+METATILE_LAWN EQU $04 ; LL
+ ; LL
+METATILE_SMALL_TREES_N EQU $25 ; TT
+ ; LL
+METATILE_SMALL_TREES_W EQU $28 ; TL
+ ; TL
+METATILE_SMALL_TREES_E EQU $2a ; LT
+ ; LT
+METATILE_CUT_SE_TREES_N EQU $30 ; TT
+ ; LC
+METATILE_CUT_NW_TREES_E EQU $31 ; CT
+ ; LT
+METATILE_CUT_NE_TREE_NW EQU $32 ; TC
+ ; LL
+METATILE_CUT_NE_TREE_SE EQU $33 ; LC
+ ; LT
+METATILE_SMALL_TREE_NW EQU $34 ; TL
+ ; LL
+METATILE_SMALL_TREE_SE EQU $35 ; TL
+ ; LL
+METATILE_GRASS EQU $3b ; GG
+ ; GG
diff --git a/constants/movement_constants.asm b/constants/movement_constants.asm
new file mode 100644
index 0000000..6347318
--- /dev/null
+++ b/constants/movement_constants.asm
@@ -0,0 +1,44 @@
+ const_def
+ const FACE_DOWN ; $00
+ const FACE_UP ; $01
+ const FACE_LEFT ; $02
+ const FACE_RIGHT ; $03
+ const SLOW_STEP_DOWN ; $04
+ const SLOW_STEP_UP ; $05
+ const SLOW_STEP_LEFT ; $06
+ const SLOW_STEP_RIGHT ; $07
+ const STEP_DOWN ; $08
+ const STEP_UP ; $09
+ const STEP_LEFT ; $0a
+ const STEP_RIGHT ; $0b
+ const FAST_STEP_DOWN ; $0c
+ const FAST_STEP_UP ; $0d
+ const FAST_STEP_LEFT ; $0e
+ const FAST_STEP_RIGHT ; $0f
+ const FAST_STEP_DOWN2 ; $10
+ const FAST_STEP_UP2 ; $11
+ const FAST_STEP_LEFT2 ; $12
+ const FAST_STEP_RIGHT2 ; $13
+ const SLOW_JUMP_DOWN ; $14
+ const SLOW_JUMP_UP ; $15
+ const SLOW_JUMP_LEFT ; $16
+ const SLOW_JUMP_RIGHT ; $17
+ const JUMP_DOWN ; $18
+ const JUMP_UP ; $19
+ const JUMP_LEFT ; $1a
+ const JUMP_RIGHT ; $1b
+ const FAST_JUMP_DOWN ; $1c
+ const FAST_JUMP_UP ; $1d
+ const FAST_JUMP_LEFT ; $1e
+ const FAST_JUMP_RIGHT ; $1f
+ const FAST_JUMP_DOWN2 ; $20
+ const FAST_JUMP_UP2 ; $21
+ const FAST_JUMP_LEFT2 ; $22
+ const FAST_JUMP_RIGHT2 ; $23
+ const MOVEMENT_24 ; $24
+ const MOVEMENT_25 ; $25
+ const MOVEMENT_26 ; $26
+ const MOVEMENT_27 ; $27
+ const MOVEMENT_28 ; $28
+ const MOVEMENT_29 ; $29
+ const NO_MOVEMENT ; $2a
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
index 50b5d84..c53866b 100644
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -91,3 +91,5 @@
const SPRITE_59 ; 59 duplicate SPRITE_OLD_LINK_RECEPTIONIST
const SPRITE_EGG ; 5a
const SPRITE_BOULDER ; 5b
+
+SPRITE_TILE_SIZE EQU 64
diff --git a/constants/text_constants.asm b/constants/text_constants.asm
index f899ea3..e487d4c 100644
--- a/constants/text_constants.asm
+++ b/constants/text_constants.asm
@@ -1,6 +1,6 @@
; name lengths
NAME_LENGTH EQU 11 ; English
-PLAYER_NAME_LENGTH EQU 8 ; English
+PLAYER_NAME_LENGTH EQU 6 ; Japanese
BOX_NAME_LENGTH EQU 9 ; English
MON_NAME_LENGTH EQU 6
MOVE_NAME_LENGTH EQU 13 ; English
diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm
index c530a8b..8fc2c59 100644
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -21,3 +21,9 @@ PLAYER_BIKE EQU 1
PLAYER_SKATE EQU 2
PLAYER_SURF EQU 4
PLAYER_SURF_PIKA EQU 8
+
+; wDebugFlags:: ; ce63
+ const_def
+ const DEBUG_BATTLE_F
+ const DEBUG_FIELD_F
+ const CONTINUED_F