shithub: pokecrystal

Download patch

ref: 40802da3cf27a453f62c8c4b712e876b06a9d834
parent: 2ffcb4b49036b8bcd9a37cdc9305f7ee5567fe6c
author: PikalaxALT <PikalaxALT@gmail.com>
date: Thu Nov 12 06:10:19 EST 2015

Map header labels, tileset constants

--- a/battle/anim_commands.asm
+++ b/battle/anim_commands.asm
@@ -1437,7 +1437,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, BGPals
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, [rBGP]
 	ld b, a
 	ld c, $7
--- a/battle/bg_effects.asm
+++ b/battle/bg_effects.asm
@@ -2571,7 +2571,7 @@
 	push bc
 	push af
 	ld hl, BGPals ; BGPals
-	ld de, Unkn1Pals ; wd000
+	ld de, wMapPals ; wd000
 	ld b, a
 	ld c, $1
 	call CopyPals
@@ -2598,7 +2598,7 @@
 	push bc
 	push af
 	ld hl, BGPals + 8
-	ld de, Unkn1Pals + 8
+	ld de, wMapPals + 8
 	ld b, a
 	ld c, $1
 	call CopyPals
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -494,6 +494,11 @@
 	const _ROOF
 
 ; connection directions
+	const_def
+	const EAST_F
+	const WEST_F
+	const SOUTH_F
+	const NORTH_F
 
 	const_def
 	shift_const EAST
--- a/constants/tilemap_constants.asm
+++ b/constants/tilemap_constants.asm
@@ -3,3 +3,41 @@
 WATRTILE EQU 15
 
 TALK     EQU  1 << 4
+
+const_value SET 1
+	const TILESET_JOHTO_OUTSIDE_1                    ; 01
+	const TILESET_JOHTO_OUTSIDE_2                    ; 02
+	const TILESET_KANTO_OUTSIDE                      ; 03
+	const TILESET_BATTLE_TOWER_OUTSIDE               ; 04
+	const TILESET_HOUSE_1                            ; 05
+	const TILESET_KRISS_HOUSE                        ; 06
+	const TILESET_POKECENTER                         ; 07
+	const TILESET_GATE                               ; 08
+	const TILESET_PORT                               ; 09
+	const TILESET_LAB                                ; 0a
+	const TILESET_POWER_PLANT                        ; 0b
+	const TILESET_MART                               ; 0c
+	const TILESET_CELADON_MANSION                    ; 0d
+	const TILESET_GAME_CORNER                        ; 0e
+	const TILESET_GYM_1                              ; 0f
+	const TILESET_KURT_HOUSE                         ; 10
+	const TILESET_TRAIN_STATION                      ; 11
+	const TILESET_OLIVINE_GYM                        ; 12
+	const TILESET_LIGHTHOUSE                         ; 13
+	const TILESET_KRISS_HOUSE_2F                     ; 14
+	const TILESET_GOLDENROD_POKECOM_CENTER_2F_MOBILE ; 15
+	const TILESET_BATTLE_TOWER                       ; 16
+	const TILESET_SPROUT_TOWER                       ; 17
+	const TILESET_CAVE                               ; 18
+	const TILESET_PARK                               ; 19
+	const TILESET_RUINS_OF_ALPH                      ; 1a
+	const TILESET_RADIO_TOWER                        ; 1b
+	const TILESET_UNDERGROUND                        ; 1c
+	const TILESET_ICE_PATH                           ; 1d
+	const TILESET_WHIRL_ISLANDS                      ; 1e
+	const TILESET_ILEX_FOREST                        ; 1f
+	const TILESET_20                                 ; 20
+	const TILESET_HO_OH_WORD_ROOM                    ; 21
+	const TILESET_KABUTO_WORD_ROOM                   ; 22
+	const TILESET_OMANYTE_WORD_ROOM                  ; 23
+	const TILESET_AERODACTYL_WORD_ROOM               ; 24
--- a/engine/battle_start.asm
+++ b/engine/battle_start.asm
@@ -26,7 +26,7 @@
 	ld a, $5
 	ld [rSVBK], a
 
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld bc, $0040
 	xor a
 	call ByteFill
@@ -659,7 +659,7 @@
 	ld [rSVBK], a
 	call .copypals
 	push hl
-	ld de, Unkn1Pals + 8 * 7
+	ld de, wMapPals + 8 * 7
 	ld bc, $8
 	call CopyBytes
 	pop hl
@@ -678,7 +678,7 @@
 	ret
 
 .copypals: ; 8c677 (23:4677)
-	ld de, Unkn1Pals + 8 * 7
+	ld de, wMapPals + 8 * 7
 	call .copy
 	ld de, BGPals + 8 * 7
 	call .copy
--- a/engine/card_flip.asm
+++ b/engine/card_flip.asm
@@ -1621,7 +1621,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_e0c93
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $48
 	call CopyBytes
 	pop af
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -149,7 +149,7 @@
 	call CheckCGB
 	ret z
 	ld hl, Palette8b2f
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0008
 	ld a, $5
 	call FarCopyWRAM
@@ -275,7 +275,7 @@
 
 asm_8bd7
 	push hl
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld de, $0008
 .asm_8bde
 	and a
@@ -338,7 +338,7 @@
 	call Function976b
 
 .asm_8c33
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	call Function9643
 	call Function9699
 	call Function96b3
@@ -412,11 +412,11 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld a, [hli]
-	ld [Unkn1Pals], a
-	ld [Unkn1Pals + 8 * 2], a
+	ld [wMapPals], a
+	ld [wMapPals + 8 * 2], a
 	ld a, [hl]
-	ld [Unkn1Pals + 1], a
-	ld [Unkn1Pals + 8 * 2 + 1], a
+	ld [wMapPals + 1], a
+	ld [wMapPals + 8 * 2 + 1], a
 	pop af
 	ld [rSVBK], a
 	call Function96a4
@@ -458,7 +458,7 @@
 	ret
 
 .asm_8cf0
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0008
 	ld a, $5
 	call FarCopyWRAM
@@ -525,7 +525,7 @@
 
 Function95f0: ; 95f0
 	ld hl, Palette_9608
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, 8
 	ld a, $5
 	call FarCopyWRAM
@@ -544,7 +544,7 @@
 
 
 CopyFourPalettes: ; 9610
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld c, $4
 
 CopyPalettes: ; 9615
@@ -644,7 +644,7 @@
 	push af
 	ld a, $5
 	ld [rSVBK], a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld c, $8
 .asm_9683
 	ld a, $ff
@@ -676,7 +676,7 @@
 ; 96a4
 
 Function96a4: ; 96a4
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld de, BGPals
 	ld bc, $0080
 	ld a, $5
@@ -1047,7 +1047,7 @@
 	push af
 	ld a, $5
 	ld [rSVBK], a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function98df
 	ld hl, BGPals
 	call Function98df
@@ -1945,7 +1945,7 @@
 ; b1de
 
 Functionb1de: ; b1de
-	callba Function494ac
+	callba LoadSpecialMapPalette
 	jr c, .asm_b230
 
 	ld a, [wPermission]
@@ -1973,7 +1973,7 @@
 	push af
 	ld a, $5
 	ld [rSVBK], a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld b, $8
 .asm_b210
 	ld a, [de]
@@ -2036,7 +2036,7 @@
 	inc hl
 endr
 .asm_b26d
-	ld de, Unkn1Pals + 8 * 6 + 2
+	ld de, wMapPals + 8 * 6 + 2
 	ld bc, 4
 	ld a, $5
 	call FarCopyWRAM
--- a/engine/credits.asm
+++ b/engine/credits.asm
@@ -637,10 +637,10 @@
 	
 	push af
 	push hl
-	add Unkn1Pals % $100
+	add wMapPals % $100
 	ld e, a
 	ld a, 0
-	adc Unkn1Pals / $100
+	adc wMapPals / $100
 	ld d, a
 	ld bc, 24
 	call CopyBytes
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -342,7 +342,7 @@
 	call CheckTrainerBattle2
 	jr nc, .nope
 
-	ld a, 1
+	ld a, PLAYEREVENT_SEENBYTRAINER
 	scf
 	ret
 
@@ -359,10 +359,10 @@
 	jr z, .bit2
 
 	callba CheckMovingOffEdgeOfMap
-	jr c, .return4
+	jr c, .map_connection
 
 	call CheckWarpTile
-	jr c, .return6
+	jr c, .warp_tile
 
 .bit2
 	call CheckBit1_ScriptFlags3
@@ -390,21 +390,21 @@
 	xor a
 	ret
 
-.return4
-	ld a, 4
+.map_connection
+	ld a, PLAYEREVENT_CONNECTION
 	scf
 	ret
 
-.return6
+.warp_tile
 	ld a, [PlayerStandingTile]
 	call CheckPitTile
-	jr nz, .pittile
-	ld a, 6
+	jr nz, .not_pit
+	ld a, PLAYEREVENT_FALL
 	scf
 	ret
 
-.pittile
-	ld a, 5
+.not_pit
+	ld a, PLAYEREVENT_WARP
 	scf
 	ret
 
@@ -711,7 +711,7 @@
 	ret
 
 .IsSign
-	ld a, [wd040]
+	ld a, [EngineBuffer3]
 	ld hl, .signs
 	rst JumpTable
 	ret
@@ -749,7 +749,7 @@
 
 .read
 	call PlayTalkObject
-	ld hl, wd041
+	ld hl, EngineBuffer4
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
@@ -811,7 +811,7 @@
 
 
 CheckSignFlag: ; 96ad8
-	ld hl, wd041
+	ld hl, EngineBuffer4
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
@@ -820,7 +820,7 @@
 	call GetFarHalfword
 	ld e, l
 	ld d, h
-	ld b, $2 ; check
+	ld b, CHECK_FLAG
 	call EventFlagAction
 	ld a, c
 	and a
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -270,7 +270,7 @@
 	dba EnterMapConnection ; 18
 	dba LoadWarpData ; 19
 	dba LoadMapAttributes ; 1a
-	dba LoadMapAttributes_IgnoreHidden ; 1b
+	dba LoadMapAttributes_SkipPeople ; 1b
 	dba ClearBGPalettes ; 1c
 	dba FadeOutPalettes ; 1d
 	dba FadeInPalettes ; 1e
@@ -318,7 +318,7 @@
 	ret
 ; 154ea (5:54ea)
 
-Function154ea: ; 154ea
+; unreferenced
 	ret
 ; 154eb
 
@@ -333,20 +333,21 @@
 	set 6, [hl]
 	ret
 
-Function154f7: ; 154f7
+CheckReplaceKrisSprite: ; 154f7
 	nop
-	call Function1550c
+	call .CheckBiking
 	jr c, .ok
-	call Function1554e
+	call .CheckSurfing
 	jr c, .ok
-	call Function1551a
+	call .CheckSurfing2
 	jr c, .ok
 	ret
+
 .ok
 	call ReplaceKrisSprite
 	ret
 
-Function1550c: ; 1550c (5:550c)
+.CheckBiking: ; 1550c (5:550c)
 	and a
 	ld hl, BikeFlags
 	bit 1, [hl]
@@ -356,7 +357,7 @@
 	scf
 	ret
 
-Function1551a: ; 1551a (5:551a)
+.CheckSurfing2: ; 1551a (5:551a)
 	ld a, [PlayerState]
 	cp PLAYER_NORMAL
 	jr z, .nope
@@ -367,11 +368,11 @@
 	cp PLAYER_SURF_PIKA
 	jr z, .surfing
 	call GetMapPermission
-	cp $3
+	cp INDOOR
 	jr z, .checkbiking
-	cp $5
+	cp PERM_5
 	jr z, .checkbiking
-	cp $7
+	cp DUNGEON
 	jr z, .checkbiking
 	jr .nope
 .checkbiking
@@ -383,21 +384,22 @@
 	ld [PlayerState], a
 	scf
 	ret
+
 .nope
 	and a
 	ret
 
-Function1554e: ; 1554e (5:554e)
+.CheckSurfing: ; 1554e (5:554e)
 	call CheckOnWater
 	jr nz, .ret_nc
 	ld a, [PlayerState]
 	cp PLAYER_SURF
-	jr z, .surfing
+	jr z, ._surfing
 	cp PLAYER_SURF_PIKA
-	jr z, .surfing
+	jr z, ._surfing
 	ld a, PLAYER_SURF
 	ld [PlayerState], a
-.surfing
+._surfing
 	scf
 	ret
 .ret_nc
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -2367,7 +2367,7 @@
 	push af
 	ld a, $5
 	ld [rSVBK], a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld bc, $40
 	xor a
 	call ByteFill
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -2874,7 +2874,7 @@
 ;     map_id (MapIdParam)
 
 	call GetScriptByte
-	ld [wdcac], a
+	ld [BackupWarpNumber], a
 	call GetScriptByte
 	ld [BackupMapGroup], a
 	call GetScriptByte
@@ -2985,7 +2985,7 @@
 Script_warpcheck: ; 0x97af6
 ; script command 0x8e
 
-	call Function224a
+	call WarpCheck
 	ret nc
 	callba SetAll_ScriptFlags3
 	ret
--- a/engine/timeofdaypals.asm
+++ b/engine/timeofdaypals.asm
@@ -39,7 +39,7 @@
 
 
 ; save bg palette 8
-	ld hl, Unkn1Pals + 8 * 7 ; Unkn1Pals + 7 pals
+	ld hl, wMapPals + 8 * 7 ; wMapPals + 7 pals
 
 ; save wram bank
 	ld a, [rSVBK]
