System25 / drxtract

Macromedia Director 5 DRI and DRX files data extractor
GNU General Public License v2.0
22 stars 4 forks source link

error while parsing dir file #2

Closed jtieri closed 5 years ago

jtieri commented 5 years ago

Running the script on a Macromedia .dir file is giving me this error.

Traceback (most recent call last): File "drxtract", line 3415, in <module> parse_riff(fileContent, rifx_offset) File "drxtract", line 3313, in parse_riff file_format = ('%c%c%c%c'%(file_format[0], file_format[1], file_format[2], file_format[3])) TypeError: %c requires int or char

I ran the script using the following command

C:\Users\Username\drxtract\>python drxtract pc loader.dcr.dir C:\Users\Username\drxtract\

and I did get the following output logged to stdout. Try to parse loader.dcr.dir file.

jtieri commented 5 years ago

Welp it took me a bit to figure this out because I knew little Python going into this but it seems that file_format is an array of bytes and that they weren't properly being casted, or whatever Python calls it, into chars.

file_format = ('%c%c%c%c'%(file_format[0].decode(), file_format[1].decode(), file_format[2].decode(), file_format[3].decode()))

A few other errors were being thrown after implementing that fix but I have also fixed those. Instead of opening a new Issue report, I will just make a pull request with the fixes.

Cheers!