===========================================================================
Title                   : The Eternity Engine v3.39.20 "Resheph"
Filename                : ee3.39.20-win32p.zip                          
Release date            : 10/10/2010
Author                  : Team Eternity
                          James "Quasar" Haley and Stephen "SoM" McGranahan
Email Address           : haleyjd@hotmail.com
Other Files By Author   : ee3.39.20-src.zip 
                          ee3.39.20-edf.zip
                          ee3.39.20-win32.zip

Description             : The Eternity Engine is an advanced Doom source port
                          which uniquely combines a high compatibility rate 
                          with bleeding-edge editing and gameplay enhancements.
                          Eternity supports all versions of Doom, Doom II,
                          Final Doom, HACX, and the FreeDoom project, and it 
                          has in-progress support for Raven Software's Heretic
                          and Hexen.                          

Additional Credits to   : - GPL DOOM Source -
                          - Quake 2 Source -
                              id Software                          
                          - GPL Heretic and Hexen Source -
                              Raven Software
                          - DosDOOM -
                              Chi Hoang
                          - BOOM by TeamTNT -
                              Lee Killough
                              Jim Flynn
                              Rand Phares
                              Ty Halderman
                              Stan Gula
                          - MBF -
                              Lee Killough
                          - SMMU -
                          - Chocolate Doom -
                              Simon "fraggle" Howard
                          - PrBoom -
                              Colin Phipps
                              Florian Schulze
                          - PrBoom-Plus -
                              Andrey Budko
                          - ZDoom -
                              Randy Heit
                              Graf Zahl
                          - libConfuse Parser Library -
                              Martin Hedenfalk
                          - snes_spc 0.9.0 Library
                              Shay Green
                          - DJGPP libc -
                              DJ Delorie et al.
                          - MinGW libc -
                              Matt Weinstein et al.
                          - SDL and Support Libraries -
                              Sam Lantinga et al.
                          - Small Scripting Language -
                              ITB CompuPhase
                          - Three-Band EQ and Rational-tanh Clipper -
                              Neil C / Etanza Systems
                              cschueler
                          - Start Map -
                              Derek Mac Donald
                          - Graphics - 
                              Sven "ptoing" Ruthner
                              Bob Satori
                              
                          
Special Thanks to       : Russel Rice
                          Joe Kennedy
                          Julian Aubourg
                          Anders Astrand
                          Joel Murdoch
                          SargeBaldy
                          esselfortium
                          CSonicGo
                          SnowKate
                          Lut
                          Gaston "Mordeth" Lahaut
                          Assmaster
                          Toke
                          DooMWiz
                          Nemesis
                          Carnevil
                          Cephaler
                          #zdoom
                          John Romero
                          Chris Rhinehart
                          James Monroe
                          

===========================================================================
* What is included *

New levels              : 1 (START Map)
Sounds                  : Yes
Music                   : No
Graphics                : Yes
Dehacked/BEX Patch      : No
Demos                   : No
Other                   : Yes (Required data and wad files)
Other files required    : DOOM, DOOM II, Final Doom, HACX, or Heretic 
                          IWAD(s)


* Construction *

Base                    : SMMU v3.21 / v3.30
Build Time              : Nine years and counting
Editor(s) used          : Visual Studio 6.0, Visual Studio 2008, UltraEdit-32,
                          Doom Builder
Known Bugs              : Too many to mention here, see below for more info
May Not Run With...     : Anything made for other source ports (duh...)


* Copyright / Permissions *

Authors MAY use the contents of this file as a base for modification or 
reuse, subject to the terms of the GNU General Public License which may be
found inside the file named "COPYING".  Permissions have been obtained from
original authors for any of their resources modified or included in this 
file.

You MAY distribute this file, subject to the terms of the GNU General Public
License.


* Where to get the file that this text file describes *

Web sites: http://eternity.mancubus.net/ee3.37.00-win32.zip
FTP sites: None

      
===========================================================================
* Disclaimer *

This software is covered by NO WARRANTY, implicit or otherwise, including
the implied warranties of merchantability and fitness for a particular
purpose. The authors of this software accept no responsibility for any ill
effects caused by its use and will not be held liable for any damages, 
even if they have been made aware of the possibility of such damages.

Bug reports and feature requests will be appreciated.

Please email haleyjd@hotmail.com with any concerns.


===========================================================================
* Features New to Version 3.39.20 *

These include some of the major features added in the latest version:
  
