Ocarina of Time 0.3.7 hotfixes (#1336)
- Since multiprocessing and exceptions apparently don't interact well, any exceptions in `generate_output` are handled more gracefully now. The event is always set as well, so the process will no longer hang on an exception there. - The triforce object file was renamed in 7.0. I didn't change the filename in the code, so it would crash on non-Windows systems. - Some hint distributions just crash, so I'm temporarily removing them. It will take a while to port the relevant functionality and I'd rather not hold up the next version release.
This commit is contained in:
parent
e0be79639c
commit
395d35571c
|
@ -899,11 +899,11 @@ class HintDistribution(Choice):
|
||||||
display_name = "Hint Distribution"
|
display_name = "Hint Distribution"
|
||||||
option_balanced = 0
|
option_balanced = 0
|
||||||
option_ddr = 1
|
option_ddr = 1
|
||||||
option_league = 2
|
# option_league = 2
|
||||||
option_mw3 = 3
|
# option_mw3 = 3
|
||||||
option_scrubs = 4
|
option_scrubs = 4
|
||||||
option_strong = 5
|
option_strong = 5
|
||||||
option_tournament = 6
|
# option_tournament = 6
|
||||||
option_useless = 7
|
option_useless = 7
|
||||||
option_very_strong = 8
|
option_very_strong = 8
|
||||||
option_async = 9
|
option_async = 9
|
||||||
|
|
|
@ -82,7 +82,7 @@ def patch_rom(world, rom):
|
||||||
# Load Triforce model into a file
|
# Load Triforce model into a file
|
||||||
triforce_obj_file = File({ 'Name': 'object_gi_triforce' })
|
triforce_obj_file = File({ 'Name': 'object_gi_triforce' })
|
||||||
triforce_obj_file.copy(rom)
|
triforce_obj_file.copy(rom)
|
||||||
with open(data_path('triforce.zobj'), 'rb') as stream:
|
with open(data_path('Triforce.zobj'), 'rb') as stream:
|
||||||
obj_data = stream.read()
|
obj_data = stream.read()
|
||||||
rom.write_bytes(triforce_obj_file.start, obj_data)
|
rom.write_bytes(triforce_obj_file.start, obj_data)
|
||||||
triforce_obj_file.end = triforce_obj_file.start + len(obj_data)
|
triforce_obj_file.end = triforce_obj_file.start + len(obj_data)
|
||||||
|
|
|
@ -943,13 +943,16 @@ class OOTWorld(World):
|
||||||
|
|
||||||
outfile_name = self.multiworld.get_out_file_name_base(self.player)
|
outfile_name = self.multiworld.get_out_file_name_base(self.player)
|
||||||
rom = Rom(file=get_options()['oot_options']['rom_file'])
|
rom = Rom(file=get_options()['oot_options']['rom_file'])
|
||||||
if self.hints != 'none':
|
try:
|
||||||
buildWorldGossipHints(self)
|
if self.hints != 'none':
|
||||||
# try:
|
buildWorldGossipHints(self)
|
||||||
patch_rom(self, rom)
|
patch_rom(self, rom)
|
||||||
# except Exception as e:
|
patch_cosmetics(self, rom)
|
||||||
# print(e)
|
except Exception as e:
|
||||||
patch_cosmetics(self, rom)
|
logger.error(e)
|
||||||
|
raise e
|
||||||
|
finally:
|
||||||
|
self.collectible_flags_available.set()
|
||||||
rom.update_header()
|
rom.update_header()
|
||||||
patch_data = create_patch_file(rom)
|
patch_data = create_patch_file(rom)
|
||||||
rom.restore()
|
rom.restore()
|
||||||
|
|
Loading…
Reference in New Issue