Looking for file format information

Started by zennehoy, February 03, 2008, 03:31:47 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

zennehoy

First off hello all fellow Lemmings fans!
I'm in the process of writing a version of Lemmings for the PocketPC, and am hoping to support the original DOS lemmings data files, as well as any custom level packs made with lemmix or lemedit. While the Lemmings file archive has information on the file formats of the .lvl and main.dat files, I haven't had any such luck for the groundXo/vgagrX files. Since there are community tools (e.g. Lemmix) that apparently use those files, I'm sure information on the file format must be available somewhere. Could anyone help me out by providing a file format description? Even very general information on what is stored in these files would help greatly!
Thanks!
Zen

Mindless

I've got ccexplore's docs that he has allowed me give to others... I'll ask him if I can just put them up with the rest.

zennehoy


Mindless

as I expected, ccexplore has given me permission to publish the docs, so they're all there :)

zennehoy

Awesome, thanks! Now all I need to figure out is how planar paletted bitmaps are stored.
I'll keep you posted on my progress,
cheers!
Zen

EricLang

If you need help with that planar bitmaps, just ask....

zennehoy

Nope, I got it, thanks though. I'm just used to seeing planar bitmaps with the colors separated, not the individual bits of a palette index...
My Lemmings are now loading and animating from MAIN.DAT rather than a bitmap resource.
Yipee!
Zen

zennehoy

Things are coming along nicely, thanks for all your help so far!
One thing that has been bugging me is that there doesn't seem to be any order to the levels in the LEVEL000.DAT to LEVEL009.DAT files, and since I assume that the level order is not hard coded, I must either be missing something or this data is stored in one of the remaining DAT files.
Does anyone know where to find this information? Maybe in one of the following files: ADLIB.DAT, ODDTABLE.DAT, RUSSELL.DAT, TANDYSND.DAT? The last one I assume has to do with sound, but I'm not sure what the others are for.
Any ideas?
Thanks!
Zen

zennehoy

So I just noticed that lemmix also has lemmings clones for the three original DOS games... Are these actual clones in the sense that the source code is available in the community? I always thought lemmix was solely a level editor, so I started writing my PowerPC clone from scratch, but if there's a way to get at existing code... doesn't make sense to implement everything twice after all.
Too bad I notice these things only after I'm halfway done :o What's your stance on providing source code Eric?
Cheers,
Zen

EricLang

The sourcecode for the Lemmix editor is available at the lemmings archive.
The sourcecode for the game-clones is not. The clones are written from scratch, after I wrote the editor.
I could provide the complete sourcecode for the clones too. If you need that, post it here please, then I can gather all the files (and there are a lot!). Do not expect too much documentation etc. :)
But the source is free, as is the program. As long as no one is going to earn money with my code :)

Mr. K

Quote from: zennehoy on February 16, 2008, 05:19:12 PM
Things are coming along nicely, thanks for all your help so far!
One thing that has been bugging me is that there doesn't seem to be any order to the levels in the LEVEL000.DAT to LEVEL009.DAT files, and since I assume that the level order is not hard coded, I must either be missing something or this data is stored in one of the remaining DAT files.
Does anyone know where to find this information? Maybe in one of the following files: ADLIB.DAT, ODDTABLE.DAT, RUSSELL.DAT, TANDYSND.DAT? The last one I assume has to do with sound, but I'm not sure what the others are for.
Any ideas?
Thanks!
Zen
I believe the level order is in the Lemmings EXE.  ccexplore released a modified one a loooong time ago that made it read them from LEVEL000 to LEVEL009 in order.

Also, as it seems related, ODDTABLE.DAT contains the information for the "clone" levels (aka, the ones that have the same levels but different skill sets).  The clones aren't in the LEVELxxx.DAT files but instead use ODDTABLE to figure out which levels to load and then it replaces the level name and skills with the new set for the clone level.

(At least I'm pretty sure that's how it works. I'm not one of the Lemmhackers, I just spectate)

And, as you asked about the other files: ADLIB.DAT and TANDYSND.DAT are both audio-related, the former containing the normal Adlib music, and I believe the other's exclusively for Tandy computers.  RUSSELL.DAT has to do with the lame "copy protection" they used with Lemmings.

EDIT: Forgot to mention, I'm quite interested in this Pocket PC port!  I might be obtaining a slightly old one from my friend so I can stay organized, but I'll always need games alongside :P  PPCs are perfect for Lemmings.

zennehoy

If you could post the source for the lemmix game-clones that would be awesome! I've been writing my clone with DirectDraw mobile and vanilla C/C++, and haven't used Delphi before, but all programming languages are at least somewhat similar. The question now is whether I continue with my clone, or just try to compile your lemmix clones for windows mobile - after all, my original goal was simply to find a true-to-the-original version of lemmings for my PDA...
Thanks also Mr. K for the file info. Guess I'll have to hard-code it then. I wonder why they chose that strange order...
TC,
Zen

p.s. As to the source of the lemmix editor, are you sure that's already in the archive?

zennehoy

I hope it's not too old! DirectDraw mobile requires a Windows Mobile 5 device or above... Otherwise a touchscreen with 320x240 (QVGA) resolution and you're good to go.

EricLang

Ok I will gather the files this week and upload them somewhere. The graphics are just plain Windows GDI calls. I hope it will be useful. But have some patience. It is a bit of work...

zennehoy

No problem, guess I'll actually have to do something other than coding lemmings all weekend then :P
Thanks!
Zen