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

Implementing support for modern maps in a DOOM utility

Recommended Posts

So I have this tool that I am working on @ https://github.com/InZane84/WADdle-Plot-CLI

 

It is a tool written in Python with the eventual goal of becoming a full-fledged DOOM Map Editor. Hopefully requiring a minimal amount of 3rd-party Python libraries...

 

Currently, it only supports "vanilla" DOOM2 map. Ultimate DOOM map support is trivial and I just haven't added it in yet. I'm working on supporting maps with ACS and BEHAVIOR lumps....

 

This is where my question comes into play. Mucking around in a binary file-format is cumbersome. Ideally, a tool would exist that converts a binary wadfile into a textual representation of a wadfile. I'm aware of UDMF and I'm wondering. Is this the "modern map format"? I've seen there's a ZDOOM extension to the UDMF spec. Does this include ACS lump support? 

 

Basically I'm asking if there is a tool(program) that I can feed any modern map into and it outputs it into a textual representation, that I can then utilize within my program...

 

I'm trying to supports as many maps as possible. Vanilla, Boom, ZDOOM, and even Hexen if it's not too painful to do so...

 

 

Edited by ChAoS PsYcHe : conflation

Share this post


Link to post

I think you might be confusing terminologies, there is only a single WAD format for all of classic Doom, Heretic, Hexen, and Strife. Here are the specs: https://doomwiki.org/wiki/WAD

Jaguar Doom and derived (including Doom64) has a modification of the specs to use Big Endian for the integers and support compression, and Quake 1 has a WAD2 format.

Share this post


Link to post

I think you're conflating "WADs" with map formats. UDMF is a map format, but maps are just one type of lump (actually several, since LINEDEFS, NODES, etc. are separate lumps) that could be present in a WAD, along with graphics, audio, and other data.

Share this post


Link to post
2 minutes ago, Shepardus said:

I think you're conflating "WADs" with map formats. UDMF is a map format, but maps are just one type of lump (actually several, since LINEDEFS, NODES, etc. are separate lumps) that could be present in a WAD, along with graphics, audio, and other data.

 

Sorry for the confusion, post edited.

Share this post


Link to post
2 minutes ago, ChAoS PsYcHe said:

That's a map format, not a WAD format. There is 3 map formats, 4 if you consider Boom to be one as well. Doom1&2 and Final Doom all share identical specifications for that. Strife and Heretic use the Doom format but with extra/different definitions (they are otherwise binary compatible). Hexen's is actually different with the inclusion of ACS. Then you have extensions such as Boom, which is otherwise binary compatible but requires some extra elbow grease to understand its generalised format, and UDMF, a text format which you linked to.

 

More info here: https://doomwiki.org/wiki/Map_format

Share this post


Link to post
2 minutes ago, Edward850 said:

That's a map format, not a WAD format. There is 3 map formats, 4 if you consider Boom to be one as well. Doom1&2 and Final Doom all share identical specifications for that. Strife and Heretic use the Doom format but with extra/different definitions (they are otherwise binary compatible). Hexen's is actually different with the inclusion of ACS. Then you have extensions such as Boom, which is otherwise binary compatible but requires some extra elbow grease to understand its generalised format, and UDMF, a text format which you linked to.

 

More info here: https://doomwiki.org/wiki/Map_format

 

What's the easiest way to support all the map formats? I've searched and searched for a tool, to no avail. I guess I could always use ctypes+zdoom but that would be painful...

Share this post


Link to post
11 minutes ago, ChAoS PsYcHe said:

 

What's the easiest way to support all the map formats? I've searched and searched for a tool, to no avail. I guess I could always use ctypes+zdoom but that would be painful...

 

Slade3. Thats my best suggestion as it is built to handle almost everything as is. I'm not an ACS writer by any stretch so I don't know exactly what Slade can do with it as I prefer to mod without the use of it.

Share this post


Link to post
28 minutes ago, ChAoS PsYcHe said:

 

What's the easiest way to support all the map formats? I've searched and searched for a tool, to no avail. I guess I could always use ctypes+zdoom but that would be painful...

If you are writing a new tool from scratch, there basically isn't, there is no shortcuts. Hexen you can kind of work around because the only thing actually different about it is the THINGS and LINEDEFS formats, UDMF however couldn't be any more different and requires an entirely different approach to read.

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

×