Editing EDF terrain reference

From Eternity Wiki
Jump to navigationJump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 22: Line 22:
  }
  }
===Explanation of Fields===
===Explanation of Fields===
*'''smallclass'''
*smallclass
:Default = No object will be spawned
:Default = No object will be spawned
:This field specifies the thingtype spawned by a low mass splash (objects of mass less than 10 cause low mass splashes if possible). If this field is unspecified or is an invalid thing type, low mass splash objects will not spawn for any terrain that uses this splash object.  
:This field specifies the thingtype spawned by a low mass splash (objects of mass less than 10 cause low mass splashes if possible). If this field is unspecified or is an invalid thing type, low mass splash objects will not spawn for any terrain that uses this splash object.  
*'''smallclip'''
*smallclip
:Default = 0
:Default = 0
:This field specifies an amount of floorclip in units to add to the low mass splash object. This allows use of objects that would otherwise look incorrect for low mass splashes by making them appear smaller. A typical value for this field is 12 units.  
:This field specifies an amount of floorclip in units to add to the low mass splash object. This allows use of objects that would otherwise look incorrect for low mass splashes by making them appear smaller. A typical value for this field is 12 units.  
*'''smallsound'''
*smallsound
:Default = "none"
:Default = "none"
:The sound specified in this field will be played by mnemonic whenever a low mass splash occurs, independent of whether a valid smallclass is defined. This means you should always define the smallsound field if sounds are desired, even if its value is the same as the sound field. Otherwise, no sound will be played for low mass splashes.  
:The sound specified in this field will be played by mnemonic whenever a low mass splash occurs, independent of whether a valid smallclass is defined. This means you should always define the smallsound field if sounds are desired, even if its value is the same as the sound field. Otherwise, no sound will be played for low mass splashes.  
*'''baseclass'''
*baseclass
:Default = No object will be spawned
:Default = No object will be spawned
:This field specifies the thingtype spawned as the base of a normal splash. If this field is unspecified or is an invalid thing type, no splash base will be spawned for any terrain that uses this splash object.  
:This field specifies the thingtype spawned as the base of a normal splash. If this field is unspecified or is an invalid thing type, no splash base will be spawned for any terrain that uses this splash object.  
*'''chunkclass'''
*chunkclass
:Default = No object will be spawned
:Default = No object will be spawned
:This field specifies the thingtype spawned as a chunk thrown upward from the point of a normal splash. The velocities given to this object when spawned are randomized and are customized via the chunk?velshift and chunkbasezvel fields below. If this field is unspecified or is an invalid thing type, no splash chunk will be spawned for any terrain that uses this splash object.  
:This field specifies the thingtype spawned as a chunk thrown upward from the point of a normal splash. The velocities given to this object when spawned are randomized and are customized via the chunk?velshift and chunkbasezvel fields below. If this field is unspecified or is an invalid thing type, no splash chunk will be spawned for any terrain that uses this splash object.  
*'''sound'''
*sound
:Default = "none"
:Default = "none"
:The sound specified in this field will be played by mnemonic whenever a normal splash occurs, independent of whether a valid baseclass or chunkclass is defined.  
:The sound specified in this field will be played by mnemonic whenever a normal splash occurs, independent of whether a valid baseclass or chunkclass is defined.  
*'''chunkxvelshift'''
*chunkxvelshift
:Default = -1
:Default = -1
:When set to a positive value, this field indicates a value 2^N by which to multiply a randomized number used as the x axis velocity of the splash chunk object. When set to -1, the splash chunk will be given no x velocity.  
:When set to a positive value, this field indicates a value 2^N by which to multiply a randomized number used as the x axis velocity of the splash chunk object. When set to -1, the splash chunk will be given no x velocity.  
*'''chunkyvelshift'''
*chunkyvelshift
:Default = -1
:Default = -1
:When set to a positive value, this field indicates a value 2^N by which to multiply a randomized number used as the y axis velocity of the splash chunk object. When set to -1, the splash chunk will be given no y velocity.  
:When set to a positive value, this field indicates a value 2^N by which to multiply a randomized number used as the y axis velocity of the splash chunk object. When set to -1, the splash chunk will be given no y velocity.  
*'''chunkzvelshift'''
*chunkzvelshift
:Default = -1
:Default = -1
:When set to a positive value, this field indicates a value 2^N by which to multiply a randomized number which is added to the chunkbasezvel, the sum of which becomes the z velocity of the splash chunk object. When set to -1, no randomized addend will be used.  
:When set to a positive value, this field indicates a value 2^N by which to multiply a randomized number which is added to the chunkbasezvel, the sum of which becomes the z velocity of the splash chunk object. When set to -1, no randomized addend will be used.  
*'''chunkbasezvel'''
*chunkbasezvel
:Default = 0
:Default = 0
:When set to a positive value, this field indicates a base amount of z velocity to apply to the splash chunk object. The randomized value determined by chunkzvelshift is then added to this base amount of velocity. If set to zero while the chunkzvelshift value is set to -1, the splash chunk object will be given no z velocity.
:When set to a positive value, this field indicates a base amount of z velocity to apply to the splash chunk object. The randomized value determined by chunkzvelshift is then added to this base amount of velocity. If set to zero while the chunkzvelshift value is set to -1, the splash chunk object will be given no z velocity.
Line 65: Line 65:
  splash Water
  splash Water
  {
  {
   smallclass EETerrainWaterBase
   smallclass = EETerrainWaterBase
   smallclip  12
   smallclip  = 12
   smallsound eedrip
   smallsound = eedrip
    
    
   baseclass  EETerrainWaterBase
   baseclass  = EETerrainWaterBase
   chunkclass EETerrainWaterSplash
   chunkclass = EETerrainWaterSplash
   sound      gloop   
   sound      = gloop   
    
    
   chunkxvelshift 8
   chunkxvelshift = 8
   chunkyvelshift 8
   chunkyvelshift = 8
   chunkzvelshift 8
   chunkzvelshift = 8
   chunkbasezvel  2
   chunkbasezvel  = 2
  }
  }


