I've updated the sartFileTool on GitHub for a full rewrite using Cocoa classes and making it more readable. I've also posted an entire file format specification in the readme on the repo. It is not fully tested yet so I'm not going to post a built executable but you can try it at your own risk by building yourself:
Thanks for the update, it's working very nicely on the latest build of 10.8, aside one one issue I've noticed with the little magnification icon (294-1.pdf). It seems to have transparent pixels rendered in the foreground colour, and this is just with decoding and encoding without changing anything. The PDF itself doesn't look broken after extracting it but renders strangely for some reason.
Either way thanks again for putting in the time to get this working with 10.8.
Same issue with the -pdf option, with or without it the bin comes to the same checksum (8a39ec48d642d0bb7d4ec1b4bae4ce1d). I haven't looked around throughly but it only seems to be that single resource that's having this issue.
Didn't see a push on your repo so I fixed the args thing (break instead of continue) and it seems to be returning exact binaries when decoded with the -pdf option, though I haven't yet tested any modifications to the resources.
Also a little confused about the PDF rendering option, is this how the PDF representations are stored inside the binary itself, and should I be editing these rather than the actual PDF file?
Last edited by Joe on May 22nd, 2012, 10:28 pm, edited 1 time in total.
PDF files and two pre-interpolated representations are stored inside of SArtFile.bin, when you use the -pdf (i recently just pushed so its now --pdf) it will write these pdfs out and won't interpolate them for you. If you are using the -pdf option then you should be editing all representations of the pdf but to make it render them for you, do not use that option.
I think it'll use the rasters when the size is the same but it'll render the PDF if necessary. I see now that the problem is that when i render the PDF, Cocoa is turning the transparent values into FF FF FF 00 rather than 00 00 00 FF.
Last edited by alexzielenski on May 22nd, 2012, 11:26 pm, edited 1 time in total.