@@ -70,7 +70,7 @@
 
 
 ; restore bg palette 8
-	ld hl, Unkn2Pals - 1 ; last byte in Unkn1Pals
+	ld hl, Unkn2Pals - 1 ; last byte in wMapPals
 
 ; save wram bank
 	ld a, [rSVBK]
@@ -172,12 +172,12 @@
 	push af
 	ld a, $5
 	ld [rSVBK], a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld a, [hli]
 	ld e, a
 	ld a, [hli]
 	ld d, a
-	ld hl, Unkn1Pals + 8
+	ld hl, wMapPals + 8
 	ld c, $6
 .asm_8c0d4
 	ld a, e
--- a/engine/title.asm
+++ b/engine/title.asm
@@ -144,7 +144,7 @@
 	
 ; Update palette colors
 	ld hl, TitleScreenPalettes
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, 4 * 32
 	call CopyBytes
 	
@@ -220,7 +220,7 @@
 	ld [hBGMapMode], a
 	
 	xor a
-	ld [Unkn1Pals + 2], a
+	ld [wMapPals + 2], a
 	
 ; Play starting sound effect
 	call SFXChannelsOff
@@ -231,7 +231,7 @@
 ; 10eea7
 
 SuicuneFrameIterator: ; 10eea7
-	ld hl, Unkn1Pals + 2
+	ld hl, wMapPals + 2
 	ld a, [hl]
 	ld c, a
 	inc [hl]
--- a/event/elevator.asm
+++ b/event/elevator.asm
@@ -113,7 +113,7 @@
 	ld bc, 4
 	call AddNTimes
 	inc hl
-	ld de, wdcac
+	ld de, BackupWarpNumber
 	ld a, [EngineBuffer1]
 	ld bc, 3
 	call FarCopyBytes
--- a/home/map.asm
+++ b/home/map.asm
@@ -219,13 +219,15 @@
 ; 2238
 
 CheckWarpTile:: ; 2238
-	call Function2252
+	call GetDestinationWarpNumber
 	ret nc
+
 	push bc
 	callba Function149af
 	pop bc
 	ret nc
-	call Function22a7
+
+	call CopyWarpData
 	scf
 	ret
 ; 224a
@@ -232,14 +234,14 @@
 
 
 
-Function224a:: ; 224a
-	call Function2252
+WarpCheck:: ; 224a
+	call GetDestinationWarpNumber
 	ret nc
-	call Function22a7
+	call CopyWarpData
 	ret
 ; 2252
 
-Function2252:: ; 2252
+GetDestinationWarpNumber:: ; 2252
 	callba Function1499a
 	ret nc
 
@@ -247,7 +249,7 @@
 	push af
 
 	call SwitchToMapScriptHeaderBank
-	call Function2266
+	call .GetDestinationWarpNumber
 
 	pop de
 	ld a, d
@@ -255,7 +257,7 @@
 	ret
 ; 2266
 
-Function2266:: ; 2266
+.GetDestinationWarpNumber ; 2266
 	ld a, [PlayerMapY]
 	sub $4
 	ld e, a
@@ -265,39 +267,41 @@
 	ld a, [wCurrMapWarpCount]
 	and a
 	ret z
+
 	ld c, a
 	ld hl, wCurrMapWarpHeaderPointer
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-.asm_227e
+.loop
 	push hl
 	ld a, [hli]
 	cp e
-	jr nz, .asm_2289
+	jr nz, .next
 	ld a, [hli]
 	cp d
-	jr nz, .asm_2289
-	jr .asm_2296
+	jr nz, .next
+	jr .found_warp
 
-.asm_2289
+.next
 	pop hl
-	ld a, $5
+	ld a, 5
 	add l
 	ld l, a
-	jr nc, .asm_2291
+	jr nc, .okay
 	inc h
 
-.asm_2291
+.okay
 	dec c
-	jr nz, .asm_227e
+	jr nz, .loop
 	xor a
 	ret
 
-.asm_2296
+.found_warp
 	pop hl
-	call Function22a3
-	ret nc
+	call .IncreaseHLTwice
+	ret nc ; never encountered
+
 	ld a, [wCurrMapWarpCount]
 	inc a
 	sub c
@@ -304,9 +308,8 @@
 	ld c, a
 	scf
 	ret
-; 22a3
 
-Function22a3:: ; 22a3
+.IncreaseHLTwice
 rept 2
 	inc hl
 endr
@@ -314,12 +317,12 @@
 	ret
 ; 22a7
 
-Function22a7:: ; 22a7
+CopyWarpData:: ; 22a7
 	ld a, [hROMBank]
 	push af
 
 	call SwitchToMapScriptHeaderBank
-	call Function22b4
+	call .CopyWarpData
 
 	pop af
 	rst Bankswitch
@@ -327,7 +330,7 @@
 	ret
 ; 22b4
 
-Function22b4:: ; 22b4
+.CopyWarpData ; 22b4
 	push bc
 	ld hl, wCurrMapWarpHeaderPointer
 	ld a, [hli]
@@ -335,29 +338,30 @@
 	ld l, a
 	ld a, c
 	dec a
-	ld bc, $0005
+	ld bc, 5 ; warp size
 	call AddNTimes
-	ld bc, $0002
+	ld bc, 2 ; warp number
 	add hl, bc
 	ld a, [hli]
 	cp $ff
-	jr nz, .asm_22d0
-	ld hl, wdcac
+	jr nz, .skip
+	ld hl, BackupWarpNumber
 	ld a, [hli]
 
-.asm_22d0
+.skip
 	pop bc
-	ld [wd146], a
+	ld [wNextWarp], a
 	ld a, [hli]
-	ld [wd147], a
+	ld [wNextMapGroup], a
 	ld a, [hli]
-	ld [wd148], a
+	ld [wNextMapNumber], a
+
 	ld a, c
-	ld [wd149], a
+	ld [wPrevWarp], a
 	ld a, [MapGroup]
-	ld [wd14a], a
+	ld [wPrevMapGroup], a
 	ld a, [MapNumber]
-	ld [wd14b], a
+	ld [wPrevMapNumber], a
 	scf
 	ret
 ; 22ee
@@ -382,40 +386,40 @@
 	ret
 ; 2300
 
-Function2300:: ; 2300
+Function2300:: ; unreferenced
 	cp INDOOR
 	ret z
 	cp GATE
 	ret z
-	cp $5
+	cp PERM_5
 	ret
 ; 2309
 
 
 LoadMapAttributes:: ; 2309
-	call Function2326
+	call CopyMapHeaders
 	call SwitchToMapScriptHeaderBank
-	call Function234f
+	call ReadMapScripts
 	xor a
 	call ReadMapEventHeader
 	ret
 ; 2317
 
-LoadMapAttributes_IgnoreHidden:: ; 2317
-	call Function2326
+LoadMapAttributes_SkipPeople:: ; 2317
+	call CopyMapHeaders
 	call SwitchToMapScriptHeaderBank
-	call Function234f
+	call ReadMapScripts
 	ld a, $1
 	call ReadMapEventHeader
 	ret
 ; 2326
 
-Function2326:: ; 2326
-	call Function2c3d
+CopyMapHeaders:: ; 2326
+	call PartiallyCopyMapHeader
 	call SwitchToMapBank
 	call GetSecondaryMapHeaderPointer
-	call Function235c
-	call Function2368
+	call CopySecondMapHeader
+	call GetMapConnections
 	ret
 ; 2336
 
@@ -431,14 +435,16 @@
 	call ReadWarps
 	call ReadCoordEvents
 	call ReadSignposts
+
 	pop af
 	and a
 	ret nz
+
 	call ReadObjectEvents
 	ret
 ; 234f
 
-Function234f:: ; 234f
+ReadMapScripts:: ; 234f
 	ld hl, MapScriptHeaderPointer
 	ld a, [hli]
 	ld h, [hl]
@@ -448,19 +454,19 @@
 	ret
 ; 235c
 
-Function235c:: ; 235c
+CopySecondMapHeader:: ; 235c
 	ld de, MapHeader
-	ld c, $c
-.asm_2361
+	ld c, 12 ; size of the second map header
+.loop
 	ld a, [hli]
 	ld [de], a
 	inc de
 	dec c
-	jr nz, .asm_2361
+	jr nz, .loop
 	ret
 ; 2368
 
-Function2368:: ; 2368
+GetMapConnections:: ; 2368
 	ld a, $ff
 	ld [NorthConnectedMapGroup], a
 	ld [SouthConnectedMapGroup], a
@@ -470,29 +476,29 @@
 	ld a, [MapConnections]
 	ld b, a
 
-	bit 3, b
-	jr z, .asm_2384
+	bit NORTH_F, b
+	jr z, .no_north
 	ld de, NorthMapConnection
 	call GetMapConnection
-.asm_2384
+.no_north
 
-	bit 2, b
-	jr z, .asm_238e
+	bit SOUTH_F, b
+	jr z, .no_south
 	ld de, SouthMapConnection
 	call GetMapConnection
-.asm_238e
+.no_south
 
-	bit 1, b
-	jr z, .asm_2398
+	bit WEST_F, b
+	jr z, .no_west
 	ld de, WestMapConnection
 	call GetMapConnection
-.asm_2398
+.no_west
 
-	bit 0, b
-	jr z, .asm_23a2
+	bit EAST_F, b
+	jr z, .no_east
 	ld de, EastMapConnection
 	call GetMapConnection
-.asm_23a2
+.no_east
 
 	ret
 ; 23a3
@@ -568,11 +574,13 @@
 	ld a, l
 	ld [wCurrentMapXYTriggerHeaderPointer], a
 	ld a, h
-	ld [wdc00], a
+	ld [wCurrentMapXYTriggerHeaderPointer + 1], a
+
 	ld a, c
 	and a
 	ret z
-	ld bc, $0008
+
+	ld bc, 8
 	call AddNTimes
 	ret
 ; 2408
@@ -582,13 +590,15 @@
 	ld c, a
 	ld [wCurrentMapSignpostCount], a
 	ld a, l
-	ld [wdc02], a
+	ld [wCurrentMapSignpostHeaderPointer], a
 	ld a, h
-	ld [wdc03], a
+	ld [wCurrentMapSignpostHeaderPointer + 1], a
+
 	ld a, c
 	and a
 	ret z
-	ld bc, $0005
+
+	ld bc, 5
 	call AddNTimes
 	ret
 ; 241f
@@ -595,80 +605,93 @@
 
 ReadObjectEvents:: ; 241f
 	push hl
-	call Function2471
+	call ClearObjectStructs
 	pop de
-	ld hl, MapObjects + OBJECT_LENGTH
+	ld hl, Map1Object
 	ld a, [de]
 	inc de
-	ld [wdc04], a
+	ld [wCurrentMapPersonEventCount], a
 	ld a, e
-	ld [wdc05], a
+	ld [wCurrentMapPersonEventHeaderPointer], a
 	ld a, d
-	ld [wdc06], a
-	ld a, [wdc04]
-	call Function2457
-	ld a, [wdc04]
+	ld [wCurrentMapPersonEventHeaderPointer + 1], a
+
+	ld a, [wCurrentMapPersonEventCount]
+	call CopyMapObjectHeaders
+
+; get NUM_OBJECTS - [wCurrentMapPersonEventCount]
+	ld a, [wCurrentMapPersonEventCount]
 	ld c, a
-	ld a, $10
+	ld a, NUM_OBJECTS ; - 1
 	sub c
-	jr z, .asm_2454
-	ld bc, $0001
+	jr z, .skip
+	; jr c, .skip
+
+; stupid waste of time and space
+	ld bc, 1
 	add hl, bc
-	ld bc, $0010
-.asm_244a
-	ld [hl], $0
+; Fill the remaining sprite IDs and y coords with 0 and -1, respectively.
+; Bleeds into wObjectMasks due to a bug.  Uncomment the above subtraction
+; to fix.
+	ld bc, OBJECT_LENGTH
+.loop
+	ld [hl],  0
 	inc hl
-	ld [hl], $ff
+	ld [hl], -1
 	dec hl
 	add hl, bc
 	dec a
-	jr nz, .asm_244a
+	jr nz, .loop
 
-.asm_2454
+.skip
 	ld h, d
 	ld l, e
 	ret
 ; 2457
 
-Function2457:: ; 2457
+CopyMapObjectHeaders:: ; 2457
 	and a
 	ret z
+
 	ld c, a
-.asm_245a
+.loop
 	push bc
 	push hl
 	ld a, $ff
 	ld [hli], a
-	ld b, $d
-.asm_2461
+	ld b, MAPOBJECT_E - MAPOBJECT_SPRITE
+.loop2
 	ld a, [de]
 	inc de
 	ld [hli], a
 	dec b
-	jr nz, .asm_2461
+	jr nz, .loop2
+
 	pop hl
-	ld bc, $0010
+	ld bc, OBJECT_LENGTH
 	add hl, bc
 	pop bc
 	dec c
-	jr nz, .asm_245a
+	jr nz, .loop
 	ret
 ; 2471
 
-Function2471:: ; 2471
+ClearObjectStructs:: ; 2471
 	ld hl, Object1Struct
 	ld bc, OBJECT_STRUCT_LENGTH * (NUM_OBJECT_STRUCTS - 1)
 	xor a
 	call ByteFill
+
+; Just to make sure (this is rather pointless)
 	ld hl, Object1Struct
 	ld de, OBJECT_STRUCT_LENGTH
 	ld c, NUM_OBJECT_STRUCTS - 1
 	xor a
-.asm_2484
+.loop
 	ld [hl], a
 	add hl, de
 	dec c
