Commits on Jan 1, 2014
  1. Update version to v0.8

    chungy committed Jan 1, 2014
  2. Change Freedoom URL to GitHub

    chungy committed Jan 1, 2014
  3. dehacked: Add par time for MAP19.

    Playthrough time for current version of MAP19 by Catoptromancy.
    fragglet committed Jan 1, 2014
  4. dehacked: Fix [strings].

    Oops. Boom's dehacked parser requires an empty line to end the [pars]
    section, otherwise the entire following section is interpreted as
    par time instructions.
    fragglet committed Jan 1, 2014
  5. dehacked: Add par times.

    These are based on Catoptromancy's playthrough demos for the current
    levels and (where not yet available) his older demos for the 0.7
    fragglet committed Jan 1, 2014
Commits on Dec 31, 2013
  1. Makefile: dist target works again

    For now, Make is dependent on being run inside of the git repository,
    at least if something like `make VERSION=3.14` isn't used. Will be
    nice in the future if it can read from the VERSION file as a fallback.
    chungy committed Dec 31, 2013
  2. Remove ChangeLog and NEWS

    These files are tedious to maintain and pretty much redundant in the
    age of git.
    chungy committed Dec 31, 2013
  3. Rename BUILD-SYSTEM to *.asc and fix the `make doc` target.

    Adding the file extension makes it all pretty on GitHub.
    chungy committed Dec 31, 2013
  4. README: Reflect the project's actual methods

    When I wrote the README before, I was basically demanding the use of
    Git's signed-off messages, which is just wrong-headed. Also change the
    example commit so it uses an action stamp, no more hard dependency on
    a sha1 identifier that may change if the repository is rewritten (has
    happened) or moved to another VCS (has happened, also); additionally,
    it's just a better example commit to use. :-)
    Remove the "Build system" section which encouraged a "Do Not Touch"
    philosophy which is also wrong-headed. Any change for improvement is
    self-evident: should not tell people to not bother without explaining
    Also, rename the file so GitHub renders it nicely.
    chungy committed Dec 31, 2013
Commits on Dec 30, 2013
  1. dehacked: Add name for E1M6.

    This gives us a full set of level names for episode 1.
    fragglet committed Dec 30, 2013
  2. text: Add freedoom.bex as build dependency.

    The text must be rebuilt if the contents of the Dehacked file
    change, as level names are imported from it.
    fragglet committed Dec 30, 2013
  3. dehacked: Add level names.

    These are some initial level names based on discussion on the Doomworld
    Freedoom forum thread found here:
    fragglet committed Dec 30, 2013
  4. dehacked: Add intermission text screens.

    This replaces the default text screens with text screens more
    relevant to Freedoom's level progression. The Double Impact end
    text screen is imported in a modified form, and the episode 1-3
    text screens ought to be considered temporary.
    fragglet committed Dec 30, 2013
Commits on Dec 22, 2013
  1. colormaps: Generate colormaps programatically.

    This replaces the statically generated colormaps with equivalent
    colormap lumps that are generated by the script (which now
    has parameters to control the generated colormap).
    fragglet committed Dec 22, 2013
Commits on Dec 20, 2013
  1. graphics/text: set -colorize alpha channel blend percentage to zero

    Give a fourth channel blend percentage of zero so that the alpha channel
    of the default fill colour (fully opaque black) is ignored. This fixes
    the blue menu titles (skill, episode etc.) having black backgrounds.
    The use of -colorize here blends 100% of the default fill colour (black)
    into one or more channels of a greyscale image. Mixing in 100% black is
    equivalent to nullifying the channel by setting it to zero, e.g. red
    text is achieved by mixing 100% black into the green and blue channels.
    It turns out, when passed more than one value (to affect all channels by
    that percentage equally), -colorize looks for _four_ separate channel
    values (RGB and alpha). If fewer are given, the missing ones inherit the
    blend percentage of the first channel (red).
    For red and white there is no effect, as the red channel is left alone.
    But blue blends 100% of the red channel (thus, unwittingly, the alpha
    channel) of fully opaque black into the image, making it fully opaque...
    rjy committed Dec 20, 2013
