summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants.asm4
-rw-r--r--constants/landmark_constants.asm47
-rw-r--r--constants/map_constants.asm231
-rw-r--r--constants/map_data_constants.asm9
-rw-r--r--constants/pokemon_data_constants.asm6
-rw-r--r--constants/text_constants.asm15
-rw-r--r--constants/tileset_constants.asm31
-rw-r--r--data/maps/landmarks.asm90
-rw-r--r--data/maps/maps.asm297
-rwxr-xr-xdata/pokemon/palettes.inc8
-rw-r--r--data/wild.asm18
-rwxr-xr-xhome/items.asm94
-rw-r--r--home/map.asm35
-rw-r--r--home/names.asm226
-rw-r--r--home/pokemon.asm6
-rwxr-xr-xhome/tables.asm6
-rw-r--r--shim.sym239
-rw-r--r--wram.asm31
18 files changed, 1199 insertions, 194 deletions
diff --git a/constants.asm b/constants.asm
index 9312d05..fcd408f 100644
--- a/constants.asm
+++ b/constants.asm
@@ -20,6 +20,10 @@ INCLUDE "constants/sprite_constants.asm"
INCLUDE "constants/battle_constants.asm"
INCLUDE "constants/palette_constants.asm"
INCLUDE "constants/music_constants.asm"
+INCLUDE "constants/landmark_constants.asm"
+INCLUDE "constants/map_constants.asm"
+INCLUDE "constants/tileset_constants.asm"
+INCLUDE "constants/map_data_constants.asm"
INCLUDE "constants/serial_constants.asm"
diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm
new file mode 100644
index 0000000..b7a7542
--- /dev/null
+++ b/constants/landmark_constants.asm
@@ -0,0 +1,47 @@
+ 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
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
new file mode 100644
index 0000000..d5e130e
--- /dev/null
+++ b/constants/map_constants.asm
@@ -0,0 +1,231 @@
+; 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
diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm
new file mode 100644
index 0000000..075a7f1
--- /dev/null
+++ b/constants/map_data_constants.asm
@@ -0,0 +1,9 @@
+; map environments (wEnvironment)
+ const_def 1
+ const TOWN
+ const ROUTE
+ const INDOOR
+ const CAVE
+ const ENVIRONMENT_5
+ const GATE
+ const DUNGEON
diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm
index 65be31a..0b00f47 100644
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -104,9 +104,9 @@ MONS_PER_BOX EQU 20
NUM_BOXES EQU 14
; hall of fame
-HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (MON_NAME_LENGTH + -1) ; species, id, dvs, level, nick
-HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
-NUM_HOF_TEAMS = 30
+HOF_MON_LENGTH EQUS "(wHallOfFamePokemonListMon1End - wHallOfFamePokemonListMon1)"
+HOF_LENGTH EQUS "(wHallOfFamePokemonListEnd - wHallOfFamePokemonList + 1)"
+NUM_HOF_TEAMS EQU 30
; evolution types (used in data/pokemon/evos_attacks.asm)
diff --git a/constants/text_constants.asm b/constants/text_constants.asm
index b026e91..f899ea3 100644
--- a/constants/text_constants.asm
+++ b/constants/text_constants.asm
@@ -1,12 +1,11 @@
; name lengths
-NAME_LENGTH EQU 11
-PLAYER_NAME_LENGTH EQU 8
-BOX_NAME_LENGTH EQU 9
-MON_NAME_LENGTH EQU 11
-MOVE_NAME_LENGTH EQU 13
-ITEM_NAME_LENGTH EQU 13
-TRAINER_CLASS_NAME_LENGTH EQU 13
-NAME_LENGTH_JAPANESE EQU 6
+NAME_LENGTH EQU 11 ; English
+PLAYER_NAME_LENGTH EQU 8 ; English
+BOX_NAME_LENGTH EQU 9 ; English
+MON_NAME_LENGTH EQU 6
+MOVE_NAME_LENGTH EQU 13 ; English
+ITEM_NAME_LENGTH EQU 11
+TRAINER_CLASS_NAME_LENGTH EQU 13 ; English
; GetName types (see home/names.asm)
const_def 1
diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm
new file mode 100644
index 0000000..aac5db4
--- /dev/null
+++ b/constants/tileset_constants.asm
@@ -0,0 +1,31 @@
+; Tilesets indexes
+; TODO: Temporary placeholders
+ const_def
+ const TILESET_00
+ const TILESET_01
+ const TILESET_02
+ const TILESET_03
+ const TILESET_04
+ const TILESET_05
+ const TILESET_06
+ const TILESET_07
+ const TILESET_08
+ const TILESET_09
+ const TILESET_0A
+ const TILESET_0B
+ const TILESET_0C
+ const TILESET_0D
+ const TILESET_0E
+ const TILESET_0F
+ const TILESET_10
+ const TILESET_11
+ const TILESET_12
+ const TILESET_13
+ const TILESET_14
+ const TILESET_15
+ const TILESET_16
+ const TILESET_17
+ const TILESET_18
+ const TILESET_19
+ const TILESET_1A
+ const TILESET_1B
diff --git a/data/maps/landmarks.asm b/data/maps/landmarks.asm
index 314e4ba..bc05bd3 100644
--- a/data/maps/landmarks.asm
+++ b/data/maps/landmarks.asm
@@ -3,48 +3,48 @@ INCLUDE "constants.asm"
SECTION "LandmarkNames", ROMX[$4AAF], BANK[$3F]
LandmarkNames::
- db "サイレント@"
- db "オールド@"
- db "ウエスト@"
- db "ハイテク@"
- db "フォント@"
- db "バードン@"
- db "ニュータイプ@"
- db "シュガー@"
- db "ブルーフォレスト@"
- db "スタンド@"
- db "カントー@"
- db "プりンス@"
- db "フジヤマ@"
- db "サウス@"
- db "ノース@"
- db "15ばんどうろ@"
- db "18ばんどうろ@"
- db "はつでんしょ1@"
- db "はつでんしょ2@"
- db "はつでんしょ3@"
- db "はつでんしょ4@"
- db "いせき 1@"
- db "いせき 2@"
- db "はいこう1@"
- db "はいこう2@"
- db "はいこう3@"
- db "はいこう4@"
- db "はいこう5@"
- db "はいこう6@"
- db "はいこう7@"
- db "アジト 1@"
- db "アジト 2@"
- db "アジト 3@"
- db "ヤドンの いど1@"
- db "ヤドンの いど2@"
- db "#りーぐ1@"
- db "#りーぐ1@"
- db "#りーぐ2@"
- db "#りーぐ3@"
- db "#りーぐ4@"
- db "#りーぐ5@"
- db "#りーぐ6@"
- db "#りーぐ7@"
- db "#りーぐ7@"
- db "しずかなおか@"
+ db "サイレント@" ; SILENT
+ db "オールド@" ; OLD
+ db "ウエスト@" ; WEST
+ db "ハイテク@" ; HIGH_TECH
+ db "フォント@" ; FOUNT
+ db "バードン@" ; BIRDON
+ db "ニュータイプ@" ; NEW_TYPE
+ db "シュガー@" ; SUGAR
+ db "ブルーフォレスト@" ; BLUE_FOREST
+ db "スタンド@" ; STAND
+ db "カントー@" ; KANTO
+ db "プりンス@" ; PRINCE
+ db "フジヤマ@" ; MT_FUJI
+ db "サウス@" ; SOUTH
+ db "ノース@" ; NORTH
+ db "15ばんどうろ@" ; ROUTE_15
+ db "18ばんどうろ@" ; ROUTE_18
+ db "はつでんしょ1@" ; POWER_PLANT_1
+ db "はつでんしょ2@" ; POWER_PLANT_2
+ db "はつでんしょ3@" ; POWER_PLANT_3
+ db "はつでんしょ4@" ; POWER_PLANT_4
+ db "いせき 1@" ; RUINS_1
+ db "いせき 2@" ; RUINS_2
+ db "はいこう1@" ; MINES_1
+ db "はいこう2@" ; MINES_2
+ db "はいこう3@" ; MINES_3
+ db "はいこう4@" ; MINES_4
+ db "はいこう5@" ; MINES_5
+ db "はいこう6@" ; MINES_6
+ db "はいこう7@" ; MINES_7
+ db "アジト 1@" ; HIDEOUT_1
+ db "アジト 2@" ; HIDEOUT_2
+ db "アジト 3@" ; HIDEOUT_3
+ db "ヤドンの いど1@" ; SLOWPOKE_WELL_1
+ db "ヤドンの いど2@" ; SLOWPOKE_WELL_2
+ db "#りーぐ1@" ; POKEMON_LEAGUE_1
+ db "#りーぐ1@" ; POKEMON_LEAGUE_1_2
+ db "#りーぐ2@" ; POKEMON_LEAGUE_2
+ db "#りーぐ3@" ; POKEMON_LEAGUE_3
+ db "#りーぐ4@" ; POKEMON_LEAGUE_4
+ db "#りーぐ5@" ; POKEMON_LEAGUE_5
+ db "#りーぐ6@" ; POKEMON_LEAGUE_6
+ db "#りーぐ7@" ; POKEMON_LEAGUE_7
+ db "#りーぐ7@" ; POKEMON_LEAGUE_7_2
+ db "しずかなおか@" ; SILENT_HILL
diff --git a/data/maps/maps.asm b/data/maps/maps.asm
new file mode 100644
index 0000000..83f619d
--- /dev/null
+++ b/data/maps/maps.asm
@@ -0,0 +1,297 @@
+INCLUDE "constants.asm"
+
+map: MACRO
+;\1: map name: for the MapAttributes pointer (see data/maps/attributes.asm)
+;\2: tileset: a TILESET_* constant
+;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON
+;\4: location: from constants/landmark_constants.asm
+ db BANK(\1_MapAttributes), \2, \3
+ dw \1_MapAttributes
+ db \4
+ db 0, 0 ; ???
+ENDM
+
+SECTION "Map Data", ROMX[$4000], BANK[$04]
+
+ db 0 ; ???
+
+MapGroupPointers:
+ dw MapGroup_SilentHill
+ dw MapGroup_OldCity
+ dw MapGroup_West
+ dw MapGroup_Haiteku
+ dw MapGroup_Fonto
+ dw MapGroup_Baadon
+ dw MapGroup_Newtype
+ dw MapGroup_Sugar
+ dw MapGroup_Bull
+ dw MapGroup_Stand
+ dw MapGroup_Kanto
+ dw MapGroup_Prince
+ dw MapGroup_MtFuji
+ dw MapGroup_South
+ dw MapGroup_North
+ dw MapGroup_Misc
+ dw MapGroup_Empty
+
+MapGroup_SilentHill:
+ map Route1P1, TILESET_00, ROUTE, LANDMARK_MT_FUJI
+ map Route1P2, TILESET_00, ROUTE, LANDMARK_SOUTH
+ map RouteSilentEast, TILESET_00, ROUTE, LANDMARK_BLUE_FOREST
+ map SilentHill, TILESET_00, TOWN, LANDMARK_STAND
+ map Route1Gate1F, TILESET_11, GATE, LANDMARK_SOUTH
+ map Route1Gate2F, TILESET_11, GATE, LANDMARK_SOUTH
+ map RouteSilentEastGate, TILESET_11, GATE, LANDMARK_BLUE_FOREST
+ map PlayerHouse1F, TILESET_09, INDOOR, LANDMARK_STAND
+ map PlayerHouse2F, TILESET_09, INDOOR, LANDMARK_STAND
+ map SilentPokecenter, TILESET_0C, INDOOR, LANDMARK_STAND
+ map SilentHillHouse, TILESET_09, INDOOR, LANDMARK_STAND
+ map SilentHillLab, TILESET_0A, INDOOR, LANDMARK_STAND
+ map SilentHillLab2, TILESET_0A, INDOOR, LANDMARK_STAND
+ map Unused13, TILESET_0A, INDOOR, LANDMARK_STAND
+ map ShizukanaOka, TILESET_1B, CAVE, LANDMARK_NONE
+
+MapGroup_OldCity:
+ map Route2, TILESET_01, ROUTE, LANDMARK_ROUTE_15
+ map OldCity, TILESET_01, TOWN, LANDMARK_NORTH
+ map Route2Gate1F, TILESET_11, GATE, LANDMARK_ROUTE_15
+ map Route2Gate2F, TILESET_11, GATE, LANDMARK_ROUTE_15
+ map Route2House, TILESET_09, INDOOR, LANDMARK_ROUTE_15
+ map OldCityMuseum, TILESET_0F, INDOOR, LANDMARK_NORTH
+ map OldCityGym, TILESET_14, INDOOR, LANDMARK_NORTH
+ map OldCityTower1F, TILESET_0F, INDOOR, LANDMARK_NORTH
+ map OldCityTower2F, TILESET_0F, INDOOR, LANDMARK_NORTH
+ map OldCityTower3F, TILESET_0F, INDOOR, LANDMARK_NORTH
+ map OldCityTower4F, TILESET_0F, INDOOR, LANDMARK_NORTH
+ map OldCityTower5F, TILESET_0F, INDOOR, LANDMARK_NORTH
+ map OldCityBillsHouse, TILESET_0B, INDOOR, LANDMARK_NORTH
+ map OldCityMart, TILESET_0D, INDOOR, LANDMARK_NORTH
+ map OldCityHouse, TILESET_0B, INDOOR, LANDMARK_NORTH
+ map OldCityPokecenter1F, TILESET_0C, INDOOR, LANDMARK_NORTH
+ map OldCityPokecenter2F, TILESET_0C, INDOOR, LANDMARK_NORTH
+ map OldCityPokecenterTrade, TILESET_11, GATE, LANDMARK_NORTH
+ map OldCityPokecenterBattle, TILESET_11, GATE, LANDMARK_NORTH
+ map OldCityPokecenterTimeMachine, TILESET_0C, INDOOR, LANDMARK_NORTH
+ map OldCityKurtsHouse, TILESET_0B, INDOOR, LANDMARK_NORTH
+ map OldCitySchool, TILESET_0F, INDOOR, LANDMARK_NORTH
+
+MapGroup_West:
+ map West, TILESET_02, TOWN, LANDMARK_ROUTE_18
+ map WestMart1F, TILESET_10, INDOOR, LANDMARK_ROUTE_18
+ map WestMart2F, TILESET_10, INDOOR, LANDMARK_ROUTE_18
+ map WestMart3F, TILESET_10, INDOOR, LANDMARK_ROUTE_18
+ map WestMart4F, TILESET_10, INDOOR, LANDMARK_ROUTE_18
+ map WestMart5F, TILESET_10, INDOOR, LANDMARK_ROUTE_18
+ map WestMart6F, TILESET_10, INDOOR, LANDMARK_ROUTE_18
+ map WestMartElevator, TILESET_10, INDOOR, LANDMARK_ROUTE_18
+ map WestRadioTower1F, TILESET_12, INDOOR, LANDMARK_ROUTE_18
+ map WestRadioTower2F, TILESET_12, INDOOR, LANDMARK_ROUTE_18
+ map WestRadioTower3F, TILESET_12, INDOOR, LANDMARK_ROUTE_18
+ map WestRadioTower4F, TILESET_12, INDOOR, LANDMARK_ROUTE_18
+ map WestRadioTower5F, TILESET_12, INDOOR, LANDMARK_ROUTE_18
+ map WestRocketRaidedHouse, TILESET_09, INDOOR, LANDMARK_ROUTE_18
+ map WestPokecenter1F, TILESET_0C, INDOOR, LANDMARK_ROUTE_18
+ map WestPokecenter2F, TILESET_0C, INDOOR, LANDMARK_ROUTE_18
+ map WestGym, TILESET_14, INDOOR, LANDMARK_ROUTE_18
+ map WestHouse1, TILESET_09, INDOOR, LANDMARK_ROUTE_18
+ map WestHouse2, TILESET_09, INDOOR, LANDMARK_ROUTE_18
+
+MapGroup_Haiteku:
+ map HaitekuWestRoute, TILESET_03, ROUTE, LANDMARK_POKEMON_LEAGUE_3
+ map HaitekuWestRouteOcean, TILESET_03, ROUTE, LANDMARK_POKEMON_LEAGUE_2
+ map Haiteku, TILESET_03, TOWN, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuWestRouteGate, TILESET_11, GATE, LANDMARK_POKEMON_LEAGUE_2
+ map HaitekuPokecenter1F, TILESET_0C, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuPokecenter2F, TILESET_0C, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuLeague1F, TILESET_0F, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuLeague2F, TILESET_14, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuMart, TILESET_0D, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuHouse1, TILESET_09, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuHouse2, TILESET_09, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuImposterOakHouse, TILESET_09, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuAquarium1F, TILESET_0E, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+ map HaitekuAquarium2F, TILESET_0E, INDOOR, LANDMARK_POKEMON_LEAGUE_4
+
+MapGroup_Fonto:
+ map FontoRoute1, TILESET_05, ROUTE, LANDMARK_POKEMON_LEAGUE_1_2
+ map FontoRoute2, TILESET_05, ROUTE, LANDMARK_HIDEOUT_3
+ map FontoRoute3, TILESET_05, ROUTE, LANDMARK_HIDEOUT_1
+ map FontoRoute4, TILESET_05, ROUTE, LANDMARK_POKEMON_LEAGUE_6
+ map FontoRoute5, TILESET_05, ROUTE, LANDMARK_SLOWPOKE_WELL_2
+ map FontoRoute6, TILESET_05, ROUTE, LANDMARK_SLOWPOKE_WELL_1
+ map Fonto, TILESET_05, TOWN, LANDMARK_HIDEOUT_2
+ map FontoRouteGate1, TILESET_11, GATE, LANDMARK_POKEMON_LEAGUE_1_2
+ map FontoRouteGate2, TILESET_11, GATE, LANDMARK_POKEMON_LEAGUE_6
+ map FontoRouteGate3, TILESET_11, GATE, LANDMARK_SLOWPOKE_WELL_2
+ map FontoRocketHouse, TILESET_13, INDOOR, LANDMARK_HIDEOUT_2
+ map FontoMart, TILESET_0D, INDOOR, LANDMARK_HIDEOUT_2
+ map FontoHouse, TILESET_09, INDOOR, LANDMARK_HIDEOUT_2
+ map FontoPokecenter1F, TILESET_0C, INDOOR, LANDMARK_HIDEOUT_2
+ map FontoPokecenter2F, TILESET_0C, INDOOR, LANDMARK_HIDEOUT_2
+ map FontoLab, TILESET_0A, INDOOR, LANDMARK_HIDEOUT_2
+
+MapGroup_Baadon:
+ map BaadonRoute1, TILESET_04, ROUTE, LANDMARK_POWER_PLANT_1
+ map BaadonRoute2, TILESET_04, ROUTE, LANDMARK_POWER_PLANT_3
+ map BaadonRoute3, TILESET_04, ROUTE, LANDMARK_POWER_PLANT_4
+ map Baadon, TILESET_04, TOWN, LANDMARK_POWER_PLANT_2
+ map BaadonRouteGateWest, TILESET_11, GATE, LANDMARK_POWER_PLANT_1
+ map BaadonRouteGateNewtype, TILESET_11, GATE, LANDMARK_POWER_PLANT_4
+ map BaadonMart, TILESET_0D, INDOOR, LANDMARK_POWER_PLANT_2
+ map BaadonPokecenter1F, TILESET_0C, INDOOR, LANDMARK_POWER_PLANT_2
+ map BaadonPokecenter2F, TILESET_0C, INDOOR, LANDMARK_POWER_PLANT_2
+ map BaadonHouse1, TILESET_0B, INDOOR, LANDMARK_POWER_PLANT_2
+ map BaadonWallpaperHouse, TILESET_0E, INDOOR, LANDMARK_POWER_PLANT_2
+ map BaadonHouse2, TILESET_09, INDOOR, LANDMARK_POWER_PLANT_2
+ map BaadonLeague1F, TILESET_0F, INDOOR, LANDMARK_POWER_PLANT_2
+ map BaadonLeague2F, TILESET_14, INDOOR, LANDMARK_POWER_PLANT_2
+
+MapGroup_Newtype:
+ map Route15, TILESET_00, ROUTE, LANDMARK_RUINS_1
+ map NewtypeRoute, TILESET_00, ROUTE, LANDMARK_MINES_3
+ map Route18, TILESET_00, ROUTE, LANDMARK_MINES_4
+ map Newtype, TILESET_00, TOWN, LANDMARK_RUINS_2
+ map Route15Pokecenter1F, TILESET_0C, INDOOR, LANDMARK_RUINS_1
+ map Route15Pokecenter2F, TILESET_0C, INDOOR, LANDMARK_RUINS_1
+ map NewtypeRouteGate, TILESET_11, GATE, LANDMARK_MINES_4
+ map Route18Pokecenter1F, TILESET_0C, INDOOR, LANDMARK_MINES_4
+ map Route18Pokecenter2F, TILESET_0C, INDOOR, LANDMARK_MINES_4
+ map NewtypePokecenter1F, TILESET_0C, INDOOR, LANDMARK_RUINS_2
+ map NewtypePokecenter2F, TILESET_0C, INDOOR, LANDMARK_RUINS_2
+ map NewtypeLeague1F, TILESET_0F, INDOOR, LANDMARK_RUINS_2
+ map NewtypeLeague2F, TILESET_14, INDOOR, LANDMARK_RUINS_2
+ map NewtypeSailorHouse, TILESET_09, INDOOR, LANDMARK_RUINS_2
+ map NewtypeMart, TILESET_0D, INDOOR, LANDMARK_RUINS_2
+ map NewtypeDojo, TILESET_0B, INDOOR, LANDMARK_RUINS_2
+ map NewtypeHouse1, TILESET_09, INDOOR, LANDMARK_RUINS_2
+ map NewtypeDiner, TILESET_0E, INDOOR, LANDMARK_RUINS_2
+ map NewtypeHouse2, TILESET_09, INDOOR, LANDMARK_RUINS_2
+ map NewtypeHouse3, TILESET_09, INDOOR, LANDMARK_RUINS_2
+
+MapGroup_Sugar:
+ map SugarRoute, TILESET_03, ROUTE, LANDMARK_MINES_1
+ map Sugar, TILESET_03, TOWN, LANDMARK_MINES_2
+ map SugarRouteGate, TILESET_11, GATE, LANDMARK_MINES_1
+ map SugarHouse, TILESET_14, INDOOR, LANDMARK_MINES_2
+ map SugarHouse2, TILESET_0B, INDOOR, LANDMARK_MINES_2
+ map SugarMart, TILESET_0D, INDOOR, LANDMARK_MINES_2
+ map SugarPokecenter1F, TILESET_0C, INDOOR, LANDMARK_MINES_2
+ map SugarPokecenter2F, TILESET_0C, INDOOR, LANDMARK_MINES_2
+
+MapGroup_Bull:
+ map BullForestRoute1, TILESET_06, ROUTE, LANDMARK_MINES_5
+ map BullForestRoute2, TILESET_06, ROUTE, LANDMARK_HIGH_TECH
+ map BullForestRoute3, TILESET_06, ROUTE, LANDMARK_OLD
+ map BullForest, TILESET_06, TOWN, LANDMARK_WEST
+ map BullForestRoute1House, TILESET_09, INDOOR, LANDMARK_MINES_5
+ map BullForestRouteGateStand, TILESET_11, GATE, LANDMARK_HIGH_TECH
+ map BullMart, TILESET_0D, INDOOR, LANDMARK_WEST
+ map BullHouse1, TILESET_0B, INDOOR, LANDMARK_WEST
+ map BullHouse2, TILESET_09, INDOOR, LANDMARK_WEST
+ map BullHouse3, TILESET_09, INDOOR, LANDMARK_WEST
+ map BullPokecenter1F, TILESET_0C, INDOOR, LANDMARK_WEST
+ map BullPokecenter2F, TILESET_0C, INDOOR, LANDMARK_WEST
+ map BullLeague1F, TILESET_0F, INDOOR, LANDMARK_WEST
+ map BullLeague2F, TILESET_14, INDOOR, LANDMARK_WEST
+ map BullHouse4, TILESET_09, INDOOR, LANDMARK_WEST
+
+MapGroup_Stand:
+ map StandRoute, TILESET_00, ROUTE, LANDMARK_BIRDON
+ map Stand, TILESET_00, TOWN, LANDMARK_FOUNT
+ map StandRouteGateKanto, TILESET_11, GATE, LANDMARK_BIRDON
+ map StandLab, TILESET_0C, INDOOR, LANDMARK_FOUNT
+ map StandPokecenter1F, TILESET_0C, INDOOR, LANDMARK_FOUNT
+ map StandPokecenter2F, TILESET_0C, INDOOR, LANDMARK_FOUNT
+ map StandOffice, TILESET_12, INDOOR, LANDMARK_FOUNT
+ map StandMart, TILESET_0D, INDOOR, LANDMARK_FOUNT
+ map StandHouse, TILESET_09, INDOOR, LANDMARK_FOUNT
+ map StandRocketHouse1F, TILESET_13, INDOOR, LANDMARK_FOUNT
+ map StandRocketHouse2F, TILESET_13, INDOOR, LANDMARK_FOUNT
+ map StandLeague1F, TILESET_0F, INDOOR, LANDMARK_FOUNT
+ map StandLeague2F, TILESET_14, INDOOR, LANDMARK_FOUNT
+
+MapGroup_Kanto:
+ map KantoEastRoute, TILESET_07, ROUTE, LANDMARK_NEW_TYPE
+ map Kanto, TILESET_07, TOWN, LANDMARK_SUGAR
+ map KantoCeruleanHouse, TILESET_11, GATE, LANDMARK_SUGAR
+ map KantoPokecenter1F, TILESET_0C, INDOOR, LANDMARK_SUGAR
+ map KantoPokecenter2F, TILESET_0C, INDOOR, LANDMARK_SUGAR
+ map KantoLeague1F, TILESET_0F, INDOOR, LANDMARK_SUGAR
+ map KantoLeague2F, TILESET_14, INDOOR, LANDMARK_SUGAR
+ map KantoLavenderHouse, TILESET_09, INDOOR, LANDMARK_SUGAR
+ map KantoCeladonMart1F, TILESET_10, INDOOR, LANDMARK_SUGAR
+ map KantoCeladonMart2F, TILESET_10, INDOOR, LANDMARK_SUGAR
+ map KantoCeladonMart3F, TILESET_10, INDOOR, LANDMARK_SUGAR
+ map KantoCeladonMart4F, TILESET_10, INDOOR, LANDMARK_SUGAR
+ map KantoCeladonMart5F, TILESET_10, INDOOR, LANDMARK_SUGAR
+ map KantoCeladonElevator, TILESET_10, INDOOR, LANDMARK_SUGAR
+ map KantoMart, TILESET_0D, INDOOR, LANDMARK_SUGAR
+ map KantoGamefreakHQ1, TILESET_0A, INDOOR, LANDMARK_SUGAR
+ map KantoGamefreakHQ2, TILESET_0A, INDOOR, LANDMARK_SUGAR
+ map KantoGamefreakHQ3, TILESET_0A, INDOOR, LANDMARK_SUGAR
+ map KantoGamefreakHQ4, TILESET_0D, INDOOR, LANDMARK_SUGAR
+ map KantoGamefreakHQ5, TILESET_0A, INDOOR, LANDMARK_SUGAR
+ map KantoSilphCo, TILESET_13, INDOOR, LANDMARK_SUGAR
+ map KantoViridianHouse, TILESET_09, INDOOR, LANDMARK_SUGAR
+ map KantoGameCorner, TILESET_0E, INDOOR, LANDMARK_SUGAR
+ map KantoUnusedArea, TILESET_11, INDOOR, LANDMARK_SUGAR
+ map KantoGameCornerPrizes, TILESET_0E, INDOOR, LANDMARK_SUGAR
+ map KantoDiner, TILESET_0E, INDOOR, LANDMARK_SUGAR
+ map KantoSchool, TILESET_0F, INDOOR, LANDMARK_SUGAR
+ map KantoHospital, TILESET_10, INDOOR, LANDMARK_SUGAR
+ map KantoPokecenter21F, TILESET_0C, INDOOR, LANDMARK_SUGAR
+ map KantoPokecenter22F, TILESET_0C, INDOOR, LANDMARK_SUGAR
+ map KantoRedsHouse, TILESET_09, INDOOR, LANDMARK_SUGAR
+ map KantoGreensHouse1F, TILESET_09, INDOOR, LANDMARK_SUGAR
+ map KantoGreensHouse2F, TILESET_09, INDOOR, LANDMARK_SUGAR
+ map KantoEldersHouse, TILESET_09, INDOOR, LANDMARK_SUGAR
+ map KantoOaksLab, TILESET_0A, INDOOR, LANDMARK_SUGAR
+ map KantoLeague21F, TILESET_0F, INDOOR, LANDMARK_SUGAR
+ map KantoLeague22F, TILESET_14, INDOOR, LANDMARK_SUGAR
+ map KantoFishingGuru, TILESET_09, INDOOR, LANDMARK_SUGAR
+
+MapGroup_Prince:
+ map PrinceRoute, TILESET_00, ROUTE, LANDMARK_KANTO
+ map Prince, TILESET_00, TOWN, LANDMARK_KANTO
+
+MapGroup_MtFuji:
+ map MtFujiRoute, TILESET_00, ROUTE, LANDMARK_PRINCE
+ map MtFuji, TILESET_00, TOWN, LANDMARK_PRINCE
+
+MapGroup_South:
+ map South, TILESET_08, TOWN, LANDMARK_POKEMON_LEAGUE_1
+ map SouthHouse1, TILESET_09, INDOOR, LANDMARK_POKEMON_LEAGUE_1
+ map SouthPokecenter1F, TILESET_0C, INDOOR, LANDMARK_POKEMON_LEAGUE_1
+ map SouthPokecenter2F, TILESET_0C, INDOOR, LANDMARK_POKEMON_LEAGUE_1
+ map SouthMart, TILESET_0D, INDOOR, LANDMARK_POKEMON_LEAGUE_1
+ map SouthHouse2, TILESET_09, INDOOR, LANDMARK_POKEMON_LEAGUE_1
+
+MapGroup_North:
+ map North, TILESET_06, TOWN, LANDMARK_SILENT
+ map NorthHouse1, TILESET_09, INDOOR, LANDMARK_SILENT
+ map NorthMart, TILESET_0D, INDOOR, LANDMARK_SILENT
+ map NorthHouse2, TILESET_09, INDOOR, LANDMARK_SILENT
+ map NorthPokecenter1F, TILESET_0C, INDOOR, LANDMARK_SILENT
+ map NorthPokecenter2F, TILESET_0C, INDOOR, LANDMARK_SILENT
+
+MapGroup_Misc:
+ map PowerPlant1, TILESET_18, INDOOR, LANDMARK_NONE
+ map PowerPlant2, TILESET_18, INDOOR, LANDMARK_NONE
+ map PowerPlant3, TILESET_18, INDOOR, LANDMARK_NONE
+ map PowerPlant4, TILESET_18, INDOOR, LANDMARK_NONE
+ map RuinsOfAlphEntrance, TILESET_16, CAVE, LANDMARK_NONE
+ map RuinsOfAlphMain, TILESET_16, CAVE, LANDMARK_NONE
+ map CaveMinecarts1, TILESET_17, CAVE, LANDMARK_NONE
+ map CaveMinecarts2, TILESET_17, CAVE, LANDMARK_NONE
+ map CaveMinecarts3, TILESET_17, CAVE, LANDMARK_NONE
+ map CaveMinecarts4, TILESET_17, CAVE, LANDMARK_NONE
+ map CaveMinecarts5, TILESET_17, CAVE, LANDMARK_NONE
+ map CaveMinecarts6, TILESET_17, CAVE, LANDMARK_NONE
+ map CaveMinecarts7, TILESET_17, CAVE, LANDMARK_NONE
+ map Office1, TILESET_15, INDOOR, LANDMARK_NONE
+ map Office2, TILESET_15, INDOOR, LANDMARK_NONE
+ map Office3, TILESET_15, INDOOR, LANDMARK_NONE
+ map SlowpokeWellEntrance, TILESET_17, CAVE, LANDMARK_NONE
+ map SlowpokeWellMain, TILESET_17, CAVE, LANDMARK_NONE
+
+MapGroup_Empty:
diff --git a/data/pokemon/palettes.inc b/data/pokemon/palettes.inc
index 41ca0d5..a38cd99 100755
--- a/data/pokemon/palettes.inc
+++ b/data/pokemon/palettes.inc
@@ -251,7 +251,7 @@ PokemonPalettes:
db PAL_BROWNMON ; BULU
db PAL_BROWNMON ; TAIL
db PAL_GREENMON ; LEAFY
- db PAL_MEWMON ; NONE
- db PAL_MEWMON ; NONE
- db PAL_MEWMON ; NONE
- db PAL_MEWMON ; NONE
+ db PAL_MEWMON ; FC
+ db PAL_MEWMON ; FD
+ db PAL_MEWMON ; FE
+ db PAL_MEWMON ; FF
diff --git a/data/wild.asm b/data/wild.asm
index 515985d..d1cea5c 100644
--- a/data/wild.asm
+++ b/data/wild.asm
@@ -7,7 +7,7 @@ GrassWildMons:: ; f:6a3c
db $01, $01 ; map group, map id
db 8 percent, 8 percent, 8 percent ; encounter rates: morn/day/nite
; morn
-if def(GOLD)
+if DEF(GOLD)
db 7, DEX_SUNNY
db 3, DEX_SUNNY
db 5, DEX_SUNNY
@@ -23,7 +23,7 @@ endc
db 4, DEX_KORATTA
db 6, DEX_KIRINRIKI
db 4, DEX_KIRINRIKI
-if def(GOLD)
+if DEF(GOLD)
db 4, DEX_HANEKO
else
db 4, DEX_MARIL
@@ -34,7 +34,7 @@ endc
db 7, DEX_KORATTA
db 5, DEX_KORATTA
db 5, DEX_KORATTA
-if def(GOLD)
+if DEF(GOLD)
db 7, DEX_KORATTA
db 8, DEX_KORATTA
else
@@ -46,7 +46,7 @@ endc
db $01, $02 ; map group, map id
db 8 percent, 8 percent, 8 percent ; encounter rates: morn/day/nite
; morn
-if def(GOLD)
+if DEF(GOLD)
db 6, DEX_SUNNY
db 6, DEX_SUNNY
db 6, DEX_SUNNY
@@ -62,7 +62,7 @@ endc
db 5, DEX_POPPO
db 7, DEX_YOROIDORI
db 5, DEX_KORATTA
-if def(GOLD)
+if DEF(GOLD)
db 8, DEX_HANEKO
else
db 8, DEX_MARIL
@@ -72,7 +72,7 @@ endc
; nite
db 7, DEX_KORATTA
db 6, DEX_ARBO
-if def(GOLD)
+if DEF(GOLD)
db 6, DEX_KORATTA
else
db 6, DEX_HOHO
@@ -622,7 +622,7 @@ endc
db 6, DEX_POPPO
db 4, DEX_CATERPIE
db 6, DEX_CATERPIE
-if def(GOLD)
+if DEF(GOLD)
db 6, DEX_HANEKO
else
db 6, DEX_MARIL
@@ -632,7 +632,7 @@ endc
; nite
db 4, DEX_TRANSEL
db 6, DEX_KORATTA
-if def(GOLD)
+if DEF(GOLD)
db 6, DEX_CATERPIE
else
db 5, DEX_HOHO
@@ -641,5 +641,5 @@ endc
db 5, DEX_TRANSEL
db 5, DEX_PIKACHU
- db $FF
+ db -1 ; end
; f:6e3e
diff --git a/home/items.asm b/home/items.asm
index 0edd72b..498edc6 100755
--- a/home/items.asm
+++ b/home/items.asm
@@ -40,7 +40,7 @@ GiveItem::
; and copy the item's name to wcf4b.
; Return carry on success.
ld a, b
- ld [wce37], a
+ ld [wNamedObjectIndexBuffer], a
ld [wCurItem], a
ld a, c
ld [wItemQuantity], a
@@ -51,95 +51,3 @@ GiveItem::
call CopyStringToCD31
scf
ret
-
-if DEBUG
-SECTION "GetItemName", ROM0[$376F]
-else
-SECTION "GetItemName", ROM0[$3733]
-endc
-
-GetItemName:: ; 376F
-; given an item ID at [wce37], store the name of the item into a string
-; starting at wcd26
- push hl
- push bc
- ld a, [wce37]
- cp ITEM_HM01_RED
- jr nc, .machine
-
- ld [wcb5b], a
- ld a, ITEM_NAME
- ld [wNameCategory], a
- call GetName
- jr .finish
-
-.machine
- call GetMachineName
-.finish
- ld de, wcd26 ; pointer to where item name is stored in RAM
- pop bc
- pop hl
- ret
-
-if DEBUG
-SECTION "GetMachineName", ROM0[$378E]
-else
-SECTION "GetMachineName", ROM0[$3752]
-endc
-
-GetMachineName::
-; copies the name of the TM/HM in [wce37] to wcd26
- push hl
- push de
- push bc
- ld a, [wce37]
- push af
- cp ITEM_TM01_RED
- jr nc, .WriteTM
-; if HM, then write "HM" and add 5 to the item ID, so we can reuse the
-; TM printing code
- add 5
- ld [wce37], a
- ld hl, HiddenPrefix
- ld bc, 6
- jr .WriteMachinePrefix
-.WriteTM
- ld hl, TechnicalPrefix
- ld bc, 5
-.WriteMachinePrefix
- ld de, wcd26
- call CopyBytes
-; now get the machine number and convert it to text
- ld a, [wce37]
- sub ITEM_TM01_RED - 1
- ld b, "0"
-.FirstDigit
- sub 10
- jr c, .SecondDigit
- inc b
- jr .FirstDigit
-.SecondDigit
- add 10
- push af
- ld a, b
- ld [de], a
- inc de
- pop af
- ld b, "0"
- add b
- ld [de], a
- inc de
- ld a, "@"
- ld [de], a
- pop af
- ld [wce37], a
- pop bc
- pop de
- pop hl
- ret
-
-TechnicalPrefix:
- db "わざマシン@"
-
-HiddenPrefix:
- db "ひでんマシン@"
diff --git a/home/map.asm b/home/map.asm
new file mode 100644
index 0000000..8ec34be
--- /dev/null
+++ b/home/map.asm
@@ -0,0 +1,35 @@
+INCLUDE "constants.asm"
+
+SECTION "Map functions", ROM0[$20FF]
+
+; Runs a map script indexed by wMapScriptNumber
+RunMapScript:: ; 20ff
+ push hl
+ push de
+ push bc
+ ld a, [wMapScriptNumber]
+ add a, a
+ add a, a
+ ld d, 0
+ ld e, a
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, .return
+ push de
+ jp hl
+
+.return
+ pop bc
+ pop de
+ pop hl
+ ret
+
+SECTION "ClearMapBuffer", ROM0[$2123]
+ClearMapBuffer:: ; 00:2123
+ ld hl, wMapBuffer
+ ld bc, wMapBufferEnd - wMapBuffer
+ ld a, 0
+ call ByteFill
+ ret
diff --git a/home/names.asm b/home/names.asm
index 7ce5767..f0ee433 100644
--- a/home/names.asm
+++ b/home/names.asm
@@ -1,11 +1,80 @@
INCLUDE "constants.asm"
if DEBUG
-SECTION "GetNthString", ROM0[$3732]
+SECTION "Names", ROM0[$36c8]
else
-SECTION "GetNthString", ROM0[$36F6]
+SECTION "Names", ROM0[$368c] ; Unsure
endc
+NamesPointers:: ; 00:36c8
+; entries correspond to GetName constants (see constants/text_constants.asm)
+ dba PokemonNames ; MON_NAME (not used; jumps to GetPokemonName)
+ dba MoveNames ; MOVE_NAME
+ dbw 0, 0 ; DUMMY_NAME
+ dba ItemNames ; ITEM_NAME
+ dbw $00, wPartyMonOT ; PARTY_OT_NAME
+ dbw $00, wOTPartyMonOT ; ENEMY_OT_NAME
+ dba TrainerClassNames ; TRAINER_NAME
+ dbw $04, $5677 ; MOVE_DESC_NAME_BROKEN (wrong bank..?)
+
+GetName:: ; 00:36e0
+; Return name wCurSpecies from name list wNamedObjectTypeBuffer in wStringBuffer1.
+
+ ldh a, [hROMBank]
+ push af
+ push hl
+ push bc
+ push de
+
+ ld a, [wNamedObjectTypeBuffer]
+ cp MON_NAME
+ jr nz, .not_mon_name
+
+ ld a, [wCurSpecies]
+ ld [wNamedObjectIndexBuffer], a
+ call GetPokemonName
+ ld hl, MON_NAME_LENGTH
+ add hl, de
+ ld e, l
+ ld d, h
+ jr .done
+
+.not_mon_name
+ ld a, [wNamedObjectTypeBuffer]
+ dec a
+ ld e, a
+ ld d, 0
+ ld hl, NamesPointers
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ call Bankswitch
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+
+ ld a, [wCurSpecies]
+ dec a
+ call GetNthString
+
+ ld de, wStringBuffer1
+ ld bc, ITEM_NAME_LENGTH
+ call CopyBytes
+
+.done
+ ld a, e
+ ld [wcd72], a
+ ld a, d
+ ld [wcd72 + 1], a
+
+ pop de
+ pop bc
+ pop hl
+ pop af
+ call Bankswitch
+ ret
+
GetNthString::
; Return the address of the ath string starting from hl.
and a
@@ -21,3 +90,156 @@ GetNthString::
jr nz, .readChar
pop bc
ret
+
+GetPokemonName: ; 00:3741
+; Get Pokemon name wNamedObjectIndexBuffer.
+
+ ldh a, [hROMBank]
+ push af
+ push hl
+ ld a, BANK(PokemonNames)
+ call Bankswitch
+
+ ; Each name is five characters
+ ld a, [wNamedObjectIndexBuffer]
+ dec a
+ ld hl, PokemonNames
+ ld e, a
+ ld d, 0
+rept 5
+ add hl, de
+endr
+
+ ; Terminator
+ ld de, wStringBuffer1
+ push de
+ ld bc, MON_NAME_LENGTH - 1
+ call CopyBytes
+ ld hl, wStringBuffer1 + MON_NAME_LENGTH - 1
+ ld [hl], "@"
+ pop de
+ pop hl
+ pop af
+ call Bankswitch
+ ret
+
+GetItemName:: ; 376F
+; given an item ID at [wNamedObjectIndexBuffer], store the name of the item into a string
+; starting at wStringBuffer1
+ push hl
+ push bc
+ ld a, [wNamedObjectIndexBuffer]
+ cp ITEM_HM01_RED
+ jr nc, .machine
+
+ ld [wCurSpecies], a
+ ld a, ITEM_NAME
+ ld [wNamedObjectTypeBuffer], a
+ call GetName
+ jr .finish
+
+.machine
+ call GetMachineName
+.finish
+ ld de, wStringBuffer1
+ pop bc
+ pop hl
+ ret
+
+GetMachineName::
+; copies the name of the TM/HM in [wNamedObjectIndexBuffer] to wStringBuffer1
+ push hl
+ push de
+ push bc
+ ld a, [wNamedObjectIndexBuffer]
+ push af
+ cp ITEM_TM01_RED
+ jr nc, .write_tm
+; if HM, then write "HM" and add 5 to the item ID, so we can reuse the
+; TM printing code
+ add 5
+ ld [wNamedObjectIndexBuffer], a
+
+ ld hl, .HMText
+ ld bc, .HMTextEnd - .HMText
+ jr .write_machine_prefix
+
+.write_tm
+ ld hl, .TMText
+ ld bc, .TMTextEnd - .TMText
+
+.write_machine_prefix
+ ld de, wStringBuffer1
+ call CopyBytes
+; now get the machine number and convert it to text
+ ld a, [wNamedObjectIndexBuffer]
+ sub ITEM_TM01_RED - 1
+ ld b, "0"
+.first_digit
+ sub 10
+ jr c, .second_digit
+ inc b
+ jr .first_digit
+.second_digit
+ add 10
+ push af
+ ld a, b
+ ld [de], a
+ inc de
+ pop af
+ ld b, "0"
+ add b
+ ld [de], a
+ inc de
+ ld a, "@"
+ ld [de], a
+ pop af
+ ld [wNamedObjectIndexBuffer], a
+ pop bc
+ pop de
+ pop hl
+ ret
+
+.TMText:
+ db "わざマシン"
+.TMTextEnd:
+ db "@"
+
+.HMText:
+ db "ひでんマシン"
+.HMTextEnd:
+ db "@"
+
+IsHM:: ; 00:37e4
+ cp ITEM_TM01 ; ???
+ jr c, .false
+ cp ITEM_TM05 ; ???
+ ret
+
+.false
+ and a
+ ret
+
+IsHMMove:: ; 00:37ed
+ ld hl, .HMMoves
+ ld de, 1
+ jp FindItemInTable
+
+.HMMoves:
+ db MOVE_CUT
+ db MOVE_FLY
+ db MOVE_SURF
+ db MOVE_STRENGTH
+ db MOVE_FLASH
+ db -1
+
+Unreferenced_GetMoveName:: ; 00:37fc
+ push hl
+ ld a, MOVE_NAME
+ ld [wNamedObjectTypeBuffer], a
+ ld a, [wNamedObjectIndexBuffer]
+ ld [wCurSpecies], a
+ call GetName
+ ld de, wStringBuffer1
+ pop hl
+ ret
diff --git a/home/pokemon.asm b/home/pokemon.asm
index bb1bcc5..d2add97 100644
--- a/home/pokemon.asm
+++ b/home/pokemon.asm
@@ -8,7 +8,7 @@ endc
GetMonHeader:: ; 3a4b (0:3a4b)
; copies the base stat data of a pokemon to wMonHeader
; INPUT:
-; [wcb5b] = pokemon ID in dex order
+; [wCurSpecies] = pokemon ID in dex order
push bc
push de
push hl
@@ -16,7 +16,7 @@ GetMonHeader:: ; 3a4b (0:3a4b)
push af
ld a, BANK(MonBaseStats)
call Bankswitch
- ld a, [wcb5b]
+ ld a, [wCurSpecies]
cp DEX_FD
jr z, .egg
dec a
@@ -38,7 +38,7 @@ GetMonHeader:: ; 3a4b (0:3a4b)
ld [hl], d
jr .done
.done
- ld a, [wcb5b]
+ ld a, [wCurSpecies]
ld [wMonHIndex], a
pop af
call Bankswitch
diff --git a/home/tables.asm b/home/tables.asm
index dc9cebe..5c35a4f 100755
--- a/home/tables.asm
+++ b/home/tables.asm
@@ -7,7 +7,7 @@ SECTION "FindItemInTable", ROM0[$35F8]
FindItemInTable: ; 00:35F8
ld b, 0
ld c, a
-
+
.loop
ld a, [hl]
cp -1
@@ -17,11 +17,11 @@ FindItemInTable: ; 00:35F8
inc b
add hl, de
jr .loop
-
+
.fail
and a
ret
-
+
.success
scf
ret
diff --git a/shim.sym b/shim.sym
index 2e018c6..5c016a3 100644
--- a/shim.sym
+++ b/shim.sym
@@ -8,7 +8,6 @@
00:1F9E ClearWindowData
00:1FCC ClearWindowData.bytefill
-00:20ff RunMapScript
00:23dc LoadWildMons
00:23e5 FadeIn ; This is not OverworldFadeIn, but I don't know what it is
00:2C05 StartMenuCheck
@@ -19,8 +18,6 @@
00:363E GetSGBLayout
00:3648 SetHPPal
00:3655 SetHPPal.done
-00:36C8 NamesPointers
-00:36E0 GetName
00:39BA PlayCry
00:3D86 WaitSFX
00:3D87 WaitSFX.wait
@@ -83,7 +80,6 @@
03:5F7D Functiondf7d
03:5F91 Functiondf91
-04:4001 MapGroupPointers
04:528F Function1128f
04:52C1 Function112c1
04:5677 DoPlayerMovement
@@ -106,7 +102,7 @@
; Structure:
; byte Map group ($ff = end)
; byte Map ID
-; ptr Copied to c5e9, also byte pointed to written at wUnknownIdc5e8
+; ptr Copied to c5e9, also byte pointed to written at wMapScriptNumber
; ptr Copied to c5eb
; word Unknown (2 bytes)
05:470e UnknownMapBufferPointers
@@ -200,7 +196,6 @@
3F:6750 PicTestMenu
3F:6755 PicTestMenu.loop
-00:C5E8 wMapScriptNumber
00:CBF2 wWindowData
00:CBF2 wWindowStackPointer
00:CC02 wMenuDataHeader
@@ -217,4 +212,234 @@
01:d656 wMapGroup
01:d657 wMapId
01:D7D2 wPartyMonOT
-01:DA3B wUnk_DA3B
+01:DA3B wOTPartyMonOT
+
+; MapAttributes
+36:59DF Route1P1_MapAttributes
+36:5ABE Route1P2_MapAttributes
+36:724D RouteSilentEast_MapAttributes
+36:4014 SilentHill_MapAttributes
+26:4000 Route1Gate1F_MapAttributes
+26:40DA Route1Gate2F_MapAttributes
+34:4000 RouteSilentEastGate_MapAttributes
+34:4042 PlayerHouse1F_MapAttributes
+34:4132 PlayerHouse2F_MapAttributes
+34:45FF SilentPokecenter_MapAttributes
+34:47D5 SilentHillHouse_MapAttributes
+34:4AAC SilentHillLab_MapAttributes
+34:5BE6 SilentHillLab2_MapAttributes
+34:605D Unused13_MapAttributes
+2F:53DD ShizukanaOka_MapAttributes
+36:5BD4 Route2_MapAttributes
+36:410D OldCity_MapAttributes
+25:4000 Route2Gate1F_MapAttributes
+25:407C Route2Gate2F_MapAttributes
+25:40DC Route2House_MapAttributes
+25:414A OldCityMuseum_MapAttributes
+25:41CD OldCityGym_MapAttributes
+25:4289 OldCityTower1F_MapAttributes
+25:4319 OldCityTower2F_MapAttributes
+25:439E OldCityTower3F_MapAttributes
+25:4423 OldCityTower4F_MapAttributes
+25:44A8 OldCityTower5F_MapAttributes
+25:44FC OldCityBillsHouse_MapAttributes
+25:456A OldCityMart_MapAttributes
+25:45EE OldCityHouse_MapAttributes
+25:466E OldCityPokecenter1F_MapAttributes
+25:46FE OldCityPokecenter2F_MapAttributes
+25:4826 OldCityPokecenterTrade_MapAttributes
+25:48AC OldCityPokecenterBattle_MapAttributes
+25:492F OldCityPokecenterTimeMachine_MapAttributes
+25:49AC OldCityKurtsHouse_MapAttributes
+25:4A26 OldCitySchool_MapAttributes
+36:4372 West_MapAttributes
+26:4224 WestMart1F_MapAttributes
+26:42A0 WestMart2F_MapAttributes
+26:4374 WestMart3F_MapAttributes
+26:4433 WestMart4F_MapAttributes
+26:44F2 WestMart5F_MapAttributes
+26:4581 WestMart6F_MapAttributes
+26:460E WestMartElevator_MapAttributes
+26:464B WestRadioTower1F_MapAttributes
+26:46CA WestRadioTower2F_MapAttributes
+26:4772 WestRadioTower3F_MapAttributes
+26:4827 WestRadioTower4F_MapAttributes
+26:48E9 WestRadioTower5F_MapAttributes
+26:499F WestRocketRaidedHouse_MapAttributes
+26:4A49 WestPokecenter1F_MapAttributes
+26:4AE1 WestPokecenter2F_MapAttributes
+26:4B5E WestGym_MapAttributes
+26:4C1A WestHouse1_MapAttributes
+26:4C9E WestHouse2_MapAttributes
+36:5CC6 HaitekuWestRoute_MapAttributes
+36:5DD1 HaitekuWestRouteOcean_MapAttributes
+36:45D2 Haiteku_MapAttributes
+27:4000 HaitekuWestRouteGate_MapAttributes
+27:405B HaitekuPokecenter1F_MapAttributes
+27:40EF HaitekuPokecenter2F_MapAttributes
+27:4168 HaitekuLeague1F_MapAttributes
+27:4209 HaitekuLeague2F_MapAttributes
+27:42A9 HaitekuMart_MapAttributes
+27:4329 HaitekuHouse1_MapAttributes
+27:4383 HaitekuHouse2_MapAttributes
+27:43DD HaitekuImposterOakHouse_MapAttributes
+27:4444 HaitekuAquarium1F_MapAttributes
+27:44CB HaitekuAquarium2F_MapAttributes
+36:5F17 FontoRoute1_MapAttributes
+36:61E8 FontoRoute2_MapAttributes
+36:63B2 FontoRoute3_MapAttributes
+36:62C6 FontoRoute4_MapAttributes
+36:7444 FontoRoute5_MapAttributes
+36:6083 FontoRoute6_MapAttributes
+36:47F8 Fonto_MapAttributes
+27:4537 FontoRouteGate1_MapAttributes
+27:4592 FontoRouteGate2_MapAttributes
+27:45ED FontoRouteGate3_MapAttributes
+27:4648 FontoRocketHouse_MapAttributes
+27:46D5 FontoMart_MapAttributes
+27:4755 FontoHouse_MapAttributes
+27:47AF FontoPokecenter1F_MapAttributes
+27:4843 FontoPokecenter2F_MapAttributes
+27:48BC FontoLab_MapAttributes
+36:64BD BaadonRoute1_MapAttributes
+36:6603 BaadonRoute2_MapAttributes
+36:67EF BaadonRoute3_MapAttributes
+36:48F3 Baadon_MapAttributes
+27:4CDD BaadonRouteGateWest_MapAttributes
+27:4D38 BaadonRouteGateNewtype_MapAttributes
+27:4923 BaadonMart_MapAttributes
+27:49A3 BaadonPokecenter1F_MapAttributes
+27:4A2A BaadonPokecenter2F_MapAttributes
+27:4AA3 BaadonHouse1_MapAttributes
+27:4AF9 BaadonWallpaperHouse_MapAttributes
+27:4B42 BaadonHouse2_MapAttributes
+27:4B9C BaadonLeague1F_MapAttributes
+27:4C3D BaadonLeague2F_MapAttributes
+36:68DB Route15_MapAttributes
+36:69BD NewtypeRoute_MapAttributes
+36:6A6E Route18_MapAttributes
+36:49F9 Newtype_MapAttributes
+27:52E0 Route15Pokecenter1F_MapAttributes
+27:5374 Route15Pokecenter2F_MapAttributes
+27:53C6 NewtypeRouteGate_MapAttributes
+27:5421 Route18Pokecenter1F_MapAttributes
+27:54B5 Route18Pokecenter2F_MapAttributes
+27:4D93 NewtypePokecenter1F_MapAttributes
+27:4E27 NewtypePokecenter2F_MapAttributes
+27:4EA0 NewtypeLeague1F_MapAttributes
+27:4F41 NewtypeLeague2F_MapAttributes
+27:4FE1 NewtypeSailorHouse_MapAttributes
+27:503B NewtypeMart_MapAttributes
+27:50BB NewtypeDojo_MapAttributes
+27:5155 NewtypeHouse1_MapAttributes
+27:51AF NewtypeDiner_MapAttributes
+27:522C NewtypeHouse2_MapAttributes
+27:5286 NewtypeHouse3_MapAttributes
+36:6D8F SugarRoute_MapAttributes
+36:4C3A Sugar_MapAttributes
+27:5507 SugarRouteGate_MapAttributes
+27:5562 SugarHouse_MapAttributes
+27:55E2 SugarHouse2_MapAttributes
+27:5638 SugarMart_MapAttributes
+27:56B8 SugarPokecenter1F_MapAttributes
+27:574C SugarPokecenter2F_MapAttributes
+36:6C6F BullForestRoute1_MapAttributes
+36:6ED5 BullForestRoute2_MapAttributes
+36:7530 BullForestRoute3_MapAttributes
+36:4D05 BullForest_MapAttributes
+27:57C5 BullForestRoute1House_MapAttributes
+27:581F BullForestRouteGateStand_MapAttributes
+27:587A BullMart_MapAttributes
+27:58FA BullHouse1_MapAttributes
+27:5950 BullHouse2_MapAttributes
+27:59AA BullHouse3_MapAttributes
+27:5A04 BullPokecenter1F_MapAttributes
+27:5A98 BullPokecenter2F_MapAttributes
+27:5B11 BullLeague1F_MapAttributes
+27:5BB2 BullLeague2F_MapAttributes
+27:5C52 BullHouse4_MapAttributes
+36:701B StandRoute_MapAttributes
+36:4F28 Stand_MapAttributes
+27:5C9F StandRouteGateKanto_MapAttributes
+27:5CFA StandLab_MapAttributes
+27:5D50 StandPokecenter1F_MapAttributes
+27:5DE4 StandPokecenter2F_MapAttributes
+27:5E5D StandOffice_MapAttributes
+27:5EDD StandMart_MapAttributes
+27:5F5D StandHouse_MapAttributes
+27:5FB7 StandRocketHouse1F_MapAttributes
+27:6024 StandRocketHouse2F_MapAttributes
+27:6083 StandLeague1F_MapAttributes
+27:6124 StandLeague2F_MapAttributes
+36:7161 KantoEastRoute_MapAttributes
+36:519D Kanto_MapAttributes
+27:61C4 KantoCeruleanHouse_MapAttributes
+27:621E KantoPokecenter1F_MapAttributes
+27:62B2 KantoPokecenter2F_MapAttributes
+27:632B KantoLeague1F_MapAttributes
+27:63CC KantoLeague2F_MapAttributes
+27:646C KantoLavenderHouse_MapAttributes
+27:64D3 KantoCeladonMart1F_MapAttributes
+27:6547 KantoCeladonMart2F_MapAttributes
+27:65C1 KantoCeladonMart3F_MapAttributes
+27:663B KantoCeladonMart4F_MapAttributes
+27:66C2 KantoCeladonMart5F_MapAttributes
+27:6742 KantoCeladonElevator_MapAttributes
+27:677F KantoMart_MapAttributes
+27:67FF KantoGamefreakHQ1_MapAttributes
+27:6899 KantoGamefreakHQ2_MapAttributes
+27:6905 KantoGamefreakHQ3_MapAttributes
+27:698B KantoGamefreakHQ4_MapAttributes
+27:69E3 KantoGamefreakHQ5_MapAttributes
+27:6A2C KantoSilphCo_MapAttributes
+27:6ADF KantoViridianHouse_MapAttributes
+27:6B46 KantoGameCorner_MapAttributes
+27:6C55 KantoUnusedArea_MapAttributes
+27:6C90 KantoGameCornerPrizes_MapAttributes
+27:6D04 KantoDiner_MapAttributes
+27:6D51 KantoSchool_MapAttributes
+27:6DEB KantoHospital_MapAttributes
+27:6E6B KantoPokecenter21F_MapAttributes
+27:6EFF KantoPokecenter22F_MapAttributes
+27:6F78 KantoRedsHouse_MapAttributes
+27:6FDF KantoGreensHouse1F_MapAttributes
+27:703C KantoGreensHouse2F_MapAttributes
+27:707E KantoEldersHouse_MapAttributes
+27:70E5 KantoOaksLab_MapAttributes
+27:713B KantoLeague21F_MapAttributes
+27:71DC KantoLeague22F_MapAttributes
+27:727C KantoFishingGuru_MapAttributes
+36:738C PrinceRoute_MapAttributes
+36:55F3 Prince_MapAttributes
+36:73E8 MtFujiRoute_MapAttributes
+36:5677 MtFuji_MapAttributes
+36:56EF South_MapAttributes
+27:72D6 SouthHouse1_MapAttributes
+27:7330 SouthPokecenter1F_MapAttributes
+27:73C4 SouthPokecenter2F_MapAttributes
+27:743D SouthMart_MapAttributes
+27:74BD SouthHouse2_MapAttributes
+36:5914 North_MapAttributes
+27:7517 NorthHouse1_MapAttributes
+27:7571 NorthMart_MapAttributes
+27:75F1 NorthHouse2_MapAttributes
+27:764B NorthPokecenter1F_MapAttributes
+27:76DF NorthPokecenter2F_MapAttributes
+2F:4000 PowerPlant1_MapAttributes
+2F:407D PowerPlant2_MapAttributes
+2F:40FA PowerPlant3_MapAttributes
+2F:422B PowerPlant4_MapAttributes
+2F:435C RuinsOfAlphEntrance_MapAttributes
+2F:43D9 RuinsOfAlphMain_MapAttributes
+2F:469F CaveMinecarts1_MapAttributes
+2F:482A CaveMinecarts2_MapAttributes
+2F:49B5 CaveMinecarts3_MapAttributes
+2F:4B40 CaveMinecarts4_MapAttributes
+2F:4CCB CaveMinecarts5_MapAttributes
+2F:4E56 CaveMinecarts6_MapAttributes
+2F:4F2D CaveMinecarts7_MapAttributes
+2F:5004 Office1_MapAttributes
+2F:5081 Office2_MapAttributes
+2F:51B2 Office3_MapAttributes
+2F:5289 SlowpokeWellEntrance_MapAttributes
+2F:5306 SlowpokeWellMain_MapAttributes
diff --git a/wram.asm b/wram.asm
index ed0d7dd..441bf43 100644
--- a/wram.asm
+++ b/wram.asm
@@ -96,18 +96,12 @@ ENDU
SECTION "Unknown map buffer?", WRAM0[$C5E8]
-; TODO: this is probably not related to the map script. Figure out what it actually is
-wUnknownIdC5E8:: ; c5e8
- db
-
-wUnknownIdC5E8Location::
- dw ; c5e9 ; TODO
-
-wUnknownMapPointer::
- dw ; c5eb ; TODO
-
+wMapBuffer::
+wMapScriptNumber:: db ; c5e8
+wMapScriptNumberLocation:: dw ; c5e9
+wUnknownMapPointer:: dw ; c5eb ; TODO
ds 19 ; TODO
-wUnknownMapBufferEnd:: ; c600
+wMapBufferEnd:: ; c600
UNION
@@ -223,8 +217,8 @@ wLinkTimeoutFrames:: dw ; cb56
wcb58:: ds 2 ; cb58
; cb5a
ds 1 ; TODO
-wcb5b:: ds 1 ; multipurpose, also wName, wMonDexIndex2
-wNameCategory:: ds 1
+wCurSpecies:: db ; cb5b
+wNamedObjectTypeBuffer:: db ; cb5c
SECTION "CB62", WRAM0[$CB62]
@@ -326,8 +320,7 @@ wcccf:: db
SECTION "CD26", WRAM0[$CD26]
-wcd26:: ; cd26
- db
+wStringBuffer1:: ds 1 ; How long is this? ; cd26
SECTION "CD31", WRAM0[$CD31]
@@ -366,10 +359,13 @@ wPredefBC:: ; cd54
wFarCallBCBuffer:: ; cd54
dw
- ds 3
+ ds 3 ; TODO
wVramState:: db
-SECTION "CD76", WRAM0[$CD76]
+SECTION "CD72", WRAM0[$CD72]
+wcd72:: dw ; cd72
+
+ ds 2 ; TODO
wCurItem:: db ; cd76
wItemIndex:: db ;cd77
@@ -472,6 +468,7 @@ wMonHLearnset:: ; ce1e
SECTION "CE37", WRAM0[$CE37]
+wNamedObjectIndexBuffer::
wce37:: ; ce37
db