-	jr nz, .asm_2484
+	jr nz, .loop
 	ret
 ; 248a
 
@@ -681,34 +704,35 @@
 	ld h, [hl]
 	ld l, a
 rept 3
-	inc hl
+	inc hl ; get to the warp coords
 endr
 	ld a, [WarpNumber]
 	dec a
 	ld c, a
-	ld b, $0
-	ld a, $5
+	ld b, 0
+	ld a, 5
 	call AddNTimes
 	ld a, [hli]
 	ld [YCoord], a
 	ld a, [hli]
 	ld [XCoord], a
+	; destination warp number
 	ld a, [hli]
 	cp $ff
-	jr nz, .asm_24b3
-	call Function24ba
+	jr nz, .skip
+	call .backup
 
-.asm_24b3
+.skip
 	callba GetCoordOfUpperLeftCorner
 	ret
 ; 24ba
 
-Function24ba:: ; 24ba
-	ld a, [wd149]
-	ld [wdcac], a
-	ld a, [wd14a]
+.backup
+	ld a, [wPrevWarp]
+	ld [BackupWarpNumber], a
+	ld a, [wPrevMapGroup]
 	ld [BackupMapGroup], a
-	ld a, [wd14b]
+	ld a, [wPrevMapNumber]
 	ld [BackupMapNumber], a
 	ret
 ; 24cd
@@ -1415,7 +1439,7 @@
 	ld [rVBK], a
 	pop af
 	ld [rSVBK], a
-	ld a, [wd199]
+	ld a, [wTileset]
 	cp $1
 	jr z, .asm_286f
 	cp $2
@@ -1836,6 +1860,7 @@
 	ld a, [wCurrentMapSignpostCount]
 	and a
 	ret z
+
 	ld c, a
 	ld a, [hROMBank]
 	push af
@@ -1849,7 +1874,7 @@
 
 CheckIfFacingTileCoordIsSign:: ; 2aaa
 ; Checks to see if you are facing a signpost.  If so, copies it into EngineBuffer1 and sets carry.
-	ld hl, wdc02
+	ld hl, wCurrentMapSignpostHeaderPointer
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
@@ -1954,7 +1979,7 @@
 .copytrigger
 	pop hl
 	ld de, EngineBuffer1
-	ld bc, $0008 ; xy-trigger size
+	ld bc, 8 ; xy-trigger size
 	call CopyBytes
 	scf
 	ret
@@ -2160,15 +2185,19 @@
 	ret
 ; 2c3d
 
-Function2c3d:: ; 2c3d
+PartiallyCopyMapHeader:: ; 2c3d
+; Copy second map header bank, tileset, permission, and second map header address
+; from the current map's map header.
 	ld a, [hROMBank]
 	push af
 	ld a, BANK(MapGroupPointers)
 	rst Bankswitch
+
 	call GetMapHeaderPointer
-	ld de, wd197 + 1
-	ld bc, $0005
+	ld de, wSecondMapHeaderBank
+	ld bc, MapHeader - wSecondMapHeaderBank
 	call CopyBytes
+
 	pop af
 	rst Bankswitch
 	ret
@@ -2220,7 +2249,7 @@
 ; returns the current map's secondary map header pointer in hl.
 	push bc
 	push de
-	ld de, $0003 ; secondary map header pointer (offset within header)
+	ld de, 3 ; secondary map header pointer (offset within header)
 	call GetMapHeaderMember
 	ld l, c
 	ld h, b
@@ -2233,7 +2262,7 @@
 	push hl
 	push de
 	push bc
-	ld de, 2
+	ld de, 2 ; permission
 	call GetMapHeaderMember
 	ld a, c
 	pop bc
@@ -2250,7 +2279,7 @@
 	push hl
 	push de
 	push bc
-	ld de, $0002
+	ld de, 2 ; permission
 	call GetAnyMapHeaderMember
 	ld a, c
 	pop bc
@@ -2260,7 +2289,7 @@
 ; 2ca7
 
 GetAnyMapTileset:: ; 2ca7
-	ld de, $0001
+	ld de, 1 ; tileset
 	call GetAnyMapHeaderMember
 	ld a, c
 	ret
@@ -2271,9 +2300,11 @@
 	push hl
 	push de
 	push bc
-	ld de, 5
+
+	ld de, 5 ; landmark
 	call GetAnyMapHeaderMember
 	ld a, c
+
 	pop bc
 	pop de
 	pop hl
@@ -2343,21 +2374,25 @@
 GetPhoneServiceTimeOfDayByte:: ; 2d0d
 	push hl
 	push bc
+
 	ld de, 7 ; phone service and time of day
 	call GetMapHeaderMember
 	ld a, c
+
 	pop bc
 	pop hl
 	ret
 ; 2d19
 
-Function2d19:: ; 2d19
+GetFishingGroup:: ; 2d19
 	push de
 	push hl
 	push bc
+
 	ld de, 8 ; fishing group
 	call GetMapHeaderMember
 	ld a, c
+
 	pop bc
 	pop hl
 	pop de
@@ -2370,7 +2405,7 @@
 
 	ld hl, Tilesets
 	ld bc, Tileset01 - Tileset00
-	ld a, [wd199]
+	ld a, [wTileset]
 	call AddNTimes
 
 	ld de, TilesetBank
--- a/home/palettes.asm
+++ b/home/palettes.asm
@@ -95,7 +95,7 @@
 
 ; copy & reorder bg pal buffer
 	ld hl, BGPals ; to
-	ld de, Unkn1Pals ; from
+	ld de, wMapPals ; from
 ; order
 	ld a, [rBGP]
 	ld b, a
--- a/macros.asm
+++ b/macros.asm
@@ -209,3 +209,5 @@
 endr
 	db \1
 ENDM
+
+palettes EQUS "* 8"
--- a/main.asm
+++ b/main.asm
@@ -4820,7 +4820,7 @@
 
 CheckOverworldTileArrays: ; c840
 	push bc
-	ld a, [wd199]
+	ld a, [wTileset]
 	ld de, 3
 	call IsInArray
 	pop bc
@@ -6230,7 +6230,7 @@
 	ret
 
 .facingwater
-	call Function2d19
+	call GetFishingGroup
 	and a
 	jr nz, .goodtofish
 	ld a, $4
@@ -10958,7 +10958,7 @@
 
 SignpostItemScript:: ; 0x13625
 	loadfont
-	copybytetovar Unkn2Pals
+	copybytetovar EngineBuffer3
 	itemtotext 0, 0
 	writetext .found_text
 	giveitem ITEM_FROM_MEM
@@ -13885,7 +13885,7 @@
 	ld [hBGMapMode], a
 	inc a
 	ld [hInMenu], a
-	call Function2471a
+	call ClearObjectStructsa
 	call Function24764
 	call Function247dd
 	call Function245f1
@@ -14105,7 +14105,7 @@
 	jr nz, .asm_24713
 	ret
 
-Function2471a: ; 2471a
+ClearObjectStructsa: ; 2471a
 ; Get the value of (wcf95):(wcf96,wcf97) and store it in wd144.
 	ld hl, wcf96
 	ld a, [hli]
@@ -25461,7 +25461,7 @@
 
 Function48e47: ; 48e47 (12:4e47)
 	ld hl, Palette_48e5c
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $8
 	ld a, $5
 	call FarCopyWRAM
@@ -25623,7 +25623,7 @@
 	db 17, 19 ; end coords
 ; 4930f
 
-Function4930f: ; 4930f (12:530f)
+Function4930f: ; 4930f (mobile)
 	ld a, b
 	cp $ff
 	jr nz, .asm_49317
@@ -25679,15 +25679,15 @@
 	ret
 
 Function49351: ; 49351 (12:5351)
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, Palette_493e1
 	ld bc, $28
-	ld a, $5 ; BANK(Unkn1Pals)
+	ld a, $5 ; BANK(wMapPals)
 	call FarCopyWRAM
-	ld de, Unkn1Pals + $38
+	ld de, wMapPals + $38
 	ld hl, Palette_49418
 	ld bc, $8
-	ld a, $5 ; BANK(Unkn1Pals)
+	ld a, $5 ; BANK(wMapPals)
 	call FarCopyWRAM
 	ret
 
@@ -25767,7 +25767,7 @@
 
 Function49409:: ; 49409
 	ld hl, Palette_49418
-	ld de, Unkn1Pals + 8 * 7
+	ld de, wMapPals + 8 * 7
 	ld bc, 8
 	ld a, $5
 	call FarCopyWRAM
@@ -25783,9 +25783,9 @@
 
 Function49420:: ; 49420 (12:5420)
 	ld hl, MansionPalette4
-	ld de, Unkn1Pals + $30
+	ld de, wMapPals + $30
 	ld bc, $8
-	ld a, $5 ; BANK(Unkn1Pals)
+	ld a, $5 ; BANK(wMapPals)
 	call FarCopyWRAM
 	ret
 ; 4942f (12:542f)
@@ -25792,10 +25792,10 @@
 
 Function4942f: ; 4942f
 	call Function49351
-	ld de, Unkn1Pals + $38
+	ld de, wMapPals + $38
 	ld hl, Palette_49478
 	ld bc, $8
-	ld a, $5 ; BANK(Unkn1Pals)
+	ld a, $5 ; BANK(wMapPals)
 	call FarCopyWRAM
 	call Function49346
 	hlcoord 0, 0, AttrMap
@@ -25856,19 +25856,19 @@
 	ret
 ; 494ac
 
-Function494ac: ; 494ac
-	ld a, [wd199]
-	cp $15
+LoadSpecialMapPalette: ; 494ac
+	ld a, [wTileset]
+	cp TILESET_GOLDENROD_POKECOM_CENTER_2F_MOBILE
 	jr z, .pokecom_2f
-	cp $16
+	cp TILESET_BATTLE_TOWER
 	jr z, .battle_tower
-	cp $1d
+	cp TILESET_ICE_PATH
 	jr z, .ice_path
-	cp $5
+	cp TILESET_HOUSE_1
 	jr z, .house
-	cp $1b
+	cp TILESET_RADIO_TOWER
 	jr z, .radio_tower
-	cp $d
+	cp TILESET_CELADON_MANSION
 	jr z, .mansion_mobile
 	jr .do_nothing
 
@@ -25913,9 +25913,9 @@
 
 LoadPokeComPalette: ; 494f2
 	ld a, $5
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, PokeComPalette
-	ld bc, $40
+	ld bc, 8 palettes
 	call FarCopyWRAM
 	ret
 ; 49501
@@ -25926,9 +25926,9 @@
 
 LoadBattleTowerPalette: ; 49541
 	ld a, $5
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, BattleTowerPalette
-	ld bc, $40
+	ld bc, 8 palettes
 	call FarCopyWRAM
 	ret
 ; 49550
@@ -25939,9 +25939,9 @@
 
 LoadIcePathPalette: ; 49590
 	ld a, $5
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, IcePathPalette
-	ld bc, $40
+	ld bc, 8 palettes
 	call FarCopyWRAM
 	ret
 ; 4959f
@@ -25952,9 +25952,9 @@
 
 LoadHousePalette: ; 495df
 	ld a, $5
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, HousePalette
-	ld bc, $40
+	ld bc, 8 palettes
 	call FarCopyWRAM
 	ret
 ; 495ee
@@ -25965,9 +25965,9 @@
 
 LoadRadioTowerPalette: ; 4962e
 	ld a, $5
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, RadioTowerPalette
-	ld bc, $40
+	ld bc, 8 palettes
 	call FarCopyWRAM
 	ret
 ; 4963d
@@ -26028,24 +26028,24 @@
 
 LoadMansionPalette: ; 496c5
 	ld a, $5
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, MansionPalette1
-	ld bc, $40
+	ld bc, 8 palettes
 	call FarCopyWRAM
 	ld a, $5
-	ld de, Unkn1Pals + $20
+	ld de, wMapPals + 4 palettes
 	ld hl, MansionPalette2
-	ld bc, 8
+	ld bc, 1 palettes
 	call FarCopyWRAM
 	ld a, $5
-	ld de, Unkn1Pals + $18
+	ld de, wMapPals + 3 palettes
 	ld hl, MansionPalette3
-	ld bc, 8
+	ld bc, 1 palettes
 	call FarCopyWRAM
 	ld a, $5
-	ld de, Unkn1Pals + $30
+	ld de, wMapPals + 6 palettes
 	ld hl, MansionPalette4
-	ld bc, 8
+	ld bc, 1 palettes
 	call FarCopyWRAM
 	ret
 ; 496fe
@@ -26059,8 +26059,8 @@
 
 Function49706: ; 49706
 	ld hl, Palette_49732
-	ld de, Unkn1Pals
-	ld bc, 8
+	ld de, wMapPals
+	ld bc, 1 palettes
 	ld a, $5
 	call FarCopyWRAM
 	callba Function96a4
@@ -26068,7 +26068,7 @@
 	callba Function96b3
 	ld hl, Palette_4973a
 	ld de, Unkn2Pals
-	ld bc, 8
+	ld bc, 1 palettes
 	ld a, $5
 	call FarCopyWRAM
 	ret
@@ -26090,7 +26090,7 @@
 
 Function49742: ; 49742
 	ld hl, Palette_49757
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $40
 	ld a, $5
 	call FarCopyWRAM
@@ -26194,7 +26194,7 @@
 
 Function49811: ; 49811
 	ld hl, Palette_49826
-	ld de, Unkn1Pals + $10
+	ld de, wMapPals + $10
 	ld bc, $30
 	ld a, $5
 	call FarCopyWRAM
