AWVM_trace.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:AnotherWorld_VMTools 作者: felipesanches 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号