shithub: pokered

Download patch

ref: cf80ada3c5c1bf342fc418fc5154cd9b7c3347a9
parent: c171b4772974207e113fc873cd52ef3bdd26f930
author: Bryan Bishop <kanzure@gmail.com>
date: Tue Jan 24 19:49:23 EST 2012

pretty_trainer_headers.py - print out multiple headers simultaneously

hg-commit-id: 6fb8641fc65b


--- a/extras/pretty_trainer_headers.py
+++ b/extras/pretty_trainer_headers.py
@@ -6,16 +6,16 @@
 from extract_maps import calculate_pointer
 import sys
 spacing = "\t"
+rom = None
 
 def pretty_print_trainer_header(address, label=None):
     """make pretty text for a trainer header"""
+    global rom
     output = ""
     bank_id = 0
     if address > 0x4000:
         bank_id = address / 0x4000
     
-    rom = open("../baserom.gbc", "r").read()
-    
     #convert address to an integer if necessary
     if type(address) == str:
         if "$" in address: address = address.replace("$", "0x")
@@ -97,6 +97,12 @@
 
     return output
 
+def all_trainer_headers_at(address):
+    i = 0
+    while ord(rom[address + (i*12)]) != 0xff:
+        print pretty_print_trainer_header(address + (i*12))
+        i += 1
+
 def main():
     load_labels()
 
@@ -111,7 +117,11 @@
     address = int(args[0], 16)
     label = args[1]
 
-    print pretty_print_trainer_header(address, label)
+    global rom
+    rom = open("../baserom.gbc", "r").read()
+
+    #print pretty_print_trainer_header(address, label)
+    print all_trainer_headers_at(address)
 
 if __name__ == "__main__":
     main()