@@ -34425,7 +34425,7 @@
 	and 3
 	cp e
 	jr nz, .asm_80259
-	call Function224a ; CheckFallPit?
+	call WarpCheck ; CheckFallPit?
 	jr nc, .asm_80259
 
 	call StandInPlace
@@ -36322,7 +36322,7 @@
 rept 3
 	add hl, hl
 endr
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	add hl, de
 	ld de, wc608
 	ld bc, 8
@@ -48687,7 +48687,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_365ad
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_365ad
@@ -48760,7 +48760,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_e5edd
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_e5edd
@@ -48825,7 +48825,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_365ad
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_365ad
@@ -48922,7 +48922,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_e5edd
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_e5edd
@@ -49072,7 +49072,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_365ad
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_365ad
@@ -49197,7 +49197,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_e5edd
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_e5edd
@@ -49306,7 +49306,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_e77dd
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_e77dd
@@ -49380,7 +49380,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_e6d6d
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_e6d6d
@@ -49454,7 +49454,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_e77dd
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_e77dd
@@ -49622,7 +49622,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_e679d
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 	ld hl, Palette_e679d
@@ -49948,7 +49948,7 @@
 	ld bc, $8
 	call CopyBytes
 	pop bc
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, c
 	add e
 	ld e, a
@@ -53588,14 +53588,14 @@
 	callba ReturnFromMapSetupScript
 	call Function2914
 	callba Function579d
-	callba Function154f7
+	callba CheckReplaceKrisSprite
 	ld hl, wPlayerSpriteSetupFlags
 	bit 6, [hl]
-	jr nz, .asm_104817
+	jr nz, .skip
 	ld hl, VramState
 	set 0, [hl]
 	call Function2e31
-.asm_104817
+.skip
 	ld a, [wPlayerSpriteSetupFlags]
 	and $1c
 	ld [wPlayerSpriteSetupFlags], a
@@ -53615,6 +53615,7 @@
 	jr z, .right
 	and a
 	ret
+
 .down
 	ld a, [PlayerMapY]
 	sub 4
@@ -53625,6 +53626,7 @@
 	jr z, .ok
 	and a
 	ret
+
 .up
 	ld a, [PlayerMapY]
 	sub 4
@@ -53632,6 +53634,7 @@
 	jr z, .ok
 	and a
 	ret
+
 .left
 	ld a, [PlayerMapX]
 	sub $4
@@ -53639,6 +53642,7 @@
 	jr z, .ok
 	and a
 	ret
+
 .right
 	ld a, [PlayerMapX]
 	sub 4
@@ -53649,6 +53653,7 @@
 	jr z, .ok
 	and a
 	ret
+
 .ok
 	scf
 	ret
--- a/maps/map_headers.asm
+++ b/maps/map_headers.asm
@@ -30,466 +30,466 @@
 
 
 MapGroup1:
-	map_header OlivinePokeCenter1F, $7, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header OlivineGym, $12, INDOOR, OLIVINE_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header OlivineVoltorbHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header OlivineHouseBeta, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header OlivinePunishmentSpeechHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header OlivineGoodRodHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header OlivineCafe, $e, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header OlivineMart, $c, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header Route38EcruteakGate, $8, GATE, ROUTE_38, MUSIC_ROUTE_37, 0, PALETTE_DAY, 1
-	map_header Route39Barn, $10, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header Route39Farmhouse, $5, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header Route38, $1, ROUTE, ROUTE_38, MUSIC_ROUTE_37, 0, PALETTE_AUTO, 1
-	map_header Route39, $1, ROUTE, ROUTE_39, MUSIC_ROUTE_37, 0, PALETTE_AUTO, 1
-	map_header OlivineCity, $1, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 1
+	map_header OlivinePokeCenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header OlivineGym, TILESET_OLIVINE_GYM, INDOOR, OLIVINE_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header OlivineVoltorbHouse, TILESET_HOUSE_1, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header OlivineHouseBeta, TILESET_HOUSE_1, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header OlivinePunishmentSpeechHouse, TILESET_HOUSE_1, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header OlivineGoodRodHouse, TILESET_HOUSE_1, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header OlivineCafe, TILESET_GAME_CORNER, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header OlivineMart, TILESET_MART, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header Route38EcruteakGate, TILESET_GATE, GATE, ROUTE_38, MUSIC_ROUTE_37, 0, PALETTE_DAY, 1
+	map_header Route39Barn, TILESET_KURT_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header Route39Farmhouse, TILESET_HOUSE_1, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header Route38, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_38, MUSIC_ROUTE_37, 0, PALETTE_AUTO, 1
+	map_header Route39, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_39, MUSIC_ROUTE_37, 0, PALETTE_AUTO, 1
+	map_header OlivineCity, TILESET_JOHTO_OUTSIDE_1, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 1
 
 
 MapGroup2:
-	map_header MahoganyRedGyaradosSpeechHouse, $5, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
-	map_header MahoganyGym, $f, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header MahoganyPokeCenter1F, $7, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header Route42EcruteakGate, $8, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
-	map_header Route42, $1, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 3
-	map_header Route44, $1, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 4
-	map_header MahoganyTown, $1, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_AUTO, 1
+	map_header MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE_1, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
+	map_header MahoganyGym, TILESET_GYM_1, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header MahoganyPokeCenter1F, TILESET_POKECENTER, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header Route42EcruteakGate, TILESET_GATE, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
+	map_header Route42, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 3
+	map_header Route44, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 4
+	map_header MahoganyTown, TILESET_JOHTO_OUTSIDE_1, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_AUTO, 1
 
 
 MapGroup3:
-	map_header SproutTower1F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1
-	map_header SproutTower2F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1
-	map_header SproutTower3F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower1F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower2F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower3F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower4F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower5F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower6F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower7F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower8F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header TinTower9F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
-	map_header BurnedTower1F, $17, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, 1
-	map_header BurnedTowerB1F, $18, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, 1
-	map_header NationalPark, $19, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, PALETTE_AUTO, 1
-	map_header NationalParkBugContest, $19, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, PALETTE_AUTO, 1
-	map_header RadioTower1F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
-	map_header RadioTower2F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
-	map_header RadioTower3F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
-	map_header RadioTower4F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
-	map_header RadioTower5F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphOutside, $1, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_AUTO, 4
-	map_header RuinsofAlphHoOhChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphKabutoChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphOmanyteChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphAerodactylChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphInnerChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphResearchCenter, $b, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_DAY, 1
-	map_header RuinsofAlphHoOhItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphKabutoItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphOmanyteItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphAerodactylItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphHoOhWordRoom, $21, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphKabutoWordRoom, $22, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphOmanyteWordRoom, $23, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header RuinsofAlphAerodactylWordRoom, $24, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header UnionCave1F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
-	map_header UnionCaveB1F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
-	map_header UnionCaveB2F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 1
-	map_header SlowpokeWellB1F, $18, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 3
-	map_header SlowpokeWellB2F, $18, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 3
-	map_header OlivineLighthouse1F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
-	map_header OlivineLighthouse2F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
-	map_header OlivineLighthouse3F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
-	map_header OlivineLighthouse4F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
-	map_header OlivineLighthouse5F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
-	map_header OlivineLighthouse6F, $13, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header MahoganyMart1F, $10, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, 1, PALETTE_DAY, 1
-	map_header TeamRocketBaseB1F, $1c, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1
-	map_header TeamRocketBaseB2F, $b, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1
-	map_header TeamRocketBaseB3F, $b, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1
-	map_header IlexForest, $1f, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, 0, PALETTE_NITE, 4
-	map_header WarehouseEntrance, $8, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header UndergroundPathSwitchRoomEntrances, $f, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header GoldenrodDeptStoreB1F, $1c, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
-	map_header UndergroundWarehouse, $1c, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
-	map_header MountMortar1FOutside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
-	map_header MountMortar1FInside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
-	map_header MountMortar2FInside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
-	map_header MountMortarB1F, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
-	map_header IcePath1F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
-	map_header IcePathB1F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
-	map_header IcePathB2FMahoganySide, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
-	map_header IcePathB2FBlackthornSide, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
-	map_header IcePathB3F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
-	map_header WhirlIslandNW, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
-	map_header WhirlIslandNE, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
-	map_header WhirlIslandSW, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
-	map_header WhirlIslandCave, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
-	map_header WhirlIslandSE, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
-	map_header WhirlIslandB1F, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
-	map_header WhirlIslandB2F, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
-	map_header WhirlIslandLugiaChamber, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
-	map_header SilverCaveRoom1, $1e, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_DARK, 3
-	map_header SilverCaveRoom2, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_NITE, 3
-	map_header SilverCaveRoom3, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_DAY, 3
-	map_header SilverCaveItemRooms, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_NITE, 3
-	map_header DarkCaveVioletEntrance, $1e, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, PALETTE_DARK, 3
-	map_header DarkCaveBlackthornEntrance, $1e, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, PALETTE_DARK, 3
-	map_header DragonsDen1F, $18, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 5
-	map_header DragonsDenB1F, $1, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 5
-	map_header DragonShrine, $a, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 1
-	map_header TohjoFalls, $18, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
-	map_header DiglettsCave, $18, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, 1, PALETTE_NITE, 1
-	map_header MountMoon, $18, CAVE, MT_MOON, MUSIC_MT_MOON, 1, PALETTE_NITE, 1
-	map_header Underground, $1c, GATE, UNDERGROUND, MUSIC_MT_MOON, 0, PALETTE_NITE, 1
-	map_header RockTunnel1F, $1e, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, 1
-	map_header RockTunnelB1F, $1e, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, 1
-	map_header SafariZoneFuchsiaGateBeta, $8, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header SafariZoneBeta, $19, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, 0, PALETTE_AUTO, 1
-	map_header VictoryRoad, $18, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, 1, PALETTE_NITE, 1
+	map_header SproutTower1F, TILESET_SPROUT_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1
+	map_header SproutTower2F, TILESET_SPROUT_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1
+	map_header SproutTower3F, TILESET_SPROUT_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower1F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower2F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower3F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower4F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower5F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower6F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower7F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower8F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header TinTower9F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1
+	map_header BurnedTower1F, TILESET_SPROUT_TOWER, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, 1
+	map_header BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, 1
+	map_header NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, PALETTE_AUTO, 1
+	map_header NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, PALETTE_AUTO, 1
+	map_header RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
+	map_header RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
+	map_header RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
+	map_header RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
+	map_header RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphOutside, TILESET_JOHTO_OUTSIDE_1, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_AUTO, 4
+	map_header RuinsofAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphResearchCenter, TILESET_POWER_PLANT, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_DAY, 1
+	map_header RuinsofAlphHoOhItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphKabutoItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphOmanyteItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphAerodactylItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphHoOhWordRoom, TILESET_HO_OH_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphKabutoWordRoom, TILESET_KABUTO_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphOmanyteWordRoom, TILESET_OMANYTE_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header RuinsofAlphAerodactylWordRoom, TILESET_AERODACTYL_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header UnionCave1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
+	map_header UnionCaveB1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
+	map_header UnionCaveB2F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 1
+	map_header SlowpokeWellB1F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 3
+	map_header SlowpokeWellB2F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 3
+	map_header OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
+	map_header OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
+	map_header OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
+	map_header OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
+	map_header OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1
+	map_header OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header MahoganyMart1F, TILESET_KURT_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, 1, PALETTE_DAY, 1
+	map_header TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1
+	map_header TeamRocketBaseB2F, TILESET_POWER_PLANT, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1
+	map_header TeamRocketBaseB3F, TILESET_POWER_PLANT, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1
+	map_header IlexForest, TILESET_ILEX_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, 0, PALETTE_NITE, 4
+	map_header WarehouseEntrance, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header UndergroundPathSwitchRoomEntrances, TILESET_GYM_1, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1
+	map_header UndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1
+	map_header MountMortar1FOutside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
+	map_header MountMortar1FInside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
+	map_header MountMortar2FInside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
+	map_header MountMortarB1F, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
+	map_header IcePath1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
+	map_header IcePathB1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
+	map_header IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
+	map_header IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
+	map_header IcePathB3F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5
+	map_header WhirlIslandNW, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
+	map_header WhirlIslandNE, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
+	map_header WhirlIslandSW, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
+	map_header WhirlIslandCave, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
+	map_header WhirlIslandSE, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
+	map_header WhirlIslandB1F, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
+	map_header WhirlIslandB2F, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
+	map_header WhirlIslandLugiaChamber, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10
+	map_header SilverCaveRoom1, TILESET_WHIRL_ISLANDS, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_DARK, 3
+	map_header SilverCaveRoom2, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_NITE, 3
+	map_header SilverCaveRoom3, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_DAY, 3
+	map_header SilverCaveItemRooms, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_NITE, 3
+	map_header DarkCaveVioletEntrance, TILESET_WHIRL_ISLANDS, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, PALETTE_DARK, 3
+	map_header DarkCaveBlackthornEntrance, TILESET_WHIRL_ISLANDS, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, PALETTE_DARK, 3
+	map_header DragonsDen1F, TILESET_CAVE, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 5
+	map_header DragonsDenB1F, TILESET_JOHTO_OUTSIDE_1, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 5
+	map_header DragonShrine, TILESET_LAB, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 1
+	map_header TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3
+	map_header DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, 1, PALETTE_NITE, 1
+	map_header MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, 1, PALETTE_NITE, 1
+	map_header Underground, TILESET_UNDERGROUND, GATE, UNDERGROUND, MUSIC_MT_MOON, 0, PALETTE_NITE, 1
+	map_header RockTunnel1F, TILESET_WHIRL_ISLANDS, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, 1
+	map_header RockTunnelB1F, TILESET_WHIRL_ISLANDS, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, 1
+	map_header SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header SafariZoneBeta, TILESET_PARK, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, 0, PALETTE_AUTO, 1
+	map_header VictoryRoad, TILESET_CAVE, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, 1, PALETTE_NITE, 1
 
 
 MapGroup4:
