Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
leileilol

Deutex trees?

Recommended Posts

I'm making FreeHeretic, and I currently have all the submissions as WAD files that get merged up together into one. Of course, that's sort of a pain to do it manually :S especially with the leftover "null" files being settled in the wad while it's not even being used.

So, pardon my stupid curiosity, how do you do Deutex trees such as the one on FreeDOOM? Is it all an obvious folder list that's mass downloaded or so and built into a wad with specific .bat files for Deutex? Does the server do it or does a person do it? :S

Share this post


Link to post
gargoylol said:

So, pardon my stupid curiosity, how do you do Deutex trees such as the one on FreeDOOM? Is it all an obvious folder list that's mass downloaded or so and built into a wad with specific .bat files for Deutex? Does the server do it or does a person do it? :S


It's all built from deutex via Makefile-s, the C/UNIX equivalent of .bat files (but on steroids). The files and the program all reside on the sf.net server, but the build process is manually triggered by fraggle.

If you understand Makefile language and various script languages (probably just sh but maybe some perl), it's all in http://freedoom.sourceforge.net/deutex/
e.g. http://freedoom.sourceforge.net/deutex/Makefile

Share this post


Link to post

You need to install deutex. This lets you build WAD files automatically from a script. To do this, you put the files to include in subdirectories, eg. graphics/ for graphics, levels/ for levels, etc. You then create a configuration file, usually named something like "wadinfo.txt".

You can see the freedoom wadinfo.txt file here. Because Freedoom has several different WADs (IWAD, Shareware WAD, resource WADs, etc), this is actually automatically generated by scripts from this file. Effectively what the script does is:

  • Selects the appropriate configuration for the WAD being built - for a DOOM2 build, the DOOM1 levels are not included, for example. This is done with the #define and #ifdef statements you can see in the file.
  • Deals with resources which havent been submitted yet. For example, MAP04 has not been submitted yet: you can see it is commented out in the generated wadinfo.txt.

    For the wadinfo.txt used to generate the IWAD, "dummy" resources are inserted instead, so a tiny level containing only a room with an exit is inserted. This makes the WAD fully usable even though not everything is available yet.
  • When generating wadinfo.txt for latest.wad, the script looks at the modification times of the files and only includes the resources which have been added since the last release.
Finally, the Makefile performs the process of actually running deutex for each WAD to build them all.

You probably neither need nor want to go to the trouble that I have gone to in building freedoom. Deutex by itself is fairly straightforward to use and there is a good manual. I'd highly recommend it for building large WAD files. If you have any questions about using it, please ask.

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
Sign in to follow this  
×