Share

The EDGE Project

File Release Notes and Changelog

Release Name: 1.28

Notes:

EDGE 1.28 README.1ST
====================

Welcome to EDGE, the Enhanced Doom Gaming Engine.

Archive listing:
  * edge32.exe        - Windows Executable, software rendering
  * gledge32.exe      - Windows Executable, OpenGL rendering
  * upgrader.exe      - Upgrade utility
  * edge.wad          - EDGE WAD Information
  * edge-ddf.zip      - EDGE DDF files (not required to play)


System Requirements:
  - Pentium 133 MHz CPU (233 MHz for 640x480 mode or GLEDGE).
  - 32MB RAM (64MB RAM recommended).
  - Hardware accelerated 3D card with OpenGL drivers (GLEDGE only).
  
  - Either a DOOM, DOOM II, TNT, PLUTONIA or FREEDOOM WAD file.
    (See "Getting hold of a game data" below).
   
  For Win32:
    - DirectX 7.0 or higher.
    - Videocard and Soundcard which is compatible DirectX 7.0.

  For Linux:
    - SDL (Simple DirectMedia Layer) version 1.2.
    - XFree86 4.0 with DRI 3D hardware acceleration (GLEDGE only).
    - Glibc 2.


Getting hold of game data:
    You can get hold of FreeDoom from freedoom.sourceforge.net which 
    is _free_ and has been produced by fans of the game in their
    spare time, or you can purchase "The Ultimate Doom", "Doom II" or 
    "Final Doom" (Plutonia/TNT) from id software at www.idsoftware.com. 
    The shareware data will also work with EDGE. You need to copy the
    .wad file you want to use into your EDGE directory. The wad names 
    and what game they belong to are listed below: 

    doom1.wad    -> Shareware Doom.
    doom.wad     -> Doom/Ultimate Doom.
    doom2.wad    -> Doom II
    plutonia.wad -> Final Doom (Plutonia)
    tnt.wad      -> Final Doom (TNT)


Useful Parameters:
  * Screen size: -width [screenwidth] -height [screenheight]
  * Colour depth: -bpp [depth]  (1 for 8-bit, 2 for 16-bit)
  * Windowed mode: -windowed
  * Pick IWAD file: -iwad [main wad file]
  * Play PWAD file: -file [addon wad file]
  * Jump to level: -warp [mapname]  (in the form of MAP01 or E2M9 etc..) 
  * External DDFs: -ddf [dirname]  (use external DDFs in 'dirname')
  * Show EDGE version: -version
  * Disable sound: -nosound
  * Disable music: -nomusic
  * Disable warnings: -nowarn  (useful for 1.24 wads like QDOOMTST)


Notable EDGE features:
  - Extrafloors (3D floors), removing the original DOOM limitation
    which didn't allow rooms over rooms.  EDGE supports real 3D
    room-over-room, bridges, and liquids.
 
  - DDF (Data Definition Files), allow Mod/TC/PC creators to
    completely customise monsters, attacks, weapons, pickup and
    scenery items, linetypes, sectortypes, intermissions, ETC...
    using fairly simple to understand text files.

  - RTS (Radius Trigger Scripting), provides per-level scripting
    support, allowing custom scripts to run when the player enters
    certain parts of the map, or performs certain actions, or when
    certain monsters have been killed (to name a few possibilities).
 
  - Support for high resolutions (640x400 through 1280x1024), plus
    support for 16-bit rendering.  That's just software mode, there is
    also GLEDGE which takes advantage of hardware 3D acceleration via
    the OpenGL library.

  - Jumping, Looking up/down, Flying (JetPack), Zooming.
 
  - Many limits and bugs from original DOOM removed (e.g. no more
    visplane overflow or medusa effect).
 
 