Commits on Dec 18, 2013
  1. Merge branch 'double_impact'

    rjy committed Dec 18, 2013
  2. patches/textures: replacement E4 starry sky for Double Impact

    Double Impact's original sky texture is derived from an image with
    unknown copyright restrictions (see [1]). Construct a replacement from
    an image of the globular cluster M80 from the Hubble Space Telescope
    (Credits: NASA; public domain; sources [2] [3]) and a random starfield
    image generated by ImageMagick (adapted from [4])
    Note the original's "dark sky with bright shadow-casting light source"
    effect which was built into the maps - this replacement is carefully
    tuned to preserve that effect (as any improvement should also do).
    Signed-off-by: RjY <>
    rjy committed Dec 18, 2013
Commits on Dec 16, 2013
  1. levels: E1M5 2013-12-15 update by Z0k

    -moved an imp that was stuck on a console panel near of the swicht,
    preveting the imp for moving futher.
    -Size of the columns that hold tech pillar now are reduced, this for
    preveting player getting stuck in middle of them
    -Added 2 to 5 % damage to the acid pit of the tech pillars
    -Added a new teleporter on the red key zone to reach the swicht that
    open the door of the exit, this to help the player who dont know that
    the teleporters where monsters come out are teleporters they can use. so
    players can use both teleporters, one which is useful as shortcut to end
    the level quickly and the other to keep the way of the level delevop
    [ RjY: changes to submitted version:
      - remove spurious dehacked lump (cf. commit 618b444)
      - set passuse flag on lines 1795, 1800, and 1806, so the lift can be
        operated from below, and the door opened from above ]
    Signed-off-by: RjY <>
    Miguel Suarez Gomez committed with rjy Dec 16, 2013
Commits on Dec 15, 2013
  1. graphics/text: run ImageMagick only once per generated image

    - factor out command line generation: a new function _make_command_line
      returns most of the command line for a transparent image rendering.
    - Callers render_transparent_text and render_text append the output
      filename and extra imagemagick options to colour the background as
      needed. This means imagemagick is only called once per generated
      image, which makes the process considerably faster.
    - This also works around a bug in the current version of imagemagick in
      Debian sid, which caused single-character graphics (e.g. winum*) to be
      generated with a black background.
    Acked-by: Simon Howard <>
    Signed-off-by: RjY <>
    rjy committed Dec 12, 2013
  2. textgen: Strip map number from level name graphics.

    The level name shown in the automap should be in the form:
    "ExMy: Level Name" but for the intermission screen graphics we just
    want "Level Name". Strip the leading level name if it is present.
    fragglet committed Dec 15, 2013
Commits on Dec 14, 2013
  1. textgen: Set level names from DEHACKED lump.

    Use the DEHACKED lump as a source of truth for level names, and set
    the textgen configuration accordingly. Make the current level names
    in the DEHACKED lump upper case so that the current ExMy/MAPxy names
    look correct.
    fragglet committed Dec 14, 2013
Commits on Dec 12, 2013
  1. levels: E2M5: fix monster teleporter

    The trigger sector 94 lowers its floor to a height of 40; the adjacent
    holding sector 100 has a height of 72, so if the imps don't catch the
    lift as it passes, they get stuck and never teleport out.
    rjy committed Dec 12, 2013
  2. levels: new E2M5 from Z0k

    [ RjY: changes to submitted version:
    - increase gap between pile of crates (sector 256 etc.) and nearby
      walls, to prevent player getting stuck
    - set passuse flag on lines 75, 208, 288, and 1320 to stop them blocking
      doors (lines 72, 1348) from being opened
    - move monster teleporters so monsters don't have to walk away from
      player to teleport, to prevent excessively long teleport times ]
    Signed-off-by: RjY <>
    Miguel Suarez Gomez committed with rjy Dec 12, 2013
