ref: 7c1662a12833365090dca8dd8023089eeeea55af
parent: 10218a9428cffb96260ff24fdf889dd8ca2d553c
parent: 638cf29252b912d47b0c4b90179723dda97a2127
author: IIMarckus <[email protected]>
date: Tue Jan 3 12:16:00 EST 2012
Merge. hg-commit-id: 0284b4cb83de
--- a/extras/analyze_incbins.py
+++ b/extras/analyze_incbins.py
@@ -5,7 +5,8 @@
import sys, os
from copy import copy, deepcopy
import subprocess
-from extract_maps import rom, assert_rom, load_rom, calculate_pointer
+from extract_maps import rom, assert_rom, load_rom, calculate_pointer, load_map_pointers, read_all_map_headers, map_headers
+from pretty_map_headers import map_header_pretty_printer, map_name_cleaner
#store each line of source code here
asm = None
@@ -57,9 +58,9 @@
partial_interval = incbin[21:].split(",")[1]
partial_interval = partial_interval.replace(";", "#")
- partial_interval = partial_interval.replace("$", "0x")
+ partial_interval = partial_interval.replace("$", "0x").replace("0xx", "0x")
interval = eval(partial_interval)
- interval_hex = hex(interval).replace("0x", "$")
+ interval_hex = hex(interval).replace("0x", "$").replace("x", "")
end = start + interval
end_hex = hex(end).replace("0x", "$")
@@ -77,7 +78,7 @@
def find_incbin_to_replace_for(address):
"""returns a line number for which incbin to edit
if you were to insert bytes into pokered.asm"""
- if type(address) == str: int(address, 16)
+ if type(address) == str: address = int(address, 16)
for incbin_key in processed_incbins.keys():
incbin = processed_incbins[incbin_key]
@@ -84,7 +85,12 @@
start = incbin["start"]
end = incbin["end"]
-
+
+ print "start is: " + str(start)
+ print "end is: " + str(end)
+ print "address is: " + str(type(address))
+ print "checking.... " + hex(start) + " <= " + hex(address) + " <= " + hex(end)
+
if start <= address <= end:
return incbin_key
return None
@@ -115,7 +121,6 @@
third = (start_address + byte_count, end - (start_address + byte_count))
output = ""
- print "third end is: " + str(third[1])
if first:
output += "INCBIN \"baserom.gbc\",$" + hex(first[0])[2:] + ",$" + hex(first[1])[2:] + " - $" + hex(first[2])[2:] + "\n"
@@ -141,7 +146,7 @@
newfile_fh.close()
try:
- diffcontent = subprocess.check_output("diff -u " + original_filename + " " + newfile_filename, shell=True)
+ diffcontent = subprocess.check_output("diff -u ../pokered.asm " + newfile_filename, shell=True)
except Exception, exc:
diffcontent = exc.output
@@ -150,13 +155,68 @@
return diffcontent
+def insert_map_header_asm(map_id):
+ map = map_headers[map_id]
+ line_number = find_incbin_to_replace_for(map["address"])
+ if line_number == None: # or map_name_cleaner(map["name"], 0) in "\n".join(line for line in asm):
+ print "i think map id=" + str(map_id) + " has previously been added."
+ return #this map has already been added i bet
+ newlines = split_incbin_line_into_three(line_number, map["address"], 12 + (11 * len(map["connections"])))
+
+ map_header_asm = map_header_pretty_printer(map_headers[map_id])
+
+ newlines = newlines.split("\n")
+ if len(newlines) == 2: index = 0
+ elif len(newlines) == 3:
+ index = 1
+ newlines[0] += "\n" #spacing is a nice thing to have
+ newlines[index] = map_header_asm
+ newlines = "\n".join(line for line in newlines)
+
+ diff = generate_diff_insert(line_number, newlines)
+
+ print diff
+ print "... Applying diff."
+
+ #write the diff to a file
+ fh = open("temp.patch", "w")
+ fh.write(diff)
+ fh.close()
+
+ #apply the patch
+ os.system("patch ../pokered.asm temp.patch")
+
+ #remove the patch
+ os.system("rm temp.patch")
+
+def wrapper_insert_map_header_asm(map_id):
+ "reload the asm because it has changed (probably)"
+ load_asm()
+ isolate_incbins()
+ process_incbins()
+ insert_map_header_asm(map_id)
+
+def dump_all_remaining_maps():
+ for map_id in map_headers:
+ print "Inserting map id=" + str(map_id)
+ wrapper_insert_map_header_asm(map_id)
+
if __name__ == "__main__":
+ #load map headers
+ load_rom()
+ load_map_pointers()
+ read_all_map_headers()
+
+ #load incbins (mandatory)
load_asm()
isolate_incbins()
process_incbins() #print processed_incbins
- line_number = find_incbin_to_replace_for(0x492c3)
- newlines = split_incbin_line_into_three(line_number, 0x492c3, 12)
- diff = generate_diff_insert(line_number, newlines)
- print diff
+ #line_number = find_incbin_to_replace_for(0x492c3)
+ #newlines = split_incbin_line_into_three(line_number, 0x492c3, 12)
+ #diff = generate_diff_insert(line_number, newlines)
+ #print diff
+
+ insert_map_header_asm(86)
+ #dump_all_remaining_maps()
--- a/extras/pretty_map_headers.py
+++ b/extras/pretty_map_headers.py
@@ -159,14 +159,17 @@
#formatting: hex(y)[2:].zill(2) or "%02x" % (y,)
- output = asm_name + ": ; " + address + " to " + hex(int(address, base) + byte_size) + " (" + str(byte_size) + " bytes) (bank=" + str(int(bank, base)) + ") (id=" + str(id) + ")\n"
+ output = asm_name + ": ; " + address + " to " + hex(int(address, base) + byte_size) + " (" + str(byte_size) + " bytes) (id=" + str(id) + ")\n"
output += spacing + "db $" + str(tileset).zfill(2) + " ; tileset\n"
output += spacing + "db $" + hex(y)[2:].zfill(2) + ", $" + hex(x)[2:].zfill(2) + " ; dimensions (y, x)\n"
output += spacing + "dw $" + map_pointer + ", $" + texts_pointer + ", $" + script_pointer + " ; blocks, texts, scripts\n"
output += spacing + "db " + connection_line(connection_byte) + " ; connections\n\n"
- output += spacing + "; connections data\n\n"
- output += connection_pretty_printer(connections)
- output += spacing + "; end connection data\n\n"
+
+ if len(connections) > 0:
+ output += spacing + "; connections data\n\n"
+ output += connection_pretty_printer(connections)
+ output += spacing + "; end connection data\n\n"
+
output += spacing + "dw $" + object_data_pointer + " ; objects\n"
return output
--- a/pokered.asm
+++ b/pokered.asm
@@ -13448,8 +13448,148 @@
dw $5376 ; objects
-INCBIN "baserom.gbc",$492CF,$4C000-$492CF
+INCBIN "baserom.gbc",$492cf,$493ae - $492cf
+RockTunnelPokecenter_h: ; 0x493ae to 0x493ba (12 bytes) (id=81)
+ db $06 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $40ab, $53c0, $53ba ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $53d4 ; objects
+
+INCBIN "baserom.gbc",$493ba,$49400 - $493ba
+
+Route11Gate_h: ; 0x49400 to 0x4940c (12 bytes) (id=84)
+ db $0c ; tileset
+ db $05, $04 ; dimensions (y, x)
+ dw $40c7, $540f, $540c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5416 ; objects
+
+INCBIN "baserom.gbc",$4940c,$49448 - $4940c
+
+Route11GateUpstairs_h: ; 0x49448 to 0x49454 (12 bytes) (id=86)
+ db $0c ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $40db, $5457, $5454 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $54da ; objects
+
+INCBIN "baserom.gbc",$49454,$494f8 - $49454
+
+Route12Gate_h: ; 0x494f8 to 0x49504 (12 bytes) (id=87)
+ db $0c ; tileset
+ db $04, $05 ; dimensions (y, x)
+ dw $5540, $5507, $5504 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $550e ; objects
+
+INCBIN "baserom.gbc",$49504,$49554 - $49504
+
+Route12GateUpstairs_h: ; 0x49554 to 0x49560 (12 bytes) (id=195)
+ db $0c ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $40db, $5563, $5560 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $55de ; objects
+
+INCBIN "baserom.gbc",$49560,$495f6 - $49560
+
+Route15Gate_h: ; 0x495f6 to 0x49602 (12 bytes) (id=184)
+ db $0c ; tileset
+ db $05, $04 ; dimensions (y, x)
+ dw $40c7, $5605, $5602 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $560c ; objects
+
+INCBIN "baserom.gbc",$49602,$496b2 - $49602
+
+Route16GateMap_h: ; 0x496b2 to 0x496be (12 bytes) (id=186)
+ db $0c ; tileset
+ db $07, $04 ; dimensions (y, x)
+ dw $57e3, $575a, $56be ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $578b ; objects
+
+INCBIN "baserom.gbc",$496be,$497ff - $496be
+
+Route16GateUpstairs_h: ; 0x497ff to 0x4980b (12 bytes) (id=187)
+ db $0c ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $40db, $580e, $580b ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $584c ; objects
+
+INCBIN "baserom.gbc",$4980b,$4986a - $4980b
+
+Route18Gate_h: ; 0x4986a to 0x49876 (12 bytes) (id=190)
+ db $0c ; tileset
+ db $05, $04 ; dimensions (y, x)
+ dw $40c7, $590d, $5876 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5937 ; objects
+
+INCBIN "baserom.gbc",$49876,$49969 - $49876
+
+Route18GateHeader_h: ; 0x49969 to 0x49975 (12 bytes) (id=191)
+ db $0c ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $40db, $5978, $5975 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $59a4 ; objects
+
+INCBIN "baserom.gbc",$49975,$499bc - $49975
+
+MtMoon1_h: ; 0x499bc to 0x499c8 (12 bytes) (id=59)
+ db $11 ; tileset
+ db $12, $14 ; dimensions (y, x)
+ dw $5b97, $59e1, $59c8 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5b06 ; objects
+
+INCBIN "baserom.gbc",$499c8,$49cff - $499c8
+
+MtMoon3_h: ; 0x49cff to 0x49d0b (12 bytes) (id=61)
+ db $11 ; tileset
+ db $12, $14 ; dimensions (y, x)
+ dw $6041, $5e34, $5d0b ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5fdb ; objects
+
+INCBIN "baserom.gbc",$49d0b,$4a1a9 - $49d0b
+
+SafariZoneWest_h: ; 0x4a1a9 to 0x4a1b5 (12 bytes) (id=219)
+ db $03 ; tileset
+ db $0d, $0f ; dimensions (y, x)
+ dw $6248, $61b8, $61b5 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $61dc ; objects
+
+INCBIN "baserom.gbc",$4a1b5,$4a30b - $4a1b5
+
+SafariZoneSecretHouse_h: ; 0x4a30b to 0x4a317 (12 bytes) (id=222)
+ db $14 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $637f, $631a, $6317 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6365 ; objects
+
+INCBIN "baserom.gbc",$4a317,$1ce9
+
SECTION "bank13",DATA,BANK[$13]
YoungsterPic:
@@ -13544,8 +13684,26 @@
LancePic:
INCBIN "pic/trainer/lance.pic"
-INCBIN "baserom.gbc",$4FD04,$7E49-$7D04
+BattleCenterM_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239)
+ db $15 ; tileset
+ db $04, $05 ; dimensions (y, x)
+ dw $7d5d, $7d4c, $7d10 ; blocks, texts, scripts
+ db $00 ; connections
+ dw $7d53 ; objects
+
+INCBIN "baserom.gbc",$4fd10,$4fd71 - $4fd10
+
+TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240)
+ db $15 ; tileset
+ db $04, $05 ; dimensions (y, x)
+ dw $7d91, $7d80, $7d7d ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $7d87 ; objects
+
+INCBIN "baserom.gbc",$4fd7d,$cc
+
GetPredefPointer: ; 7E49
; stores hl in $CC4F,$CC50
; stores de in $CC51,$CC52
@@ -13707,14 +13865,820 @@
dbw $16,$5035
SECTION "bank14",DATA,BANK[$14]
-INCBIN "baserom.gbc",$50000,$4000
+Route22_h: ; 0x50000 to 0x50022 (34 bytes) (id=33)
+ db $00 ; tileset
+ db $09, $14 ; dimensions (y, x)
+ dw $403d, $5175, $4eb2 ; blocks, texts, scripts
+ db NORTH | EAST ; connections
+ ; connections data
+
+ db $22 ; some map
+ dw $4664, $c6eb ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $8f, $00 ; alignments (y, x)
+ dw $cb69 ; window
+
+ db $01 ; some map
+ dw $4400, $c6ff ; pointers (connected, current) (strip)
+ db $0f, $14 ; bigness, width
+ db $08, $00 ; alignments (y, x)
+ dw $c703 ; window
+
+ ; end connection data
+
+ dw $4022 ; objects
+
+INCBIN "baserom.gbc",$50022,$500f1 - $50022
+
+Route20_h: ; 0x500f1 to 0x50113 (34 bytes) (id=31)
+ db $00 ; tileset
+ db $09, $32 ; dimensions (y, x)
+ dw $417d, $4d22, $4ca9 ; blocks, texts, scripts
+ db WEST | EAST ; connections
+
+ ; connections data
+
+ db $08 ; some map
+ dw $4070, $c790 ; pointers (connected, current) (strip)
+ db $09, $0a ; bigness, width
+ db $00, $13 ; alignments (y, x)
+ dw $c702 ; window
+
+ db $1e ; some map
+ dw $4f87, $c71d ; pointers (connected, current) (strip)
+ db $0c, $0a ; bigness, width
+ db $24, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ ; end connection data
+
+ dw $4113 ; objects
+
+INCBIN "baserom.gbc",$50113,$5033f - $50113
+
+Route23_h: ; 0x5033f to 0x50361 (34 bytes) (id=34)
+ db $17 ; tileset
+ db $48, $0a ; dimensions (y, x)
+ dw $43b2, $52f7, $51da ; blocks, texts, scripts
+ db NORTH | SOUTH ; connections
+
+ ; connections data
+
+ db $09 ; some map
+ dw $4986, $c6eb ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $11, $00 ; alignments (y, x)
+ dw $c779 ; window
+
+ db $21 ; some map
+ dw $403d, $cb9b ; pointers (connected, current) (strip)
+ db $0d, $14 ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c703 ; window
+
+ ; end connection data
+
+ dw $4361 ; objects
+
+INCBIN "baserom.gbc",$50361,$50682 - $50361
+
+Route24_h: ; 0x50682 to 0x506a4 (34 bytes) (id=35)
+ db $00 ; tileset
+ db $12, $0a ; dimensions (y, x)
+ dw $46e7, $544b, $53ad ; blocks, texts, scripts
+ db SOUTH | EAST ; connections
+
+ ; connections data
+
+ db $03 ; some map
+ dw $4832, $c838 ; pointers (connected, current) (strip)
+ db $10, $14 ; bigness, width
+ db $00, $0a ; alignments (y, x)
+ dw $c703 ; window
+
+ db $24 ; some map
+ dw $4810, $c725 ; pointers (connected, current) (strip)
+ db $09, $1e ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c70d ; window
+
+ ; end connection data
+
+ dw $46a4 ; objects
+
+INCBIN "baserom.gbc",$506a4,$5079b - $506a4
+
+Route25_h: ; 0x5079b to 0x507b2 (23 bytes) (id=36)
+ db $00 ; tileset
+ db $09, $1e ; dimensions (y, x)
+ dw $4810, $5628, $55cb ; blocks, texts, scripts
+ db WEST ; connections
+
+ ; connections data
+
+ db $23 ; some map
+ dw $46ee, $c754 ; pointers (connected, current) (strip)
+ db $0c, $0a ; bigness, width
+ db $00, $13 ; alignments (y, x)
+ dw $c702 ; window
+
+ ; end connection data
+
+ dw $47b2 ; objects
+
+INCBIN "baserom.gbc",$507b2,$5091e - $507b2
+
+IndigoPlateau_h: ; 0x5091e to 0x50935 (23 bytes) (id=9)
+ db $17 ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $494a, $4936, $4935 ; blocks, texts, scripts
+ db SOUTH ; connections
+
+ ; connections data
+
+ db $22 ; some map
+ dw $43b2, $c7ab ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ ; end connection data
+
+ dw $4936 ; objects
+
+INCBIN "baserom.gbc",$50935,$509a4 - $50935
+
+SaffronCity_h: ; 0x509a4 to 0x509dc (56 bytes) (id=10)
+ db $00 ; tileset
+ db $12, $14 ; dimensions (y, x)
+ dw $4a98, $4c03, $4c00 ; blocks, texts, scripts
+ db NORTH | SOUTH | WEST | EAST ; connections
+
+ ; connections data
+
+ db $10 ; some map
+ dw $4668, $c6f0 ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $23, $f6 ; alignments (y, x)
+ dw $c809 ; window
+
+ db $11 ; some map
+ dw $4079, $c912 ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $00, $f6 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ db $12 ; some map
+ dw $4058, $c79e ; pointers (connected, current) (strip)
+ db $09, $0a ; bigness, width
+ db $f8, $13 ; alignments (y, x)
+ dw $c702 ; window
+
+ db $13 ; some map
+ dw $41c6, $c7b5 ; pointers (connected, current) (strip)
+ db $09, $1e ; bigness, width
+ db $f8, $00 ; alignments (y, x)
+ dw $c70d ; window
+
+ ; end connection data
+
+ dw $49dc ; objects
+
+INCBIN "baserom.gbc",$509dc,$51791 - $509dc
+
+VictoryRoad2_h: ; 0x51791 to 0x5179d (12 bytes) (id=194)
+ db $11 ; tileset
+ db $09, $0f ; dimensions (y, x)
+ dw $59af, $581b, $579d ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5915 ; objects
+
+INCBIN "baserom.gbc",$5179d,$51a36 - $5179d
+
+MtMoon2_h: ; 0x51a36 to 0x51a42 (12 bytes) (id=60)
+ db $11 ; tileset
+ db $0e, $0e ; dimensions (y, x)
+ dw $5a91, $5a46, $5a42 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5a4d ; objects
+
+INCBIN "baserom.gbc",$51a42,$51b55 - $51a42
+
+SilphCo7_h: ; 0x51b55 to 0x51b61 (12 bytes) (id=212)
+ db $16 ; tileset
+ db $09, $0d ; dimensions (y, x)
+ dw $5f57, $5d3f, $5b61 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5ed7 ; objects
+
+INCBIN "baserom.gbc",$51b61,$51fcc - $51b61
+
+Mansion2_h: ; 0x51fcc to 0x51fd8 (12 bytes) (id=214)
+ db $16 ; tileset
+ db $0e, $0f ; dimensions (y, x)
+ dw $6110, $604d, $5fd8 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $60d1 ; objects
+
+INCBIN "baserom.gbc",$51fd8,$521e2 - $51fd8
+
+Mansion3_h: ; 0x521e2 to 0x521ee (12 bytes) (id=215)
+ db $16 ; tileset
+ db $09, $0f ; dimensions (y, x)
+ dw $6326, $628a, $61ee ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $62e6 ; objects
+
+INCBIN "baserom.gbc",$521ee,$523ad - $521ee
+
+Mansion4_h: ; 0x523ad to 0x523b9 (12 bytes) (id=216)
+ db $16 ; tileset
+ db $0e, $0f ; dimensions (y, x)
+ dw $64dd, $6436, $63b9 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6498 ; objects
+
+INCBIN "baserom.gbc",$523b9,$1c47
+
SECTION "bank15",DATA,BANK[$15]
-INCBIN "baserom.gbc",$54000,$4000
+INCBIN "baserom.gbc",$54000,$541e6 - $54000
+Route3_h: ; 0x541e6 to 0x54208 (34 bytes) (id=14)
+ db $00 ; tileset
+ db $09, $23 ; dimensions (y, x)
+ dw $4255, $5511, $54f8 ; blocks, texts, scripts
+ db NORTH | WEST ; connections
+
+ ; connections data
+
+ db $0f ; some map
+ dw $44fa, $c704 ; pointers (connected, current) (strip)
+ db $0d, $2d ; bigness, width
+ db $11, $ce ; alignments (y, x)
+ dw $c8b4 ; window
+
+ db $02 ; some map
+ dw $460b, $c6e8 ; pointers (connected, current) (strip)
+ db $0f, $14 ; bigness, width
+ db $08, $27 ; alignments (y, x)
+ dw $c716 ; window
+
+ ; end connection data
+
+ dw $4208 ; objects
+
+INCBIN "baserom.gbc",$54208,$54390 - $54208
+
+Route4_h: ; 0x54390 to 0x543b2 (34 bytes) (id=15)
+ db $00 ; tileset
+ db $09, $2d ; dimensions (y, x)
+ dw $43ec, $5671, $5658 ; blocks, texts, scripts
+ db SOUTH | EAST ; connections
+
+ ; connections data
+
+ db $0e ; some map
+ dw $426b, $c94c ; pointers (connected, current) (strip)
+ db $0d, $23 ; bigness, width
+ db $00, $32 ; alignments (y, x)
+ dw $c712 ; window
+
+ db $03 ; some map
+ dw $4844, $c718 ; pointers (connected, current) (strip)
+ db $0f, $14 ; bigness, width
+ db $08, $00 ; alignments (y, x)
+ dw $c703 ; window
+
+ ; end connection data
+
+ dw $43b2 ; objects
+
+INCBIN "baserom.gbc",$543b2,$54581 - $543b2
+
+Route5_h: ; 0x54581 to 0x545a3 (34 bytes) (id=16)
+ db $00 ; tileset
+ db $12, $0a ; dimensions (y, x)
+ dw $45d2, $56b5, $56b2 ; blocks, texts, scripts
+ db NORTH | SOUTH ; connections
+
+ ; connections data
+
+ db $03 ; some map
+ dw $495e, $c6e8 ; pointers (connected, current) (strip)
+ db $10, $14 ; bigness, width
+ db $23, $0a ; alignments (y, x)
+ dw $c8bd ; window
+
+ db $0a ; some map
+ dw $4a9a, $c838 ; pointers (connected, current) (strip)
+ db $10, $14 ; bigness, width
+ db $00, $0a ; alignments (y, x)
+ dw $c703 ; window
+
+ ; end connection data
+
+ dw $45a3 ; objects
+
+INCBIN "baserom.gbc",$545a3,$54686 - $545a3
+
+Route9_h: ; 0x54686 to 0x546a8 (34 bytes) (id=20)
+ db $00 ; tileset
+ db $09, $1e ; dimensions (y, x)
+ dw $46fe, $56d5, $56bc ; blocks, texts, scripts
+ db WEST | EAST ; connections
+
+ ; connections data
+
+ db $03 ; some map
+ dw $4855, $c6e8 ; pointers (connected, current) (strip)
+ db $0f, $14 ; bigness, width
+ db $08, $27 ; alignments (y, x)
+ dw $c716 ; window
+
+ db $15 ; some map
+ dw $4356, $c775 ; pointers (connected, current) (strip)
+ db $0c, $0a ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ ; end connection data
+
+ dw $46a8 ; objects
+
+INCBIN "baserom.gbc",$546a8,$5480c - $546a8
+
+Route13_h: ; 0x5480c to 0x5482e (34 bytes) (id=24)
+ db $00 ; tileset
+ db $09, $1e ; dimensions (y, x)
+ dw $488b, $5837, $581e ; blocks, texts, scripts
+ db NORTH | WEST ; connections
+
+ ; connections data
+
+ db $17 ; some map
+ dw $490e, $c6ff ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $6b, $d8 ; alignments (y, x)
+ dw $ca49 ; window
+
+ db $19 ; some map
+ dw $4a19, $c754 ; pointers (connected, current) (strip)
+ db $0c, $0a ; bigness, width
+ db $00, $13 ; alignments (y, x)
+ dw $c702 ; window
+
+ ; end connection data
+
+ dw $482e ; objects
+
+INCBIN "baserom.gbc",$5482e,$54999 - $5482e
+
+Route14_h: ; 0x54999 to 0x549bb (34 bytes) (id=25)
+ db $00 ; tileset
+ db $1b, $0a ; dimensions (y, x)
+ dw $4a12, $59ec, $59d3 ; blocks, texts, scripts
+ db WEST | EAST ; connections
+
+ ; connections data
+
+ db $1a ; some map
+ dw $49e7, $c838 ; pointers (connected, current) (strip)
+ db $09, $1e ; bigness, width
+ db $dc, $3b ; alignments (y, x)
+ dw $c72a ; window
+
+ db $18 ; some map
+ dw $488b, $c725 ; pointers (connected, current) (strip)
+ db $09, $1e ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c70d ; window
+
+ ; end connection data
+
+ dw $49bb ; objects
+
+INCBIN "baserom.gbc",$549bb,$54b20 - $549bb
+
+Route17_h: ; 0x54b20 to 0x54b42 (34 bytes) (id=28)
+ db $00 ; tileset
+ db $48, $0a ; dimensions (y, x)
+ dw $4ba8, $5b93, $5b7a ; blocks, texts, scripts
+ db NORTH | SOUTH ; connections
+
+ ; connections data
+
+ db $1b ; some map
+ dw $4bfc, $c6eb ; pointers (connected, current) (strip)
+ db $0d, $14 ; bigness, width
+ db $11, $00 ; alignments (y, x)
+ dw $c7d3 ; window
+
+ db $1d ; some map
+ dw $4c9c, $cb9b ; pointers (connected, current) (strip)
+ db $0d, $19 ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c708 ; window
+
+ ; end connection data
+
+ dw $4b42 ; objects
+
+INCBIN "baserom.gbc",$54b42,$54e78 - $54b42
+
+Route19_h: ; 0x54e78 to 0x54e9a (34 bytes) (id=30)
+ db $00 ; tileset
+ db $1b, $0a ; dimensions (y, x)
+ dw $4ef1, $5d5d, $5d44 ; blocks, texts, scripts
+ db NORTH | WEST ; connections
+
+ ; connections data
+
+ db $07 ; some map
+ dw $4db4, $c6e8 ; pointers (connected, current) (strip)
+ db $10, $14 ; bigness, width
+ db $23, $0a ; alignments (y, x)
+ dw $c8bd ; window
+
+ db $1f ; some map
+ dw $41ac, $c838 ; pointers (connected, current) (strip)
+ db $09, $32 ; bigness, width
+ db $dc, $63 ; alignments (y, x)
+ dw $c752 ; window
+
+ ; end connection data
+
+ dw $4e9a ; objects
+
+INCBIN "baserom.gbc",$54e9a,$54fff - $54e9a
+
+Route21_h: ; 0x54fff to 0x55021 (34 bytes) (id=32)
+ db $00 ; tileset
+ db $2d, $0a ; dimensions (y, x)
+ dw $506d, $5f04, $5eeb ; blocks, texts, scripts
+ db NORTH | SOUTH ; connections
+
+ ; connections data
+
+ db $00 ; some map
+ dw $4339, $c6eb ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $11, $00 ; alignments (y, x)
+ dw $c779 ; window
+
+ db $08 ; some map
+ dw $4069, $c9eb ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ ; end connection data
+
+ dw $5021 ; objects
+
+INCBIN "baserom.gbc",$55021,$56064 - $55021
+
+VermilionHouse2_h: ; 0x56064 to 0x56070 (12 bytes) (id=163)
+ db $08 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $522f, $6073, $6070 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $60cf ; objects
+
+INCBIN "baserom.gbc",$56070,$560e9 - $56070
+
+CeladonMart2_h: ; 0x560e9 to 0x560f5 (12 bytes) (id=123)
+ db $12 ; tileset
+ db $04, $0a ; dimensions (y, x)
+ dw $6148, $60f8, $60f5 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6111 ; objects
+
+INCBIN "baserom.gbc",$560f5,$56170 - $560f5
+
+FuchsiaHouse3_h: ; 0x56170 to 0x5617c (12 bytes) (id=164)
+ db $0d ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $523f, $617f, $617c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6221 ; objects
+
+INCBIN "baserom.gbc",$5617c,$56243 - $5617c
+
+DayCareM_h: ; 0x56243 to 0x5624f (12 bytes) (id=72)
+ db $08 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $522f, $6252, $624f ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6459 ; objects
+
+INCBIN "baserom.gbc",$5624f,$56473 - $5624f
+
+Route12House_h: ; 0x56473 to 0x5647f (12 bytes) (id=189)
+ db $08 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $522f, $6482, $647f ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $64de ; objects
+
+INCBIN "baserom.gbc",$5647f,$564f8 - $5647f
+
+SilphCo8_h: ; 0x564f8 to 0x56504 (12 bytes) (id=213)
+ db $16 ; tileset
+ db $09, $0d ; dimensions (y, x)
+ dw $666d, $657d, $6504 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6613 ; objects
+
+INCBIN "baserom.gbc",$56504,$1afc
+
SECTION "bank16",DATA,BANK[$16]
-INCBIN "baserom.gbc",$58000,$4000
+Route6_h: ; 0x58000 to 0x58022 (34 bytes) (id=17)
+ db $00 ; tileset
+ db $12, $0a ; dimensions (y, x)
+ dw $4079, $50c9, $50b0 ; blocks, texts, scripts
+ db NORTH | SOUTH ; connections
+ ; connections data
+
+ db $0a ; some map
+ dw $4bc6, $c6e8 ; pointers (connected, current) (strip)
+ db $10, $14 ; bigness, width
+ db $23, $0a ; alignments (y, x)
+ dw $c8bd ; window
+
+ db $05 ; some map
+ dw $4a41, $c838 ; pointers (connected, current) (strip)
+ db $10, $14 ; bigness, width
+ db $00, $0a ; alignments (y, x)
+ dw $c703 ; window
+
+ ; end connection data
+
+ dw $4022 ; objects
+
+INCBIN "baserom.gbc",$58022,$5812d - $58022
+
+Route8_h: ; 0x5812d to 0x5814f (34 bytes) (id=19)
+ db $00 ; tileset
+ db $09, $1e ; dimensions (y, x)
+ dw $41c6, $51cf, $51b6 ; blocks, texts, scripts
+ db WEST | EAST ; connections
+
+ ; connections data
+
+ db $0a ; some map
+ dw $4abd, $c6e8 ; pointers (connected, current) (strip)
+ db $0f, $14 ; bigness, width
+ db $08, $27 ; alignments (y, x)
+ dw $c716 ; window
+
+ db $04 ; some map
+ dw $4085, $c775 ; pointers (connected, current) (strip)
+ db $09, $0a ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ ; end connection data
+
+ dw $414f ; objects
+
+INCBIN "baserom.gbc",$5814f,$582d4 - $5814f
+
+Route10_h: ; 0x582d4 to 0x582f6 (34 bytes) (id=21)
+ db $00 ; tileset
+ db $24, $0a ; dimensions (y, x)
+ dw $4356, $534f, $5336 ; blocks, texts, scripts
+ db SOUTH | WEST ; connections
+
+ ; connections data
+
+ db $04 ; some map
+ dw $4085, $c95b ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ db $14 ; some map
+ dw $4719, $c718 ; pointers (connected, current) (strip)
+ db $09, $1e ; bigness, width
+ db $00, $3b ; alignments (y, x)
+ dw $c72a ; window
+
+ ; end connection data
+
+ dw $42f6 ; objects
+
+INCBIN "baserom.gbc",$582f6,$584be - $582f6
+
+Route11_h: ; 0x584be to 0x584e0 (34 bytes) (id=22)
+ db $00 ; tileset
+ db $09, $1e ; dimensions (y, x)
+ dw $455f, $5465, $544c ; blocks, texts, scripts
+ db WEST | EAST ; connections
+
+ ; connections data
+
+ db $05 ; some map
+ dw $4a64, $c6e8 ; pointers (connected, current) (strip)
+ db $0f, $14 ; bigness, width
+ db $08, $27 ; alignments (y, x)
+ dw $c716 ; window
+
+ db $17 ; some map
+ dw $4800, $c709 ; pointers (connected, current) (strip)
+ db $0f, $0a ; bigness, width
+ db $36, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ ; end connection data
+
+ dw $44e0 ; objects
+
+INCBIN "baserom.gbc",$584e0,$5866d - $584e0
+
+Route12_h: ; 0x5866d to 0x5869a (45 bytes) (id=23)
+ db $00 ; tileset
+ db $36, $0a ; dimensions (y, x)
+ dw $4710, $5675, $55f3 ; blocks, texts, scripts
+ db NORTH | SOUTH | WEST ; connections
+
+ ; connections data
+
+ db $04 ; some map
+ dw $40c1, $c6eb ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $11, $00 ; alignments (y, x)
+ dw $c779 ; window
+
+ db $18 ; some map
+ dw $489c, $ca78 ; pointers (connected, current) (strip)
+ db $0d, $1e ; bigness, width
+ db $00, $28 ; alignments (y, x)
+ dw $c70d ; window
+
+ db $16 ; some map
+ dw $457a, $c8c8 ; pointers (connected, current) (strip)
+ db $09, $1e ; bigness, width
+ db $ca, $3b ; alignments (y, x)
+ dw $c72a ; window
+
+ ; end connection data
+
+ dw $469a ; objects
+
+INCBIN "baserom.gbc",$5869a,$5892c - $5869a
+
+Route15_h: ; 0x5892c to 0x5894e (34 bytes) (id=26)
+ db $00 ; tileset
+ db $09, $1e ; dimensions (y, x)
+ dw $49cc, $57c7, $57ae ; blocks, texts, scripts
+ db WEST | EAST ; connections
+
+ ; connections data
+
+ db $07 ; some map
+ dw $4cab, $c6e8 ; pointers (connected, current) (strip)
+ db $0f, $14 ; bigness, width
+ db $08, $27 ; alignments (y, x)
+ dw $c716 ; window
+
+ db $19 ; some map
+ dw $4aa8, $c709 ; pointers (connected, current) (strip)
+ db $0c, $0a ; bigness, width
+ db $24, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ ; end connection data
+
+ dw $494e ; objects
+
+INCBIN "baserom.gbc",$5894e,$58ada - $5894e
+
+Route16_h: ; 0x58ada to 0x58afc (34 bytes) (id=27)
+ db $00 ; tileset
+ db $09, $14 ; dimensions (y, x)
+ dw $4b84, $59b9, $5933 ; blocks, texts, scripts
+ db SOUTH | EAST ; connections
+
+ ; connections data
+
+ db $1c ; some map
+ dw $4ba8, $c823 ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $00, $00 ; alignments (y, x)
+ dw $c6f9 ; window
+
+ db $06 ; some map
+ dw $40f8, $c6ff ; pointers (connected, current) (strip)
+ db $0f, $19 ; bigness, width
+ db $08, $00 ; alignments (y, x)
+ dw $c708 ; window
+
+ ; end connection data
+
+ dw $4afc ; objects
+
+INCBIN "baserom.gbc",$58afc,$58c38 - $58afc
+
+Route18_h: ; 0x58c38 to 0x58c5a (34 bytes) (id=29)
+ db $00 ; tileset
+ db $09, $19 ; dimensions (y, x)
+ dw $4c9c, $5ae0, $5ac7 ; blocks, texts, scripts
+ db NORTH | EAST ; connections
+
+ ; connections data
+
+ db $1c ; some map
+ dw $4e5a, $c6eb ; pointers (connected, current) (strip)
+ db $0a, $0a ; bigness, width
+ db $8f, $00 ; alignments (y, x)
+ dw $cb69 ; window
+
+ db $07 ; some map
+ dw $4c9a, $c704 ; pointers (connected, current) (strip)
+ db $0f, $14 ; bigness, width
+ db $08, $00 ; alignments (y, x)
+ dw $c703 ; window
+
+ ; end connection data
+
+ dw $4c5a ; objects
+
+INCBIN "baserom.gbc",$58c5a,$59b64 - $58c5a
+
+FanClub_h: ; 0x59b64 to 0x59b70 (12 bytes) (id=90)
+ db $10 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $5cd5, $5b84, $5b70 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5c97 ; objects
+
+INCBIN "baserom.gbc",$59b70,$59ce5 - $59b70
+
+SilphCo2_h: ; 0x59ce5 to 0x59cf1 (12 bytes) (id=207)
+ db $16 ; tileset
+ db $09, $0f ; dimensions (y, x)
+ dw $5ec8, $5d86, $5cf1 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5e66 ; objects
+
+INCBIN "baserom.gbc",$59cf1,$59f4f - $59cf1
+
+SilphCo3_h: ; 0x59f4f to 0x59f5b (12 bytes) (id=208)
+ db $16 ; tileset
+ db $09, $0f ; dimensions (y, x)
+ dw $60a6, $5fc4, $5f5b ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6035 ; objects
+
+INCBIN "baserom.gbc",$59f5b,$5a12d - $59f5b
+
+SilphCo10_h: ; 0x5a12d to 0x5a139 (12 bytes) (id=234)
+ db $16 ; tileset
+ db $09, $08 ; dimensions (y, x)
+ dw $625a, $6186, $6139 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $61fb ; objects
+
+INCBIN "baserom.gbc",$5a139,$5a2a2 - $5a139
+
+Lance_h: ; 0x5a2a2 to 0x5a2ae (12 bytes) (id=113)
+ db $05 ; tileset
+ db $0d, $0d ; dimensions (y, x)
+ dw $63e9, $6395, $62ae ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $63c5 ; objects
+
+INCBIN "baserom.gbc",$5a2ae,$5a492 - $5a2ae
+
+HallofFameRoom_h: ; 0x5a492 to 0x5a49e (12 bytes) (id=118)
+ db $07 ; tileset
+ db $04, $05 ; dimensions (y, x)
+ dw $658b, $656a, $649e ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6571 ; objects
+
+INCBIN "baserom.gbc",$5a49e,$1b62
+
SECTION "bank17",DATA,BANK[$17]
INCBIN "baserom.gbc",$5C000,$10
@@ -13768,11 +14732,491 @@
dw $C6EF + 4 + (4 + 6) * 0 + 3
db 1,7
-INCBIN "baserom.gbc",$5C0DC,$4000-$DC
+INCBIN "baserom.gbc",$5c0dc,$5c0eb - $5c0dc
+MuseumF1_h: ; 0x5c0eb to 0x5c0f7 (12 bytes) (id=52)
+ db $0a ; tileset
+ db $04, $0a ; dimensions (y, x)
+ dw $4020, $412b, $40f7 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $42c1 ; objects
+
+INCBIN "baserom.gbc",$5c0f7,$5c30b - $5c0f7
+
+MuseumF2_h: ; 0x5c30b to 0x5c317 (12 bytes) (id=53)
+ db $0a ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $4048, $431a, $4317 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $434b ; objects
+
+INCBIN "baserom.gbc",$5c317,$5c37b - $5c317
+
+PewterGym_h: ; 0x5c37b to 0x5c387 (12 bytes) (id=54)
+ db $07 ; tileset
+ db $07, $05 ; dimensions (y, x)
+ dw $4558, $4435, $4387 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $452e ; objects
+
+INCBIN "baserom.gbc",$5c387,$5c57b - $5c387
+
+PewterPokeCenter_h: ; 0x5c57b to 0x5c587 (12 bytes) (id=58)
+ db $06 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $4064, $458d, $4587 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $460d ; objects
+
+INCBIN "baserom.gbc",$5c587,$5c639 - $5c587
+
+CeruleanPokecenter_h: ; 0x5c639 to 0x5c645 (12 bytes) (id=64)
+ db $06 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $468b, $464b, $4645 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $465f ; objects
+
+INCBIN "baserom.gbc",$5c645,$5c6a7 - $5c645
+
+CeruleanGym_h: ; 0x5c6a7 to 0x5c6b3 (12 bytes) (id=65)
+ db $07 ; tileset
+ db $07, $05 ; dimensions (y, x)
+ dw $4866, $474a, $46b3 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4834 ; objects
+
+INCBIN "baserom.gbc",$5c6b3,$5c889 - $5c6b3
+
+CeruleanMart_h: ; 0x5c889 to 0x5c895 (12 bytes) (id=67)
+ db $02 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4000, $4898, $4895 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $48a8 ; objects
+
+INCBIN "baserom.gbc",$5c895,$5c8ce - $5c895
+
+LavenderPokecenter_h: ; 0x5c8ce to 0x5c8da (12 bytes) (id=141)
+ db $06 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $4064, $48e0, $48da ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $48f4 ; objects
+
+INCBIN "baserom.gbc",$5c8da,$5c920 - $5c8da
+
+LavenderMart_h: ; 0x5c920 to 0x5c92c (12 bytes) (id=150)
+ db $02 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4000, $492f, $492c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $495d ; objects
+
+INCBIN "baserom.gbc",$5c92c,$5c983 - $5c92c
+
+VermilionPokeCenter_h: ; 0x5c983 to 0x5c98f (12 bytes) (id=89)
+ db $06 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $4064, $4995, $498f ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $49a9 ; objects
+
+INCBIN "baserom.gbc",$5c98f,$5c9d5 - $5c98f
+
+VermilionMart_h: ; 0x5c9d5 to 0x5c9e1 (12 bytes) (id=91)
+ db $02 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4000, $49e4, $49e1 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $49f4 ; objects
+
+INCBIN "baserom.gbc",$5c9e1,$5ca1a - $5c9e1
+
+VermilionGym_h: ; 0x5ca1a to 0x5ca26 (12 bytes) (id=92)
+ db $07 ; tileset
+ db $09, $05 ; dimensions (y, x)
+ dw $4c38, $4ae8, $4a26 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4bfe ; objects
+
+INCBIN "baserom.gbc",$5ca26,$5cc65 - $5ca26
+
+CopycatsHouseF2_h: ; 0x5cc65 to 0x5cc71 (12 bytes) (id=176)
+ db $04 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4010, $4c74, $4c71 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4d21 ; objects
+
+INCBIN "baserom.gbc",$5cc71,$5cd51 - $5cc71
+
+FightingDojo_h: ; 0x5cd51 to 0x5cd5d (12 bytes) (id=177)
+ db $05 ; tileset
+ db $06, $05 ; dimensions (y, x)
+ dw $4fe3, $4e03, $4d5d ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4f9b ; objects
+
+INCBIN "baserom.gbc",$5cd5d,$5d001 - $5cd5d
+
+SaffronGym_h: ; 0x5d001 to 0x5d00d (12 bytes) (id=178)
+ db $16 ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $53a3, $50ab, $500d ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5259 ; objects
+
+INCBIN "baserom.gbc",$5d00d,$5d3fd - $5d00d
+
+SaffronMart_h: ; 0x5d3fd to 0x5d409 (12 bytes) (id=180)
+ db $02 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4000, $540c, $5409 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $541c ; objects
+
+INCBIN "baserom.gbc",$5d409,$5d442 - $5d409
+
+SilphCo1_h: ; 0x5d442 to 0x5d44e (12 bytes) (id=181)
+ db $16 ; tileset
+ db $09, $0f ; dimensions (y, x)
+ dw $54a2, $5469, $544e ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5470 ; objects
+
+INCBIN "baserom.gbc",$5d44e,$5d529 - $5d44e
+
+SaffronPokecenter_h: ; 0x5d529 to 0x5d535 (12 bytes) (id=182)
+ db $06 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $4064, $553b, $5535 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $554f ; objects
+
+INCBIN "baserom.gbc",$5d535,$5d57b - $5d535
+
+ViridianForestexit_h: ; 0x5d57b to 0x5d587 (12 bytes) (id=47)
+ db $09 ; tileset
+ db $04, $05 ; dimensions (y, x)
+ dw $4090, $558a, $5587 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5598 ; objects
+
+INCBIN "baserom.gbc",$5d587,$5d5c8 - $5d587
+
+Route2Gate_h: ; 0x5d5c8 to 0x5d5d4 (12 bytes) (id=49)
+ db $0c ; tileset
+ db $04, $05 ; dimensions (y, x)
+ dw $4090, $55d7, $55d4 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5620 ; objects
+
+INCBIN "baserom.gbc",$5d5d4,$5d650 - $5d5d4
+
+ViridianForestEntrance_h: ; 0x5d650 to 0x5d65c (12 bytes) (id=50)
+ db $09 ; tileset
+ db $04, $05 ; dimensions (y, x)
+ dw $4090, $565f, $565c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $566d ; objects
+
+INCBIN "baserom.gbc",$5d65c,$5d69d - $5d65c
+
+UndergroundTunnelEntranceRoute5_h: ; 0x5d69d to 0x5d6a9 (12 bytes) (id=71)
+ db $0c ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4080, $56b0, $56a9 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $56c1 ; objects
+
+INCBIN "baserom.gbc",$5d6a9,$5d6e3 - $5d6a9
+
+UndergroundTunnelEntranceRoute6_h: ; 0x5d6e3 to 0x5d6ef (12 bytes) (id=74)
+ db $0c ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4080, $56f7, $56ef ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $56fe ; objects
+
+INCBIN "baserom.gbc",$5d6ef,$5d720 - $5d6ef
+
+UndergroundPathEntranceRoute7_h: ; 0x5d720 to 0x5d72c (12 bytes) (id=77)
+ db $0c ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4080, $5734, $572c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $573b ; objects
+
+INCBIN "baserom.gbc",$5d72c,$5d7af - $5d72c
+
+SilphCo9_h: ; 0x5d7af to 0x5d7bb (12 bytes) (id=233)
+ db $16 ; tileset
+ db $09, $0d ; dimensions (y, x)
+ dw $5989, $588b, $57bb ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $593f ; objects
+
+INCBIN "baserom.gbc",$5d7bb,$5d9fe - $5d7bb
+
+VictoryRoad1_h: ; 0x5d9fe to 0x5da0a (12 bytes) (id=108)
+ db $11 ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $5b04, $5a5f, $5a0a ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5ab8 ; objects
+
+INCBIN "baserom.gbc",$5da0a,$25f6
+
SECTION "bank18",DATA,BANK[$18]
-INCBIN "baserom.gbc",$60000,$4000
+INCBIN "baserom.gbc",$60000,$60420 - $60000
+PokemonTower1_h: ; 0x60420 to 0x6042c (12 bytes) (id=142)
+ db $0f ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $448c, $442f, $442c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4452 ; objects
+
+INCBIN "baserom.gbc",$6042c,$604e6 - $6042c
+
+PokemonTower2_h: ; 0x604e6 to 0x604f2 (12 bytes) (id=143)
+ db $0f ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $4666, $45db, $44f2 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4646 ; objects
+
+INCBIN "baserom.gbc",$604f2,$606c0 - $604f2
+
+PokemonTower3_h: ; 0x606c0 to 0x606cc (12 bytes) (id=144)
+ db $0f ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $4790, $46e5, $46cc ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $475d ; objects
+
+INCBIN "baserom.gbc",$606cc,$607ea - $606cc
+
+PokemonTower4_h: ; 0x607ea to 0x607f6 (12 bytes) (id=145)
+ db $0f ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $48cc, $480f, $47f6 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $488b ; objects
+
+INCBIN "baserom.gbc",$607f6,$60926 - $607f6
+
+PokemonTower5_h: ; 0x60926 to 0x60932 (12 bytes) (id=146)
+ db $0f ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $4a89, $499b, $4932 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4a48 ; objects
+
+INCBIN "baserom.gbc",$60932,$60ae3 - $60932
+
+PokemonTower6_h: ; 0x60ae3 to 0x60aef (12 bytes) (id=147)
+ db $0f ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $4c95, $4bb1, $4aef ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4c5b ; objects
+
+INCBIN "baserom.gbc",$60aef,$60cf9 - $60aef
+
+PokemonTower7_h: ; 0x60cf9 to 0x60d05 (12 bytes) (id=148)
+ db $0f ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $4f20, $4e3f, $4d05 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4ef6 ; objects
+
+INCBIN "baserom.gbc",$60d05,$60f7a - $60d05
+
+CeladonMart1_h: ; 0x60f7a to 0x60f86 (12 bytes) (id=122)
+ db $12 ; tileset
+ db $04, $0a ; dimensions (y, x)
+ dw $4fde, $4f89, $4f86 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4f9e ; objects
+
+INCBIN "baserom.gbc",$60f86,$61101 - $60f86
+
+ViridianForest_h: ; 0x61101 to 0x6110d (12 bytes) (id=51)
+ db $03 ; tileset
+ db $18, $11 ; dimensions (y, x)
+ dw $4000, $5126, $510d ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $51da ; objects
+
+INCBIN "baserom.gbc",$6110d,$61259 - $6110d
+
+SSAnne1_h: ; 0x61259 to 0x61265 (12 bytes) (id=95)
+ db $0d ; tileset
+ db $09, $14 ; dimensions (y, x)
+ dw $52df, $5269, $5265 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5277 ; objects
+
+INCBIN "baserom.gbc",$61265,$61393 - $61265
+
+SSAnne2_h: ; 0x61393 to 0x6139f (12 bytes) (id=96)
+ db $0d ; tileset
+ db $09, $14 ; dimensions (y, x)
+ dw $556e, $54db, $539f ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5514 ; objects
+
+INCBIN "baserom.gbc",$6139f,$61622 - $6139f
+
+SSAnne4_h: ; 0x61622 to 0x6162e (12 bytes) (id=98)
+ db $0d ; tileset
+ db $04, $0f ; dimensions (y, x)
+ dw $5666, $5631, $562e ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5632 ; objects
+
+INCBIN "baserom.gbc",$6162e,$616a2 - $6162e
+
+SSAnne5_h: ; 0x616a2 to 0x616ae (12 bytes) (id=99)
+ db $0d ; tileset
+ db $07, $0a ; dimensions (y, x)
+ dw $5761, $56c7, $56ae ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $572b ; objects
+
+INCBIN "baserom.gbc",$616ae,$617a7 - $616ae
+
+SSAnne6_h: ; 0x617a7 to 0x617b3 (12 bytes) (id=100)
+ db $0d ; tileset
+ db $08, $07 ; dimensions (y, x)
+ dw $5851, $57b7, $57b3 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $581b ; objects
+
+INCBIN "baserom.gbc",$617b3,$61889 - $617b3
+
+SSAnne7_h: ; 0x61889 to 0x61895 (12 bytes) (id=101)
+ db $0d ; tileset
+ db $04, $03 ; dimensions (y, x)
+ dw $595e, $58a7, $5895 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5946 ; objects
+
+INCBIN "baserom.gbc",$61895,$6196a - $61895
+
+SSAnne8_h: ; 0x6196a to 0x61976 (12 bytes) (id=102)
+ db $0d ; tileset
+ db $08, $0c ; dimensions (y, x)
+ dw $5adf, $598f, $5976 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5a60 ; objects
+
+INCBIN "baserom.gbc",$61976,$61b3f - $61976
+
+SSAnne9_h: ; 0x61b3f to 0x61b4b (12 bytes) (id=103)
+ db $0d ; tileset
+ db $08, $0c ; dimensions (y, x)
+ dw $43c0, $5b6a, $5b4b ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5c8d ; objects
+
+INCBIN "baserom.gbc",$61b4b,$61d49 - $61b4b
+
+SSAnne10_h: ; 0x61d49 to 0x61d55 (12 bytes) (id=104)
+ db $0d ; tileset
+ db $08, $0c ; dimensions (y, x)
+ dw $43c0, $5d6e, $5d55 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5e75 ; objects
+
+INCBIN "baserom.gbc",$61d55,$61f1a - $61d55
+
+UndergroundPathNS_h: ; 0x61f1a to 0x61f26 (12 bytes) (id=119)
+ db $0b ; tileset
+ db $18, $04 ; dimensions (y, x)
+ dw $4198, $5f29, $5f26 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5f2a ; objects
+
+INCBIN "baserom.gbc",$61f26,$61f3e - $61f26
+
+UndergroundPathWE_h: ; 0x61f3e to 0x61f4a (12 bytes) (id=121)
+ db $0b ; tileset
+ db $04, $19 ; dimensions (y, x)
+ dw $41f4, $5f4d, $5f4a ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5f4e ; objects
+
+INCBIN "baserom.gbc",$61f4a,$61f62 - $61f4a
+
+DiglettsCave_h: ; 0x61f62 to 0x61f6e (12 bytes) (id=197)
+ db $11 ; tileset
+ db $12, $14 ; dimensions (y, x)
+ dw $5f86, $5f71, $5f6e ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5f72 ; objects
+
+INCBIN "baserom.gbc",$61f6e,$620ee - $61f6e
+
+SilphCo11_h: ; 0x620ee to 0x620fa (12 bytes) (id=235)
+ db $10 ; tileset
+ db $09, $09 ; dimensions (y, x)
+ dw $63c8, $62b7, $60fa ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6380 ; objects
+
+INCBIN "baserom.gbc",$620fa,$1f06
+
SECTION "bank19",DATA,BANK[$19]
Tset00_GFX:
INCBIN "baserom.gbc",$64000,$645E0-$64000
@@ -14704,7 +16148,217 @@
TheEndGfx: ; 473E
INCBIN "gfx/theend.2bpp"
-INCBIN "baserom.gbc",$747DE,$4000 - $7DE
+INCBIN "baserom.gbc",$747de,$74897 - $747de
+
+ViridianGym_h: ; 0x74897 to 0x748a3 (12 bytes) (id=45)
+ db $07 ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $4c47, $49ec, $48a3 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4bde ; objects
+
+INCBIN "baserom.gbc",$748a3,$74ca1 - $748a3
+
+PewterMart_h: ; 0x74ca1 to 0x74cad (12 bytes) (id=56)
+ db $02 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4010, $4cb6, $4cad ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4cda ; objects
+
+INCBIN "baserom.gbc",$74cad,$74d00 - $74cad
+
+UnknownDungeon1_h: ; 0x74d00 to 0x74d0c (12 bytes) (id=228)
+ db $11 ; tileset
+ db $09, $0f ; dimensions (y, x)
+ dw $4d76, $4d0f, $4d0c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4d15 ; objects
+
+INCBIN "baserom.gbc",$74d0c,$74dfd - $74d0c
+
+CeruleanHouse3_h: ; 0x74dfd to 0x74e09 (12 bytes) (id=230)
+ db $0d ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $404c, $4e13, $4e09 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $4ebe ; objects
+
+INCBIN "baserom.gbc",$74e09,$7500c - $74e09
+
+FuchsiaHouse1_h: ; 0x7500c to 0x75018 (12 bytes) (id=153)
+ db $08 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4020, $501c, $5018 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5031 ; objects
+
+INCBIN "baserom.gbc",$75018,$75057 - $75018
+
+FuchsiaPokecenter_h: ; 0x75057 to 0x75063 (12 bytes) (id=154)
+ db $06 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $4030, $5069, $5063 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $507d ; objects
+
+INCBIN "baserom.gbc",$75063,$750a9 - $75063
+
+FuchsiaHouse2_h: ; 0x750a9 to 0x750b5 (12 bytes) (id=155)
+ db $14 ; tileset
+ db $04, $05 ; dimensions (y, x)
+ dw $51ad, $50b8, $50b5 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5180 ; objects
+
+INCBIN "baserom.gbc",$750b5,$751c1 - $750b5
+
+SafariZoneEntrance_h: ; 0x751c1 to 0x751cd (12 bytes) (id=156)
+ db $0c ; tileset
+ db $03, $04 ; dimensions (y, x)
+ dw $5425, $52b9, $51cd ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $53f5 ; objects
+
+INCBIN "baserom.gbc",$751cd,$75431 - $751cd
+
+FuchsiaGYM_h: ; 0x75431 to 0x7543d (12 bytes) (id=157)
+ db $07 ; tileset
+ db $09, $05 ; dimensions (y, x)
+ dw $56aa, $54d5, $543d ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5658 ; objects
+
+INCBIN "baserom.gbc",$7543d,$756d7 - $7543d
+
+FuchsiaMeetingRoom_h: ; 0x756d7 to 0x756e3 (12 bytes) (id=158)
+ db $14 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $5722, $56e7, $56e3 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $56fc ; objects
+
+INCBIN "baserom.gbc",$756e3,$7573e - $756e3
+
+CinnibarGym_h: ; 0x7573e to 0x7574a (12 bytes) (id=166)
+ db $16 ; tileset
+ db $09, $0a ; dimensions (y, x)
+ dw $5b26, $589f, $574a ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5acc ; objects
+
+INCBIN "baserom.gbc",$7574a,$75b80 - $7574a
+
+Lab1_h: ; 0x75b80 to 0x75b8c (12 bytes) (id=167)
+ db $14 ; tileset
+ db $04, $09 ; dimensions (y, x)
+ dw $5bf1, $5b90, $5b8c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5bb3 ; objects
+
+INCBIN "baserom.gbc",$75b8c,$75c15 - $75b8c
+
+Lab2_h: ; 0x75c15 to 0x75c21 (12 bytes) (id=168)
+ db $14 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $5c6b, $5c24, $5c21 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5c45 ; objects
+
+INCBIN "baserom.gbc",$75c21,$75c7b - $75c21
+
+Lab3_h: ; 0x75c7b to 0x75c87 (12 bytes) (id=169)
+ db $14 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $5d15, $5c8a, $5c87 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5cec ; objects
+
+INCBIN "baserom.gbc",$75c87,$75d25 - $75c87
+
+Lab4_h: ; 0x75d25 to 0x75d31 (12 bytes) (id=170)
+ db $14 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $5e10, $5d34, $5d31 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5df0 ; objects
+
+INCBIN "baserom.gbc",$75d31,$75e20 - $75d31
+
+CinnibarPokecenter_h: ; 0x75e20 to 0x75e2c (12 bytes) (id=171)
+ db $06 ; tileset
+ db $04, $07 ; dimensions (y, x)
+ dw $4030, $5e32, $5e2c ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5e46 ; objects
+
+INCBIN "baserom.gbc",$75e2c,$75e72 - $75e2c
+
+CinnibarMart_h: ; 0x75e72 to 0x75e7e (12 bytes) (id=172)
+ db $02 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4010, $5e81, $5e7e ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5e91 ; objects
+
+INCBIN "baserom.gbc",$75e7e,$75eb7 - $75e7e
+
+CopycatsHouseF1_h: ; 0x75eb7 to 0x75ec3 (12 bytes) (id=175)
+ db $01 ; tileset
+ db $04, $04 ; dimensions (y, x)
+ dw $4000, $5ec6, $5ec3 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $5ee3 ; objects
+
+INCBIN "baserom.gbc",$75ec3,$7616f - $75ec3
+
+Loreli_h: ; 0x7616f to 0x7617b (12 bytes) (id=245)
+ db $07 ; tileset
+ db $06, $05 ; dimensions (y, x)
+ dw $62ac, $6251, $617b ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6280 ; objects
+
+INCBIN "baserom.gbc",$7617b,$762ca - $7617b
+
+Bruno_h: ; 0x762ca to 0x762d6 (12 bytes) (id=246)
+ db $07 ; tileset
+ db $06, $05 ; dimensions (y, x)
+ dw $6403, $63a8, $62d6 ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $63d7 ; objects
+
+INCBIN "baserom.gbc",$762d6,$76421 - $762d6
+
+Agatha_h: ; 0x76421 to 0x7642d (12 bytes) (id=247)
+ db $0f ; tileset
+ db $06, $05 ; dimensions (y, x)
+ dw $6560, $6505, $642d ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw $6534 ; objects
+
+INCBIN "baserom.gbc",$7642d,$1bd3
SECTION "bank1E",DATA,BANK[$1E]
INCBIN "baserom.gbc",$78000,$F1