Thursday 23 August 2007

Finding my feet

Well, this is something of a non-post. Or at least, it will seem it to anyone that's not me. I'm trying to get my engine to just play a vdx file first, just to find my feet. I'm getting my head round the way everything's done in ScummVM, slowly, but it's not helped by the fact that my C++ is rusty: I wrote the extraction tools in plain C. Might have to get a book out of the uni library tomorrow. Anyway, I have figured out how to draw to the screen, & open and read from a file... but now I've got to decompress a stream of data on the fly. In the tools I wrote before, I extracted to a temporary file, then read that back in. I knew it was a hack, and that I'd have to do it properly, but just sort of ignored it. Thankfully, there is already an LZSS decompresser in the SCUMM engine: it uses different settings so I can't use it, but I should be able to use it as reference.

Man that was a boring post. Maybe next time I'll have some pretty pictures... hopefully.

3 comments:

jvprat said...
This comment has been removed by the author.
jvprat said...

Hi,

first of all, congratulations for your progress and thank you for working on this. I have good memories of t7g and it would be very nice to replay it on ScummVM :)

Lately I've also begun working on a ScummVM engine (I'm also a beginner with RE), and I've also found the need to support several compression algorithms (LZSS is one of them), so I considered trying to generalize it. I think it would be nice to have common "decompression streams" with configurable parameters so they can be reused in several engines. I'll try to have a look at this next week (I'm on vacations right now).

Good luck! :)

Unknown said...

I like your thinking, it would certainly make my life easier :-)

The only problem I foresee is that every type of LZSS compression I've seen on the web seems to be slightly different: you might end up with huge numbers of variables to deal with...