Line 102: Line 102:
  }
  }
===Explanation of Fields===
===Explanation of Fields===
*'''splash'''
*splash
:Default = No splash is used by this terrain
:Default = No splash is used by this terrain
:This field specifies what splash object, if any, to use when objects strike a floor using a flat that is associated with this terrain object.  
:This field specifies what splash object, if any, to use when objects strike a floor using a flat that is associated with this terrain object.  
*'''damageamount'''
*damageamount
:Default = 0
:Default = 0
:This field specifies the amount of damage this terrain inflicts on players at each damage opportunity (determined by the damagetimemask field below). If this field is zero, no damage will be inflicted.  
:This field specifies the amount of damage this terrain inflicts on players at each damage opportunity (determined by the damagetimemask field below). If this field is zero, no damage will be inflicted.  
*'''damagetype'''
*damagetype
:Default = "UNKNOWN"
:Default = "UNKNOWN"
:Defines the Means of Damage flag used when this terrain damages a player. Values of interest to terrain are typically SLIME and LAVA. Eventually, LAVA will cause thing types which define a special flaming death frame to enter that frame. Please keep this in mind for forward compatbility. Other values for the Means of Death flag can be found in the thingtype section.  
:Defines the Means of Damage flag used when this terrain damages a player. Values of interest to terrain are typically SLIME and LAVA. Eventually, LAVA will cause thing types which define a special flaming death frame to enter that frame. Please keep this in mind for forward compatbility. Other values for the Means of Death flag can be found in the thingtype section.  
*'''damagetimemask'''
*damagetimemask
:Default = 0
:Default = 0
:Sets the interval at which this terrain will inflict damage on players. This value is applied as a mask to the current level time, so to be most meaningful, this value must be a power of two minus one. A few valid values are 1, 3, 7, 15, and 31. Most DOOM nukage sectors use a mask of 31 as an example, and thus damage the player every 32 gametics, or approximately once per second.  
:Sets the interval at which this terrain will inflict damage on players. This value is applied as a mask to the current level time, so to be most meaningful, this value must be a power of two minus one. A few valid values are 1, 3, 7, 15, and 31. Most DOOM nukage sectors use a mask of 31 as an example, and thus damage the player every 32 gametics, or approximately once per second.  
*'''footclip'''
*footclip
:Default = 0
:Default = 0
:This value defines the amount of footclip in units that this terrain applies to objects standing on it that have the flags2 bit FOOTCLIP set in their options. A footclip of zero means no footclipping is applied. Some special objects may set their own footclip values and thus may not be affected by terrain footclipping in any case. Footclipping is generally only proper for liquid terrain.  
:This value defines the amount of footclip in units that this terrain applies to objects standing on it that have the flags2 bit FOOTCLIP set in their options. A footclip of zero means no footclipping is applied. Some special objects may set their own footclip values and thus may not be affected by terrain footclipping in any case. Footclipping is generally only proper for liquid terrain.  
*'''liquid'''
*liquid
:Default = false
:Default = false
:Specifies whether or not this terrain is liquid. Currently the only effect controlled by this field is suppressing player "oof" sounds when landing on liquid terrains, under the assumption that a splash sound will playing instead. In the future, certain special Heretic objects will react specially to liquid terrain.  
:Specifies whether or not this terrain is liquid. Currently the only effect controlled by this field is suppressing player "oof" sounds when landing on liquid terrains, under the assumption that a splash sound will playing instead. In the future, certain special Heretic objects will react specially to liquid terrain.  
*'''splashalert'''
*splashalert
:Default = false
:Default = false
:Specifies whether or not this terrain causes a noise alert to propagate when a player hits a floor using this terrain. Setting this field to true means that a player hitting the given floors will cause enemies to awaken and begin chasing him. By default, DOOM terrain types do not do this, and Heretic terrain types do.  
:Specifies whether or not this terrain causes a noise alert to propagate when a player hits a floor using this terrain. Setting this field to true means that a player hitting the given floors will cause enemies to awaken and begin chasing him. By default, DOOM terrain types do not do this, and Heretic terrain types do.  
*'''useptclcolors'''
*useptclcolors
:Default = false
:Default = false
:When set to true, this terrain object wants to use customized particle colors when gunshots and certain other effects strike the floor or ceiling of a sector using a flat with which this terrain is associated. Terrains which set this value to false will have their ptclcolor1 and ptclcolor2 fields ignored and will use the default gray bullet puff effects.  
:When set to true, this terrain object wants to use customized particle colors when gunshots and certain other effects strike the floor or ceiling of a sector using a flat with which this terrain is associated. Terrains which set this value to false will have their ptclcolor1 and ptclcolor2 fields ignored and will use the default gray bullet puff effects.  
*'''ptclcolor1'''
*ptclcolor1
:Default = 0
:Default = 0
:This field may specify either a raw palette index from 0 to 255, or an RGB triplet string in the format "r g b", with each of r, g, and b being a number from 0 to 255. When an RGB triplet is specified, EDF will attempt to match the specified color to the closest color in the game's main palette. If no suitable match can be found, color zero will end up being chosen. For terrain effects that must work across multiple games, you should always utilize RGB triplets. Otherwise, palette indices are more accurate. This value is ignored if useptclcolors is false for this terrain object. This color is typically the darker of the two particle colors used for terrain effects.  
:This field may specify either a raw palette index from 0 to 255, or an RGB triplet string in the format "r g b", with each of r, g, and b being a number from 0 to 255. When an RGB triplet is specified, EDF will attempt to match the specified color to the closest color in the game's main palette. If no suitable match can be found, color zero will end up being chosen. For terrain effects that must work across multiple games, you should always utilize RGB triplets. Otherwise, palette indices are more accurate. This value is ignored if useptclcolors is false for this terrain object. This color is typically the darker of the two particle colors used for terrain effects.  
*'''ptclcolor2'''
*ptclcolor2
:Default = 0
:Default = 0
:This field may specify either a raw palette index from 0 to 255, or an RGB triplet string in the format "r g b", with each of r, g, and b being a number from 0 to 255. When an RGB triplet is specified, EDF will attempt to match the specified color to the closest color in the game's main palette. If no suitable match can be found, color zero will end up being chosen. For terrain effects that must work across multiple games, you should always utilize RGB triplets. Otherwise, palette indices are more accurate. This value is ignored if useptclcolors is false for this terrain object. This color is typically the lighter of the two particle colors used for terrain effects.  
:This field may specify either a raw palette index from 0 to 255, or an RGB triplet string in the format "r g b", with each of r, g, and b being a number from 0 to 255. When an RGB triplet is specified, EDF will attempt to match the specified color to the closest color in the game's main palette. If no suitable match can be found, color zero will end up being chosen. For terrain effects that must work across multiple games, you should always utilize RGB triplets. Otherwise, palette indices are more accurate. This value is ignored if useptclcolors is false for this terrain object. This color is typically the lighter of the two particle colors used for terrain effects.  
*'''minversion'''
*minversion
:Default = 0
:Default = 0
:This field controls the minimum demo version in which this terrain object is usable. This field is unnecessary for the majority of user-created terrain objects, and this value should not be edited in the default terrain objects, neither via overriding nor terraindeltas, if your project is meant to function in the presence of old demos. minversion for the default objects is the first Eternity Engine version in which that terrain appeared.
:This field controls the minimum demo version in which this terrain object is usable. This field is unnecessary for the majority of user-created terrain objects, and this value should not be edited in the default terrain objects, neither via overriding nor terraindeltas, if your project is meant to function in the presence of old demos. minversion for the default objects is the first Eternity Engine version in which that terrain appeared.
Line 146: Line 146:
  terrain Water
  terrain Water
  {
  {
   splash  Water
   splash  = Water
   footclip 10
   footclip = 10
   liquid  true
   liquid  = true
    
    
   useptclcolors true
   useptclcolors = true
   ptclcolor1    "127 127 255"
   ptclcolor1    = "127 127 255"
   ptclcolor2    "0 0 255"
   ptclcolor2    = "0 0 255"
    
    
   minversion = 329
   minversion = 329
Line 162: Line 162:
  terrain SuperDeadly
  terrain SuperDeadly
  {
  {
   damageamount  10000  // inflict telefrag damage
   damageamount  = 10000  // inflict telefrag damage
   damagetype    LAVA  // use LAVA MOD
   damagetype    = LAVA  // use LAVA MOD
   damagetimemask 1      // inflict damage more or less constantly
   damagetimemask = 1      // inflict damage more or less constantly
  }
  }


Line 179: Line 179:
  }
  }
