Marathon level formats

Post: #1
Haven't been here in a while :-) I was wondering if anyone could provide or point me toward a specification for the file format for Marathon 1 and/or 2 levels. I know it's kind of dated info, but it would come in handy for a project I'm working on. I didn't have much luck with my google search, although I know this info must be out there somewhere. If anyone could point me in the right direction, I'd really appreciate it.


Quote this message in a reply
Posts: 370
Joined: 2002.04
Post: #2
If Marathon Infinity is ok, look at Aleph One. I't an open source (I think) project - look at their level loading code.

Did you ever wonder why we had to run for shelter when the promise of a brave new world unfurled beneath the clear blue sky?
Quote this message in a reply
Posts: 268
Joined: 2005.04
Post: #3
I seem to recall there being an open source map viewer for Marathon 1. In fact, it may even be here.

*goes to check*

Didn't find it here, but I did find it at the Marathon archive. This should work:
Quote this message in a reply
Post: #4
Here is a quick sketch. The Marathon engine uses a "wad" format.

Level data

The header points to the directory, whose entries point to the level data

The level data is in chunks, each of which has


The chunks are the various sorts of data, like map points, map lines, map-line sides, map polygons, etc. How many of them there are is

(total size of chunk data)/(data-structure size)

The data can be read straight into the structs, but the structs would have to be 2-byte aligned (#pragma align mac68k or something like that), and the data is all big-endian (OK for us Mac users, though not for PeeCee users).
Quote this message in a reply
Post Reply