Fallout 1 compression & decompression - anyone interesed

martinsosis

First time out of the vault
For a few weeks now I've been working on a C# library (DLL, for use in other programs) that can (among other things) unpack and pack files from and to Fallout DATs (including the file-specific compression!). It's far from complete, but the core of compression and decompression is working OK and during the development I've gained a good understanding of how it all works.

As far as I know, there is absolutely no Fallout-specific compression document out there (at least I haven't been able to find any) so I was thinking of maybe writing one (instead of just posting bare-bones code) and putting it up on Vault-Tec Labs (been doing some work on DAT & PRO formats there, under the name of Modus Operandi).

The question is, is there anyone out there who would care about something like that? I'm not planning on some small pseudo-code (like the decompression algorithm is right now), but a decent guide with explanations on how LZSS works and how it works in Fallout, etc. But I don't want to waste all that time and effort if nobody needs it. The library will be open-source and available either way, but question is about an in-depth explanation of Fallout compression and DAT packing.
 
2martinsosis:
As far as I know, there is absolutely no Fallout-specific compression document out there (at least I haven't been able to find any)
Lempel-Ziv [1977]. If you are going to make intensively documented guide to this compression algorithm illustrated with comprehensive enough C# code, this would be interesting.

As for the library itself, C# is for .NET capable systems only, DLL is for Windows only. We have already mentioned by Wasteland Ghost dat2 source code with the similar flow: it's MFC dependant. Pure ANSI C impelementation would be much more usefull.

2Wasteland Ghost:
And here is format description.
AFAIR, that description is for Fallout 2 DAT format only.
 
C# can be used on *NIX platforms via MONO as well. It would be good if you could open source the code so anyone can play around with it and port it.
 
C# can be used on *NIX platforms via MONO as well.
It is a goal of MONO project. But currently, AFAIK, portability it's very very questionable. Anyway, C# syntax is natural and comprehensive. So it would be relatively easy to port or re-implement such code.
 
Portability has improved a lot in the last several years. Nowadays the only major issue seems to be portability of the MS GUI framework that comes with Visual C#. The C# standard library itself seems to be quite well implemented via MONO.
 
Back
Top