EDF game properties reference: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 60: Line 60:
==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 102: Line 103:
=====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.

Revision as of 11:51, 9 October 2020

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.