-	map_header EcruteakHouse, $17, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header WiseTriosRoom, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, PALETTE_DAY, 1
-	map_header EcruteakPokeCenter1F, $7, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header EcruteakLugiaSpeechHouse, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header DanceTheatre, $10, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, 0, PALETTE_DAY, 1
-	map_header EcruteakMart, $c, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header EcruteakGym, $17, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header EcruteakItemfinderHouse, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header EcruteakCity, $1, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_AUTO, 4
+	map_header EcruteakHouse, TILESET_SPROUT_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header WiseTriosRoom, TILESET_KURT_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, PALETTE_DAY, 1
+	map_header EcruteakPokeCenter1F, TILESET_POKECENTER, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header EcruteakLugiaSpeechHouse, TILESET_KURT_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header DanceTheatre, TILESET_KURT_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, 0, PALETTE_DAY, 1
+	map_header EcruteakMart, TILESET_MART, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header EcruteakGym, TILESET_SPROUT_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header EcruteakItemfinderHouse, TILESET_KURT_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header EcruteakCity, TILESET_JOHTO_OUTSIDE_1, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_AUTO, 4
 
 
 MapGroup5:
-	map_header BlackthornGym1F, $f, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header BlackthornGym2F, $f, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header BlackthornDragonSpeechHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header BlackthornDodrioTradeHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header BlackthornMart, $c, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header BlackthornPokeCenter1F, $7, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header MoveDeletersHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header Route45, $1, ROUTE, ROUTE_45, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 9
-	map_header Route46, $1, ROUTE, ROUTE_46, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
-	map_header BlackthornCity, $1, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_AUTO, 4
+	map_header BlackthornGym1F, TILESET_GYM_1, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header BlackthornGym2F, TILESET_GYM_1, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header BlackthornDragonSpeechHouse, TILESET_HOUSE_1, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header BlackthornDodrioTradeHouse, TILESET_HOUSE_1, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header BlackthornMart, TILESET_MART, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header BlackthornPokeCenter1F, TILESET_POKECENTER, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header MoveDeletersHouse, TILESET_HOUSE_1, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header Route45, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_45, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 9
+	map_header Route46, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_46, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
+	map_header BlackthornCity, TILESET_JOHTO_OUTSIDE_1, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_AUTO, 4
 
 
 MapGroup6:
-	map_header CinnabarPokeCenter1F, $7, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header CinnabarPokeCenter2FBeta, $7, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header Route19FuchsiaGate, $8, GATE, ROUTE_19, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
-	map_header SeafoamGym, $18, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header Route19, $3, ROUTE, ROUTE_19, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
-	map_header Route20, $3, ROUTE, ROUTE_20, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 2
-	map_header Route21, $3, ROUTE, ROUTE_21, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 2
-	map_header CinnabarIsland, $3, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 2
+	map_header CinnabarPokeCenter1F, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header CinnabarPokeCenter2FBeta, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header Route19FuchsiaGate, TILESET_GATE, GATE, ROUTE_19, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
+	map_header SeafoamGym, TILESET_CAVE, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header Route19, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_19, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
+	map_header Route20, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_20, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 2
+	map_header Route21, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_21, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 2
+	map_header CinnabarIsland, TILESET_KANTO_OUTSIDE, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 2
 
 
 MapGroup7:
-	map_header CeruleanGymBadgeSpeechHouse, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header CeruleanPoliceStation, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header CeruleanTradeSpeechHouse, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header CeruleanPokeCenter1F, $7, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header CeruleanPokeCenter2FBeta, $7, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header CeruleanGym, $9, INDOOR, CERULEAN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 0
-	map_header CeruleanMart, $c, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header Route10PokeCenter1F, $7, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header Route10PokeCenter2FBeta, $7, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header PowerPlant, $b, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header BillsHouse, $5, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header Route4, $3, ROUTE, ROUTE_4, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 0
-	map_header Route9, $3, ROUTE, ROUTE_9, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
-	map_header Route10North, $3, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
-	map_header Route24, $3, ROUTE, ROUTE_24, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
-	map_header Route25, $3, ROUTE, ROUTE_25, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
-	map_header CeruleanCity, $3, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 0
+	map_header CeruleanGymBadgeSpeechHouse, TILESET_HOUSE_1, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header CeruleanPoliceStation, TILESET_HOUSE_1, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header CeruleanTradeSpeechHouse, TILESET_HOUSE_1, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header CeruleanPokeCenter1F, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header CeruleanPokeCenter2FBeta, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header CeruleanGym, TILESET_PORT, INDOOR, CERULEAN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 0
+	map_header CeruleanMart, TILESET_MART, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route10PokeCenter1F, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header Route10PokeCenter2FBeta, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header PowerPlant, TILESET_POWER_PLANT, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header BillsHouse, TILESET_HOUSE_1, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route4, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_4, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 0
+	map_header Route9, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_9, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
+	map_header Route10North, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
+	map_header Route24, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_24, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
+	map_header Route25, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_25, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
+	map_header CeruleanCity, TILESET_KANTO_OUTSIDE, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 0
 
 
 MapGroup8:
-	map_header AzaleaPokeCenter1F, $7, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header CharcoalKiln, $5, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header AzaleaMart, $c, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header KurtsHouse, $10, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header AzaleaGym, $f, INDOOR, AZALEA_TOWN, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header Route33, $2, ROUTE, ROUTE_33, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 1
-	map_header AzaleaTown, $2, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_AUTO, 1
+	map_header AzaleaPokeCenter1F, TILESET_POKECENTER, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header CharcoalKiln, TILESET_HOUSE_1, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header AzaleaMart, TILESET_MART, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header KurtsHouse, TILESET_KURT_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header AzaleaGym, TILESET_GYM_1, INDOOR, AZALEA_TOWN, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header Route33, TILESET_JOHTO_OUTSIDE_2, ROUTE, ROUTE_33, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 1
+	map_header AzaleaTown, TILESET_JOHTO_OUTSIDE_2, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_AUTO, 1
 
 
 MapGroup9:
-	map_header LakeofRageHiddenPowerHouse, $5, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
-	map_header LakeofRageMagikarpHouse, $5, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
-	map_header Route43MahoganyGate, $8, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
-	map_header Route43Gate, $8, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
-	map_header Route43, $1, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 4
-	map_header LakeofRage, $1, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 8
+	map_header LakeofRageHiddenPowerHouse, TILESET_HOUSE_1, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
+	map_header LakeofRageMagikarpHouse, TILESET_HOUSE_1, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
+	map_header Route43MahoganyGate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
+	map_header Route43Gate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1
+	map_header Route43, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 4
+	map_header LakeofRage, TILESET_JOHTO_OUTSIDE_1, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 8
 
 
 MapGroup10:
-	map_header Route32, $1, ROUTE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 11
-	map_header Route35, $1, ROUTE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 4
-	map_header Route36, $1, ROUTE, ROUTE_36, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
-	map_header Route37, $1, ROUTE, ROUTE_37, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
-	map_header VioletCity, $1, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 4
-	map_header VioletMart, $c, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header VioletGym, $f, INDOOR, VIOLET_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header EarlsPokemonAcademy, $a, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header VioletNicknameSpeechHouse, $10, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header VioletPokeCenter1F, $7, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header VioletOnixTradeHouse, $10, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header Route32RuinsofAlphGate, $8, GATE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_DAY, 1
-	map_header Route32PokeCenter1F, $7, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header Route35Goldenrodgate, $8, GATE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
-	map_header Route35NationalParkgate, $8, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header Route36RuinsofAlphgate, $8, GATE, ROUTE_36, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
-	map_header Route36NationalParkgate, $8, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header Route32, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 11
+	map_header Route35, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 4
+	map_header Route36, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_36, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
+	map_header Route37, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_37, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
+	map_header VioletCity, TILESET_JOHTO_OUTSIDE_1, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 4
+	map_header VioletMart, TILESET_MART, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header VioletGym, TILESET_GYM_1, INDOOR, VIOLET_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header VioletNicknameSpeechHouse, TILESET_KURT_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header VioletPokeCenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header VioletOnixTradeHouse, TILESET_KURT_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header Route32RuinsofAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_DAY, 1
+	map_header Route32PokeCenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header Route35Goldenrodgate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
+	map_header Route35NationalParkgate, TILESET_GATE, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header Route36RuinsofAlphgate, TILESET_GATE, GATE, ROUTE_36, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
+	map_header Route36NationalParkgate, TILESET_GATE, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
 
 
 MapGroup11:
-	map_header Route34, $2, ROUTE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
-	map_header GoldenrodCity, $2, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_AUTO, 1
-	map_header GoldenrodGym, $f, INDOOR, GOLDENROD_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header GoldenrodBikeShop, $12, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodHappinessRater, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodBillsHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodMagnetTrainStation, $11, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodFlowerShop, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodPPSpeechHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodNameRatersHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodDeptStore1F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodDeptStore2F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodDeptStore3F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodDeptStore4F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodDeptStore5F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodDeptStore6F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodDeptStoreElevator, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodDeptStoreRoof, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
-	map_header GoldenrodGameCorner, $e, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, 0, PALETTE_DAY, 1
-	map_header GoldenrodPokeCenter1F, $7, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header GoldenrodPokeComCenter2FMobile, $15, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header IlexForestAzaleaGate, $8, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
-	map_header Route34IlexForestGate, $8, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
-	map_header DayCare, $5, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header Route34, TILESET_JOHTO_OUTSIDE_2, ROUTE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
+	map_header GoldenrodCity, TILESET_JOHTO_OUTSIDE_2, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_AUTO, 1
+	map_header GoldenrodGym, TILESET_GYM_1, INDOOR, GOLDENROD_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header GoldenrodBikeShop, TILESET_OLIVINE_GYM, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodHappinessRater, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodBillsHouse, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodFlowerShop, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodPPSpeechHouse, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodNameRatersHouse, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodDeptStore1F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodDeptStore2F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodDeptStore3F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodDeptStore4F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodDeptStore5F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodDeptStore6F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodDeptStoreRoof, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1
+	map_header GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, 0, PALETTE_DAY, 1
+	map_header GoldenrodPokeCenter1F, TILESET_POKECENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header GoldenrodPokeComCenter2FMobile, TILESET_GOLDENROD_POKECOM_CENTER_2F_MOBILE, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header IlexForestAzaleaGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
+	map_header Route34IlexForestGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
+	map_header DayCare, TILESET_HOUSE_1, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
 
 
 MapGroup12:
-	map_header Route6, $3, ROUTE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 4
-	map_header Route11, $3, ROUTE, ROUTE_11, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1
-	map_header VermilionCity, $3, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_AUTO, 2
-	map_header VermilionHouseFishingSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
-	map_header VermilionPokeCenter1F, $7, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header VermilionPokeCenter2FBeta, $7, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
-	map_header PokemonFanClub, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
-	map_header VermilionMagnetTrainSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
-	map_header VermilionMart, $c, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
-	map_header VermilionHouseDiglettsCaveSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
-	map_header VermilionGym, $e, INDOOR, VERMILION_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header Route6SaffronGate, $8, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
-	map_header Route6UndergroundEntrance, $8, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
+	map_header Route6, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 4
+	map_header Route11, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_11, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1
+	map_header VermilionCity, TILESET_KANTO_OUTSIDE, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_AUTO, 2
+	map_header VermilionHouseFishingSpeechHouse, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
+	map_header VermilionPokeCenter1F, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header VermilionPokeCenter2FBeta, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
+	map_header PokemonFanClub, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
+	map_header VermilionMagnetTrainSpeechHouse, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
+	map_header VermilionMart, TILESET_MART, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
+	map_header VermilionHouseDiglettsCaveSpeechHouse, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
+	map_header VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
+	map_header Route6UndergroundEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
 
 
 MapGroup13:
-	map_header Route1, $3, ROUTE, ROUTE_1, MUSIC_ROUTE_1, 0, PALETTE_AUTO, 1
-	map_header PalletTown, $3, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_AUTO, 2
-	map_header RedsHouse1F, $6, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1
-	map_header RedsHouse2F, $6, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1
-	map_header BluesHouse, $5, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1
-	map_header OaksLab, $a, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, 0, PALETTE_DAY, 1
+	map_header Route1, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_1, MUSIC_ROUTE_1, 0, PALETTE_AUTO, 1
+	map_header PalletTown, TILESET_KANTO_OUTSIDE, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_AUTO, 2
+	map_header RedsHouse1F, TILESET_KRISS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1
+	map_header RedsHouse2F, TILESET_KRISS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1
+	map_header BluesHouse, TILESET_HOUSE_1, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1
+	map_header OaksLab, TILESET_LAB, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, 0, PALETTE_DAY, 1
 
 
 MapGroup14:
