GOB engine tools question.

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
Agetian
Posts: 3
Joined: Fri May 19, 2006 9:48 am

GOB engine tools question.

Post by Agetian »

Hello.

I'm willing to work on a program that would allow modification of the Gobliins series games (Gob1-3 and Woodruff), but I'm not quite sure about the file formats used in there, and the compression algorithm inside STKs. I've checked out the ScummVM tools for a program that would allow the decompression/compression/packing/unpacking of STK files and data inside them, but it looks like one hasn't been made or released. Are there any plans to make and release such a tool, or are there file format specs out there somewhere so I can check them out? Depending on the time I have I may be willing to contribute to the Gobliins part of the ScummVM project in the future (can't say for sure right now since I'm rather busy atm, but will try to report on it later on). My skills include C#.NET, VB.NET, and C++.
Thanks in advance for any help.

- Agetian
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

User avatar
john_doe
ScummVM Developer
Posts: 117
Joined: Fri Nov 04, 2005 8:25 pm
Location: Stuttgart, Germany

Post by john_doe »

The packed files use the LZSS algorithm, you can find several good descriptions and source code on the net for it.
Agetian
Posts: 3
Joined: Fri May 19, 2006 9:48 am

Post by Agetian »

OK, thanks for help, guys!

- Agetian
Dorian Gray
Posts: 9
Joined: Fri Sep 23, 2005 1:55 pm
Location: Versailles

Post by Dorian Gray »

mmm, Lzss algo has already been written in scummvm for Gob1 & 2
They also use a rle algo for pictures.
Animations of Gob3 and woodruff are in the VMD format that is used in Sierra games too: http://www.multimedia.cx/vmd-format.txt

And the xentax specifications are very very poor for Goblins, it describes only the archives structure, not the format of each file contained in these structures, some of them are also archives.
Agetian
Posts: 3
Joined: Fri May 19, 2006 9:48 am

Post by Agetian »

@ Dorian Gray: I see, thanks for help. Do you think there are any better specs out there somewhere? Btw, I've seen the Lzss algo written in scummvm, but it's only for unpacking AFAIK, and I can't find the packing counterpart. I've tried using another LZSS algorithm I found on the Internet but it didn't seem to work correctly with Gob files -- I'm wondering if Gob files need a certain specific version of LZSS or a certain set of parameters (e.g. the buffer size and so on) to decode/encode?
Thanks for any further help.

- Agetian
Dorian Gray
Posts: 9
Joined: Fri Sep 23, 2005 1:55 pm
Location: Versailles

Post by Dorian Gray »

I don't know if the lzss algo is the standard one.
2 years ago I decoded this algo in the game itself, I didn't try to use a standard algo on the the game files.

Compare the Scummvm and a standard decompression algo to see if you can use a standard lzss compression algo to modify resources files.
User avatar
john_doe
ScummVM Developer
Posts: 117
Joined: Fri Nov 04, 2005 8:25 pm
Location: Stuttgart, Germany

Post by john_doe »

I browsed around a little and found this: http://cd.textfiles.com/blackphiles/PHI ... R/LZ_C.ZIP
Use lzss.c
I tested it on some files from Goblins and sometimes the original compressed data and the data compressed with Lzss even is identical.
It also seems to decompress the Gob data well (just for testing the Lzss code, I know there's obviously code in the ScummVM SVN).

So maybe this could help you.
I it doesn't work, you can also simply store the files uncompressed in the Stk etc. archives.
Post Reply