Editing EDF game properties 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 1: Line 1:
This unique block changes global game properties from established hardcoded defaults.
This unique block changes global game properties from established hardcoded defaults.
==Usage==
Simply add a block named <code>gameproperties { }</code> in your EDF lump, and set the items you want to change from the base game. If you have multiple such blocks in your EDF code, the last one will be considered.


The descriptions of the available fields are below.
==Structure==
==Structure==
  gameproperties
  gameproperties
  {
  {
   flags.add               <string>
   flags.add <string>
   flags.remove             <string>
   flags.remove <string>
   missionflags.add         <string>
   missionflags.add <string>
   missionflags.remove     <string>
   missionflags.remove <string>
   demo.titletics           <integer>
   demo.titletics <integer>
   demo.advisortics         <integer>
   demo.advisortics <integer>
   demo.pagetics           <integer>
   demo.pagetics <integer>
   menu.background         <string>
   menu.background <string>
   menu.transframe         <string>
   menu.transframe <string>
   menu.skvattacksound     <string>
   menu.skvattacksound <string>
   menu.offset             <integer>
   menu.offset <integer>
   menu.pointer1           <string>
   menu.pointer1 <string>
   menu.pointer2           <string>
   menu.pointer2 <string>
  menu.startmap            <string>
   border.flat <string>
   border.flat             <string>
   border.topleft <string>
   border.topleft           <string>
   border.top <string>
   border.top               <string>
   border.topright <string>
   border.topright         <string>
   border.left <string>
   border.left             <string>
   border.right <string>
   border.right             <string>
   border.bottomleft <string>
   border.bottomleft       <string>
   border.bottom <string>
   border.bottom           <string>
   border.bottomright <string>
   border.bottomright       <string>
   console.charsperline <integer>
   console.charsperline     <integer>
   console.bellsound <string>
   console.bellsound       <string>
   console.chatsound <string>
   console.chatsound       <string>
   console.backdrop <string>
   console.backdrop         <string>
   hud.pausepatch <string>
   hud.pausepatch           <string>
   game.pufftype <string>
  game.autoflightartifact  <string>
   game.telefogtype <string>
   game.pufftype           <string>
   game.telefogheight <integer>
   game.telefogtype         <string>
   game.telesound <string>
   game.telefogheight       <integer>
   game.thrustfactor <integer>
   game.telesound           <string>
   game.defpclass <string>
   game.thrustfactor       <integer>
   game.endgamefinaletype <string>
   game.defpclass           <string>
   game.endgamefinaletype   <string>
   game.skillammomultiplier <floating-point>
   game.skillammomultiplier <floating-point>
   game.monstermeleerange   <value>
   game.monstermeleerange <value>
   game.itemheight         <floating-point>
   game.itemheight <floating-point>
  finale.text.x <integer>
  finale.text.y <integer>
  castcall.title.y <integer>
  castcall.name.y <integer>
  intermission.pic <string>
  sound.defaultmusname <string>
  sound.defaultsndname <string>
  credit.background <string>
  credit.y <integer>
  credit.titlestep <integer>
  exit.endtextname <string>
   game.skillammomultiplier <number>
   game.skillammomultiplier <number>
  game.lookpitchup        <integer>
   blood.defaultnormal <string>
  game.lookpitchdown      <integer>
   blood.defaultrip <string>
  finale.text.x            <integer>
   blood.defaultcrush <string>
  finale.text.y            <integer>
  castcall.title.y        <integer>
  castcall.name.y          <integer>
  intermission.pic        <string>
  sound.defaultmusname    <string>
  sound.defaultsndname    <string>
  credit.background        <string>
  credit.y                <integer>
  credit.titlestep        <integer>
  exit.endtextname        <string>
   blood.defaultnormal     <string>
   blood.defaultrip         <string>
   blood.defaultcrush       <string>
  }
  }


==Description==
==Description==
===Flags===
===Flags===
'''flags.add''' and '''flags.remove'''
*'''flags.add''' and '''flags.remove'''
 
