Editing User:Altazimuth/EDF animation and switches

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 3: Line 3:
Eternity supports defining animations and switches through [[EDF]]. It also supports Hexen [[ANIMDEFS]] lumps with some ZDoom extensions, allowing cross-port mods to run on it. This article describes the EDF version. New Eternity features will be added in EDF in the future, while the ANIMDEFS lump support will be updated with the GZDoom-compatible features integrated into Eternity.
Eternity supports defining animations and switches through [[EDF]]. It also supports Hexen [[ANIMDEFS]] lumps with some ZDoom extensions, allowing cross-port mods to run on it. This article describes the EDF version. New Eternity features will be added in EDF in the future, while the ANIMDEFS lump support will be updated with the GZDoom-compatible features integrated into Eternity.


{{Backto|EDF}}
==Animations==
Animations in Eternity are of two types: Doom and Hexen. The Doom animations are similar to the ones from the binary [[ANIMATED]] lump, having a start and end texture in the sequence, whereas the Hexen animations (based on Hexen's ANIMDEFS definition) require you to specify each frame but allow finer control.
Animations in Eternity are of two types: Doom and Hexen. The Doom animations are similar to the ones from the binary [[ANIMATED]] lump, having a start and end texture in the sequence, whereas the Hexen animations (based on Hexen's ANIMDEFS definition) require you to specify each frame but allow finer control.


Line 12: Line 9:
Below are presented the two ways these animations can be defined in EDF.
Below are presented the two ways these animations can be defined in EDF.


===Doom animations===
{{Backto|EDF}}
 
==Doom animations==


====Syntax====
===Syntax===
  animation
  animation
  {
  {
Line 25: Line 24:
   flags <flags>
   flags <flags>
  }
  }
====Explanation====
===Explanation===
An Doom '''animation''' must have either '''flat''' or '''wall''' defined (but not both or neither). The choice of the keyword decides whether the animation is designated for floor/ceiling textures ('''flat''') or '''wall''' textures. Unlike vanilla Doom and Boom, Eternity normally allows you to interchange walls and flats, but this distinction is still useful if there are flats with the same name as wall textures. Most notably, the default Doom IWADs have STEP1 and STEP2 defined for both kinds of surfaces.
An Doom '''animation''' must have either '''flat''' or '''wall''' defined (but not both or neither). The choice of the keyword decides whether the animation is designated for floor/ceiling textures ('''flat''') or '''wall''' textures. Unlike vanilla Doom and Boom, Eternity normally allows you to interchange walls and flats, but this distinction is still useful if there are flats with the same name as wall textures. Most notably, the default Doom IWADs have STEP1 and STEP2 defined for both kinds of surfaces.


Line 32: Line 31:
'''Flags''' is optional and can only be '''SWIRL'''. When set, this causes the texture to spin like a liquid, using the effect introduced in [[SMMU]]. If you set '''SWIRL''', then '''lastpic''' and '''tics''' become optional, but you can also combine them. This is unlike the ANIMATED lump, which doesn't allow swirling textures to be combined with frame animations.
'''Flags''' is optional and can only be '''SWIRL'''. When set, this causes the texture to spin like a liquid, using the effect introduced in [[SMMU]]. If you set '''SWIRL''', then '''lastpic''' and '''tics''' become optional, but you can also combine them. This is unlike the ANIMATED lump, which doesn't allow swirling textures to be combined with frame animations.


====Examples====
===Examples===
  animation { flat WATER1 lastpic WATER8 tics 4 flags SWIRL } // swirling fast-rippling water
  animation { flat WATER1 lastpic WATER8 tics 4 flags SWIRL } // swirling fast-rippling water
  animation { wall WATRFAL1 lastpic WATRFAL4 tics 16 }        // slow wall waterfall
  animation { wall WATRFAL1 lastpic WATRFAL4 tics 16 }        // slow wall waterfall
Line 41: Line 40:
successfully modifies the ANIMATED nukage animation by giving it the swirling effect. The frame animation is preserved. To remove it, and keep only NUKAGE1 showing up, be sure to add "tics 0" in the definition.
successfully modifies the ANIMATED nukage animation by giving it the swirling effect. The frame animation is preserved. To remove it, and keep only NUKAGE1 showing up, be sure to add "tics 0" in the definition.


===Hexen animations===
==Hexen animations==


====Syntax====
===Syntax===
  animation
  animation
  {
  {
Line 57: Line 56:
  }
  }


====Explanation====
===Explanation===
For Hexen animations, '''flat''' or '''wall''' is still required, having the same role as in Doom animations. The actual animation however is defined by the several '''pic''' entries. Defining '''flat''' or '''wall''' is required because, unlike Doom animations which always define ranges, Hexen animations require the exact '''flat''' or '''wall''' texture to be applied in the map editor for the sector or sidedef to animate.
For Hexen animations, '''flat''' or '''wall''' is still required, having the same role as in Doom animations. The actual animation however is defined by the several '''pic''' entries. Defining '''flat''' or '''wall''' is required because, unlike Doom animations which always define ranges, Hexen animations require the exact '''flat''' or '''wall''' texture to be applied in the map editor for the sector or sidedef to animate.


Line 64: Line 63:
'''Flags''' is also supported for Hexen animations and once again it can only be '''SWIRL''' if specified. It can be applied globally to the animation or locally per '''pic'''.
'''Flags''' is also supported for Hexen animations and once again it can only be '''SWIRL''' if specified. It can be applied globally to the animation or locally per '''pic'''.


====Examples====
===Examples===
  animation  // Water with random duration frames
  animation  // Water with random duration frames
  {
  {
Line 90: Line 89:
   pic { name 2 }
   pic { name 2 }
  }
  }
==Switches==
Switches can be defined in EDF. You can also define switches with [[ANIMDEFS]] or [[SWITCHES]], but any new Eternity features will be added in EDF as they get developed.
They have the following syntax:
switch <name>
{
  on <texture>
  sound <mnemonic>
  offsound <mnemonic>
  gameindex <number>
}
===Explanation of fields===
The '''name''' field is the "off" texture of the switch, and is also used to identify the entry. Usually in Doom it has a name starting with SW1, like "SW1LION" in original Doom. The '''on''' field is the activated texture, starting in Doom usually with SW2, like SW2LION.
You can also give sounds to switches. The '''sound''' field, if specified, lets you set a custom sound to a switch. In addition, you can set '''offsound''' if you want an alternate sound to go from the '''on''' texture back to the '''name''' texture.
'''Gameindex''' is a compatibility setting from [[SWITCHES]] which declares if the switch is available for Doom shareware, Doom registered or Doom commercial. Not meaningful for mods, so you can ignore it.
===Example===
switch SW1LEVER { on SW2LEVER  sound clank  offsound lvreset }
 


[[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: