Menus
The ZDoom menus emulate closely the menus of the selected game, but have a number of additional features.
To bring up the main menu from within the game, hit the "Escape" key. Menus can also be opened from the console; the most important menus have a dedicated console command to open them; but all menus can be opened with the openmenu command by using their MENUDEF name.
For example, the Miscellaneous options menu does not have a dedicated console command, but it can be opened from the console with the command openmenu MiscOptions. For another example, the Mouse options menu does have a dedicated console command (menu_mouse), so it can be opened from the console either with menu_mouse or with openmenu mouseoptions.
When the menu system is entered, the first menu opened is the "root" menu. From this root menu, submenus can be opened; hitting the "Escape" key leaves the current menu and goes back up a level to the previous. Leaving the root menu returns you to the game.
With mouse support, the mouse's "back" button can be used as well, if any; or optionally a "back" button can be shown in a corner of the screen.
Most of the menus are submenus of the options menu; they are a user-friendly interface to modifying console variables or executing console commands. In the pages describing them, the name of the console variable or command is indicated in italics after the name of the menu entry.
Menus can be modified with the MENUDEF lump. Note, however, that several menus have content that is generated automatically; for example the new game menus depends on the content of MAPINFO and KEYCONF. Note also that some of the menus cannot be changed at all.
Entirely new menus can be created in ZScript based on the Menu class.
Menu hierarchy
The general menu hierarchy, with a few differences depending on the game, is as thus:
- Main menu
In Blasphemer.
In Chex Quest.
In Chex Quest 3.
In Freedoom.
In Hacx.
In Harmony.
In Heretic.
In Hexen.
In Plutonia.
In Shareware Doom.
In Strife.
In Urban Brawl.
Notes
- The Strife conversation system is actually a special menu.
- Entering the menus in single-player mode pauses the game; however it does not pause the renderer, so animated textures (for example) continue cycling through their animation.
- In multiplayer, menus do not pause the game.
- For a long time, the main menu order was inverted in ZDoom, with "Load game" and "Save game" directly under "New game"; whereas the original engines had "Options" in second position instead. For this reason, the menu order is different in Urban Brawl from the rest of the games. The inverted order can be obtained by putting swapmenu = true in the GameInfo definition of a mod.