If you want something from me, speak up now! I have to go back into hospital for about 3 weeks (or so), and this time round I'm pretty sure I won't be up to strolling down to the internet cafe. So if anyone is waiting on anything from me, answers, physical stuff whatever, please drop me an email in the next 24hours before I head off and I'll try to get to it before I go.
Otherwise I'll be back towards the end of April. -LM.
.SAN files Laserman, they're what the rare stuff on Making Magic is encoded in. What do you know about them and is there some sort of tool ala grisc that we might be able to use to decode them?
And I hope it all goes well for you this time round. I'll have a beer in your honour.
Originally posted by: boba feta .SAN files Laserman, they're what the rare stuff on Making Magic is encoded in. What do you know about them and is there some sort of tool ala grisc that we might be able to use to decode them?
And I hope it all goes well for you this time round. I'll have a beer in your honour.
Cheers man
e-mail me a .san file and I'll take a quick look, I have the scumm documentation on my machine, but don't have BTM with me.
Multimedia format research based on ScummVM
* a chunked multimedia format possibly with several variations * multi-byte numbers are little endian (always?) * no: the chunk lengths are big endian * chunks are marked by FOURCCs; known FOURCCs: - ANIM - AHDR - FRME - NPAL - FOBJ - PSAD - TRES - XPAL - LACT - STOR - FTCH - SKIP - STRK - SMRK - SHDR - SDAT - SAUD - iMUS - FRMT - TEXT - REGN - STOP - MAP_ - DATA - ETRS * carries a payload comprised of different chunk types * these chunk types are known: - codec 1 - codec 37 - codec 44 - codec 47
* codec 1: RLE encoding: - for each line in image height: - 16-bit number indicates encoded line size - while there are still encoded data bytes for this line: - next byte is code - length = code / 2 + 1 - if bit 0 of code is set: - value = next byte - if value is 0: - skip (length) pixels in output - else: - put (value) in output (length) times - else: - for each count in length: - value = next byte - if value is 0: - skip pixel in output - else: - put value in output
* codec 37: - assign width and height - assign bw as block width - assign bh as block height - codec must operate on 4x4 blocks - assign pitch as block width * 4 (not the same as width necessarily since block width is rounded up to nearest multiple of 4) - assign chunk size as size of input chunk - 14 - allocate a buffer with that size - read chunk_size bytes into new buffer - sequence number LE_16 @ chunk[2] - decoded size is LE_32 @ chunk[4] - maskflags = chunk[12] - make table with pitch and chunk_buffer[1] as index: - index *= 255 - if (index + 254 < sizeof(table) / 2) - assert error condition - for i = 0..255 - j = (i + index) * 2 - offsettable = maketable_bytes[j+1] * pitch + maketable_bytes[j] - if (chunk[0] == 0)
* codec 44: - iterate through the encoded chunk from 0 to size - 14 (?): - size of encoded line = next LE_16 in chunk - while size is not 0: - count = next byte - pixel = next byte - put (pixel) in output (count) times - if size of line is not 0 at this point: - count = next LE_16 + 1 - copy (count) pixels from encoded stream to output - at the end of line, output buffer rewinds by one pixel (?)
* codec 47: - chunk size = size of chunk passed in minus 14 bytes - sequence number = first LE_16 of chunk - encoded graphic data begins at chunk + 26 - the bytes at chunk[12] and chunk[13] serve as initializers for deltabufs[0] and [1] respectively
I'm afraid that, as a newbie, I am not sure what has happened to you or why you are going to the hospital. But I wish you luck with whatever has befallen you.
I can rip the audio from those SAN files, but it will be more work to rip the frames, probably will have to wait. I've emailed boba the audio portions.
There's good in the Original Trilogy, and it's worth fighting for. "People should not be afraid of their governments. Governments should be afraid of their people." http://www.myspace.com/harlock415
Thanks everyone for the best wishes, your goodwill seems to be causing a karmic event, I think I have it now, just looking at the images to see if they are OK.
edit: Damn, I'm only getting partial results, it will have to wait till I get back or someone else works it out.