ref: fd6bb7de55183152bc116902be7b341ab71269ff
parent: 5b2848b419148a30e97cb1cdb6f57a06b1076d8b
author: Bryan Bishop <[email protected]>
date: Sun Jan 27 12:33:25 EST 2013
various formatting fixes for crystal.py
--- a/extras/crystal.py
+++ b/extras/crystal.py
@@ -97,7 +97,8 @@
def is_script_already_parsed_at(address):
"""looks up whether or not a script is parsed at a certain address"""
- if script_parse_table[address] == None: return False
+ if script_parse_table[address] == None:
+ return False
return True
def script_parse_table_pretty_printer():
@@ -167,11 +168,14 @@
def is_valid_address(address):
"""is_valid_rom_address"""
- if address == None: return False
+ if address == None:
+ return False
if type(address) == str:
address = int(address, 16)
- if 0 <= address <= 2097152: return True
- else: return False
+ if 0 <= address <= 2097152:
+ return True
+ else:
+ return False
def rom_interval(offset, length, strings=True, debug=True):
"""returns hex values for the rom starting at offset until offset+length"""
@@ -218,7 +222,7 @@
elif type(bank) == int:
pass
else:
- raise Exception, "bad bank given to calculate_pointer_from_bytes_at"
+ raise Exception("bad bank given to calculate_pointer_from_bytes_at")
byte1 = ord(rom[address])
byte2 = ord(rom[address+1])
temp = byte1 + (byte2 << 8)
@@ -249,8 +253,10 @@
from pokemon_constants import pokemon_constants
def get_pokemon_constant_by_id(id):
- if id == 0: return None
- return pokemon_constants[id]
+ if id == 0:
+ return None
+ else:
+ return pokemon_constants[id]
from item_constants import (
item_constants,
@@ -289,7 +295,7 @@
self.force = force
if is_script_already_parsed_at(address) and not force:
- raise Exception, "TextScript already parsed at "+hex(address)
+ raise Exception("TextScript already parsed at "+hex(address))
if not label:
label = self.base_label + hex(address)
@@ -362,11 +368,11 @@
print "self.commands is: " + str(commands)
print "command 0 address is: " + hex(commands[0].address) + " last_address="+hex(commands[0].last_address)
print "command 1 address is: " + hex(commands[1].address) + " last_address="+hex(commands[1].last_address)
- raise Exception, "going beyond the bounds for this text script"
+ raise Exception("going beyond the bounds for this text script")
# no matching command found
if scripting_command_class == None:
- raise Exception, "unable to parse text command $%.2x in the text script at %s at %s" % (cur_byte, hex(start_address), hex(current_address))
+ raise Exception("unable to parse text command $%.2x in the text script at %s at %s" % (cur_byte, hex(start_address), hex(current_address)))
# create an instance of the command class and let it parse its parameter bytes
cls = scripting_command_class(address=current_address, map_group=self.map_group, map_id=self.map_id, debug=self.debug, force=self.force)
@@ -544,7 +550,7 @@
if is_script_already_parsed_at(address) and not force:
print "text is already parsed at this location: " + hex(address)
- raise Exception, "text is already parsed, what's going on ?"
+ raise Exception("text is already parsed, what's going on ?")
return script_parse_table[address]
total_text_commands = 0
@@ -758,7 +764,7 @@
def get_dependencies(self, recompute=False, global_dependencies=set()):
#if recompute:
- # raise NotImplementedError, bryan_message
+ # raise NotImplementedError(bryan_message)
global_dependencies.update(self.dependencies)
return self.dependencies
@@ -1070,7 +1076,8 @@
text = TextScript(address, map_group=map_group, map_id=map_id, debug=debug)
if text.is_valid():
return text
- else: return None
+ else:
+ return None
def rom_text_at(address, count=10):
"""prints out raw text from the ROM
@@ -1079,8 +1086,10 @@
def get_map_constant_label(map_group=None, map_id=None):
"""returns PALLET_TOWN for some map group/id pair"""
- if map_group == None: raise Exception, "need map_group"
- if map_id == None: raise Exception, "need map_id"
+ if map_group == None:
+ raise Exception("need map_group")
+ if map_id == None:
+ raise Exception("need map_id")
global map_internal_ids
for (id, each) in map_internal_ids.items():
@@ -1098,7 +1107,8 @@
PALLET_TOWN = 1, for instance."""
global map_internal_ids
for (id, each) in map_internal_ids.items():
- if each["label"] == label: return id
+ if each["label"] == label:
+ return id
return None
def generate_map_constant_labels():
@@ -1185,7 +1195,8 @@
"""returns a list of text pointers
based on each script-engine script command"""
# TODO: recursively follow any jumps in the script
- if script == None: return []
+ if script == None:
+ return []
addresses = set()
for (k, command) in enumerate(script.commands):
if debug:
@@ -1220,13 +1231,16 @@
if 0x53 <= crystal <= 0x9E: return crystal-1
if crystal == 0x9F: return None
if 0xA0 <= crystal <= 0xA5: return crystal-2
- if crystal > 0xA5: raise Exception, "dunno yet if crystal has new insertions after crystal:0xA5 (gold:0xA3)"
+ if crystal > 0xA5:
+ raise Exception("dunno yet if crystal has new insertions after crystal:0xA5 (gold:0xA3)")
elif gold != None: # convert to crystal
if gold <= 0x51: return gold
if 0x52 <= gold <= 0x9D: return gold+1
if 0x9E <= gold <= 0xA3: return gold+2
- if gold > 0xA3: raise Exception, "dunno yet if crystal has new insertions after gold:0xA3 (crystal:0xA5)"
- else: raise Exception, "translate_command_byte needs either a crystal or gold command"
+ if gold > 0xA3:
+ raise Exception("dunno yet if crystal has new insertions after gold:0xA3 (crystal:0xA5)")
+ else:
+ raise Exception("translate_command_byte needs either a crystal or gold command")
class SingleByteParam():
"""or SingleByte(CommandParam)"""
@@ -1239,14 +1253,14 @@
setattr(self, key, value)
# check address
if not hasattr(self, "address"):
- raise Exception, "an address is a requirement"
+ raise Exception("an address is a requirement")
elif self.address == None:
- raise Exception, "address must not be None"
+ raise Exception("address must not be None")
elif not is_valid_address(self.address):
- raise Exception, "address must be valid"
+ raise Exception("address must be valid")
# check size
if not hasattr(self, "size") or self.size == None:
- raise Exception, "size is probably 1?"
+ raise Exception("size is probably 1?")
# parse bytes from ROM
self.parse()
@@ -1256,18 +1270,23 @@
return []
def to_asm(self):
- if not self.should_be_decimal: return hex(self.byte).replace("0x", "$")
- else: return str(self.byte)
+ if not self.should_be_decimal:
+ return hex(self.byte).replace("0x", "$")
+ else:
+ return str(self.byte)
class DollarSignByte(SingleByteParam):
- def to_asm(self): return hex(self.byte).replace("0x", "$")
+ def to_asm(self):
+ return hex(self.byte).replace("0x", "$")
HexByte=DollarSignByte
class ItemLabelByte(DollarSignByte):
def to_asm(self):
label = find_item_label_by_id(self.byte)
- if label: return label
- elif not label: return DollarSignByte.to_asm(self)
+ if label:
+ return label
+ elif not label:
+ return DollarSignByte.to_asm(self)
class DecimalParam(SingleByteParam):
@@ -1286,12 +1305,12 @@
setattr(self, key, value)
# check address
if not hasattr(self, "address") or self.address == None:
- raise Exception, "an address is a requirement"
+ raise Exception("an address is a requirement")
elif not is_valid_address(self.address):
- raise Exception, "address must be valid"
+ raise Exception("address must be valid")
# check size
if not hasattr(self, "size") or self.size == None:
- raise Exception, "don't know how many bytes to read (size)"
+ raise Exception("don't know how many bytes to read (size)")
self.parse()
def parse(self):
@@ -1333,9 +1352,9 @@
self.size = self.default_size + 1
self.given_bank = kwargs["bank"]
#if kwargs["bank"] not in [None, False, True, "reverse"]:
- # raise Exception, "bank cannot be: " + str(kwargs["bank"])
+ # raise Exception("bank cannot be: " + str(kwargs["bank"]))
if self.size > 3:
- raise Exception, "param size is too large"
+ raise Exception("param size is too large")
# continue instantiation.. self.bank will be set down the road
MultiByteParam.__init__(self, *args, **kwargs)
@@ -1408,15 +1427,16 @@
return pointer_part+", "+bank_part
elif bank == True: # bank, pointer
return bank_part+", "+pointer_part
- else: raise Exception, "this should never happen"
- raise Exception, "this should never happen"
+ else:
+ raise Exception("this should never happen")
+ raise Exception("this should never happen")
# this next one will either return the label or the raw bytes
elif bank == False or bank == None: # pointer
return pointer_part # this could be the same as label
else:
- #raise Exception, "this should never happen"
+ #raise Exception("this should never happen")
return pointer_part # probably in the same bank ?
- raise Exception, "this should never happen"
+ raise Exception("this should never happen")
class PointerLabelBeforeBank(PointerLabelParam):
bank = True # bank appears first, see calculate_pointer_from_bytes_at
@@ -1475,8 +1495,10 @@
def to_asm(self):
address = calculate_pointer_from_bytes_at(self.address, bank=False)
label = get_ram_label(address)
- if label: return label
- else: return "$"+"".join(["%.2x"%x for x in reversed(self.bytes)])+""
+ if label:
+ return label
+ else:
+ return "$"+"".join(["%.2x"%x for x in reversed(self.bytes)])+""
class MoneyByteParam(MultiByteParam):
@@ -1534,9 +1556,11 @@
def to_asm(self):
map_id = ord(rom[self.address+1])
map_constant_label = get_map_constant_label(map_id=map_id, map_group=self.byte) # like PALLET_TOWN
- if map_constant_label == None: return str(self.byte)
+ if map_constant_label == None:
+ return str(self.byte)
#else: return "GROUP("+map_constant_label+")"
- else: return "GROUP_"+map_constant_label
+ else:
+ return "GROUP_"+map_constant_label
class MapIdParam(SingleByteParam):
@@ -1547,9 +1571,11 @@
def to_asm(self):
map_group = ord(rom[self.address-1])
map_constant_label = get_map_constant_label(map_id=self.byte, map_group=map_group)
- if map_constant_label == None: return str(self.byte)
+ if map_constant_label == None:
+ return str(self.byte)
#else: return "MAP("+map_constant_label+")"
- else: return "MAP_"+map_constant_label
+ else:
+ return "MAP_"+map_constant_label
class MapGroupIdParam(MultiByteParam):
@@ -1568,13 +1594,15 @@
class PokemonParam(SingleByteParam):
def to_asm(self):
pokemon_constant = get_pokemon_constant_by_id(self.byte)
- if pokemon_constant: return pokemon_constant
- else: return str(self.byte)
+ if pokemon_constant:
+ return pokemon_constant
+ else:
+ return str(self.byte)
class PointerParamToItemAndLetter(MultiByteParam):
# [2F][2byte pointer to item no + 0x20 bytes letter text]
- #raise NotImplementedError, bryan_message
+ #raise NotImplementedError(bryan_message)
pass
@@ -1590,7 +1618,7 @@
i += 1
if foundit == None:
- raise Exception, "didn't find a TrainerGroupParam in this command??"
+ raise Exception("didn't find a TrainerGroupParam in this command??")
# now get the trainer group id
trainer_group_id = self.parent.params[foundit].byte
@@ -1617,7 +1645,7 @@
class MenuDataPointerParam(PointerLabelParam):
# read menu data at the target site
- #raise NotImplementedError, bryan_message
+ #raise NotImplementedError(bryan_message)
pass
@@ -1701,7 +1729,7 @@
global_dependencies.add(self.movement)
return [self.movement] + self.movement.get_dependencies(recompute=recompute, global_dependencies=global_dependencies)
else:
- raise Exception, "MovementPointerLabelParam hasn't been parsed yet"
+ raise Exception("MovementPointerLabelParam hasn't been parsed yet")
class MapDataPointerParam(PointerLabelParam):
pass
@@ -1726,7 +1754,7 @@
"""
defaults = {"force": False, "debug": False, "map_group": None, "map_id": None}
if not is_valid_address(address):
- raise Exception, "address is invalid"
+ raise Exception("address is invalid")
# set up some variables
self.address = address
self.last_address = None
@@ -1766,7 +1794,8 @@
# output += "_"
output += self.macro_name
# return if there are no params
- if len(self.param_types.keys()) == 0: return output
+ if len(self.param_types.keys()) == 0:
+ return output
# first one will have no prefixing comma
first = True
# start reading the bytes after the command byte
@@ -1811,7 +1840,7 @@
current_address = self.address
byte = ord(rom[self.address])
if not self.override_byte_check and (not byte == self.id):
- raise Exception, "byte ("+hex(byte)+") != self.id ("+hex(self.id)+")"
+ raise Exception("byte ("+hex(byte)+") != self.id ("+hex(self.id)+")")
i = 0
for (key, param_type) in self.param_types.items():
name = param_type["name"]
@@ -1847,7 +1876,7 @@
self.params = {}
byte = ord(rom[self.address])
if not byte == self.id:
- raise Exception, "this should never happen"
+ raise Exception("this should never happen")
current_address = self.address+1
i = 0
self.size = 1
@@ -2008,7 +2037,8 @@
direction = "left"
elif x == 3:
direction = "right"
- else: raise Exception, "this should never happen"
+ else:
+ raise Exception("this should never happen")
cmd_name = cmd[0].replace(" ", "_") + "_" + direction
klass_name = cmd_name+"Command"
@@ -2243,11 +2273,11 @@
print "bytes are: " + str(self.bytes)
print "self.size is: " + str(self.size)
print "self.last_address is: " + hex(self.last_address)
- raise Exception, "last_address is wrong for 0x9c00e"
+ raise Exception("last_address is wrong for 0x9c00e")
def to_asm(self):
if self.size < 2 or len(self.bytes) < 1:
- raise Exception, "$0 text command can't end itself with no follow-on bytes"
+ raise Exception("$0 text command can't end itself with no follow-on bytes")
if self.use_zero:
output = "db $0"
@@ -2278,13 +2308,13 @@
for byte in self.bytes:
if end:
- raise Exception, "the text ended due to a $50 or $57 but there are more bytes?"
+ raise Exception("the text ended due to a $50 or $57 but there are more bytes?")
if new_line:
if in_quotes:
- raise Exception, "can't be in_quotes on a newline"
+ raise Exception("can't be in_quotes on a newline")
elif was_comma:
- raise Exception, "last line's last character can't be a comma"
+ raise Exception("last line's last character can't be a comma")
output += "db "
@@ -2378,7 +2408,7 @@
was_comma = False
end = False
else:
- # raise Exception, "unknown byte in text script ($%.2x)" % (byte)
+ # raise Exception("unknown byte in text script ($%.2x)" % (byte))
# just add an unknown byte directly to the text.. what's the worse that can happen?
if in_quotes:
@@ -2399,7 +2429,7 @@
# this shouldn't happen because of the rom_until calls in the parse method
if not end:
- raise Exception, "ran out of bytes without the script ending? starts at "+hex(self.address)
+ raise Exception("ran out of bytes without the script ending? starts at "+hex(self.address))
# last character may or may not be allowed to be a newline?
# Script.to_asm() has command.to_asm()+"\n"
@@ -2977,7 +3007,7 @@
self.address = None
self.commands = None
if len(kwargs) == 0 and len(args) == 0:
- raise Exception, "Script.__init__ must be given some arguments"
+ raise Exception("Script.__init__ must be given some arguments")
# first positional argument is address
if len(args) == 1:
address = args[0]
@@ -2984,10 +3014,10 @@
if type(address) == str:
address = int(address, 16)
elif type(address) != int:
- raise Exception, "address must be an integer or string"
+ raise Exception("address must be an integer or string")
self.address = address
elif len(args) > 1:
- raise Exception, "don't know what to do with second (or later) positional arguments"
+ raise Exception("don't know what to do with second (or later) positional arguments")
self.dependencies = None
if "label" in kwargs.keys():
label = kwargs["label"]
@@ -3057,7 +3087,7 @@
if debug: print "address is less than 0x4000.. address is: " + hex(start_address)
sys.exit(1)
if is_script_already_parsed_at(start_address) and not force and not force_top:
- raise Exception, "this script has already been parsed before, please use that instance ("+hex(start_address)+")"
+ raise Exception("this script has already been parsed before, please use that instance ("+hex(start_address)+")")
# load up the rom if it hasn't been loaded already
load_rom()
@@ -3093,7 +3123,7 @@
end = True
continue
# maybe the program should exit with failure instead?
- #raise Exception, "no command found? id: " + hex(cur_byte) + " at " + hex(current_address) + " asm is:\n" + asm_output
+ #raise Exception("no command found? id: " + hex(cur_byte) + " at " + hex(current_address) + " asm is:\n" + asm_output)
# create an instance of the command class and let it parse its parameter bytes
#print "about to parse command(script@"+hex(start_address)+"): " + str(scripting_command_class.macro_name)
@@ -3418,7 +3448,8 @@
def get_dependencies(self, recompute=False, global_dependencies=set()):
deps = []
- if not is_valid_address(self.address): return deps
+ if not is_valid_address(self.address):
+ return deps
if self.dependencies != None and not recompute:
global_dependencies.update(self.dependencies)
return self.dependencies
@@ -3756,7 +3787,7 @@
break
if party_mon_parser == None:
- raise Exception, "no trainer party mon parser found to parse data type " + hex(self.data_type)
+ raise Exception("no trainer party mon parser found to parse data type " + hex(self.data_type))
self.party_mons = party_mon_parser(address=current_address, group_id=self.trainer_group_id, trainer_id=self.trainer_id, parent=self)
@@ -4311,7 +4342,8 @@
def to_asm(self):
"""very similar to Command.to_asm"""
- if len(self.params) == 0: return ""
+ if len(self.params) == 0:
+ return ""
#output = ", ".join([p.to_asm() for p in self.params])
output = ""
for param in self.params:
@@ -4559,7 +4591,7 @@
mb = PointerLabelParam(address=self.address+3, map_group=self.map_group, map_id=self.map_id, debug=self.debug)
self.params.append(mb)
else:
- raise Exception, "unknown signpost type byte="+hex(func) + " signpost@"+hex(self.address)
+ raise Exception("unknown signpost type byte="+hex(func) + " signpost@"+hex(self.address))
def get_dependencies(self, recompute=False, global_dependencies=set()):
dependencies = []
@@ -4573,13 +4605,15 @@
def to_asm(self):
output = self.macro_name + " "
- if self.params == []: raise Exception, "signpost has no params?"
+ if self.params == []:
+ raise Exception("signpost has no params?")
output += ", ".join([p.to_asm() for p in self.params])
return output
all_signposts = []
def parse_signposts(address, signpost_count, bank=None, map_group=None, map_id=None, debug=True):
- if bank == None: raise Exception, "signposts need to know their bank"
+ if bank == None:
+ raise Exception("signposts need to know their bank")
signposts = []
current_address = address
id = 0
@@ -5162,7 +5196,7 @@
wrong_norths.append(data)
# this will only happen if there's a bad formula
- raise Exception, "tauwasser strip_pointer calculation was wrong? strip_pointer="+hex(strip_pointer) + " p="+hex(p)
+ raise Exception("tauwasser strip_pointer calculation was wrong? strip_pointer="+hex(strip_pointer) + " p="+hex(p))
calculated_destination = None
method = "strip_destination_default"
@@ -5184,7 +5218,7 @@
x_movement_of_the_connection_strip_in_blocks = strip_destination - 0xC703
print "(north) x_movement_of_the_connection_strip_in_blocks is: " + str(x_movement_of_the_connection_strip_in_blocks)
if x_movement_of_the_connection_strip_in_blocks < 0:
- raise Exception, "x_movement_of_the_connection_strip_in_blocks is wrong? " + str(x_movement_of_the_connection_strip_in_blocks)
+ raise Exception("x_movement_of_the_connection_strip_in_blocks is wrong? " + str(x_movement_of_the_connection_strip_in_blocks))
elif ldirection == "south":
# strip_destination =
# 0xc703 + (current_map_height + 3) * (current_map_width + 6) + x_movement_of_the_connection_strip_in_blocks
@@ -5459,11 +5493,11 @@
yoffset = self.yoffset # y_position_after_map_change
if ldirection == "south" and yoffset != 0:
- raise Exception, "tauwasser was wrong about yoffset=0 for south? it's: " + str(yoffset)
+ raise Exception("tauwasser was wrong about yoffset=0 for south? it's: " + str(yoffset))
elif ldirection == "north" and yoffset != ((connected_map_height * 2) - 1):
- raise Exception, "tauwasser was wrong about yoffset for north? it's: " + str(yoffset)
+ raise Exception("tauwasser was wrong about yoffset for north? it's: " + str(yoffset))
#elif not ((yoffset % -2) == 0):
- # raise Exception, "tauwasser was wrong about yoffset for west/east? it's not divisible by -2: " + str(yoffset)
+ # raise Exception("tauwasser was wrong about yoffset for west/east? it's not divisible by -2: " + str(yoffset))
# Left: (Width_of_connected_map * 2) - 1
# Right: 0
@@ -5471,11 +5505,11 @@
xoffset = self.xoffset # x_position_after_map_change
if ldirection == "east" and xoffset != 0:
- raise Exception, "tauwasser was wrong about xoffset=0 for east? it's: " + str(xoffset)
+ raise Exception("tauwasser was wrong about xoffset=0 for east? it's: " + str(xoffset))
elif ldirection == "west" and xoffset != ((connected_map_width * 2) - 1):
- raise Exception, "tauwasser was wrong about xoffset for west? it's: " + str(xoffset)
+ raise Exception("tauwasser was wrong about xoffset for west? it's: " + str(xoffset))
#elif not ((xoffset % -2) == 0):
- # raise Exception, "tauwasser was wrong about xoffset for north/south? it's not divisible by -2: " + str(xoffset)
+ # raise Exception("tauwasser was wrong about xoffset for north/south? it's not divisible by -2: " + str(xoffset))
output += "db "
@@ -5592,7 +5626,7 @@
self.width = width
self.height = height
else:
- raise Exception, "MapBlockData needs to know the width/height of its map"
+ raise Exception("MapBlockData needs to know the width/height of its map")
label = self.make_label()
self.label = Label(name=label, address=address, object=self)
self.last_address = self.address + (self.width.byte * self.height.byte)
@@ -6159,14 +6193,14 @@
map_id = kwargs["map_id"]
if (map_group == None and map_id != None) or \
(map_group != None and map_id == None):
- raise Exception, "map_group and map_id must both be provided"
+ raise Exception("map_group and map_id must both be provided")
elif map_group == None and map_id == None and len(args) == 0:
- raise Exception, "must be given an argument"
+ raise Exception("must be given an argument")
elif len(args) == 1 and type(args[0]) == str:
map_group = int(args[0].split(".")[0])
map_id = int(args[0].split(".")[1])
else:
- raise Exception, "dunno what to do with input"
+ raise Exception("dunno what to do with input")
offset = map_names[map_group]["offset"]
map_header_offset = offset + ((map_id - 1) * map_header_byte_size)
return parse_map_header_at(map_header_offset, map_group=map_group, map_id=map_id)
@@ -6175,7 +6209,7 @@
"""calls parse_map_header_at for each map in each map group"""
global map_names
if not map_names[1].has_key("offset"):
- raise Exception, "dunno what to do - map_names should have groups with pre-calculated offsets by now"
+ raise Exception("dunno what to do - map_names should have groups with pre-calculated offsets by now")
for group_id, group_data in map_names.items():
offset = group_data["offset"]
# we only care about the maps
@@ -6934,7 +6968,7 @@
if you were to insert bytes into main.asm"""
if type(address) == str: address = int(address, 16)
if not (0 <= address <= os.lstat(rom_file).st_size):
- raise IndexError, "address is out of bounds"
+ raise IndexError("address is out of bounds")
for incbin_key in processed_incbins.keys():
incbin = processed_incbins[incbin_key]
start = incbin["start"]
@@ -6958,9 +6992,9 @@
"""
if type(start_address) == str: start_address = int(start_address, 16)
if not (0 <= start_address <= os.lstat(rom_file).st_size):
- raise IndexError, "start_address is out of bounds"
+ raise IndexError("start_address is out of bounds")
if len(processed_incbins) == 0:
- raise Exception, "processed_incbins must be populated"
+ raise Exception("processed_incbins must be populated")
original_incbin = processed_incbins[line]
start = original_incbin["start"]
@@ -7080,7 +7114,7 @@
start = eval(start)
except Exception, e:
print "start is: " + str(start)
- raise Exception, "problem with evaluating interval range: " + str(e)
+ raise Exception("problem with evaluating interval range: " + str(e))
start_hex = hex(start).replace("0x", "$")
@@ -7101,11 +7135,12 @@
def to_asm(self):
if self.interval > 0:
return self.line
- else: return ""
+ else:
+ return ""
def split(self, start_address, byte_count):
"""splits this incbin into three separate incbins"""
if start_address < self.start_address or start_address > self.end_address:
- raise Exception, "this incbin doesn't handle this address"
+ raise Exception("this incbin doesn't handle this address")
incbins = []
if self.debug:
@@ -7247,7 +7282,7 @@
if not hasattr(new_object, "last_address"):
print debugmsg
- raise Exception, "object needs to have a last_address property"
+ raise Exception("object needs to have a last_address property")
end_address = new_object.last_address
debugmsg += " last_address="+hex(end_address)
@@ -7273,7 +7308,7 @@
print "start_address="+hex(start_address)+" end_address="+hex(end_address)
if hasattr(new_object, "to_asm"):
print to_asm(new_object)
- raise Exception, "Asm.insert was given an object with a bad address range"
+ raise Exception("Asm.insert was given an object with a bad address range")
# 1) find which object needs to be replaced
# or
@@ -7315,7 +7350,7 @@
found = True
break
if not found:
- raise Exception, "unable to insert object into Asm"
+ raise Exception("unable to insert object into Asm")
self.labels.append(new_object.label)
return True
def insert_with_dependencies(self, input):
@@ -7347,9 +7382,9 @@
# just some old debugging
#if object.label.name == "UnknownText_0x60128":
- # raise Exception, "debugging..."
+ # raise Exception("debugging...")
#elif object.label.name == "UnknownScript_0x60011":
- # raise Exception, "debugging.. dependencies are: " + str(object.dependencies) + " versus: " + str(object.get_dependencies())
+ # raise Exception("debugging.. dependencies are: " + str(object.dependencies) + " versus: " + str(object.get_dependencies()))
def insert_single_with_dependencies(self, object):
self.insert_with_dependencies(object)
def insert_multiple_with_dependencies(self, objects):
@@ -7405,7 +7440,7 @@
current_requested_newlines_before = 2
current_requested_newlines_after = 2
else:
- raise Exception, "dunno what to do with("+str(each)+") in Asm.parts"
+ raise Exception("dunno what to do with("+str(each)+") in Asm.parts")
if write_something:
if not first:
@@ -7435,7 +7470,7 @@
that you will be inserting into Asm.
"""
if len(all_texts) == 0:
- raise Exception, "all_texts is blank.. run_main() will populate it"
+ raise Exception("all_texts is blank.. run_main() will populate it")
assert bank != None, "list_texts_in_banks must be given a particular bank"
@@ -7453,7 +7488,7 @@
to speed up Asm insertion.
"""
if len(all_movements) == 0:
- raise Exception, "all_movements is blank.. run_main() will populate it"
+ raise Exception("all_movements is blank.. run_main() will populate it")
assert bank != None, "list_movements_in_bank must be given a particular bank"
assert 0 <= bank < 0x80, "bank doesn't exist in the ROM (out of bounds)"
@@ -7562,7 +7597,7 @@
if address == None:
return None
if type(address) != int:
- raise Exception, "get_label_for requires an integer address, got: " + str(type(address))
+ raise Exception("get_label_for requires an integer address, got: " + str(type(address)))
# lousy hack to get around recursive scripts in dragon shrine
if address in lousy_dragon_shrine_hack: