EDF game properties reference

From Eternity Wiki
Revision as of 13:52, 9 October 2020 by Printz (talk | contribs)
Jump to navigationJump to search

This unique block changes global game properties from established hardcoded defaults.

Structure

gameproperties
{
 flags.add <string>
 flags.remove <string>
 missionflags.add <string>
 missionflags.remove <string>
 demo.titletics <integer>
 demo.advisortics <integer>
 demo.pagetics <integer>
 menu.background <string>
 menu.transframe <string>
 menu.skvattacksound <string>
 menu.offset <integer>
 menu.pointer1 <string>
 menu.pointer2 <string>
 border.flat <string>
 border.topleft <string>
 border.top <string>
 border.topright <string>
 border.left <string>
 border.right <string>
 border.bottomleft <string>
 border.bottom <string>
 border.bottomright <string>
 console.charsperline <integer>
 console.bellsound <string>
 console.chatsound <string>
 console.backdrop <string>
 hud.pausepatch <string>
 game.pufftype <string>
 game.telefogtype <string>
 game.telefogheight <integer>
 game.telesound <string>
 game.thrustfactor <integer>
 game.defpclass <string>
 game.endgamefinaletype <string>
 game.skillammomultiplier <floating-point>
 game.monstermeleerange <value>
 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>
 blood.defaultnormal <string>
 blood.defaultrip <string>
 blood.defaultcrush <string>
}

Description

Flags

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.

List of flags

You can use the flags from the following categories:

Gameplay

These flags control gameplay physics:

  • CHASEFAST: accelerates all the Chase states of monsters on skill 5 and -fast like in Heretic.
  • HASMADMELEE: causes all monsters to fight each other when player dies in single player (like in Heretic).
  • LOSTSOULBOUNCE: for demo compatibility, decide whether lost souls should bounce on floors (normally it's a user or OPTIONS gameplay setting).
  • SKILL5RESPAWN: make monsters respawn on skill 5.
Game flow control

These flags don't control gameplay per se, but are important for player control and progression:

  • DOOMWEAPONOFFSET: setup weapon frame offset() attributes to render like in Doom. Necessary for Dehacked compatibility.
  • INVALWAYSOPEN: Inventory is always open (like Strife, but not Heretic).
  • MAPXY: use MAPxy map names by default. This implies that the -warp command-line parameter will expect one value, and any legacy features which depended on the ExMy vs. MAPxy arrangements will favour MAPxy.
  • NODIEHI: avoid playing the pdiehi (high) death sound.
  • SETENDOFGAME: Teleport_EndGame enables the cast finale.
Cosmetic

These flags control minor display differences between the games. Usually they're of limited use for mod authors, only relevant for the base game differences. Check this list if you have particular issues to solve in your mod:

  • CENTERHUDMSG: make messages always show in center. Typical with Heretic.
  • CHEATSOUND: make the menu sound when cheating.
  • HASADVISORY: display the advisory popup in the title screen. This means drawing an "ADVISOR" lump image at coordinates (4, 160) of a virtual 320x200 screen space, soon as the title screen appears.
  • HUDSTARTBARNAME: displays the automap level name and time relative to the status bar instead of at a hardcoded position.
  • IMPACTBLOOD: (unused). Projectiles causing blood on impact is a thingtype flag now.
  • MNBIGFONT: use big font for menu titles.
  • SAVESOUND: make a sound in save and load menus. This is a small interface detail.
  • SHADOWTITLES: adds shadows font effects to the titles in menus.
  • SKILL5WARNING: warn player if they want to start a new game on skill 5.
  • WOLFHACK: is subject to German-edition restriction on secret levels. Typical for Doom 2.

Internally preset flags

The games supported by Eternity start with the following flags preset:

Doom

Common to all variants: DOOMWEAPONOFFSET, HUDSTATBARNAME, SKILL5RESPAWN, SKILL5WARNING.

In addition, the following variants of Doom have extra flags:

  • shareware: NODIEHI
  • retail (Ultimate Doom): LOSTSOULBOUNCE
  • commercial (Doom II): MAPXY, SETENDOFGAME, WOLFHACK
Final Doom, the Xbox and the BFG edition versions also have LOSTSOULBOUNCE.
Heretic

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

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.

  • game.pufftype
The default hitscan puff when no EDF pufftype is specified. Defaults: BulletPuff (Doom), HereticStaffPuff (Heretic).
  • game.telefogtype
The teleportation fog thing type. Defaults: DoomTeleFog (Doom), HereticTeleFog (Heretic).
  • game.telefogheight
The distance of the telefog from the ground. Defaults: 0 (Doom), 32 (Heretic).
  • game.telesound
The teleportation sound. Defaults: telept (Doom), htelept (Heretic).
  • game.thrustfactor
The percentage of how much to thrust things based on damage. Defaults: 100 (Doom), 150 (Heretic).
  • game.defpclass
The default player class when starting a new game. Defaults: DoomMarine (Doom), Corvus (Heretic).
  • 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
Defaults: doom_credits (Doom I), text (Doom II), htic_credits (Heretic)
  • game.skillammomultiplier
Floating-point value for skill 1 and 5 ammo multiplier. Defaults: 2 (Doom), 1.5 (Heretic)
  • game.monstermeleerange
Mode to calculate melee range. Supported options are:
  • doom: range is 44 + radius(enemy)
  • raven: range is 64
Defaults: doom (Doom), raven (Heretic).
  • game.itemheight
Item pick-up height. Unlike expectations, the height is not thingtype's height, but this value. Defaults: 8.0 (Doom), 32.0 (Heretic).

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)