summaryrefslogtreecommitdiff
path: root/redtools/make_map_size_constants.py
diff options
context:
space:
mode:
authorBryan Bishop <kanzure@gmail.com>2013-09-01 02:04:34 -0500
committerBryan Bishop <kanzure@gmail.com>2013-09-01 02:05:18 -0500
commita5b718db57a361cf3c196d73cbc5b3e21d3ddf6e (patch)
tree312937bcf9bced31a13e854e25b1ffb92f5cf48b /redtools/make_map_size_constants.py
parentfc6785b87b7ddd27437ac2ac15bcc0870cc0fe90 (diff)
dump in pokered/extras/ python stuff from b185b245
Diffstat (limited to 'redtools/make_map_size_constants.py')
-rw-r--r--redtools/make_map_size_constants.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/redtools/make_map_size_constants.py b/redtools/make_map_size_constants.py
new file mode 100644
index 0000000..4dfb1be
--- /dev/null
+++ b/redtools/make_map_size_constants.py
@@ -0,0 +1,37 @@
+#author: Bryan Bishop <kanzure@gmail.com>
+#date: 2012-01-15
+#dump map height/width constants
+import extract_maps
+from pretty_map_headers import map_name_cleaner, map_constants
+
+def get_map_size_constants(do_sed=False):
+ output = ""
+ sed_lines = ""
+ for map_id in extract_maps.map_headers.keys():
+ if map_id in extract_maps.bad_maps: continue #skip
+
+ map2 = extract_maps.map_headers[map_id]
+ base_name = map_name_cleaner(map2["name"], None)[:-2]
+ constant_name = map_constants[map_id]
+
+ height = int(map2["y"], 16)
+ width = int(map2["x"], 16)
+
+ output += "; " + base_name + "_h map_id=" + str(map_id) + "\n"
+ output += constant_name + "_HEIGHT EQU $%.2x\n" % (height)
+ output += constant_name + "_WIDTH EQU $%.2x\n" % (width)
+ output += "\n"
+
+ sed_lines += "sed -i 's/" + base_name + "Height/" + constant_name + "_HEIGHT" + "/g' main.asm" + "\n"
+ sed_lines += "sed -i 's/" + base_name + "Width/" + constant_name + "_WIDTH" + "/g' main.asm" + "\n"
+
+ if do_sed:
+ return sed_lines
+ else:
+ return output
+
+if __name__ == "__main__":
+ extract_maps.load_rom()
+ extract_maps.load_map_pointers()
+ extract_maps.read_all_map_headers()
+ print get_map_size_constants(do_sed=True)