from demparse import * from demo2 import Demo import struct input = [(s.strip(), 1.4, 100) for s in """ 1.dem 2.dem 3.dem 4.dem 5.dem 6.dem 7.dem 8.dem 9.dem 10.dem 11.dem 12.dem 13.dem 14.dem 15.dem 16.dem 17.dem 18.dem 19.dem 20.dem 21.dem 22.dem 23.dem 24.dem 25.dem 26.dem 27.dem 28.dem 29.dem 30.dem 31.dem 32.dem 33.dem 34.dem 35.dem 36.dem 37.dem 38.dem 39.dem 40.dem """.split("\n") if s.strip()] out = open('out.dem', 'wb') out.write('-1\n') fnp = "%s" d = Demo(fnp % input[0][0]) for b in d: first = b.next() if not isinstance(first, Time): out.write(d.curblockdata) else: out.write(d.curblockdata) # to get signonum 3 block break outt = 0 outp = 0 for n, s, t in input: d = Demo(fnp % n) o = None for b in d: first = b.next() if isinstance(first, Time): thetime = first.time if o is None and thetime >= s: print s, '->', thetime s = thetime o = 1 bdata = d.curblockdata[:17] + struct.pack(' t: break if thetime > s: out.write(bdata) # now this is s > time >= t, intuitive or what outp = outt outt += (thetime - s) print '%s: %f - %f' % (n, outp, outt) stuff = '\x02' out.write(struct.pack('