===Explanation of Fields===
===Explanation of Fields===
*'''flat'''
*flat
:Default = "none"
:Default = "none"
:This field determines the flat to which this floor object's terrain is applied. If a terrain has already been applied to this flat, the terrain specified in this object will override the previous definition. This field need not refer to a valid flat name. No error will occur if the flat specified does not exist; this object will simply have no effect. However, the string specified in this field must be no longer than eight characters or an error will occur.  
:This field determines the flat to which this floor object's terrain is applied. If a terrain has already been applied to this flat, the terrain specified in this object will override the previous definition. This field need not refer to a valid flat name. No error will occur if the flat specified does not exist; this object will simply have no effect. However, the string specified in this field must be no longer than eight characters or an error will occur.  
*'''terrain'''
*terrain
:Default = Solid
:Default = Solid
:This field specifies the mnemonic of the terrain to associate with the flat named in this floor object. As mentioned in the terrain section above, the default Solid terrain type is defined by the game engine. By default, all floors are associated with the Solid terrain. The terrain mnemonic need not be a valid terrain. If it is invalid, a warning will be issued to the verbose EDF log file and the floor object will be modified to use the Solid terrain object.  
:This field specifies the mnemonic of the terrain to associate with the flat named in this floor object. As mentioned in the terrain section above, the default Solid terrain type is defined by the game engine. By default, all floors are associated with the Solid terrain. The terrain mnemonic need not be a valid terrain. If it is invalid, a warning will be issued to the verbose EDF log file and the floor object will be modified to use the Solid terrain object.  
===Full Example===
===Full Example===
  // A couple of the floor objects defined for DOOM in terrain.edf:
  // A couple of the floor objects defined for DOOM in terrain.edf:
  floor { flat FWATER1; terrain Water }
  floor { flat = FWATER1; terrain = Water }
  floor { flat LAVA1;  terrain Lava  }
  floor { flat = LAVA1;  terrain = Lava  }


==TERTYPES Lump Processing==
==TERTYPES Lump Processing==
As of 3.39.20 TERTYPES lumps are no longer processed.
As of 3.39.20 TERTYPES lumps are no longer processed.
[[category:EDF]]
[[category:EDF]]
Please note that all contributions to Eternity Wiki are considered to be released under the GNU Free Documentation License 1.2 (see Eternity Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)

Template used on this page: