ChAoS PsYcHe Posted September 15, 2021 (edited) 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 September 15, 2021 by ChAoS PsYcHe : conflation 3 Share this post Link to post
Edward850 Posted September 15, 2021 (edited) 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. 0 Share this post Link to post
ChAoS PsYcHe Posted September 15, 2021 1 minute ago, Edward850 said: 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 https://doomwiki.org/wiki/UDMF :-) 0 Share this post Link to post
Shepardus Posted September 15, 2021 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. 1 Share this post Link to post
ChAoS PsYcHe Posted September 15, 2021 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. 0 Share this post Link to post
Edward850 Posted September 15, 2021 2 minutes ago, ChAoS PsYcHe said: https://doomwiki.org/wiki/UDMF :-) 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 1 Share this post Link to post
ChAoS PsYcHe Posted September 15, 2021 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... 0 Share this post Link to post
kalensar Posted September 15, 2021 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. 0 Share this post Link to post
Edward850 Posted September 15, 2021 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. 1 Share this post Link to post