// check for an installed mappack
alias mappack_version 0; alias mappack_maps ""; alias mappack_flagmaps ""
exec config/menus_mappack.cfg

// standard menu definitions

newmenu main

menuitem (_ "Multiplayer")	"showmenu multiplayer"
menuitem (_ "Singleplayer")			"showmenu singleplayer"
menuitem (_ "Settings")			"showmenu settings"
menuitem (_ "Demo")				[ showmenu "Play demo" ]
menuitem (_ "Editing") 			"showmenu editing"
menuitem (_ "Help")				"showmenu help"
menuitem (_ "About")			"showmenu about"
menuitem (_ "Quit")				"savequit"


// Start maps.

genmapitems = [
    alias n (listlen $arg1)
    loop i $n [
        alias listmapname (at $arg1 $i)
		menuitemmapload $listmapname 
        alias next (+ $i 1)
        if (= $next $n) [ alias next 0 ] []
        alias nextmap (at $arg1 $next)
        alias (concatword nextmap_ $listmapname) $nextmap
    ]
]
newmenu maps
// Add maps to the below list to include them in the normal map menu (also for botmaps).
// Don't add ac_depot_classic to the maps list.
alias defaultmaps "ac_aqueous ac_arabian ac_arctic ac_arid ac_complex ac_depot ac_desert ac_desert2 ac_desert3 ac_douze ac_elevation ac_gothic ac_iceroad ac_ingress ac_keller ac_mines ac_outpost ac_power ac_rattrap ac_scaffold ac_shine ac_snow ac_sunset ac_toxic ac_urban ac_werk"
genmapitems	$defaultmaps
menuitem	"" -1
// the following seems to be of the old-style thoughts of MP - flowtron: 2010may23 says: the different MPs should somehow list themselves thouh, yes.
// possibly a not defined internal script-file or we just generate from the know listing, which is well defined, the CGZ files and show them by code.
if (&& $mappack_version (listlen $mappack_maps)) [menuitem (concatword "Map-pack (version " $mappack_version ") maps...") [showmenu "mappack maps"]];
menuitem	"Show all maps..." [ showmenu "all maps" ]

newmenu "all maps"
menudirlist "packages/maps" "cgz" "map $arg1"


newmenu maps_flags 
// Add maps to the below list to include them in the CTF, KTF & TKTF map menu. Maps should contain flags here.
alias ctfmaps "ac_aqueous ac_arabian ac_arid ac_depot ac_desert3 ac_douze ac_elevation ac_gothic ac_iceroad ac_ingress ac_keller ac_mines ac_outpost ac_power ac_shine ac_sunset ac_urban ac_werk"
genmapitems $ctfmaps
menuitem "" -1
if (&& $mappack_version (listlen $mappack_flagmaps)) [menuitem (concatword "Map-pack (version " $mappack_version ") maps...") [showmenu "mappack flag maps"]];
menuitem "Show all maps.." [showmenu "all maps"]


if $mappack_version [
    newmenu "mappack maps"
    genmapitems $mappack_maps
    newmenu "mappack flag maps"
    genmapitems $mappack_flagmaps
]

newmenu Demo // If in-game (playing demos isn't needed)

menuitem "Start recording a demo"	"recorddemo"
menuitem "Stop recording a demo"	"stopdemo"
menuitem "Download demos from the server"	[ listdemos; showmenu "Download demo" ] // Lists the demos, then asks which would like to be downloaded.


newmenu "Download demo"
menuinit [ echo "4Choose the demo number you wish to download, as show below in the console." ]
menuitemtextinput "Demo number:  "	"" "alias dldemo $arg1"
menuitem "2	      [ Download ]		" "getdemo $dldemo"



newmenu "Play demo"	// If not in-game (recording/downloading demos isn't needed)
menuinit [ echo "To stop demo playback, type: 3/stopdemo" ]
menudirlist "demos/" "dmo" "demo $arg1"

// in-game menu that opens when pressing escape while watching a demo.
newmenu "Watching demo"
menuitem "Stop watching demo" "stopdemo"
menuitem "Restart demo" "demo $_demofile"
menuitem "Watch other demo" [stopdemo; closemenu "Watching demo"; showmenu "Play demo"]
menuitem "" -1
menuitem "4Main menu..."		[ closemenu "Watching demo"; showmenu main ]
menuitem "3Quit AssaultCube"		"savequit"

newmenu about

menuitem "AssaultCube v1.1" -1
menuitem "                     ...Help"		"showmenu help"
menuitem "                     ...Credits"	"showmenu Credits"
if $mappack_version [ menuitem "                     ...Map-pack credits" [ showmenu "about mappack" ]];
menuitem "" -1
menuitem "by 'Rabid Viper Productions'" "showmenu Credits"
menuitem "1http://assault.cubers.net/" -1			// URL's are colourised blue, like a hyperlink normally is...
menuitem "" -1
menuitem "AssaultCube is a total-conversion of the CUBE engine" -1
menuitem "...by Wouter 'Aardappel' van Oortmerssen, and others." -1
menuitem "1http://www.cubeengine.com/" -1
menuinitselection 2

newmenu help

menuitem "AssaultCube reference"	"showmenu reference"
menuitem "Search the reference"		[ showmenu "Reference search" ]
menuitem "Keyboard controls"			"showmenu controls"
menuitem "Demo tutorial" [tutstart 1]
menuitem "" -1
menuitem "...for further information/help see the README" "echo 2The readme can be found in the base AssaultCube directory."

newmenu "Reference search"
menuinit [ alias docsearchstring "" ]
menuitemtextinput "Search reference for:  "	"" "alias docsearchstring $arg1"
menuitem "2		  [ Search ]			" "docfind $docsearchstring"

exec config/creditmenu.cfg

// Show quit dialog if enabled
newmenu quit
menuitem "Yes, quit now" "quit"
menuitem "No" "showmenu "" "
menuitem "" -1
menuitemcheckbox "Don't ask next time: " "(= $askquit 0)" "askquit = (= $arg1 0)"

alias savequit [
    if (= $askquit 1) [ showmenu quit ] [ quit ]
]

// Create additional menus...
exec config/menus_bot.cfg
exec config/menus_edit.cfg
exec config/menus_settings.cfg
exec config/menus_multiplayer.cfg
exec config/favourites.cfg

