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.