Version history

From 3DGE Wiki
Revision as of 00:12, 10 October 2014 by Corbin (talk | contribs)

Jump to: navigation, search

This page tracks the evolution of DOSDoom, EDGE, and finally 3DGE by listing the main features of each version. Next to each is CHANGELOG, which shows the general changelog history in more detail.

By year 1997 · 1998 · 1999 · 2000 · 2001 · 2004 · 2007 · 2008 · 2009 · 2011 · 2013 · 2014
DOSDoom 0.10 · 0.20 · 0.30 · 0.301 · 0.40 · 0.41 · 0.45 · 0.46 · 0.47 · 0.50 · 0.61 · 0.64 · 0.65 · 0.653
EDGE 1.19 · 1.20 · 1.21 · 1.22 · 1.23 · 1.24 · 1.25-WIP · 1.26 · 1.27 · 1.28 · 1.28A · 1.29 · 1.29 Beta #1 · 1.29RC3 · 1.29RC4 · 1.29RC5 · 1.29RC6 · 1.31-Alpha1 · 1.31-Beta1 · 1.31-Beta2c · 1.31-RC1 · 1.31 · 1.32a · 1.32b · 1.32c · 1.34a-TEST · 1.34d-Hubby · 1.34-RC1c · 1.34 · 1.35rc1 · 1.35
3DGE (1.X) 1.35D · pre1.36 · 1.36A · 1.36B · 1.36C · 1.36D · 1.36E · 1.36F · 1.4A
Modern (2.0) Next version

Test Version

Test versions are builds usually designated with the prefix RC, for Release Candidate, TESTx, for TEST (x = number), or by Version Numberx (where x = version number).

Stable Version

Stable releases are usually the last in lineage (for instance, 1.36A-F, with F being "Final" and thus reaching "Stable"). These are the ones that are guaranteed to work as intended.

note: This article assumes releases in order: DosDOOM, EDGE, and finally 3DGE.

DOSDOOM VERSION HISTORY (1997-1999)

DosDOOM is relevant here because unlike the others, DosDOOM continued directly as EDGE and not as a fork. Many staples of EDGE, like DDF and RTS came directly from DOSDoom.

Trivia: The status bar stayed the same since DOSDoom and was only recently changed in 2014, with 3DGE 1.36F.

1997

DOSDOOM 0.1 (December 23, 1997)

  • Type: DOS release, adapted from Linux Doom
  • What's implemented:
 -mouse
 -keyboard
 -graphics
  • What's not implemented:
 -sound
 -networking

  • Programming Notes:
 -since this is a port of the unix version, it probably still looks for config
  data in .doomrc, not in default.cfg.  Actually, i havent tried, so i
  dunno for sure.
 -it took me 4-5 hours to port, half that time was spent tracking an
  incredibly stupid little bug (on my part).  Simply put, the program was
  printing to stdout (i.e.: printf) while in graphics mode and i couldnt
  figure out why the screen was scrolling
 -timer resolution is still only to 1/18.2 of a second, that may or may not
  make a difference.
 -almost all changes were made to i_*.c, but minor tweaks had to be made
  to other files.  Most of the new code was just ripped from other programs
  i wrote, except the scancode-to-ascii table which was from wolfenstein :)

{more to come}

EDGE VERSION HISTORY (2000-2011)

Since EDGE is the direct descendant (unlike BOOM or Doom Legacy) of DOSDoom, much of the features in EDGE derive from DosDOOM 0.653.

The following marks EDGE's version history, and download/source links as available. Changelogs were directly adapted from the old EDGE website.

2000

EDGE 1.9 (March 8, 2000)

  • Type: Internal version, never released.

New Features:

  • Able to accelerate the text stage of the final final.
  • Able to have no weapon at all, you just run around with nothing in front of you.
  • Flats drawn in OpenGL version.
  • SPIT_SPOT= field for things.ddf, which defines the thing type where the SHOOT_TO_SPOT attack shoots to (for the MAP30 brain shooter).

