Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- in_name = raw_input('Input file name?: ')
- with open(in_name) as f:
- for i, l in enumerate(f):
- pass
- input_f = open(in_name,'r')
- out_name = raw_input('Output file name?: ')
- levels = input_f.read().split('\n')
- output_buffer = b'\xac\xaa\x02\x00' + chr(i + 1)+ b'\x00'
- failed = False
- for x in levels:
- pair = x.split('\t')
- level_f = open(pair[0],'rb')
- level_f.seek(4, 0)
- num_levels = ord(level_f.read(1)) + 256*ord(level_f.read(1))
- while (True):
- lb = level_f.read(1) + level_f.read(1)
- ln = level_f.read(1) + level_f.read(1)
- num_bytes = ord(lb[0]) + ord(lb[1])*256
- level_num = ord(ln[0]) + ord(ln[1])*256
- if (level_num == int(pair[1])):
- level_bytes = level_f.read(num_bytes-2)
- output_buffer += (lb + ln + level_bytes)
- break
- level_f.seek(num_bytes-2,1)
- if (level_num == num_levels):
- failed = True
- break
- level_f.close()
- input_f.close()
- if (not failed):
- output_f = open(out_name,'wb')
- output_f.write(output_buffer)
- output_f.close()
- print "Success"
- else:
- print "Failure"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement