EVENT NEWGAMECUSTOM

From EDukeWiki
Revision as of 03:19, 23 February 2020 by Doom64hunter (talk | contribs) (fixed links)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

EVENT_NEWGAMECUSTOM is a Game Event.

This event is fired when a new game is started over the MENU_NEWGAMECUSTOM and MENU_NEWGAMECUSTOMSUB menus, as defined through DEF scripting, see newgamechoices.

It serves to define the logic using which the player is sent to the proper volume and level upon selecting a menu entry. The indices of the selected menu entries are hereby stored in the userdef.return array, where the entry at index 0 corresponding to the choice in the top-layer menu, and the entry at index 1 corresponding to the submenu choice. The latter is set to -1 if no submenu exists.

Example: The following example corresponds to the example given in Newgamechoices_(DEF) and defines the logic to send the player to the proper level.

appendevent EVENT_NEWGAMECUSTOM
   ife userdef.return 1 -1 // Case: no submenu
   {
       switch userdef.return 0
       case 1 setu[].m_volume_number 1 break // Lunar Apocalypse
       case 2 setu[].m_volume_number 2 break // Shrapnel City
       case 3 setu[].m_volume_number 3 break // The Birth
       default setu[].m_volume_number 0 break
       endswitch
       setu[].m_level_number 0 
   }
   else ife userdef.return 0 0 // Case: submenu at position 0 (L.A. Meltdown)
   {
       setu[].m_volume_number 0
       switch userdef.return 1
       case 0 setu[].m_level_number 0 break // Hollywood Holocaust
       case 1 setu[].m_level_number 1 break // Red Light District
       case 2 setu[].m_level_number 2 break // Death Row
       case 3 setu[].m_level_number 3 break // Toxic Dump
       case 4 setu[].m_level_number 4 break // The Abyss
       default setu[].m_level_number 0 break
       endswitch
   }
endevent