-	map_header Route3, $3, ROUTE, ROUTE_3, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
-	map_header PewterCity, $3, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 1
-	map_header PewterNidoranSpeechHouse, $5, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header PewterGym, $17, INDOOR, PEWTER_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header PewterMart, $c, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header PewterPokeCenter1F, $7, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header PewterPokeCEnter2FBeta, $7, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header PewterSnoozeSpeechHouse, $5, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route3, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_3, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
+	map_header PewterCity, TILESET_KANTO_OUTSIDE, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 1
+	map_header PewterNidoranSpeechHouse, TILESET_HOUSE_1, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header PewterGym, TILESET_SPROUT_TOWER, INDOOR, PEWTER_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header PewterMart, TILESET_MART, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header PewterPokeCenter1F, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header PewterPokeCEnter2FBeta, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header PewterSnoozeSpeechHouse, TILESET_HOUSE_1, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
 
 
 MapGroup15:
-	map_header OlivinePort, $9, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 2
-	map_header VermilionPort, $9, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_AUTO, 2
-	map_header FastShip1F, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
-	map_header FastShipCabins_NNW_NNE_NE, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
-	map_header FastShipCabins_SW_SSW_NW, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
-	map_header FastShipCabins_SE_SSE_CaptainsCabin, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
-	map_header FastShipB1F, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
-	map_header OlivinePortPassage, $1c, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
-	map_header VermilionPortPassage, $1c, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
-	map_header MountMoonSquare, $3, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, 0, PALETTE_AUTO, 1
-	map_header MountMoonGiftShop, $10, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header TinTowerRoof, $17, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_AUTO, 1
+	map_header OlivinePort, TILESET_PORT, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 2
+	map_header VermilionPort, TILESET_PORT, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_AUTO, 2
+	map_header FastShip1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
+	map_header FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
+	map_header FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
+	map_header FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
+	map_header FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1
+	map_header OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1
+	map_header VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1
+	map_header MountMoonSquare, TILESET_KANTO_OUTSIDE, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, 0, PALETTE_AUTO, 1
+	map_header MountMoonGiftShop, TILESET_KURT_HOUSE, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header TinTowerRoof, TILESET_SPROUT_TOWER, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_AUTO, 1
 
 
 MapGroup16:
-	map_header Route23, $3, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 1
-	map_header IndigoPlateauPokeCenter1F, $7, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 0, PALETTE_DAY, 1
-	map_header WillsRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
-	map_header KogasRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
-	map_header BrunosRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
-	map_header KarensRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
-	map_header LancesRoom, $12, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
-	map_header HallOfFame, $1d, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, 1, PALETTE_DAY, 1
+	map_header Route23, TILESET_KANTO_OUTSIDE, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 1
+	map_header IndigoPlateauPokeCenter1F, TILESET_POKECENTER, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 0, PALETTE_DAY, 1
+	map_header WillsRoom, TILESET_GYM_1, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
+	map_header KogasRoom, TILESET_GYM_1, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
+	map_header BrunosRoom, TILESET_GYM_1, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
+	map_header KarensRoom, TILESET_GYM_1, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
+	map_header LancesRoom, TILESET_OLIVINE_GYM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1
+	map_header HallOfFame, TILESET_ICE_PATH, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, 1, PALETTE_DAY, 1
 
 
 MapGroup17:
-	map_header Route13, $3, ROUTE, ROUTE_13, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 13
-	map_header Route14, $3, ROUTE, ROUTE_14, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1
-	map_header Route15, $3, ROUTE, ROUTE_15, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1
-	map_header Route18, $3, ROUTE, ROUTE_18, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
-	map_header FuchsiaCity, $3, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_AUTO, 8
-	map_header FuchsiaMart, $c, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header SafariZoneMainOffice, $e, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header FuchsiaGym, $a, INDOOR, FUCHSIA_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header FuchsiaBillSpeechHouse, $5, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header FuchsiaPokeCenter1F, $7, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header FuchsiaPokeCenter2FBeta, $7, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header SafariZoneWardensHome, $5, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header Route15FuchsiaGate, $8, GATE, ROUTE_15, MUSIC_ROUTE_12, 0, PALETTE_DAY, 1
+	map_header Route13, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_13, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 13
+	map_header Route14, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_14, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1
+	map_header Route15, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_15, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1
+	map_header Route18, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_18, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
+	map_header FuchsiaCity, TILESET_KANTO_OUTSIDE, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_AUTO, 8
+	map_header FuchsiaMart, TILESET_MART, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header FuchsiaGym, TILESET_LAB, INDOOR, FUCHSIA_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header FuchsiaBillSpeechHouse, TILESET_HOUSE_1, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header FuchsiaPokeCenter1F, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header FuchsiaPokeCenter2FBeta, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header SafariZoneWardensHome, TILESET_HOUSE_1, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header Route15FuchsiaGate, TILESET_GATE, GATE, ROUTE_15, MUSIC_ROUTE_12, 0, PALETTE_DAY, 1
 
 
 MapGroup18:
-	map_header Route8, $3, ROUTE, ROUTE_8, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
-	map_header Route12, $3, ROUTE, ROUTE_12, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 13
-	map_header Route10South, $3, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
-	map_header LavenderTown, $3, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_AUTO, 1
-	map_header LavenderPokeCenter1F, $7, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header LavenderPokeCenter2FBeta, $7, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header MrFujisHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
-	map_header LavenderTownSpeechHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
-	map_header LavenderNameRater, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
-	map_header LavenderMart, $c, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
-	map_header SoulHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
-	map_header LavRadioTower1F, $1b, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
-	map_header Route8SaffronGate, $8, GATE, ROUTE_8, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
-	map_header Route12SuperRodHouse, $5, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route8, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_8, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
+	map_header Route12, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_12, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 13
+	map_header Route10South, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3
+	map_header LavenderTown, TILESET_KANTO_OUTSIDE, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_AUTO, 1
+	map_header LavenderPokeCenter1F, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header LavenderPokeCenter2FBeta, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header MrFujisHouse, TILESET_HOUSE_1, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
+	map_header LavenderTownSpeechHouse, TILESET_HOUSE_1, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
+	map_header LavenderNameRater, TILESET_HOUSE_1, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
+	map_header LavenderMart, TILESET_MART, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
+	map_header SoulHouse, TILESET_HOUSE_1, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
+	map_header LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1
+	map_header Route8SaffronGate, TILESET_GATE, GATE, ROUTE_8, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
+	map_header Route12SuperRodHouse, TILESET_HOUSE_1, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
 
 
 MapGroup19:
-	map_header Route28, $3, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 4
-	map_header SilverCaveOutside, $3, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 4
-	map_header SilverCavePokeCenter1F, $7, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header Route28FamousSpeechHouse, $5, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header Route28, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 4
+	map_header SilverCaveOutside, TILESET_KANTO_OUTSIDE, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 4
+	map_header SilverCavePokeCenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header Route28FamousSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
 
 
 MapGroup20:
-	map_header PokeCenter2F, $7, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, 1, PALETTE_DAY, 1
-	map_header TradeCenter, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
-	map_header Colosseum, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
-	map_header TimeCapsule, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
-	map_header MobileTradeRoomMobile, $d, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
-	map_header MobileBattleRoom, $d, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
+	map_header PokeCenter2F, TILESET_POKECENTER, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, 1, PALETTE_DAY, 1
+	map_header TradeCenter, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
+	map_header Colosseum, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
+	map_header TimeCapsule, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
+	map_header MobileTradeRoomMobile, TILESET_CELADON_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
+	map_header MobileBattleRoom, TILESET_CELADON_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1
 
 
 MapGroup21:
-	map_header Route7, $3, ROUTE, ROUTE_7, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
-	map_header Route16, $3, ROUTE, ROUTE_16, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
-	map_header Route17, $3, ROUTE, ROUTE_17, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 0
-	map_header CeladonCity, $3, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_AUTO, 0
-	map_header CeladonDeptStore1F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonDeptStore2F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonDeptStore3F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonDeptStore4F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonDeptStore5F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonDeptStore6F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonDeptStoreElevator, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonMansion1F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonMansion2F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonMansion3F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonMansionRoof, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonMansionRoofHouse, $5, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonPokeCenter1F, $7, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header CeladonPokeCenter2FBeta, $7, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonGameCorner, $e, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, 0, PALETTE_DAY, 1
-	map_header CeladonGameCornerPrizeRoom, $e, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header CeladonGym, $11, INDOOR, CELADON_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header CeladonCafe, $e, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header Route16FuchsiaSpeechHouse, $5, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
-	map_header Route16Gate, $8, GATE, ROUTE_16, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
-	map_header Route7SaffronGate, $8, GATE, ROUTE_7, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
-	map_header Route1718Gate, $8, GATE, ROUTE_17, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
+	map_header Route7, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_7, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
+	map_header Route16, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_16, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
+	map_header Route17, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_17, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 0
+	map_header CeladonCity, TILESET_KANTO_OUTSIDE, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_AUTO, 0
+	map_header CeladonDeptStore1F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonDeptStore2F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonDeptStore3F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonDeptStore4F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonDeptStore5F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonDeptStore6F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonDeptStoreElevator, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonMansion1F, TILESET_CELADON_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonMansion2F, TILESET_CELADON_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonMansion3F, TILESET_CELADON_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonMansionRoof, TILESET_CELADON_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonMansionRoofHouse, TILESET_HOUSE_1, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonPokeCenter1F, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header CeladonPokeCenter2FBeta, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, 0, PALETTE_DAY, 1
+	map_header CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header CeladonGym, TILESET_TRAIN_STATION, INDOOR, CELADON_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header CeladonCafe, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header Route16FuchsiaSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1
+	map_header Route16Gate, TILESET_GATE, GATE, ROUTE_16, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
+	map_header Route7SaffronGate, TILESET_GATE, GATE, ROUTE_7, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
+	map_header Route1718Gate, TILESET_GATE, GATE, ROUTE_17, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
 
 
 MapGroup22:
-	map_header Route40, $1, ROUTE, ROUTE_40, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
-	map_header Route41, $1, ROUTE, ROUTE_41, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 2
-	map_header CianwoodCity, $1, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_AUTO, 1
-	map_header ManiasHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header CianwoodGym, $17, INDOOR, CIANWOOD_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header CianwoodPokeCenter1F, $7, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header CianwoodPharmacy, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header CianwoodCityPhotoStudio, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header CianwoodLugiaSpeechHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header PokeSeersHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
-	map_header BattleTower1F, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, 1, PALETTE_DAY, 1
-	map_header BattleTowerBattleRoom, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, PALETTE_DAY, 1
-	map_header BattleTowerElevator, $16, INDOOR, BATTLE_TOWER, MUSIC_NONE, 1, PALETTE_DAY, 1
-	map_header BattleTowerHallway, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, PALETTE_DAY, 1
-	map_header Route40BattleTowerGate, $8, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
-	map_header BattleTowerOutside, $4, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 0, PALETTE_AUTO, 1
+	map_header Route40, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_40, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1
+	map_header Route41, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_41, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 2
+	map_header CianwoodCity, TILESET_JOHTO_OUTSIDE_1, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_AUTO, 1
+	map_header ManiasHouse, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header CianwoodGym, TILESET_SPROUT_TOWER, INDOOR, CIANWOOD_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header CianwoodPokeCenter1F, TILESET_POKECENTER, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header CianwoodPharmacy, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header CianwoodCityPhotoStudio, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header CianwoodLugiaSpeechHouse, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header PokeSeersHouse, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1
+	map_header BattleTower1F, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, 1, PALETTE_DAY, 1
+	map_header BattleTowerBattleRoom, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, PALETTE_DAY, 1
+	map_header BattleTowerElevator, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_NONE, 1, PALETTE_DAY, 1
+	map_header BattleTowerHallway, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, PALETTE_DAY, 1
+	map_header Route40BattleTowerGate, TILESET_GATE, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1
+	map_header BattleTowerOutside, TILESET_BATTLE_TOWER_OUTSIDE, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 0, PALETTE_AUTO, 1
 
 
 MapGroup23:
-	map_header Route2, $3, ROUTE, ROUTE_2, MUSIC_ROUTE_2, 0, PALETTE_AUTO, 1
-	map_header Route22, $3, ROUTE, ROUTE_22, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 4
-	map_header ViridianCity, $3, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 4
-	map_header ViridianGym, $11, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header ViridianNicknameSpeechHouse, $5, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header TrainerHouse1F, $5, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header TrainerHouseB1F, $b, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header ViridianMart, $c, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header ViridianPokeCenter1F, $7, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header ViridianPokeCenter2FBeta, $7, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header Route2NuggetSpeechHouse, $5, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header Route2Gate, $8, GATE, ROUTE_2, MUSIC_ROUTE_2, 0, PALETTE_DAY, 1
-	map_header VictoryRoadGate, $8, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, 0, PALETTE_DAY, 1
+	map_header Route2, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_2, MUSIC_ROUTE_2, 0, PALETTE_AUTO, 1
+	map_header Route22, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_22, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 4
+	map_header ViridianCity, TILESET_KANTO_OUTSIDE, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 4
+	map_header ViridianGym, TILESET_TRAIN_STATION, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header ViridianNicknameSpeechHouse, TILESET_HOUSE_1, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header TrainerHouse1F, TILESET_HOUSE_1, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header TrainerHouseB1F, TILESET_POWER_PLANT, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header ViridianMart, TILESET_MART, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header ViridianPokeCenter1F, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header ViridianPokeCenter2FBeta, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route2NuggetSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route2Gate, TILESET_GATE, GATE, ROUTE_2, MUSIC_ROUTE_2, 0, PALETTE_DAY, 1
+	map_header VictoryRoadGate, TILESET_GATE, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, 0, PALETTE_DAY, 1
 
 
 MapGroup24:
