Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/python3
- # (C) joric 2018, public domain
- # converts data from ayumi text files (see psg_to_text.py)
- import sys
- import struct
- filename = sys.argv[1] if len(sys.argv)>1 else 'RAGE_2.txt'
- f = open(filename).read().splitlines()
- f = f[f.index('frame_data') + 2:]
- frames = []
- ints = []
- for s in f:
- r = [int(x) for x in s.split(' ')]
- ints.append( [ struct.unpack( ">I", bytearray( r[i*4:i*4+4] ) ) for i in range(4) ] )
- frames.append(r[:14])
- start = 64*2 * 4
- pat_len = 64 * 4
- ints = ints[start:start+pat_len]
- frames = frames[start:start+pat_len]
- print('#define FRAMES %d' % len(frames))
- mode = 1
- if mode==0:
- print('const uvec4 regs[] = uvec4[] (')
- print(',\n'.join( ['\tuvec4( %s )' % ', '.join( '0x%08x' % j for j in i ) for i in ints] ))
- print(');')
- if mode==1:
- print('int frame_data[] = int[] (')
- print(',\n'.join( ['\t%s' % ', '.join( '0x%08x' % j for j in i ) for i in ints] ))
- print(');')
- if mode==2:
- print('const unsigned int frame_data[] = {')
- print(',\n'.join( ['\t%s' % ', '.join( '0x%08x' % j for j in i ) for i in ints] ))
- print('};')
- if mode==3:
- print('const unsigned char frame_data[][14] = {')
- print(',\n'.join( ['\t%s' % ', '.join( '0x%02x' % j for j in i ) for i in frames] ))
- print('};')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement