def extract_polygon_data(romset_dir, cinematic):
global polygon_data, pdata_offset
global cinematic_entries
global cinematic_counter
global video2_entries
global game_level
if cinematic:
polygon_data = open("{}/cinematic.rom".format(romset_dir)).read()
entries = cinematic_entries
level_path = "%s/level_%s" % (OUTPUT_DIR, game_level)
dirpath = "%s/cinematic/" % (level_path)
makedir(level_path)
else:
polygon_data = open("{}/video2.rom".format(romset_dir)).read()
entries = video2_entries
dirpath = "%s/common_video/" % (OUTPUT_DIR)
game_level = 0
makedir(dirpath)
for addr in entries.keys():
entry = entries[addr]
s = SVGSurface("%s/%s.svg" % (dirpath, entry['label']), 320, 200)
c = Context(s)
zoom = entry["zoom"]
x = entry["x"]
y = entry["y"]
if not isinstance(zoom, int):
zoom = 0x40 #HACK!
if not isinstance(x, int):
x = 160 #HACK!
if not isinstance(y, int):
y = 100 #HACK!
#print ("\ndecoding polygons at {}: {}".format(hex(addr), entry))
pdata_offset = addr
readAndDrawPolygon(c, COLOR_BLACK, zoom, x, y)
s.finish()
# reset structures:
cinematic_entries = {}
cinematic_counter = 0
评论列表
文章目录