In Part III we will examine the non-ingame multi, demo, mod, connect and error_popmenu menus to see any special features they may contain.
The multi Menu
This menu is opened from the MULTIPLAYER button in the play menu and allows you to choose if you want to join an existing multiplayer game or start your own game. The joinbutton item is a button item whose action script closes the multi menu and opens the join menu, which is used to connect to an existing game. The createbutton item is a button item whose action script closes the multi menu and opens the createserver menu, which is used to create your own multiplayer game. There is also a BACK button item, backbutton, which closes the multi menu and opens the play menu, returning us to the previous menu.
The demo Menu
This menu is opened from the DEMO button in the play menu and allows you to play a prerecorded demo. The interesting things start in the onOpen command in the Overall Menu Information section. Here we see the uiScript LoadDemos command. This loads the appropriate list box feeder so we can see what demos are avalible for us to play. Without this command we would not see any demos listed in our list box.
The demoback and demotitle items are used to create a background for our list box and place a graphic title at the top of it.
The demolist item is the list box used to display the demos avalible. It uses the FEEDER_DEMOS feeder we primed earlier to get the demo names. Only demos with the .dm_68 extension will be displayed. It is a standard text list box with a shader background and a border. It contains the doubleClick script command which is run when you double click on any of the demos listed in the box.
close demo ;
uiScript RunDemo
The first thing we do in the script is to close this menu. This is probably not strictly necessary but we do it anyway. Then we execute the uiScript RunDemo command. This takes the demo we selected in the list box and loads and plays it.
The playbutton item is a button item whose action script duplicates the doubleClick script in the list box, since it does the exact same thing. The backbutton item is used to close this menu and open the play menu, returning us to the previous menu.
The mod Menu
This menu is opened from the MOD button in the play menu and allows you to play a game mod. The interesting things start in the onOpen command in the Overall Menu Information section. Here we see the uiScript LoadMods command. This loads the appropriate list box feeder so we can see what mods are avalible for us to play. Without this command we would not see any mods listed in our list box.
The modback and modtitle items are used to create a background for our list box and place a graphic title at the top of it.
The modlist item is the list box used to display the mods avalible. It uses the FEEDER_MODS feeder we primed earlier to get the mod names. It is a standard text list box with a shader background and a border. It contains the doubleClick script command which is run when you double click on any of the mods listed in the box.
close mod ;
uiScript RunMod
The first thing we do in the script is to close this menu. This is probably not strictly necessary but we do it anyway. Then we execute the uiScript RunMod command. This takes the mod we selected in the list box and runs it.
The playbutton item is a button item whose action script duplicates the doubleClick script in the list box, since it does the exact same thing. The backbutton item is used to close this menu and open the play menu, returning us to the previous menu.

The connect Menu
The connect menu is a very simple menu with one purpose - it is displayed on the screen while the program is starting to load a level and before the client displays its level loading graphics. This is one of those menus, like main or ingame, whose name is set by default but it can be changed in the assetGlobalDef section. See here to find out how. If you don't change the menu name then the program will look for the connect menu to display while it is getting ready to load the level.
The background for this menu is set in the Overall Menu Information section using the backcolor command to set a grey background color. The flake item places the Quake 3 snowflake in the center of the screen. You'll notice that the menu is not set to fullscreen but does cover the entire screen with its window. This is because the menu present when the program was asked to load the level is still displayed underneath the connect menu.
The error_popmenu Menu
This menu is used whenever the system encounters an error that it wishes to tell you about. This can occur when connecting to a game and at various other game creation times. If you do not have this menu defined you will end up at the main menu but none of the buttons will work. This menu is different than any other menu in that we can only exit from it using the ESC key. There is no EXIT button, although one could be used if desired.
One critical section of this menu is the onClose script. In it we execute the uiScript clearError command. This must be done when the menu closes in order to remove the error from the system and allow normal menu operation. The onEsc script simply closes this menu and opens the main menu, allowing us to resume normal operation.
The errorinfo item is used to display the error message on the screen. The error message is contained in the com_errorMessage cvar, which is displayed using normal text commands. Since the length of the error message is unknown we include the autowrapped command to ensure everything is shown.
The name of this menu is set by default when the program loads but it can be changed in the assetGlobalDef section. See here to find out how. If you don't change the menu name then the program will look for the error_popmenu menu to display whenever there is an error.
Part IV : Controls and Associated Menus
[Part I] [Part II] [Part III] [Part IV] [Part V] [Part VI] [Part VII] [Part VIII] [Part IX] [Part X]