- Rendering Enhancements -

  * Flat / Texture interchangeability - you can now use flats on walls, and
    textures on floors and ceilings.  

  * Support for tall texture patches.

  * Missing textures, texture patches, and flats are now fully tolerated,
    and can be substituted with a runtime-generated texture.

  * Stable R_PointToAngle implementation allows vast maps to render
    correctly at all viewing angles.
        
  * Dynaseg splitting is now more consistent.
    
- Sound Engine Enhancements -

  * Realtime three-band equalizer added to allow low-pass filtering and
    bass boost effects.
    
  * Low-level sound engine now fully recognizes the configuration file's
    number of channels setting.
    
  * Client sounds made by the player or player weapons are given highest
    priority.
    
  * Volume limiting added to reduce clipping when sound channels are
    saturated.
  
- Gameplay Features -

  * -solo-net support for playing coop gamemode with one player
    from the command line.

  * Ability to load Nerve .disk files with -disk <file> <wad> command line
    parameter:
    EX:
    -disk doom2.disk nerve
    
    (If you do not know what this is for, do not ask ;)
    
  * IDCLEV will now allow you to warp to any valid ExMy or MAPxy map in the
    wad file.

  * Native Master Levels support - set master_levels_dir to the directory 
    where the files are at, and then use w_masterlevels to play.
    
  * Native support for HACX - Twitch 'n Kill v1.2 standalone IWAD.
    
- Menu Enhancements -

  * Rotating mini-skull pointers added to menus to replace diamonds.
  
  * Menu box widgets now make proper interface sounds.
  
  * Sync-critical variables can now be edited while demos are playing.
  
- Interface Enhancements -

  * Configurable HUD translucency with st_fsalpha cvar.
  
  * Keys added to fullscreen graphical HUD.
  
  * Version recognition/support for all FreeDoom IWADs.
  
  * Last IWAD chosen from the IWAD picker will be remembered.
      
  * Drop shadows added to all text boxes.
    
  * unbind command now requires the key class to be specified explicitly
    before it will release key actions in the menu or console class, to
    avoid problems with losing the ability to access the menus or console.
    
  * Support for mouse buttons 4 and 5.
  
  * Automap timer widget will move up if the levelname widget is too
    long for it to fit in the default location.      
      
- EDF 2.0 -

  * DECORATE state syntax now supported inside states heredoc field in
    thingtype definitions.
    
  * A_Jump pointer added for DECORATE state support.
  
  * All parameterized codepointers extended to accept DECORATE state
    labels wherever a global state name is also valid.

  * New thingtype flags:
    + SYNCHRONIZED - thing doesn't randomize its spawnstate tics
    + NORANDOMIZE  - missile doesn't randomize deathstate tics  

  * EDF 2.0 Semantic Changes:
    + TERTYPES lumps (old undocumented deprecated Eternity TC feature) are
      no longer processed.
    + stdinclude() used on any filepath that does not aim at a file called 
      root.edf" is considered deprecated. Including other EDFs under base/
      directly instead of via root.edf is no longer allowed.
    + include_prev() is no longer required in any lump, and is a no-op 
      function.
    + bexinclude() is still functional, but is not recommended for use. 
      DEHACKED lumps and GFS scripts are preferred for providing BEX 
      alongside mods which use EDF.
    + Namespace specifiers in action arguments (ex. thing:DoomImp) are 
      unnecessary and are now deprecated for use in new EDFs. They are
      still required/allowed for use in state misc fields.
    + '\f' characters are no longer allowed in EDF files/lumps.
    + EDF lumps are only allowed to include other lumps within the same
      wad or other physical archive, in order to obtain a well-defined 
      order of processing (oldest-to-newest) on all root and independent
      EDF lumps.
    + Independent EDF lumps (ETERRAIN, ESNDSEQ, etc) may now actually 
      contain any type of definitions, function calls, etc.
    + EDFROOT lumps are processed additively from oldest to newest.
    + Independent EDF lumps are processed additively from oldest to newest.
    + EDFs are now safe to include more than once. The EDF system will 
      never process a single source of input more than once.
    + "Default fallback" processing, the means by which some older broken
      EDFs which did not use stdinclude("root.edf") could still be 
      supported, no longer exists.
    + States (aka frames) are now fully additive entities and can be 
      defined by independent EDF lumps, even ones loaded via runtime 
      wadfile loading.
    + Sprites are now fully additive.
    + Sprites may be implicitly defined by states and are no longer 
      required to have appeared in the spritenames array. The spritenames
      array persists only to enforce a DeHackEd-compatible ordering on the
      original DOOM sprite names.
    + Argument evaluation for state action calls is now done at runtime.
    + States may now have duplicate DeHackEd numbers. The newest state 
      processed using a given DeHackEd number wins.
  
  * EDF logical warning output system added. Use -edf-show-warnings to 
    display EDF warnings at the system console window. They will also 
    appear in the verbose log file.

