User blog:Evilquoll/Converting WAD levels to map images

I have done a lot of this in the past few months; mostly creating maps for the Strife walkthrough I did. Until now, I have used DeePsea to display part of the level so I can use the [SysRq] key to grab the display, and Paint Shop Pro to paste the bits together into a complete map image.

The above worked fine for the Strife levels, but for some reason unknown to me it went horribly wrong when I started to create maps for Hexen: Deathkings of the Dark Citadel and tried to map Hub 1: Ruined Village. Although I followed the same steps as before, with the same kind of result as the previous maps, although the map looked fine in PSP, when uploaded and displayed on the page it came out blank. Only by using a ridiculously high zoom level was I able to see any detail. Hence I have been looking for a better (and hopefully less laborious) way.

My search turned up a neat little Python script called WADParser, which can be used on any Doom or Hexen WADfile and will turn out SVG images of all the levels contained (just the linedefs, no annoying things to clutter up the map and need to be erased so as to give a clean image), working quite fast. It has a few drawbacks; you will of course need a Python interpreter to be able to run it (most Linuces and even some OEM versions of Windows come with one pre-installed, but if not you can download one), and it won't work unless you first install svgwrite. Also, the maps it produces (at least on my Windows 7 craptop) are upside-down, but a few seconds' work with Inkscape will soon fix that. (IMPORTANT: make sure that you do use Inkscape for this, not Corel Draw; the former will preserve the custom paper size of the image, which is exactly large enough to contain the image, and is what you want; Corel Draw will instead force the edited image to its default paper size (A4 in my case), almost certainly resulting in the image either overspilling the page and being clipped when you use it, or (if you shrink it to fit the new page size) leaving undesirable borders.)