Newgamechoices (DEF)

From EDukeWiki
Revision as of 05:32, 2 November 2021 by Doom64hunter (talk | contribs) (third layer)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

newgamechoices { [...] }

When defined, overrides the standard Duke 3D episode selection menu with a customizable one.

Note that the behavior upon selecting a menu entry needs to be defined inside the event EVENT_NEWGAMECUSTOM.

Tokens

choice <value> { [...] }

Defines a menu entry, where <value> must start from 0 and indicates the display order. Can be nested to create submenus. A maximum of 7 display entries are allowed per submenu, with 3 layers of submenus being allowed. Must be defined in a contiguous sequence (i.e. no gaps in the order). If no submenu is defined, will directly move on to the Skill Level Selection.

name <text>
Required. Defines the name of the menu entry. This is the text that will be displayed ingame.
locked
Optional. Will make the menu entry inaccessible until the corresponding bit in newgamecustomopen for the top-layer menu, or newgamecustomsubopen for the submenu is set using CON scripts.
hidden
Optional. Will make the menu entry invisible until the corresponding bit in newgamecustomopen for the top-layer menu, or newgamecustomsubopen for the submenu is set using CON scripts.
usercontent
Optional. Makes the menu option transition directly to the usermap menu.

Examples

The following example recreates the Duke 3D menu, with a submenu for Episode 1, and two additional top-level menu entries World Tour and Plug N' Pray, which are locked and invisible respectively.

Note that without defining the behavior of the new menu using EVENT_NEWGAMECUSTOM , each option will simply restart the current map, or enter E1L1 if no map is active.

newgamechoices
{
   choice 0
   {
       name "L.A. Meltdown"
       choice 0
       {
           name "Hollywood Holocaust"
       }
       choice 1
       {
           name "Red Light District"
       }
       choice 2
       {
           name "Death Row"
       }
       choice 3
       {
           name "Toxic Dump"
       }
       choice 4
       {
           name "The Abyss"
       }
   }
   choice 1
   {
       name "Lunar Apocalypse"
   }
   choice 2
   {
       name "Shrapnel City"
   }
   choice 3
   {
       name "The Birth"
   }
   choice 4
   {
       name "World Tour"
       locked
   }
   choice 5
   {
       name "Plug N' Pray"
       hidden
   }
}