EVENT NEWGAMECUSTOM: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Documentation for NEWGAMECUSTOM
 
m fixed links
Line 1: Line 1:
EVENT_NEWGAMECUSTOM is a [[EDuke32 event list|Game Event]].
EVENT_NEWGAMECUSTOM is a [[EDuke32 event list|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 [[DEF_Language#newgamechoices| newgamechoices]].
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_(DEF)| 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.
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 [[DEF_Language#newgamechoices]] and defines the logic to send the player to the proper level.
'''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
  appendevent EVENT_NEWGAMECUSTOM

Revision as of 03:19, 23 February 2020

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