Important changes:
  - On multi-user systems (newer versions of Windows, and Linux)
    the location for the config file (EDGE.CFG) and savegames has
    moved, and is user-specific.  This allows multiple users to have
    their own configuration and savegames.

    To allow easy upgrading, we have included a tool along with the
    EDGE binaries: UPGRADER.EXE.  You must run this first, before
    running EDGE -- it will either move the files to the new place,
    or spit out a message saying 'Nothing to do'.
    
    On Linux, the new location is the ~/.edge directory.  You can
    either download, compile and run the Upgrader tool, or manually
    move the edge.cfg file and savegames directory there.

  - Support for playing MP3 music has been removed, since the
    licensing is not compatible with Open Source software.  The
    next version of EDGE will support OGG Vorbis, a free format
    which sounds just as good but has no licensing fees.

    
Bugs fixed in 1.28:
  + serious crash bug loading textures from PWads fixed.
  + savegame problem which could cause crashes fixed.
  + windows version now detects out-of-date GWA files properly.
  + windows version now handles filenames with double quotes.
  + fixed crash when a door closed on a dead player.
  + fixed (potential) crash in GL mode when depth was 8 bits.
  + crash on cast parade with flipped sprites (HellKnight) fixed.

  - fix for too much bobbing.
  - fix for floor textures in GL (wrong scale, no transparency).
  - fixed ceilings not opening because of stuck things (MAP06).
  - certain fonts are no longer forced red (QDOOM).
  - fixed the issue with monsters resurrecting into another.
  - render sprites (S/W mode) with posts exceeding 128 pixels.
  
  * Many more... See the 1.28 ChangeLog for the complete list.
 

General improvements in 1.28:
  + better default configuration: e.g. 640x400 mode, 16 bit colour.
                                                                                            
  + full Mlook range in GL mode.
                                                                                            
  + better sky drawing in GL: the fake skybox copes with Mlook, never
    wobbles anymore, and is drawn a lot faster than before.
                                                                                            
  + windows version prevents more than one instance of EDGE running at
    the same time.  Also, window handling code has been reworked.
                                                                                            
  + the GL renderer emulates the flat-flooding and deep-water tricks.
                                                                                            
  - better images for when you have both keycard and skullkey.
  - config file remembers current language and current Save/Load page.
  - Pixelfade wipe has been implemented for OpenGL mode.
  - text strings look better in modes smaller than 640x400.
  - the source code is now written in C++.

  * See the 1.28 ChangeLog for more...


New features in 1.28:
  + very basic overlay HUD.  (Better one will be made when HUD.DDF is
    implemented).

  + EDGE.log file, automatically remembers all startup messages.

  + new #VERSION directive for DDF files and RTS scripts.  It is followed by
    the version of EDGE needed to use the DDF/RTS.  E.g. "#VERSION 1.28".
    This directive is _required_ to use new features in EDGE 1.28, but it
    also prevents you using obsolete features (they produce a fatal error).

  - RESISTANCE_CLASS for DDF.  Used the same way as IMMUNITY_CLASS, but the
    monster only suffers 40% of the original damage.

  - TIP_GRAPHIC supports scaling via the fourth parameter, which is a value
    like 0.5, 1.0, 2.0.  For example:

      TIP_GRAPHIC  M_PAUSE  3  false  0.5

  * See the 1.28 ChangeLog file for more...