-	map_header Route26, $1, ROUTE, ROUTE_26, MUSIC_ROUTE_26, 0, PALETTE_AUTO, 2
-	map_header Route27, $1, ROUTE, ROUTE_27, MUSIC_ROUTE_26, 0, PALETTE_AUTO, 2
-	map_header Route29, $1, ROUTE, ROUTE_29, MUSIC_ROUTE_29, 0, PALETTE_AUTO, 1
-	map_header NewBarkTown, $1, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_AUTO, 2
-	map_header ElmsLab, $a, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, 0, PALETTE_DAY, 1
-	map_header KrissHouse1F, $6, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1
-	map_header KrissHouse2F, $14, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1
-	map_header KrissNeighborsHouse, $5, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1
-	map_header ElmsHouse, $6, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1
-	map_header Route26HealSpeechHouse, $5, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header Route26DayofWeekSiblingsHouse, $5, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header Route27SandstormHouse, $5, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
-	map_header Route2946Gate, $8, GATE, ROUTE_29, MUSIC_ROUTE_29, 0, PALETTE_DAY, 1
+	map_header Route26, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_26, MUSIC_ROUTE_26, 0, PALETTE_AUTO, 2
+	map_header Route27, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_27, MUSIC_ROUTE_26, 0, PALETTE_AUTO, 2
+	map_header Route29, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_29, MUSIC_ROUTE_29, 0, PALETTE_AUTO, 1
+	map_header NewBarkTown, TILESET_JOHTO_OUTSIDE_1, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_AUTO, 2
+	map_header ElmsLab, TILESET_LAB, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, 0, PALETTE_DAY, 1
+	map_header KrissHouse1F, TILESET_KRISS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1
+	map_header KrissHouse2F, TILESET_KRISS_HOUSE_2F, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1
+	map_header KrissNeighborsHouse, TILESET_HOUSE_1, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1
+	map_header ElmsHouse, TILESET_KRISS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1
+	map_header Route26HealSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header Route26DayofWeekSiblingsHouse, TILESET_HOUSE_1, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header Route27SandstormHouse, TILESET_HOUSE_1, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1
+	map_header Route2946Gate, TILESET_GATE, GATE, ROUTE_29, MUSIC_ROUTE_29, 0, PALETTE_DAY, 1
 
 
 MapGroup25:
-	map_header Route5, $3, ROUTE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
-	map_header SaffronCity, $3, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 1
-	map_header FightingDojo, $11, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header SaffronGym, $1c, INDOOR, SAFFRON_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
-	map_header SaffronMart, $c, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header SaffronPokeCenter1F, $7, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header SaffronPokeCenter2FBeta, $7, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header MrPsychicsHouse, $5, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header SaffronTrainStation, $11, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header SilphCo1F, $b, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header CopycatsHouse1F, $6, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header CopycatsHouse2F, $6, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header Route5UndergroundEntrance, $8, GATE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
-	map_header Route5SaffronCityGate, $8, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
-	map_header Route5CleanseTagSpeechHouse, $5, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route5, TILESET_KANTO_OUTSIDE, ROUTE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1
+	map_header SaffronCity, TILESET_KANTO_OUTSIDE, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 1
+	map_header FightingDojo, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header SaffronGym, TILESET_UNDERGROUND, INDOOR, SAFFRON_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1
+	map_header SaffronMart, TILESET_MART, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header SaffronPokeCenter1F, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header SaffronPokeCenter2FBeta, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header MrPsychicsHouse, TILESET_HOUSE_1, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header SaffronTrainStation, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header SilphCo1F, TILESET_POWER_PLANT, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header CopycatsHouse1F, TILESET_KRISS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header CopycatsHouse2F, TILESET_KRISS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route5UndergroundEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1
+	map_header Route5SaffronCityGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
+	map_header Route5CleanseTagSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1
 
 
 MapGroup26:
-	map_header Route30, $1, ROUTE, ROUTE_30, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 4
-	map_header Route31, $1, ROUTE, ROUTE_31, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 4
-	map_header CherrygroveCity, $1, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_AUTO, 1
-	map_header CherrygroveMart, $c, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
-	map_header CherrygrovePokeCenter1F, $7, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
-	map_header CherrygroveGymSpeechHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
-	map_header GuideGentsHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
-	map_header CherrygroveEvolutionSpeechHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
-	map_header Route30BerrySpeechHouse, $5, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
-	map_header MrPokemonsHouse, $b, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
-	map_header Route31VioletGate, $8, GATE, ROUTE_31, MUSIC_ROUTE_30, 0, PALETTE_DAY, 1
+	map_header Route30, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_30, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 4
+	map_header Route31, TILESET_JOHTO_OUTSIDE_1, ROUTE, ROUTE_31, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 4
+	map_header CherrygroveCity, TILESET_JOHTO_OUTSIDE_1, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_AUTO, 1
+	map_header CherrygroveMart, TILESET_MART, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
+	map_header CherrygrovePokeCenter1F, TILESET_POKECENTER, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1
+	map_header CherrygroveGymSpeechHouse, TILESET_HOUSE_1, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
+	map_header GuideGentsHouse, TILESET_HOUSE_1, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
+	map_header CherrygroveEvolutionSpeechHouse, TILESET_HOUSE_1, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
+	map_header Route30BerrySpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
+	map_header MrPokemonsHouse, TILESET_POWER_PLANT, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1
+	map_header Route31VioletGate, TILESET_GATE, GATE, ROUTE_31, MUSIC_ROUTE_30, 0, PALETTE_DAY, 1
--- a/misc/battle_tower_47.asm
+++ b/misc/battle_tower_47.asm
@@ -2888,7 +2888,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_11d33a
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, 16 * 8
 	call CopyBytes
 	pop af
@@ -3015,7 +3015,7 @@
 	ld a, [hli]
 	ld b, a
 	push hl
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	add hl, de
 	ld a, [wcd2d]
 	ld e, a
--- a/misc/crystal_misc.asm
+++ b/misc/crystal_misc.asm
@@ -768,11 +768,11 @@
 Function17abcf: ; 17abcf (5e:6bcf)
 	ld a, [rSVBK]
 	push af
-	ld a, BANK(Unkn1Pals)
+	ld a, BANK(wMapPals)
 	ld [rSVBK], a
 
 	ld hl, Palette_17ac55
-	ld de, Unkn1Pals ; $d000
+	ld de, wMapPals ; $d000
 	ld bc, $30
 	call CopyBytes
 
--- a/misc/mobile_22.asm
+++ b/misc/mobile_22.asm
@@ -623,7 +623,7 @@
 	ld a, 5
 	ld [rSVBK], a
 	ld hl, Palette_894b3
-	ld de, Unkn1Pals + 8 * 7
+	ld de, wMapPals + 8 * 7
 	ld bc, 8
 	call CopyBytes
 	pop af
@@ -674,7 +674,7 @@
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, 24
 	call CopyBytes
 	ld hl, Palette_89557
@@ -2152,7 +2152,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld c, $8
-	ld de, Unkn1Pals
+	ld de, wMapPals
 .asm_89d1c
 	push bc
 	ld hl, Palette_89d4e
--- a/misc/mobile_22_2.asm
+++ b/misc/mobile_22_2.asm
@@ -610,7 +610,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_8b6d5
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0018
 	call CopyBytes
 	pop af
--- a/misc/mobile_42.asm
+++ b/misc/mobile_42.asm
@@ -804,7 +804,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_109107
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0040
 	call CopyBytes
 	pop af
@@ -850,7 +850,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_109107
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0040
 	call CopyBytes
 	pop af
@@ -894,7 +894,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_109107
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0040
 	call CopyBytes
 	pop af
@@ -1459,7 +1459,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld de, $7fff
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld a, e
 	ld [hli], a
 	ld d, a
@@ -1537,7 +1537,7 @@
 	ld hl, Palette_108b98
 
 .asm_108bb0
-	ld de, Unkn1Pals + 8 * 7
+	ld de, wMapPals + 8 * 7
 	ld bc, $0040
 	call CopyBytes
 	pop af
--- a/misc/mobile_45.asm
+++ b/misc/mobile_45.asm
@@ -5786,7 +5786,7 @@
 	ld bc, $0010
 	call CopyBytes
 	ld hl, Palette_11734e
-	ld de, Unkn1Pals + 8 * 7
+	ld de, wMapPals + 8 * 7
 	ld bc, $0008
 	call CopyBytes
 	call SetPalettes
@@ -5912,7 +5912,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, BGPals
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0040
 	call CopyBytes
 	pop af
--- a/misc/mobile_46.asm
+++ b/misc/mobile_46.asm
@@ -175,7 +175,7 @@
 	cp [hl]
 	jr nz, .asm_11813e
 	xor a
-	ld [Unkn1Pals], a
+	ld [wMapPals], a
 	pop af
 	ld [rSVBK], a
 	call Function118452
@@ -1067,7 +1067,7 @@
 	set 0, [hl]
 	ld a, $6
 	ld [rSVBK], a
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	ld a, [hl]
 	sla a
@@ -1462,7 +1462,7 @@
 	ld de, wcc60
 	ld bc, $80
 	call CopyBytes
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	jp Function118b10
 ; 118a7a
@@ -1472,7 +1472,7 @@
 	ld de, wcc60
 	ld bc, $80
 	call CopyBytes
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	jp Function118b10
 ; 118a8f
@@ -1482,7 +1482,7 @@
 	ld de, wcc60
 	ld bc, $80
 	call CopyBytes
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	jp Function118b10
 ; 118aa4
@@ -1504,7 +1504,7 @@
 	ld de, wcc60
 	ld bc, $80
 	call CopyBytes
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	jr Function118b10
 ; 118ad0 (46:4ad0)
@@ -1514,7 +1514,7 @@
 	ld de, wcc60
 	ld bc, $80
 	call CopyBytes
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	jr Function118b10
 
@@ -2101,7 +2101,7 @@
 	ld a, $40
 	ld [wcd89], a
 	ld hl, wc314 + 48 + 2
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	ld a, $2c
 	jp Function119e2b
@@ -2115,7 +2115,7 @@
 	ld e, a
 	ld a, [wcd50]
 	ld d, a
-	ld a, [Unkn1Pals]
+	ld a, [wMapPals]
 	ld c, a
 	ld a, [wd001]
 	ld b, a
@@ -2127,7 +2127,7 @@
 	ld a, $6
 	ld [rSVBK], a
 	ld hl, wd002
-	ld a, [Unkn1Pals]
+	ld a, [wMapPals]
 	ld c, a
 	ld a, [wd001]
 	ld b, a
@@ -2174,7 +2174,7 @@
 	ld de, wcc60
 	call Function1191ad
 	ret c
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	jp Function118b10
 ; 1190ec
@@ -2194,7 +2194,7 @@
 	call CloseSRAM
 	ld a, $6
 	call GetSRAMBank
-	ld a, [Unkn1Pals]
+	ld a, [wMapPals]
 	ld c, a
 	ld a, [wd001]
 	ld b, a
@@ -2207,7 +2207,7 @@
 	jr z, .asm_11913e
 	ld a, $6
 	ld [rSVBK], a
-	ld a, [Unkn1Pals]
+	ld a, [wMapPals]
 	ld c, a
 	ld a, [wd001]
 	ld b, a
@@ -2674,7 +2674,7 @@
 	ld a, $8
 	ld [wcd3c], a
 	call Function119ed8
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	jp Function118b10
 ; 119413
@@ -2682,7 +2682,7 @@
 Function119413: ; 119413
 	ld a, $6
 	call GetSRAMBank
-	ld a, [Unkn1Pals]
+	ld a, [wMapPals]
 	ld c, a
 	ld a, [wd001]
 	ld b, a
@@ -3039,7 +3039,7 @@
 	ld [wcd3c], a
 	call Function119ed8
 	call Function118b24
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	ld a, $2a
 	jp Function119e2b
@@ -3334,7 +3334,7 @@
 	xor a
 	ld [de], a
 	call Function118b24
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	ld a, $2a
 	jp Function119e2b
@@ -3533,7 +3533,7 @@
 	xor a
 	ld [wcf65], a
 	ld [StringBuffer2 + 10], a
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, $20
 	jp Function119e2b
 ; 119987
@@ -3540,7 +3540,7 @@
 
 Function119987: ; 119987
 	ld hl, wd001
-	ld a, [Unkn1Pals]
+	ld a, [wMapPals]
 	or [hl]
 	jr z, .asm_1199a0
 	ld a, [wcf64]
@@ -3702,13 +3702,13 @@
 	ld [StringBuffer2 + 12], a
 
 Function119ac9:
-	ld a, [Unkn1Pals]
+	ld a, [wMapPals]
 	ld l, a
 	ld a, [wd001]
 	ld h, a
 	dec hl
 	ld a, l
-	ld [Unkn1Pals], a
+	ld [wMapPals], a
 	ld a, h
 	ld [wd001], a
 	ld a, [wcf64]
--- a/misc/mobile_5b.asm
+++ b/misc/mobile_5b.asm
@@ -179,7 +179,7 @@
 ; 16c130
 
 Function16c130: ; 16c130
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, Unknown_16c903
 	ld bc, 8
 	ld a, $5
@@ -274,7 +274,7 @@
 	ld [rSVBK], a
 	ld a, $ff
 	ld bc, $0008
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call ByteFill
 	pop af
 	ld [rSVBK], a
@@ -291,7 +291,7 @@
 	call Function16cab6
 	call Function16cabb
 	ld d, a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cabb
 	cp d
@@ -305,7 +305,7 @@
 	jr nz, .asm_16c981
 
 .asm_16c988
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cadc
 