Adds or removes general gameplay flags from the default set. Group them using the usual syntax, separating them by | (vertical bar), + or "," (comma). For plus and comma, you need to surround all flags in quotes.
Adds or removes general gameplay flags from the default set. Group them using the usual syntax, separating them by | (vertical bar), + or "," (comma). For plus and comma, you need to surround all flags in quotes.
====List of flags====
====List of flags====
Line 110: Line 102:
=====Heretic=====
=====Heretic=====
For Heretic, the preset flags are: '''CENTERHUDMSG''', '''CHASEFAST''', '''CHEATSOUND''', '''HASADVISORY''', '''HASMADMELEE''', '''MNBIGFONT''', '''SAVESOUND''', '''SHADOWTITLES'''.
For Heretic, the preset flags are: '''CENTERHUDMSG''', '''CHASEFAST''', '''CHEATSOUND''', '''HASADVISORY''', '''HASMADMELEE''', '''MNBIGFONT''', '''SAVESOUND''', '''SHADOWTITLES'''.
===Mission flags===
'''missionflags.add''' and '''missionflags.remove'''
Adds or removes mission-specific flags. A mission is a variant of a game, such as how we have Ultimate Doom, Doom II, Final Doom etc. The available mission flags are:
====List of flags====
*'''ALLOWEXITTAG''': mission allows tagged normal exit lines.
*'''ALLOWSECRETTAG''': mission allows tagged secret exit lines.
*'''CONBACKTITLE''': use '''console.backdrop''' (settable here) instead of TITLEPIC for the console background.
*'''DEMOIFDEMO4''': fine control for DEMO4 lump's existence.
*'''DOOM2MISSIONS''': supports the Doom II mission packs.
*'''HASBETRAY''': has the "Betray" secret MAP33 level.
*'''NOGDHIGH''': BFG edition setup flag.
*'''NOTELEPORTZ''': preserves Z coordinate when teleporting, like in Final Doom. Only acts like this in vanilla/demo compatibility.
*'''WOLFNAMEHACKS''': override Wolfenstein secret level names.
====Mission-preset flags====
Those missions have the following flags set:
*Doom II: '''DOOM2MISSIONS'''
*Final Doom: '''DEMOIFDEMO4''', '''NOTELEPORTZ'''
*Xbox and BFG edition: '''DOOM2MISSIONS''', '''HASBETRAY''', '''NOGDHIGH''', '''WOLFNAMEHACKS'''
All other missions have 0 flags.
===Demo control===
*'''demo.titletics'''
:Time to show the title screen. Defaults: 170 (Doom I), 385 (Doom II), 210 (Heretic).
*'''demo.advisortics'''
:Time to show the advisory banner over the title screen. This adds up to the whole time the title pic is shown. Only nonzero default is 140 in Heretic.
*'''demo.pagetics'''
:Time to show the page between demos. Defaults: 385 (Doom), 200 (Heretic).
===Menu customization===
*'''menu.background'''
:The default menu background flat. Defaults: FLOOR4_6 (Doom), FLOOR16 (Heretic), CONS1_5 (HacX mission).
*'''menu.transframe'''
:Name of [[frame]] to use in the video menu translucency preview. Defaults: S_TBALL1 (Doom), S_MUMMYFX1_1 (Heretic).
*'''menu.skvattacksound'''
:Name of [[sound]] to play when simulating attacking in the skin viewer. Defaults: shotgn (Doom), gldhit (Heretic).
*'''menu.offset'''
:Vertical offset upwards to draw the menu. Defaults: 0 (Doom), 4 (Heretic).
*'''menu.pointer1''' and '''menu.pointer2'''
:Graphic patches to use for the menu selector. Defaults: M_SKULL1 and M_SKULL2 (Doom), M_SLCTR1 and M_SLCTR2 (Heretic).
*'''menu.startmap'''
:Map lump name to load when the new game menu item is selected. This will skip the menus for episode and skill level selection. Default: No default
===Border customization===
*'''border.flat'''
:The flat to use for the background around the status bar and when the view window is reduced. Defaults: FLOOR7_2 (Doom I), GRNROCK (Doom II), FLOOR04 (Heretic shareware), FLAT513 (Heretic full).
*'''border.topleft''', '''.top''', '''.topright''', '''.left''', '''.right''', '''.bottomleft''', '''.bottom''' and '''.bottomright'''
:Pictures to use for the border. Defaults: BRDR_TL, BRDR_T, BRDR_TR, BRDR_L, BRDR_R, BRDR_BL, BRDR_B and BRDR_BR (Doom); BORD** (Heretic), same suffixes.
===Console customization===
*'''console.charsperline'''
:Number of characters per line to display in console. Default: 40.
*'''console.bellsound'''
:The beep error sound to use from the console, such as when errors occur. Defaults: tink (Doom), ht_chat (Heretic).
*'''console.chatsound'''
:The sound to play when receiving messages from other players. Defaults: tink (Doom I), radio (Doom II), ht_chat (Heretic).
*'''console.backdrop'''
:The name of the graphics lump to display for the console. Defaults: TITLEPIC (Doom), TITLE (Heretic).
===Heads-up display===
*'''hud.pausepatch'''
:The name of the graphics lump to display for the pause banner. Defaults: M_PAUSE (Doom), PAUSED (Heretic).
===Gameplay===
These options are relevant for gameplay physics. See also the similar gameplay flags.
{|class="wikitable sortable"
! Name
! Description
! Doom default
! Heretic default
|-
||'''game.autoflightartifact'''||The artifact to use when commanding the player to fly up.||(none)||ArtiFly
|-
||'''game.lookpitchup'''<br>
'''game.lookpitchdown'''
||Set the player view pitch limits up and down respectively, in degrees. Valid values are between 0 and 45 inclusive, integer only.||45||32
|-
||'''game.pufftype'''||The default hitscan puff when no EDF [[pufftype]] is specified.||BulletPuff||HereticStaffPuff
|-
||'''game.telefogtype'''||The teleportation fog thing type.||DoomTeleFog||HereticTeleFog
|-
||'''game.telefogheight'''||The distance of the telefog from the ground.||0||32
|-
||'''game.telesound'''||The teleportation sound.||telept||htelept
|-
||'''game.thrustfactor'''||The percentage of how much to thrust things based on damage.||100||150
|-
||'''game.defpclass'''||The default player class when starting a new game.||DoomMarine||Corvus
|-
||'''game.endgamefinaletype'''||Default behavior for [[Teleport_EndGame]]. Supported options are:
:*text
:*doom_credits
:*doom_deimos
:*doom_bunny
:*doom_marine
:*htic_credits
:*htic_water
:*htic_demon
:*psx_udoom
:*psx_doom2
||doom_credits (Doom I), text (Doom II)||htic_credits
|-
||'''game.skillammomultiplier'''||Floating-point value for skill 1 and 5 ammo multiplier.||2||1.5
|-
||'''game.monstermeleerange'''||Mode to calculate melee range. Supported options are:
:*doom: range is 44 + radius(enemy)
:*raven: range is 64
||doom||raven
|-
||'''game.itemheight'''||Item pick-up height. Unlike expectations, the height is not thingtype's height, but this value.||8.0||32.0
|}
===Finale and intermission===
*'''finale.text.x''' and '''finale.text.y'''
:Finale text coordinates. Defaults: 10, 10 (Doom); 20, 5 (Heretic)
*'''castcall.title.y'''
:Cast call title Y. Default: 20
*'''castcall.name.y'''
:Cast call name Y. Default: 180
*'''intermission.pic'''
:Intermission backdrop. Default: INTERPIC
===Sound===
*'''sound.defaultmusname'''
:Default music to play if none specified. Defaults: e1m1 (Doom I and Heretic), runnin (Doom II)
*'''sound.defaultsndname'''
:Sound to play when the one specified in EDF is unavailable. Defaults: pistol (Doom), gldhit (Heretic)
*'''sound.titlemusic'''
:Title screen music. No default.
===Credits===
*'''credit.background'''
:Swirling flat to use in the Eternity credits background. Defaults: NUKAGE1 (Doom I), SLIME05 (Doom II), SLIME01 (Hacx mission), FLTWAWA1 (Heretic)
*'''credit.y'''
:Credits Y coordinate. Defaults: 20 (Doom), 8 (Heretic)
*'''credit.titlestep'''
:Y step for each line. Defaults: 12 (Doom), 8 (Heretic)
===ENDOOM===
*'''exit.endtextname'''
:Exit text lump. Defaults: ENDOOM (Doom), ENDTEXT (Heretic)
===Blood===
*'''blood.defaultnormal'''
:Thing type for the default blood splat. Defaults: DoomBlood (Doom), HereticBloodSplatter (Heretic)
*'''blood.defaultrip'''
:Thing type for the piercing RIP projectiles. Defaults: DoomBlood (Doom), HereticBlood (Heretic)
*'''blood.defaultcrush'''
:Thing type for the crushing ceiling blood. Defaults: DoomBlood (Doom), HereticBlood (Heretic)
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)