Known Issues:
  - Multiplayer (networking) does not work.  We don't have the time to
    work on this at the moment, unfortunately.

  - Joysticks do not work.  We haven't done any work in that area.

  - Music is not implemented for Linux or MacOS X.

  - There are some visual problems/glitches with the screen,
    especially when the view window is shrunk down.
 
  - EDGE is still somewhat slow.  Overall this is because we had
    little time to spend on optimising the code.  For software mode,
    part of the reason is that the old hand-crafted assembly routines
    are no longer used (they need re-writing).  GL mode also has its
    own speed issues, especially when dynamic lighting is used.

  - Levels and TCs designed for EDGE 1.24 (or earlier) can produce a
    bucket-load of warnings when starting up.  These warnings are
    mostly about DDF features that have been removed or changed.
    Hence some older stuff will not work 100%.  Use the -nowarn
    option to turn off these warnings.
 
  - Some sprites are designed to look sunk into the floor, typically
    corpses, and can look like they are "floating" in EDGE.  This is a
    limitation of the way EDGE/GLEDGE renders everything -- it uses a
    new rendering technique that allows 3D floors, liquids, etc, but
    cannot duplicate the old renderer which allowed sunk-down sprites.

    Certain other DOOM tricks, e.g. flat-flooding, are also affected
    by the new rendering method, and either work to some degree, or
    not at all.
 
  - Looping sounds tend to stop when you get too far away to hear
    them, e.g. coming back to a flickering torch in QDOOM and it has
    stopped making the flickering sound.  Also looping sounds are not
    saved in a savegame, so after loading a level there are no looping
    sounds being played at all.
 
  - Some graphics can be more blurred than they should be in GLEDGE,
    such as the title screens and the status bar background.

    This happens because many 3D cards (e.g. Voodoo 3) have a texture
    size limitation of 256x256 pixels, but some DOOM graphics are 320
    pixels wide -- because they don't fit, GLEDGE has to squash them.
 
  - The console has very limited functionality.
 
  - Certain colourmaps (especially Fog) don't work in GL mode.

  - Teleport wipes don't work in GL mode.