@@ -314,7 +314,7 @@
 	call Function16cab6
 	call Function16cad8
 	ld d, a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cad8
 	cp d
@@ -328,7 +328,7 @@
 	jr nz, .asm_16c9a9
 
 .asm_16c9b0
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cb08
 
@@ -337,7 +337,7 @@
 	call Function16cab6
 	call Function16cac4
 	ld d, a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cac4
 	cp d
@@ -351,7 +351,7 @@
 	jr nz, .asm_16c9d1
 
 .asm_16c9d8
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cae8
 
@@ -402,7 +402,7 @@
 	ld e, $0
 	ld a, $0
 .asm_16ca28
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cabb
 	cp $1f
@@ -416,12 +416,12 @@
 	jr nz, .asm_16ca37
 
 .asm_16ca3f
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cadc
 
 .asm_16ca48
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cad8
 	cp $1f
@@ -435,12 +435,12 @@
 	jr nz, .asm_16ca57
 
 .asm_16ca5f
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cb08
 
 .asm_16ca68
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cac4
 	cp $1f
@@ -454,7 +454,7 @@
 	jr nz, .asm_16ca77
 
 .asm_16ca7f
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	call Function16cab6
 	call Function16cae8
 
--- a/misc/mobile_5c.asm
+++ b/misc/mobile_5c.asm
@@ -1532,7 +1532,7 @@
 	ld hl, LZ_1715a4
 	ld de, wd000
 	call Decompress
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld hl, VTiles0
 	lb bc, $6, $53
 	call Get2bpp
@@ -1957,7 +1957,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_171d71
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $40
 	call CopyBytes
 	ld hl, MovementAnimation
@@ -2120,7 +2120,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_172edf
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $40
 	call CopyBytes
 	ld hl, Palette_172edf
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -48,11 +48,11 @@
 	ld a, [rSVBK]
 	push af
 
-	ld a, 5 ; BANK(Unkn1Pals)
+	ld a, 5 ; BANK(wMapPals)
 	ld [rSVBK], a
 
 	ld hl, HaveWantPals
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $80
 	call CopyBytes
 
@@ -664,7 +664,7 @@
 	ld a, $6
 	call GetSRAMBank
 	ld hl, $a006
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	call CopyBytes
 	call CloseSRAM
@@ -705,7 +705,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, Palette_17eff6
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0040
 	call CopyBytes
 	call SetPalettes
@@ -985,7 +985,7 @@
 	ld a, $5
 	ld [rSVBK], a
 	ld hl, $c608
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0040
 	call CopyBytes
 	ld a, $4
@@ -1239,7 +1239,7 @@
 	call GetSRAMBank
 	ld hl, $a006
 	add hl, bc
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $1000
 	call CopyBytes
 	call CloseSRAM
@@ -1363,7 +1363,7 @@
 	ld a, [hli]
 	ld d, a
 	push hl
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	add hl, de
 	ld de, wcc60
 .asm_17d86c
@@ -1432,7 +1432,7 @@
 	ld a, $3
 	ld [rSVBK], a
 	ld hl, $c608
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld b, $0
 	call CopyBytes
 	ld a, $4
@@ -1467,7 +1467,7 @@
 	call Function17e41e
 	call Function17e32b
 	pop de
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	add hl, de
 	ld de, wcc60
 .asm_17d918
@@ -1984,7 +1984,7 @@
 Function17dcaf:
 	ld a, $5
 	ld [rSVBK], a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	ld de, $0008
 	ld c, $8
 .asm_17dcbb
@@ -3165,7 +3165,7 @@
 ; 17e40f
 
 Function17e40f: ; 17e40f
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	add hl, de
 	jr Function17e41e
 
@@ -4419,7 +4419,7 @@
 	ld e, a
 	ld a, [hli]
 	ld d, a
-	ld hl, Unkn1Pals
+	ld hl, wMapPals
 	add hl, de
 	ld e, l
 	ld d, h
--- a/misc/unused_title.asm
+++ b/misc/unused_title.asm
@@ -67,7 +67,7 @@
 	ld [rSVBK], a
 
 	ld hl, UnusedTitleBG_Palettes
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $40
 	call CopyBytes
 
--- a/predef/cgb.asm
+++ b/predef/cgb.asm
@@ -69,11 +69,11 @@
 
 Function8db8: ; 8db8
 	ld hl, PalPacket_9c66 + 1
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld c, $4
 	call CopyPalettes
 	ld hl, PalPacket_9c66 + 1
-	ld de, Unkn1Pals + $20
+	ld de, wMapPals + $20
 	ld c, $4
 	call CopyPalettes
 	ld hl, PalPacket_9c66 + 1
@@ -83,7 +83,7 @@
 	jr Function8e23
 
 Function8ddb: ; 8ddb
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	call Function9729
 	push hl
 	call Function9643
@@ -168,7 +168,7 @@
 	ld hl, Palette_b309
 
 .asm_8e93
-	ld de, Unkn1Pals + 8 * 7
+	ld de, wMapPals + 8 * 7
 	ld bc, $0008
 	ld a, $5
 	call FarCopyWRAM
@@ -182,7 +182,7 @@
 	ld hl, Palette_b309
 
 .asm_8ead
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0008
 	ld a, $5
 	call FarCopyWRAM
@@ -200,7 +200,7 @@
 	ld hl, Palettes_b729
 
 .asm_8ec8
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0030
 	ld a, $5
 	call FarCopyWRAM
@@ -211,7 +211,7 @@
 ; 8edb
 
 Function8edb: ; 8edb
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, [wcda1]
 	ld l, a
 	ld h, $0
@@ -228,7 +228,7 @@
 	ld hl, Palettes_a8ca
 	call Function9643
 	ld hl, Palette8f52
-	ld de, Unkn1Pals + 8 * 3
+	ld de, wMapPals + 8 * 3
 	ld bc, $0018
 	ld a, $5
 	call FarCopyWRAM
@@ -286,7 +286,7 @@
 ; 8f70
 
 Function8f70: ; 8f70
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, $1d
 	call GetAthPalletFromPalettes9df6
 	call LoadHLPaletteIntoDE
@@ -334,7 +334,7 @@
 ; 8fca
 
 Function8fca: ; 8fca
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, $1d
 	call GetAthPalletFromPalettes9df6
 	call LoadHLPaletteIntoDE
@@ -395,7 +395,7 @@
 ; 903e
 
 Function903e: ; 903e
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, $1d
 	call GetAthPalletFromPalettes9df6
 	call LoadHLPaletteIntoDE
@@ -417,7 +417,7 @@
 
 Function906e: ; 906e
 	ld hl, Palettes_b7a9
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0080
 	ld a, $5
 	call FarCopyWRAM
@@ -508,7 +508,7 @@
 
 Function9133: ; 9133
 	ld hl, Palette_914e
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	call LoadHLPaletteIntoDE
 	ld hl, Palette_9156
 	ld de, Unkn2Pals
@@ -538,7 +538,7 @@
 ; 9166
 
 Function9166: ; 9166
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, $38
 	call GetAthPalletFromPalettes9df6
 	call LoadHLPaletteIntoDE
@@ -563,7 +563,7 @@
 
 Function9195: ; 9195
 	ld hl, Palettes_b789
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0028
 	ld a, $5
 	call FarCopyWRAM
@@ -575,7 +575,7 @@
 
 Function91ad: ; 91ad
 	ld hl, Palettes_b641
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0080
 	ld a, $5
 	call FarCopyWRAM
@@ -604,7 +604,7 @@
 ; 91e4
 
 Function91e4: ; 91e4
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, c
 	and a
 	jr z, .asm_91f5
@@ -640,7 +640,7 @@
 
 Function9228: ; 9228
 	ld hl, Palettes_b6f1
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0028
 	ld a, $5
 	call FarCopyWRAM
@@ -689,7 +689,7 @@
 ; 9289
 
 Function9289: ; 9289
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	xor a
 	call Function976b
 	call Function9643
@@ -794,7 +794,7 @@
 ; 9373
 
 Function9373: ; 9373
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, $10
 	call GetAthPalletFromPalettes9df6
 	call LoadHLPaletteIntoDE
@@ -831,7 +831,7 @@
 ; 93ba
 
 Function93ba: ; 93ba
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, $1d
 	call GetAthPalletFromPalettes9df6
 	call LoadHLPaletteIntoDE
@@ -859,7 +859,7 @@
 	ld hl, Palettes_9439
 
 .asm_93e9
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0040
 	ld a, $5
 	call FarCopyWRAM
@@ -1000,7 +1000,7 @@
 ; 94fa
 
 Function94fa: ; 94fa
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, $4e
 	call GetAthPalletFromPalettes9df6
 	call LoadHLPaletteIntoDE
@@ -1024,7 +1024,7 @@
 ; 9529
 
 Function9529: ; 9529
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, [CurPartySpecies]
 	ld bc, TempMonDVs
 	call Function974b
@@ -1036,7 +1036,7 @@
 ; 9542
 
 Function9542: ; 9542
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, [CurPartySpecies]
 	call Function9775
 	call Function9643
@@ -1062,7 +1062,7 @@
 ; 9578
 
 Function9578: ; 9578
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld a, [CurPartySpecies]
 	ld bc, TempMonDVs
 	call Function9764
@@ -1075,7 +1075,7 @@
 
 Function9591: ; 9591
 	ld hl, Palette95e0
-	ld de, Unkn1Pals
+	ld de, wMapPals
 	ld bc, $0010
 	ld a, $5
 	call FarCopyWRAM
--- a/tilesets/animations.asm
+++ b/tilesets/animations.asm
@@ -958,7 +958,7 @@
 	jr z, .color2
 	
 .color1
-	ld hl, Unkn1Pals + $1a ; pal 3 color 1
+	ld hl, wMapPals + $1a ; pal 3 color 1
 	ld a, [hli]
 	ld [rBGPD], a
 	ld a, [hli]
@@ -966,7 +966,7 @@
 	jr .end
 	
 .color0
-	ld hl, Unkn1Pals + $18 ; pal 3 color 0
+	ld hl, wMapPals + $18 ; pal 3 color 0
 	ld a, [hli]
 	ld [rBGPD], a
 	ld a, [hli]
@@ -974,7 +974,7 @@
 	jr .end
 	
 .color2
-	ld hl, Unkn1Pals + $1c ; pal 3 color 2
+	ld hl, wMapPals + $1c ; pal 3 color 2
 	ld a, [hli]
 	ld [rBGPD], a
 	ld a, [hli]
@@ -1011,11 +1011,11 @@
 	ld a, [hVBlankCounter]
 	and %00000010
 	jr nz, .bit1set
-	ld hl, Unkn1Pals + $20 ; pal 4 color 0
+	ld hl, wMapPals + $20 ; pal 4 color 0
 	jr .okay
 
 .bit1set
-	ld hl, Unkn1Pals + $22 ; pal 4 color 2
+	ld hl, wMapPals + $22 ; pal 4 color 2
 
 .okay
 	ld a, [hli]
--- a/wram.asm
+++ b/wram.asm
@@ -1677,12 +1677,21 @@
 	ds 1
 
 wd144:: ds 2
+
+; used when following a map warp
+wNextWarp::
 wd146:: ds 1
+wNextMapGroup::
 wd147:: ds 1
+wNextMapNumber::
 wd148:: ds 1
+wPrevWarp::
 wd149:: ds 1
+wPrevMapGroup::
 wd14a:: ds 1
+wPrevMapNumber::
 wd14b:: ds 1
+
 wd14c:: ds 1 ; used in FollowNotExact
 wd14d:: ds 1 ; used in FollowNotExact
 wd14e:: ds 1
@@ -1710,10 +1719,11 @@
 wd193:: ds 1
 wd194:: dw
 wd196:: ds 1
-wd197:: ds 2
-wd199:: ds 1
+wd197:: ds 1
+wSecondMapHeaderBank:: ds 1
+wTileset:: ds 1
 wPermission:: ds 1
-	ds 2
+wSecondMapHeaderAddr:: dw
 
 ; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
 MapHeader:: ; d19d
@@ -2194,7 +2204,7 @@
 	object_struct Object12
 
 wd6de::
-	ds 64
+	ds $40
 
 map_object: MACRO
 \1Object::
@@ -2481,9 +2491,12 @@
 wCurrentMapXYTriggerHeaderPointer:: ds 1
 wdc00:: ds 1
 wCurrentMapSignpostCount:: ds 1
+wCurrentMapSignpostHeaderPointer::
 wdc02:: ds 1
 wdc03:: ds 1
+wCurrentMapPersonEventCount::
 wdc04:: ds 1
+wCurrentMapPersonEventHeaderPointer::
 wdc05:: ds 1
 wdc06:: ds 1
 wCurrMapTriggerCount:: ds 1
@@ -2589,10 +2602,10 @@
 wdca9:: ds 1
 wdcaa:: ds 1
 wdcab:: ds 1
-wdcac:: ds 1
-
 ; used on maps like second floor pokécenter, which are reused, so we know which
 ; map to return to
+BackupWarpNumber:: ; dcac
+	ds 1
 BackupMapGroup:: ; dcad
 	ds 1
 BackupMapNumber:: ; dcae
@@ -2803,7 +2816,7 @@
 SECTION "GBC Video", WRAMX, BANK [5]
 
 ; 8 4-color palettes
-Unkn1Pals:: ds 8 * 8 ; d000
+wMapPals:: ds 8 * 8 ; d000
 Unkn2Pals:: ds 8 * 8 ; d040
 BGPals::    ds 8 * 8 ; d080
 OBPals::    ds 8 * 8 ; d0c0