Commits on Dec 10, 2013
  1. levels: remove old e4m1/e4m2

    rjy committed Dec 9, 2013
  2. dbimpact: avoid use of tag 666 on M8

    There are four switches that all need to be pressed to activate the
    finale of the map. In the original these would cause four barons to be
    crushed, the final one causing several floors to lower. Since this use
    of barons makes the map depend on the E1M8 slot, it needs reworking.
    - Change the switches to raise floor to lowest adjacent ceiling types
      (thus creating an instant floor lowering)
    - Near to each switch place lines that lower the former tag 666 floors
      to their _highest_ adjacent.
    Thus these floors only lower when all four switches have been pressed
    and all four control sectors have been lowered.
    Obviously this could be done with voodoo doll scripts or using multiple
    switches and the Boom passuse flag but since dbimpact was designed for
    Doom complevel I did not want to risk making it require Boom complevel.
    Make a couple of other adjustments to support this:
    - The four switch-pressed indicators on either side of the exit door now
      unfortunately no longer start moving (they're not crushers)
    - "Crack" the northwest demon face tower so there is a tiny invisible
      hole between the bright part and the small shadow on the corner.
      Otherwise lower to highest adjacent floor would not work as required.
    - Also, make all control sectors invisible on the automap (after all,
      there is a computer map on this level)
    rjy committed Dec 9, 2013
  3. dbimpact: switch M2 and M3 (fix secret exit)

    The secret exit needs to be on E4M2 not E4M3. This is the simplest way
    to achieve that, and in my view better than the alternative (disabling
    the existing secret exit and grafting a new one into the other map)
    rjy committed Dec 9, 2013
  4. dbimpact: move to episode 4

    This breaks the secret exit (needs to be on M2, not M3) and the ability
    to exit M8 (which relies on E1M8's BossDeath lowering sectors tagged 666
    to lowest when all _barons_ are dead - for E4M8, A_BossDeath has the
    same effect but only when all _spiderdemons_ are dead)
    rjy committed Dec 9, 2013
  5. Double Impact

    Import maps from the 2011-Cacoward-winning episode Double Impact, as
    donated by its authors, Ralphis and RottKing. The intention is that
    these are used as Freedoom's episode 4.
    Title                   : Double Impact
    Filename                : DBIMPACT.WAD
    Release date            : 03/30/2011
    Author                  : RottKing & Ralphis
    Email Address           :
    Other Files By Author   : Unidoom Deathmatch 1, Unidoom Deathmatch 2,
                              Unidoom Deathmatch 3, Unidoom Deathmatch X,
                              Odamex CTF 1
    Misc. Author Info       : Visit us at
                              and #unidoom on!
    Description             : A nine map episode 1 replacement.
    Additional Credits to   : infurnus for the sky texture,
                              esselfortium for the titlepic,
                              and dewww, st.alfonzo, NaturalTvventy,
                              Xenaero, glortho, joshsmith, and whiteboy567
                              for helping out with play testing.
    * What is included *
    New levels              : 9
    Sounds                  : No
    Music                   : Yes
    Graphics                : Yes
    Dehacked/BEX Patch      : Yes
    Demos                   : Yes
    Other                   : Yes
    Other files required    : No
    * Play Information *
    Game                    : Ultimate DOOM
    Single Player           : Yes
    Cooperative 2-4 Player  : Yes
    Deathmatch 2-4 Player   : Yes
    Other game styles       : None
    Difficulty Settings     : Yes
    * Construction *
    Build Time              : About a year and a half.
    Editor(s) used          : Doombuilder, Wintex, XWE, Slumped
    Known Bugs              : None
    May Not Run With...     : doom.exe.
                              Requires at least a limit removing engine.
    * Level Information *
    * Copyright / Permissions *
    Authors MAY use the contents of this file as a base for
    modification or reuse.
    You MAY distribute this file, provided you include this text file with
    no modifications.  You may distribute this file in any electronic
    format (BBS, diskette, CD, etc.) as long as you include this file
    You MAY edit and release any maps contained in the WAD as you wish under
    the conditions that the original authors and Unidoom are credited.
    * Where to get the file that this text file describes *
    The Usual: and mirrors
    Web sites:
    Signed-off-by: Catoptromancy <>
    Signed-off-by: Simon Howard <>
    Signed-off-by: RjY <>
    RottKing & Ralphis committed with rjy Nov 11, 2013
Commits on Dec 2, 2013
  1. graphics: Fix textgen with Python 2.

    Previous fix for Python 3 broke the script under Python 2.
    fragglet committed Dec 2, 2013
  2. graphics: Add kerning for text generator.

    Adjust character positions so that some pairs of characters can fit
    more closely together.
    fragglet committed Dec 2, 2013
  3. graphics: Make textgen script work with Python 3.

    Also add copyright notices to Python files.
    fragglet committed Dec 2, 2013