@@ -0,0 +1,1263 @@
+#!/usr/bin/env python%0A%0Aimport os%0Aimport sys%0Aimport json%0Aimport r2pipe%0Afrom getopt import getopt, GetoptError%0A%0Ar2 = None%0A%0Adef write_frame(frame_no, lvl_prefix):%0A    lvl_path = os.path.join(lvl_prefix, %22%25d.lvl%22 %25 frame_no)%0A    print %22writing frame %25d from %25s...%22 %25 (frame_no, lvl_path)%0A    lvl_frame = json.load(fp = open(lvl_path, %22r%22))%0A%0A    for obj in lvl_frame%5B'objects'%5D:%0A        if obj%5B%22error%22%5D != 0:%0A            continue%0A%0A        r2.cmd(%22s %25d%22 %25 obj%5B%22addr_pos_x%22%5D)%0A        r2.cmd(%22s+ 1%22)%0A        r2.cmd(%22wv4 %25d%22 %25 obj%5B%22pos_x%22%5D)%0A%0A        r2.cmd(%22s %25d%22 %25 obj%5B%22addr_pos_y%22%5D)%0A        r2.cmd(%22s+ 1%22)%0A        r2.cmd(%22wv4 %25d%22 %25 obj%5B%22pos_y%22%5D)%0A%0Aif __name__ == %22__main__%22:%0A    engine_path = %22Chowdren%22%0A    out_dir = %22.%22%0A%0A    try:%0A        opt_val, params = getopt(sys.argv%5B1:%5D, %22i:o:%22, %5B%22in=%22, %22out=%22%5D)%0A        for option, value in opt_val:%0A            if option == %22-i%22 or option == %22--in%22:%0A                engine_path = value%0A            elif option == %22-o%22 or option == %22--out%22:%0A                out_dir = value%0A    except GetoptError:%0A        print usage_string%0A        exit(1)%0A%0A    r2 = r2pipe.open(engine_path)%0A    r2.cmd(%22oo+%22)%0A%0A    for frame_no in range(1, 88):%0A        lvl_path = os.path.join(out_dir, %22%25d.lvl%22 %25 frame_no)%0A        write_frame(frame_no, out_dir)%0A

Add a script to write frame changes to the executable.