- Mapping -

  * ZDoom uncompressed node format is now supported for larger maps.

- Compatibility -

  * stretchsky now defaults to off.
  
  * Ability to record vanilla-format demos using -vanilla with -record.
    -longtics used in addition to these will record a v1.91 longtics
    demo.
    
  * Music code will now scan forward in lumps for the MUS header,
    allowing some broken wads which worked under vanilla DOOM to play
    music properly.
    
  * Improved support for BOOM/PrBoom 2.02 demos.
  
  * New compatibility variable comp_ninja controls emulation of previously
    undefined behavior when spawning players at certain deathmatch spots
    which caused the fog and sound to go away.
    
  * Version information is printed to the console when starting a demo.

- Optimizations -

  * File length retrieval no longer does a full fstat call.

  * Rehashing operations are much faster.
  
  * Metatable chain size limited to 400 KB per table.
  
  * Streamlined R_AddLine.
  
  * drawsegs_xrange optimization adapted from PrBoom-Plus saves up to 6
    frames per second in large levels such as Speed of Doom MAP28 via
    more efficient cache RAM usage.
    
  * Portable Z_Alloca now uses no additional memory or linked list 
    overhead.

- Misc -
 
  * d_fastrefresh console variable added to toggle unlatched drawing frame
    rate on or off.
    
  * SMMU "cooldemo" mode improved with a variety of random camera angles.
  
  * More stable exit behavior under error conditions.

===========================================================================      
* Coming Soon *

These are features planned to debut in future versions of the Eternity 
Engine:

- Priority -

  ** 100% Heretic support
  ** EDF Inventory/Weapons/Pickup system
  ** Aeon scripting system
  ** UDMF support
  Linked portals
  Portal texture overlays
  ExtraData sectors
  Flat rotation and scaling
  Double flats  
  More standard TerrainTypes
  Hubs
  
  ** == TOP PRIORITY

- Long-Term Goals -

  Hexen Support
  Strife Support
  Improved network code


===========================================================================
* Revision History *

3.39.20 "Resheph" -- 10/10/10

  Point release for additional HACX 1.2 support.

3.37.00 "Sekhmet" -- 01/01/10

  Big release after nearly a year of development time with some major 
  advancements, though many are behind-the-scenes improvements.

3.35.92 "Nekhbet" -- 03/22/09

  Minor maintenance release with numerous interface improvements, and a new
  EDF font specification system.

3.35.90 "Simorgh" -- 01/11/09

  It took two years and almost 450 SVN revisions to create this new
  incarnation of the Eternity Engine.

3.33.50 "Phoenix" -- 10/23/06

  Sad times have given way to happy ones as the energy to do great work
  has been unleashed.

3.33.33 "Paladin" -- 05/17/06

  The most work ever done for a single release possibly excepting only the
  port of v3.29 Gamma to Windows. We apologize for the delay, but it is
  well worth the wait.

3.33.02 "Warrior" -- 10/01/05

  A very respectable amount of progress hopefully offsets the terrible 
  delay experienced for this release. 3D object clipping improvement,
  new EDF TerrainTypes engine, and various EDF improvements are the
  most significant features.

3.33.01 "Outcast" -- 06/24/05

  Minor fixes, some user-requested and CQIII-needed features implemented,
  and HUD scripting functions for Small.

3.33.00 "Genesis" -- 05/26/05

  Small scripting finally complete and available to the user. Lots of
  fixes, tweaks, and feature additions on top of that.

3.31.10 "Delta" -- 01/19/05

  More Small support, ExtraData, global MapInfo, and tons of other new 
  features and bug fixes make this an extremely critical release.

3.31 Public Beta 7 04/11/04

  High resolution support enabled via generalization of the screen 
  drawing code. Some minor fixes to portals, and a new codepointer just 
  for good measure.

3.31 Public Beta 6 02/29/04

  A huge amount of progress toward all current goals for the engine.
  Portals, the brain child of SoM, are the major stars of this release.
  Small and ExtraData are on the verge of becoming available to users 
  for editing.

3.31 Public Beta 5 12/17/03

  Several minor bug fixes over beta 4, including 3D object clipping and
  file drag-and-drop. Incremental improvements to EDF and to several
  parameterized codepointers.

