Difference between revisions of "Version history"

From 3DGE Wiki
Jump to: navigation, search
m (editing a bit of version history, will resume edits at a later time)
Line 16: Line 16:
 
'''EDGE 1.9 (March 8, 2000)'''
 
'''EDGE 1.9 (March 8, 2000)'''
 
* Type: Internal version, never released.
 
* Type: Internal version, never released.
<div style="background: #f2e0ce; border: 2px solid #bfb1a3; padding: 0.6em; margin-top: 0.8em;">
+
<div style="background: #cfc; border: 2px solid #bfb1a3; padding: 0.6em; margin-top: 0.8em;">
 +
'''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).</div>
 +
 
 +
<div style="background: #fcc; border: 2px solid #bfb1a3; padding: 0.6em; margin-top: 0.8em;">
 +
'''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:
  
'''New Features:'''
+
      GIVEARMOUR  [type]  [amount]
  * Able to accelerate the text stage of the final final.
+
  or
  * Able to have no weapon at all, you just run around with nothing in
+
      GIVEARMOUR  [type]  [amount]  [limit]
  front of you.
+
  * Flats drawn in OpenGL version.
+
The [type] is one of GREEN, BLUE, YELLOW or RED. The limit is now optional, it defaults to 200 when absent.
  * SPIT_SPOT= field for things.ddf, which defines the thing type where the SHOOT_TO_SPOT attack shoots to (for the MAP30 brain shooter).
+
 
 +
* 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).

Revision as of 01:01, 7 October 2014

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).

There are usually a TON of these before 3DGE hits a stable (and final) release. Early TEST versions are usually incompatible with STABLE releases, including savegames. Some are from different codebases altogether.

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.


VERSION HISTORY, EDGE

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).