Troubleshooting:
  - If EDGE crashes, or otherwise misbehaves, please help us by
    reporting the problem.  To do this check out the EDGE website at
    http://edge.sourceforge.net.  We appreciate input because if you
    don't tell us about a bug, we can't deal with it.

  - Post the EDGE.LOG file which EDGE creates along with your bug
    report, as this contains lots of useful information to help
    us track down the problem.

  For Windows:
    - Ensure you are running with virtual memory ENABLED.  This will
      cause some real problems if it disabled.

    - You can check the DirectX version by running the DirectX
      diagnostic tool.  Click the Start button, then Run..., and 
      type: dxdiag and press ENTER.  If that doesn't work, try looking
      for DXDIAG.EXE in the following directories:

         C:\windows\system
         C:\program files\directx\setup\
         C:\winnt\system32
 
    - For GLEDGE to work, you need a 3D card *plus* OpenGL drivers
      for it on your computer.  A really low framerate usually
      indicates that the *software* GL driver is being used (not what
      we want, of course ;).  Go to the website of your card's
      manufacturer and look for a recent 3D driver.  Another place to
      look is on Microsoft's site.  Basically, if Quake 3 (or some
      other OpenGL game) works, then GLEDGE should work too.
   
    - SHOULD YOU HAVE ANY PROBLEMS WITH GRAPHICAL PROBLEMS OR WITH THE 
      ENGINE LOCKING UP PLEASE ENSURE YOU HAVE THE LATEST VIDEO DRIVERS 
      FOR YOUR MACHINE.

      Users of the ATI Rage series are recommended to upgrade to the 
      latest drivers since some older drivers (circa 2001) have been 
      known to cause a lockup during startup.
      
  For Linux:
    - SDL 1.2 can be found at http://www.libsdl.org/.
    
    - 3D support under linux is still a developing thang, e.g. there
      is no support for DRI (Direct Rendering Infrastructure) in
      some distributions yet (notably Debian 2.2), as it requires
      XFree86 4.0.
      
      Also required is a recent kernel (> 2.2.18 or > 2.4.0).  A good
      guide to whether accelerated 3D is working is to run `glxinfo'
      in an xterm, and see if it says "direct rendering: Yes".


Contact points:
  * For the latest news and developments visit the EDGE Website
    at http://edge.sourceforge.net.

  * For Forums, Bug Reports and CVS Access visit the EDGE Project
    site at http://sourceforge.net/projects/edge.

  * For more information on "GL Nodes", see the glBSP homepage at
    http://glbsp.sourceforge.net.


Compiling EDGE:
  For All Versions:
      glBSP 2.05 is intended for use with this version of EDGE. All
      those people who download the source from CVS will need to
      add this to the source tree for the edge module. The directory
      name is in the format glbsp-x.xx - with the x's replaced
      with the version number.

  For Windows:
      - use the IDE project files: EDGE.VCPROJ for Microsoft Visual
      Studio, or EDGE.DEV for Dev C++ (a free C/C++ IDE). Users
      of the Dev C++ will also need to locate a version of the
      DirectX libraries for 8.1. 

  For Linux:
    - just type 'make' in the top-level dir.  This will create gledge.
      edit the Makefile in order to create the S/W version.

  For MacOS X:
    - type 'make -f Makefile.osx' in the top-level dir.
      NOTE: MacOS X support is broken right now.


Command line options:
  * Note that "(no)" here means that the option switch can optionally
    be prefixed with the word "no", e.g. -shadows OR -noshadows.  The
    plain option enables the feature, the one with "no" disables it.

  -version             Show version of EDGE and exit.

  -width  <wd>         Select video mode's width.
  -height  <ht>        Select video mode's height.
  -res  <wd> <ht>      Select video mode (width AND height).
  -bpp  <depth>        Video depth: 1 for 8-bit, 2 for 16-bit.
  -lang  <language>    Language for game messages.

  -iwad  <file>        Select IWAD file (e.g. DOOM.WAD or TNT.WAD)
  -file  <file> ...    Select PWAD (add-on) wad file(s) to play.
  -home  <dir>         Home dir, can hold IWAD and EDGE.WAD.
  -game  <dir>         Game dir, for PARMS, DDF, RTS, WADs, etc.
  -ddf   <dir>         Load external DDF files from the directory.
  -script  <file>      Load external RTS script from the file.
  -config  <file>      Config file (normally EDGE.CFG).
  -debugfile  <file>   Write messages into the given file.
  -nolog               Disable creating the log file (EDGE.LOG).

  -warp  <map>         Warp to map (use full name e.g. E1M1 or MAP01).
  -loadgame  <slot>    Warp, loading game from slot.
  -record  <file>      Record a demo into the given file.
  -playdemo  <file>    Play the previously recorded demo.
  -timedemo  <file>    Play and time the demo (test performance).
  -skill  <num>        Skill level for warp (1 to 5).
  -screenshot  <rate>  Movie mode ! Takes regular screenshots.
  -turbo  <num>        Running speed, 100 is normal.
  -vspeed  <num>       Look up/down speed, 1000 is normal.

  -players  <num>      Total number of players (includes bots).
  -bots  <num>         Number of bots.
  -deathmatch          Deathmatch game (otherwise COOP).
  -altdeath            Alternate deathmatch mode.
  -singletics          
  -timer  <mins>       Time limited games, and specifies how long.
  -avg                 Andy Virtual Gaming (same as -timer 20).
  -respawn             Monster respawning.
  -(no)itemrespawn     Item respawning.
  -newnmrespawn        Monsters respawn as if resurrected.

  -boom                Set compatibility to BOOM mode.
  -edge                Set compatibility to EDGE mode.

  -(no)strict          Errors: be as strict as possible.
  -(no)lax             Errors: be as lax/forgiving as possible.
  -(no)warn            Enable/disable all warning messages.
  -(no)obsolete        Enable/disable warnings about obsolete stuff.

  -windowed            Run inside a window.
  -fullscreen          Run fullscreen.
  -(no)sound           Enable/disable sound effects.
  -(no)music           Enable/disable music output.

  -(no)dither          Dither the graphics (in GL).
  -(no)smoothing       Smoothing for graphic images (mainly GL).
  -(no)mipmap          Mipmapping enable/disable.
  -(no)shadows         Shadows are drawn under things.
  -(no)halos           (Unimplemented) Halos/coronas around lights.
  -(no)dlights         Dynamic lighting (currently GLEDGE only).
  -(no)trans           Whether translucent stuff is rendered.
  -(no)jumping         Whether player jumping is allowed.
  -(no)crouching       Whether player crouching is allowed.
  -(no)mlook           Mouse-look up/down.
  -(no)kick            Weapon kick effect.

  -(no)monsters        Enable/disable monsters within the game.
  -(no)fast            Fast monsters.
  -(no)rotatemap       Automap rotation.
  -(no)invertmouse     Invert the mouse Y direction.
  -(no)showstats       Shows on-screen statistics/info.
  -(no)hom             HOM (Hall Of Mirrors) detection.
  -(no)stretchsky      Whether skies are stretched or tiled.
  -(no)extras          Extra items (e.g. rain) appearing in levels.
  -(no)infight         In-fighting between monsters.
  -(no)true3d          Objects can pass above/below other objects.
  -(no)blood           More blood which lasts longer.
  -(no)cheats          Cheat codes enabled or disabled.

  -trilinear           Trilinear mipmapping (GLEDGE only).
  -nointerp            Video: Don't interpolate colourmaps.
  -nodraw              Disable rendering (for performance testing).
  -nogfxmode           Disable all video (for performance testing).

  -blockmap            Force EDGE to generate its own blockmap.
  -fastsprites         Load sprite images at start of level.
  -newmap OR -newhud   Automap overlay.
  -noconhistory        Disable console history (save some memory).


  Win32 only options:

   (none)


  Linux only options:

  -freq  <freq>        Set sound frequency (sample rate) in Hz.
  -mono                Disable stereo sound output.
  -sound16             Force 16 bit sound, if available.
  -allegfm             Use the allegro FM patches for music.
  -warpmouse           Use special mouse handling code.
  -nograb              Don't grab the mouse cursor
 

Console commands:
  CRC  <lump>          Computes the CRC value of a wad lump.
  EXEC  <filename>     Executes the console commands in file.
  PLAYSOUND  <sound>   Plays the sound (fatal error if unknown !).
  QUIT                 Quit EDGE (pops up a query message).
  SET  <cvar> <val>    Set console variable to a new value.
  TYPEOF  <cvar>       Displays the type of a console variable.


  * The SET command can be used with no options, which displays all
    known variables (and their values), or just the cvar name, which
    displays the value of that variable.


--- END OF README.1ST ---


Changes: CHANGELOG FOR 1.28 (since 1.27) =============================== (Date: MAY 17th 2004) Bugs fixed ---------- + serious crash bug loading textures from PWads fixed. + savegame problem which could cause crashes fixed. + windows version now detects out-of-date GWA files properly. + windows version now handles filenames with double quotes. + fixed crash when a door closed on a dead player. + fixed (potential) crash in GL mode when depth was 8 bits. + crash on cast parade with flipped sprites (HellKnight) fixed. - fixed the FACE() action. - fix for MAXFALL when swimming. (UNTESTED) - fix for too much bobbing. - berserk: if already showing fist, don't lower/raise it. - fix problem with really fast scrolling walls/floors. - fix for floor textures in GL (wrong scale, no transparency). - PRE.TEXT now works on first level (MAP01, E1M1). - powerup tints (berserk etc) now fade out after dying. - projectiles causing no damage when coming directly down. - removed DOOM I warnings about missing sprites/textures. - fixed RTS JUMP command which was seriously broken. - fixed RTS problems when using WAIT before a LABEL. - PALETTE_REMAP now works in GL mode. - chat macros in the config file were being overridden by DDF. - shot attacks now honour the RANGE setting in DDF. - fixed ceilings not opening because of stuck things (MAP06). - sky image (changeable in RTS) now saved in savegames. - fixed how armour is shown in the status bar. - certain fonts are no longer forced red (QDOOM). - numerous small fixes to DDF, e.g. Cyberdemon walk sound. - potential crash when subsectors have only 1 or 2 segs (MAP22). - sound replacements via DDF no longer jumbles up all sounds. - fixed transparent doors (again !), both software and GL. - fixed the issue with monsters resurrecting into another. - screenshots in GL mode now work again. - render sprites (S/W mode) with posts exceeding 128 pixels. - visibility clipping in GL was broken (causing excessive overdraw). - RTS graphical tips were not scaled properly. - flipped sprites now use the X offset correctly. - fixed player sprite, which wasn't walking when you move. - bugs when changing screensize with +/- and in the menu fixed. - night vision in GL mode was not lighting things up. - fix for console which was drawn behind the menus. Features removed: ----------------- * MP3 music support, due to MP3 licensing which is incompatible with open source software. - stretchsky option and related code. General improvements -------------------- + new directories for config file and savegames. If your machine support multiple users (newer versions of Windows, and Linux), then the config file and savegame directory are now in a user-specific location. This allows multiple users to have separate configuration and savegames. To allow easy upgrading, we have included a tool 'UPGRADER.EXE' with the EDGE binaries, which should be run before running EDGE. If your version of Windows is single-user, then it will say `Nothing to do', otherwise it moves the config file and savegames to the new place. + better default configuration: e.g. 640x400 mode, 16 bit colour. + full Mlook range in GL mode. + improved handling of music volume under Windows. + better sky drawing in GL: drawn using a fake skybox (created from sky image) to cope with Mlook. Never wobbles anymore, and is drawn a lot faster than before. + windows version prevents more than one instance of EDGE running at the same time. Also, S/W and GL window handling has been reworked. + the GL renderer emulates the flat-flooding and deep-water tricks. - the sprite name "NULL" is now hard-coded, and always shows nothing. - RTS SPAWNTHING: when thing is unknown, show warning instead of error. - better images for when you have both keycard and skullkey. - non-terminated strings in DDF cause a warning. - zooming: always use current weapon's zoom factor if set in DDF. - config file remembers current language and current Save/Load page. - the first 9 RTS tip slots are no longer unchangeable. - better invulnerability fade-out in GL. - Pixelfade wipe has been implemented for OpenGL mode. - text strings look better in modes smaller than 640x400. - friendly monsters now work a bit better. New features: ------------- + very basic overlay HUD. (Better one will be made when HUD.DDF is implemented). + EDGE.log file, automatically remembers all startup messages. + new #VERSION directive for DDF files and RTS scripts. It is followed by the version of EDGE needed to use the DDF/RTS. E.g. "#VERSION 1.28". This directive is _required_ to use new features in EDGE 1.28, but it also prevents you using obsolete features (they produce a fatal error). - when a path follower hits an RTS node, the trigger is enabled. (UNTESTED) - new RTS ON_CONDITION: WALKING. Requires that the player is walking (moving and on the ground). Doesn't activate when swimming or flying. A number in () can be used to specify how fast the player is moving. - ON_CONDITION support for amounts with powerups e.g. POWERUP_PARTINVIS(10) which means 10 seconds or more remaining. - RESISTANCE_CLASS for DDF. Used the same way as IMMUNITY_CLASS, but the monster only suffers 40% of the original damage. - SPECIAL_MUSIC command for games.ddf. Specifies the music played during the cast parade and the bunny screen. - the console background is now a texture or flat called "CONSOLE". - new PRE.COLOURMAP and END.COLOURMAP commands for levels.ddf, changes the colour of the text in the finale screens. - new colourmap special WHITEN, used for fonts. Automatic when the colourmap begins with "TEXT_". - TIP_GRAPHIC supports scaling via fourth parameter, which is a value like 0.5, 1.0, 2.0. For example: TIP_GRAPHIC M_PAUSE 3 false 0.5 - CAST_TITLE command for things.ddf. Refers to an entry in LANGUAGES.DDF, and determines the monster's name in the DOOM II cast parade. We have English, French and Spanish translations so far. - the RTS command GOTOMAP now supports a "SKIP_ALL" keyword, placed after the map name, and causes the intermission stats and any pre/post text screens to be skipped. New console variables: ---------------------- LIGHTING \ Allow debugging OpenGL driver bugs. Each takes COLORMATERIAL | a boolean value (TRUE or FALSE). Some combinations VERTEXARRAYS / don't make sense (especially LI + no_CM + VA). DUMBSKY Use a simpler method for OpenGL sky drawing. (A few drivers have problems, e.g. Voodoo 3). New command-line options: ------------------------- -nolog Disables creation of EDGE.LOG file. -sound16 (Linux) Force using 16 bit sound. Default is to only switch to 16 bit when 8 bits is unavailable.