Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Gez

Jaguar Doom data format specs?

Recommended Posts

So I've been asked to improve the minimal support SLADE has for the Jaguar Doom IWAD. I'm wondering if there are documents somewhere that explain in a clear fashion the data format used by the sprites, textures, and other graphics in that IWAD.

Decompression isn't an issue, the flats are displayed nicely for example.

For instance, there is a TEXTURE1 lump. What is its role? The textures aren't composited from patches contrarily to PC Doom, they are a series of stand-alone lumps between T_START and T_END.

Another example, graphics (such as TITLE or CREDITS) begin with a minimal header that indicates big-endian dimension (0x014000C8 = 320x200); but the texture lumps do not seem to use the same format (BIGDOOR2 certainly isn't 878x28014).

Sprites are the worst, however, as they are all split between two lumps (one with the sprite name, another named only ".".)

I'd also be curious about whether the sound and music formats are documented somewhere.


I already have the Doom utils source and the Jaguar Doom source, so I can try to figure things out from the source code, but it isn't always really clear, and it's mixed up with non-relevant code (the PC data structures, despite not being used, are still around for example). So if someone already went to the trouble of writing some clear specs for the data formats, I could make use of them.

Share this post


Link to post

Perhaps you should ask Kaiser or Saxman, who have both dealt with the format quite a bit before. You obviously know who Kaiser is, but Saxman is usually more around the Sonic Retro community though, so maybe you should go about contacting him there or at Badnik IRC.

Share this post


Link to post
Gez said:

So I've been asked

I wonder if it's the same person that contacted me today about writing a utility to convert Jaguar wads to PC wads and vice versa. I pretty much have all (except music) the formats figured out, but waiting for a response from said person.

The music appears to be some custom synthesized format. The stuff in the INST section are instrument patches (which are in the same format as the digital sounds, but use more data from the header). The actual details on the music itself would be difficult for me to decipher since the code to handle it appears to be written in ASM for the DSP.

Share this post


Link to post

I haven't messed with the Jaguar version in years and jagEdit hasn't been maintained or cleaned up since then. If anyone is still interested they can check it out here:
https://dl.dropbox.com/u/18609/jagEdit.zip

but be warned as it is horribly documented.

Gez said:

Sprites are the worst, however, as they are all split between two lumps (one with the sprite name, another named only ".".)


Yes, the sprites ARE the worst. Each sprite is spitted into two lumps, one for display/rotation and the '.' lumps contains the actual data. Though I could be wrong but I am CERTAIN that the rotation/lump/width/height data is also hardcoded (see sprinfo.c)

Gez said:

So I've been asked to improve the minimal support SLADE has for the Jaguar Doom IWAD. I'm wondering if there are documents somewhere that explain in a clear fashion the data format used by the sprites, textures, and other graphics in that IWAD.

Decompression isn't an issue, the flats are displayed nicely for example.

For instance, there is a TEXTURE1 lump. What is its role? The textures aren't composited from patches contrarily to PC Doom, they are a series of stand-alone lumps between T_START and T_END.


It's been a long time since I've messed with that one, but I am certain that it's unused MARS crap. Probably for either 32x or for a new console system. Same with the CRYPAL crap.

Most graphics uses a very simple/generic raw format and shouldn't be too difficult to figure out (I am sure jagEdit is able to extract most of them).

As for music.. I don't know. I never bothered to go that far in figuring that one out but the INST### lumps are obviously instrument sound lumps.

Share this post


Link to post
Kaiser said:

Yes, the sprites ARE the worst. Each sprite is spitted into two lumps, one for display/rotation and the '.' lumps contains the actual data. Though I could be wrong but I am CERTAIN that the rotation/lump/width/height data is also hardcoded (see sprinfo.c)

The Jaguar sprite format is just a more compressed version of the Doom patch format. It's actually quite easy to convert from the Jaguar to PC format and there's nothing hard coded about them.

Edit: Gez, Check your PMs.

Share this post


Link to post
Kaiser said:

It's been a long time since I've messed with that one, but I am certain that it's unused MARS crap. Probably for either 32x or for a new console system. Same with the CRYPAL crap.


Tbe TEXTURE1 lump contains the info for texture dimensions. The texture pixel data lumps themselves don't have a header or anything. However, they seem to repeat the first 320 pixels at the end for some weird reason. So the size is always width*height+320.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×