Features Removed / Changed:

  • removed NO_BRIGHT special in colmap.ddf.
  • removed LUMPEXISTS in lines.ddf and sectors.ddf.
  • removed LINK field in sounds.ddf.
  • COLOURMAP= and COLOURMAPLUMP= in lines.ddf and sectors.ddf are gone (use USE_COLOURMAP=[colmap-name] instead).
  • All weapon code pointers lost their "WEAPON_" prefix.
  • WEAPON_SPAWN() code pointer has become EJECT().
  • EJECT_ATTACK= in weapons.ddf sets default attack for EJECT func.
  • The -andymagic cmdline option is currently broken.
  • The [] headers in lines.ddf, sectors.ddf and playlist.ddf no longer need the colon `:', just the number, e.g. [123].
  • States in attacks.ddf, things.ddf and weapons.ddf have changed. Instead of SPAWN_STATES=XXX, the new syntax is STATES(SPAWN)=XXX. Thus "CHASING_STATES" becomes "STATES(CHASE)", PAINSTATES becomes STATES(PAIN), UPSTATE in weapons.ddf becomes STATES(UP), etc...
  • Extrafloors have changed. There are now three types: THICK, THIN, and LIQUID. The first two are solid, and cannot exist anywhere else that is also solid. LIQUID is just that, non-solid and can exist anywhere (e.g. below the real sectors floor). In keeping with that, the "FALL_THROUGH" special was removed, now you can only fall through LIQUID types (unless WATERWALKER comes into play).
  • The LDF file was renamed from "default.ldf" to "language.ldf", and the [DEFAULT] entry was renamed to [ENGLISH].
  • The DDF file "mission.ddf" was renamed to "games.ddf".
  • The DDF lump DDFMOBJ has been renamed to DDFTHING, and support the other names (DDFCNRY, DDFCRTR and DDITEM) have been removed.
  • All DDF files and lumps now need a "tag" near the top, before any entries beginning with []. This tag determines the type of the entries. For now, the tag must coincide with the filename. These are the supported tags:
     <ANIMATIONS>   <ATTACKS>   <COLOURMAPS>  <GAMES>
     <LANGUAGES>    <LEVELS>    <LINES>       <THINGS>
     <PLAYLISTS>    <SECTORS>   <SOUNDS>      <SWITCHES>
     <WEAPONS>
  • New benefit/backpack system. See the DDF docs for the full details, but in summary: the old fields (BENEFIT_TYPE, BENEFIT_AMOUNT, BENEFIT_LIMIT, BACKPACK_XXXX) have been replaced by a single field "PICKUP_BENEFIT" which contains a comma separated list of benefits to give to the player.
  • There are now four levels of armour: GREEN, BLUE, YELLOW and RED (from weakest to strongest). Green saves 33% of damage, as before, Blue saves 50% of damage, no change there either. The new ones well I need feedback on what their semantics should be. For now it is this: Yellow saves 75% of damage, and Red saves 90% of damage.
  • The format of the GIVEARMOUR RTS primitive has changed, it is now:
      GIVEARMOUR  [type]  [amount]
  or
      GIVEARMOUR  [type]  [amount]  [limit]

The [type] is one of GREEN, BLUE, YELLOW or RED. The limit is now optional, it defaults to 200 when absent.

  • For the HEALPLAYERS RTS primitive, like above the [limit] is optional and defaults to 200 health points. BTW, let me know if 100 would be a better default limit.
  • The SECTORV primitive in RTS has changed, but only when used on ceilings. The old way would subtract the value from the ceiling height. The new way adds the value to the ceiling height, it is now consistent with floors.
  • The initial ammo and ammo-limits for players is not longer fixed, the new method works just like the PICKUP_BENEFIT field, like this:
      INITIAL_BENEFIT = [benefit] , [benefit] , ... ;

You can give ammo and set ammo limits this way (used in things.ddf for the player things), but it is not limited to just ammo stuff (e.g. keys, powerups, more health/armour could be given too).

  • The initial weapon of a player is no longer hard-coded to "PISTOL". It will be the weapon with FREE=TRUE in weapons.ddf, and which has the highest priority. If there are no free weapons, you begin the game with no weapon at all.
  • The PALETTE_REMAP field of things.ddf has changed, it is no longer a number, now it is a colourmap name within colmap.ddf.
  • The VOLUME= field in sounds.ddf used to only be used with the now-defunct LINK feature. But now VOLUME= controls how much softer than normal the sound is played. 255 is normal value, 128 is half as quiet, and 1 would be barely audible. Values greater than 255 will make the sound louder than normal, but only upto a point. (Totally untested, no sound support in Linux yet).
  • In lines.ddf and ceilings.ddf, the fields that begin with "FLOOR_" and "CEILING_" (e.g. FLOOR_TYPE) now must begin with "FLOOR." and "CEILING." (e.g. FLOOR.TYPE). The dot is a separator, for example "FLOOR.TYPE" means the field `FLOOR' and the _subfield_ `TYPE'. It's hard to explain, the main benefit is to make our code smaller and more robust.
  • In levels.ddf, the fields that begin with "END" or "PRE" (e.g. PRETEXT) now have a dot after the END/PRE (e.g. PRE.TEXT). Same reason as above.
  • The following DDF fields have been renamed:
  anims.ddf:
    TICS -> SPEED
    ISTEXTURE=0 -> TYPE=FLAT
    ISTEXTURE=1 -> TYPE=TEXTURE
  switches.ddf:
    SWITCHON -> ON_TEXTURE
    SWITCHOFF -> OFF_TEXTURE
    SWITCHSOUND -> SOUND
  games.ddf:
    BACKGROUND -> INTERMISSION_GRAPHIC
    BACKGROUND_CAMERA -> INTERMISSION_CAMERA
    MUSIC -> INTERMISSION_MUSIC
    SPLAT -> SPLAT_GRAPHIC
    YAH# -> YAH#_GRAPHIC
    TITLE_PIC -> TITLE_GRAPHIC
    GRAPHIC_NAME -> NAME_GRAPHIC
  levels.ddf:
    GRAPHIC_NAME -> NAME_GRAPHIC
    ENDPIC -> END.GRAPHIC
    PREPIC -> PRE.GRAPHIC
    ENDPICWAIT -> END.GRAPHIC_WAIT
    PREPICWAIT -> PRE.GRAPHIC_WAIT
  • Default RTS scripts are now in the `edge.scr' file in the same directory as the DDF files. (i.e. no longer in edge.wad).

{more to come here}

3DGE VERSION HISTORY (2011-)

3DGE is the current iteration of DOSDoom and contains many features, changes, and improvements that wholly separate it from EDGE.

The following marks 3DGE's version history, and download/source links as available.

2011

3DGE 1.35D (April 11, 2011)

  • Type: Almost an exact copy of EDGE 1.35 with minor differences.