3.31 Public Beta 4 11/29/03

  Most effort put into improving EDF, largely via user feature requests.
  Major progress has been made toward working ExtraData as well. The
  Heretic status bar is now implemented.

3.31 Public Beta 3 08/08/03

  A long time in coming, and a ton of features to show for the delay.
  EDF steals the show for this release.

3.31 Public Beta 2 03/05/03

  New BFGs, object z clipping, movable 3DMidTex lines, tons more Heretic
  support, and some really nasty bugs fixed. Also first version to use
  SDL_mixer for better sound.

3.31 Public Beta 1 09/11/02

  Prelim. Heretic support, 3DMIDTEX flag, zdoom-style translucency, and
  some other stuff now in. And of course, bug fixes galore.

3.29 "Gamma" 07/04/02

  Final release for v3.29. Massive changes all over. First version to
  include Windows support. SoM is now co-programmer.

3.29 Development Beta 5 10/02/01

  Minor release to demonstrate dialog, primarily

3.29 Public Beta 4 06/30/01

  Fixed a good number of bugs once again. Improved portability with 
  Julian's help, major feature is working demo recording. See info below
  and changelog for more info, as usual.

3.29 Public Beta 3 05/10/01

  Fixed a large number of bugs, added several interesting features. See
  bug list below, and the changelog, for more information.

3.29 Public Beta 2 01/09/01

  Fixed mouse buttons - problem was leftover code in I_GetEvent() that
  caused the mouse button variables to never be asserted - code was
  unreachable because of an assignment of the variable 'buttons' to 
  'lastbuttons'.
  
3.29 Public Beta 1 01/08/01

  Initial Release


===========================================================================
* Bugs Fixed, Known Issues *

Bugs Fixed (since 3.37.00):

+ -devparm no longer crashes due to game starting out in GS_LEVEL gamestate

+ EV_ThingSpawn ACS function no longer accepts invalid ACS thingtype number
  256 (until UDMF enhancements are added).
  
+ cameras no longer attempt to think outside of GS_LEVEL gamestate if 
  certain camera variables are changed between levels.
  
+ Status bar is woken up for drawing by Wipe_Drawer.

+ Game border is woken up after screen wipe.

+ Status bar is woken up in G_DoLoadGame to prevent vanilla DOOM status
  bar hysterisis on collection of items after loading savegame.
  
+ Demos added from the command line can again by played by the playdemo
  console command.
  
+ P_VerifyBlockmap routine added to prevent crashes due to corrupt
  blockmap lumps found in numerous /idgames archive wads.
  
+ 2S linedefs are now properly height-clipped at both ends rather than at
  only one vertex.
  
+ Zone header is expanded dynamically to account for 64-bit pointer size.

+ Raised sectors with sky backdrops no longer display a single-pixel line
  of HOM at the bottom.
  
+ Deep water under skies repaired.

+ Vanilla DOOM illegal access of weaponinfo[wp_nochange] when voodoo dolls
  collect health during the same gametic as the player takes deadly 
  damage was eliminated.
  
+ Potential illegal accesses in V_CopyRect eliminated.

+ Player name and color settings are now remembered again.

+ Hexen mapthing Z coordinate works properly again.

+ Sector sound origin positioning now uses numerically stable calculation.

+ All menu widgets now set default values properly.

+ LevelInfo killfinale flag no longer causes the player to get stuck if it
  is used on an ExM8 level in DOOM.
  
+ Mouse motion events generated before startup are ignored again.

+ Access to freed memory in IWAD picker shutdown repaired.

+ Undefined strcpy behavior eliminated from the console.

+ Unchecked tokenizer overflows eliminated from the console.

+ Game is no longer set into GS_LEVEL too early.

+ Removed actors are given MF_NOBLOCKMAP and MF_NOSECTOR flags to prevent
  spurious relinking into the world when referenced by another actor or
  having additional code ran on them before the end of their thinking
  turn.
  
+ Minor memory leaks in some file path creation functions removed via use
  of M_StringAlloca.
  
+ Fixed potential BOOM memory corruption error in W_AddFile.

+ Memory leak of random sound lists when sound definitions were 
  overwritten by newer definitions of the same name repaired.

Known Issues in v3.39.20:

- Volume sliders may permanently affect desktop volume levels. This is due
  to bugs/limitations/oversights in SDL_mixer and NOT because of any
  problem inherent in Eternity.

- Network code is incomplete; game will desync if some settings differ
  between nodes, or if certain console commands are used at runtime.

- Particles are broken in low-detail mode.