summaryrefslogtreecommitdiff
path: root/data/menus.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'data/menus.cfg')
-rw-r--r--data/menus.cfg2020
1 files changed, 2020 insertions, 0 deletions
diff --git a/data/menus.cfg b/data/menus.cfg
new file mode 100644
index 0000000..7fbdf38
--- /dev/null
+++ b/data/menus.cfg
@@ -0,0 +1,2020 @@
+// standard menu definitions
+// don't modify, add personal menus to autoexec.cfg instead
+
+// Only for testing. This will break stuff, delete config.cfg after use.
+reui = [exec data/menus.cfg; echo "Menus Reinitialized"]
+
+togglemainmenu = [
+ || (cleartexgui) [cleargui 1] [showgui main]
+]
+
+bind ESCAPE [togglemainmenu]
+
+checkrolloveraction = [
+ if (>= (strstr $guirolloveraction $arg1) 0) [
+ if (>= $numargs 2) [arg2] [result $guirolloveraction]
+ ]
+]
+
+chooseplayermodel = [guirolloveraction = (playermodelbutton $playermodel); showgui playermodel]
+
+newgui main [
+ guilist [
+ guiimage (concatword "packages/icons/" (playermodelicon) ".jpg") [chooseplayermodel] 1.15
+ guistrut 0.25
+ guilist [
+ newname = (getname)
+ guifield newname 15 [name $newname]
+ guispring
+ guilist [
+ guibutton (playermodelname) [chooseplayermodel] 0
+ guistrut 1
+ guiimage (getcrosshair) [showgui crosshair] 0.5
+ ]
+ ]
+ ]
+ guibar
+ guibutton "server browser.." "showgui servers"
+ if (isconnected) [
+ guibar
+ if (|| $editing (m_edit (getmode))) [
+ guibutton "editing.." "showgui editing"
+ ]
+ guibutton "vote game mode / map.." "showgui gamemode"
+ // guibutton "lanconnect"
+ // guibutton "connect localhost"
+ guibutton "switch team" [if (strcmp (getteam) "good") [team evil] [team good]]
+ guibutton "toggle spectator" [spectator (! (isspectator (getclientnum)))] "spectator"
+ guibutton "master.." [showgui master]
+ guibar
+ guibutton "options.." "showgui options"
+ guibutton "disconnect" "disconnect" "exit"
+ ] [
+ guibutton "bot match.." "showgui botmatch"
+ guibutton "campaign.." "showgui campaign"
+ guibar
+ guibutton "options.." "showgui options"
+ guibutton "about.." "showgui about"
+ guibutton "quit" "quit" "exit"
+ ]
+] 0
+
+newgui about [
+ guitext "Cube 2: Sauerbraten" 0
+ guitext [by Wouter "Aardappel" van Oortmerssen, Lee "eihrul" Salzman,] 0
+ guitext [Mike "Gilt" Dysart, Robert "baby-rabbit" Pointon,] 0
+ guitext [John "geartrooper" Siar, Quinton "Quin" Reeves, and others] 0
+ guitext "(for a full list of contributors see the readme)" 0
+ guitext "http://sauerbraten.org/" 0
+]
+
+genmapitems = [
+ looplist curmap $arg1 [
+ guibutton $curmap (concat map $curmap) "cube"
+ ]
+]
+//17
+
+ffamaps1 = "aard3c abyss academy access albatross akaritori akimiski alithia alloy antel anubis aod aqueducts arbana asenatra asthma averas"
+ffamaps2 = "awoken bvdm_01 carbide cartel castle_trap catacombs cavefire church51 clash collusion colony complex conflict corruption crypta curvedm curvy_castle"
+ffamaps3 = "darkdeath deathtek depot dirtndust dispute DM_BS1 dock dopamine douze duel5 duel7 duel8 dune elegy exist exo fallen"
+ffamaps4 = "fanatic_quake fdm6 ferguson force frag-lab frag2 fragplaza frostbyte frozen fubuki fury ghetto gorge gothic-df guacamole gubo hades"
+ffamaps5 = "hashi hator haze hdm3 headroom helligsted hektik hillfort hog2 horus idyll3 imhotep industry infernal injustice insipid island"
+ffamaps6 = "janela justice kalking1 kastro katrez_d kffa killfactory kmap5 konkuri-to ksauer1 legacy legazzo lost_soul lost_world lostinspace maple masdm"
+ffamaps7 = "mbt2 mbt9 mbt10 memento memoria metl2 metl3 metl4 mood moonlite neondevastation neonpanic nessus nmp8 nmp10 nucleus oasis"
+ffamaps8 = "oddworld ognjen ogrosupply oldschool orbe orion osiris ot outpost paradigm pariah park pgdm phosgene phrantic pitch_black powerplant"
+ffamaps9 = "purgatory refuge renegade rm1 rm5 roughinery ruby ruine saffier sandstorm sauerowalk sauerstruck sdm1 shadowed shindou shinmei1 shiva"
+ffamaps10 = "simplicity skrdm1 skycastle-r slingshot souls spcr2 stahlbox stemple stronghold suburb suisei tartech teahupoo tejen thetowers thor torment"
+ffamaps11 = "toxicity tumwalk turbine turmoil unworld unworld2 ventania waltz wake5 wdcd zamak zavial zdm2 ztn"
+capturemaps1 = "aastha abbey access akimiski akroseum alithia anubis aod arabic asenatra asgard asteroids averas bklyn c_egypt c_lone c_valley"
+capturemaps2 = "campo capture_night caribbean casa collide collusion core_refuge core_transfer corruption croma cwcastle damnation destiny dirtndust disc disruption donya"
+capturemaps3 = "duomo dust2 earthstation eris eternal_valley evilness face-capture fallen fb_capture fc3 fc4 fc5 forge fragnostic frostbyte fusion genesis"
+capturemaps4 = "ghetto gorge gothic-df hades hallo harbor haste hidden imhotep infamy infernal killcore3 kopenhagen laucin lostinspace luna mbt12"
+capturemaps5 = "mc-lab meltdown2 mercury metro monastery nevil_c new_energy nitro nmp4 nmp9 nucleus ogrosupply overdrive ow pandora paradigm pariah"
+capturemaps6 = "ph-capture pul1ctf reissen relic risk river_c river_keep ruby ruebli rust serenity skycastle-r snapper_rocks spcr stadium stronghold subterra"
+capturemaps7 = "suburb surge tempest tortuga triforts turbulence turmoil twinforts urban_c valhalla venice waltz xenon zamak"
+ctfmaps1 = "aastha abbey akimiski akroseum arbana asgard authentic autumn bad_moon berlin_wall bklyn breakout bt_falls campo capture_night casa catch22"
+ctfmaps2 = "collide core_refuge core_transfer croma ctf_suite daemex damnation desecration destiny disc disruption divine duomo dust2 earthsea earthstation enigma"
+ctfmaps3 = "eris eternal_valley europium evilness face-capture fire_keep flagstone forge forgotten fortress fragnostic fusion garden hallo harbor haste hidden"
+ctfmaps4 = "idris infamy kiryu kopenhagen l_ctf laucin luna mach2 mbt1 mbt4 mbt12 mc-lab meltdown2 mercury metro mill new_energy"
+ctfmaps5 = "nitro nucleus overdrive ow pandora pul1ctf ra recovery redemption regal reissen risk river_keep ruebli rust sacrifice shellshock2"
+ctfmaps6 = "shipwreck siberia snapper_rocks spcr stadium stronghold subterra suburb surge tatooine tectonic tejen tempest tortuga triforts tubes turbulence"
+ctfmaps7 = "twinforts unworld3 urban_c valhalla warlock wdcd xenon"
+conceptmaps = "box_demo canyon door_demo firstevermap ladder platform_demo sauerbraten secondevermap spiralz"
+spmaps = "mpsp6a mpsp6b mpsp6c mpsp9a mpsp9b mpsp9c mpsp10 lost level9 skrsp1 crnsp1"
+rpgmaps = "k_rpg1 rpg_01"
+allffamaps = (concat $ffamaps1 $ffamaps2 $ffamaps3 $ffamaps4 $ffamaps5 $ffamaps6 $ffamaps7 $ffamaps8 $ffamaps9 $ffamaps10 $ffamaps11)
+allcapturemaps = (concat $capturemaps1 $capturemaps2 $capturemaps3 $capturemaps4 $capturemaps5 $capturemaps6 $capturemaps7)
+allctfmaps = (concat $ctfmaps1 $ctfmaps2 $ctfmaps3 $ctfmaps4 $ctfmaps5 $ctfmaps6 $ctfmaps7)
+allmaps = (concat $allffamaps $allcapturemaps $allctfmaps $conceptmaps $spmaps $rpgmaps)
+
+guirollovername = ""
+guirolloveraction = ""
+guirolloverimgpath = ""
+guirolloverimgaction = ""
+guirolloverpreviewname = ""
+guirolloverpreviewaction = ""
+
+showmapshot = [
+ guibar
+ mname = (checkrolloveraction "map " [if (> $numargs 0) [result $arg1] [at $guirollovername 0]])
+ guilist [
+ guiimage (concatword "packages/base/" $mname ".jpg") (checkrolloveraction "map ") 4 1 "data/cube.png" $mname
+ ]
+]
+
+newgui maps [
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ffamaps1 ]
+ guilist [ guistrut 15 1; genmapitems $ffamaps2 ]
+ guilist [ guistrut 15 1; genmapitems $ffamaps3 ]
+ showmapshot
+ ]
+ guitab 2
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ffamaps4 ]
+ guilist [ guistrut 15 1; genmapitems $ffamaps5 ]
+ guilist [ guistrut 15 1; genmapitems $ffamaps6 ]
+ showmapshot
+ ]
+ guitab 3
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ffamaps7 ]
+ guilist [ guistrut 15 1; genmapitems $ffamaps8 ]
+ guilist [ guistrut 15 1; genmapitems $ffamaps9 ]
+ showmapshot
+ ]
+ guitab 4
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ffamaps10 ]
+ guilist [ guistrut 15 1; genmapitems $ffamaps11 ]
+ guilist [ guistrut 15 1 ]
+ showmapshot
+ ]
+ guitab capture
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $capturemaps1 ]
+ guilist [ guistrut 15 1; genmapitems $capturemaps2 ]
+ guilist [ guistrut 15 1; genmapitems $capturemaps3 ]
+ showmapshot
+ ]
+ guitab 2
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $capturemaps4 ]
+ guilist [ guistrut 15 1; genmapitems $capturemaps5 ]
+ guilist [ guistrut 15 1; genmapitems $capturemaps6 ]
+ showmapshot
+ ]
+ guitab 3
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $capturemaps7 ]
+ guilist [ guistrut 15 1 ]
+ guilist [ guistrut 15 1 ]
+ showmapshot
+ ]
+ guitab ctf
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ctfmaps1 ]
+ guilist [ guistrut 15 1; genmapitems $ctfmaps2 ]
+ guilist [ guistrut 15 1; genmapitems $ctfmaps3 ]
+ showmapshot
+ ]
+ guitab 2
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ctfmaps4 ]
+ guilist [ guistrut 15 1; genmapitems $ctfmaps5 ]
+ guilist [ guistrut 15 1; genmapitems $ctfmaps6 ]
+ showmapshot
+ ]
+ guitab 3
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ctfmaps7 ]
+ guilist [ guistrut 15 1 ]
+ guilist [ guistrut 15 1 ]
+ showmapshot
+ ]
+
+ guitab concept
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $conceptmaps ]
+ guilist [ guistrut 15 1 ]
+ guilist [ guistrut 15 1 ]
+ showmapshot
+ ]
+]
+
+newgui capturemaps [
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $capturemaps1 ]
+ guilist [ guistrut 15 1; genmapitems $capturemaps2 ]
+ guilist [ guistrut 15 1; genmapitems $capturemaps3 ]
+ showmapshot
+ ]
+ guitab 2
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $capturemaps4 ]
+ guilist [ guistrut 15 1; genmapitems $capturemaps5 ]
+ guilist [ guistrut 15 1; genmapitems $capturemaps6 ]
+ showmapshot
+ ]
+ guitab 3
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $capturemaps7 ]
+ guilist [ guistrut 15 1 ]
+ guilist [ guistrut 15 1 ]
+ showmapshot
+ ]
+] "capture maps"
+
+newgui ctfmaps [
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ctfmaps1 ]
+ guilist [ guistrut 15 1; genmapitems $ctfmaps2 ]
+ guilist [ guistrut 15 1; genmapitems $ctfmaps3 ]
+ showmapshot
+ ]
+ guitab 2
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ctfmaps4 ]
+ guilist [ guistrut 15 1; genmapitems $ctfmaps5 ]
+ guilist [ guistrut 15 1; genmapitems $ctfmaps6 ]
+ showmapshot
+ ]
+ guitab 3
+ guilist [
+ guistrut 17 1
+ guilist [ guistrut 15 1; genmapitems $ctfmaps7 ]
+ guilist [ guistrut 15 1 ]
+ guilist [ guistrut 15 1 ]
+ showmapshot
+ ]
+] "ctf maps"
+
+custommaps = ""
+newgui custommaps [
+ looplist curmap $custommaps [
+ guibutton $curmap (concat map $curmap) "cube"
+ ]
+] "custom maps"
+showcustommaps = [
+ custommaps = ""
+ loopfiles curmap "packages/base" "ogz" [
+ if (< (indexof $allmaps $curmap) 0) [
+ custommaps = (concat $custommaps (escape $curmap))
+ ]
+ ]
+ custommaps = (sortlist $custommaps x y [naturalsort $x $y])
+ showgui custommaps
+]
+macro playermodelbutton [cleargui 1; playermodel %1]
+
+newgui playermodel [
+ guilist [
+ guilist [
+ loop i $playermodelnum [
+ guibutton (playermodelname $i) (playermodelbutton $i) (playermodelicon $i)
+ ]
+ ]
+ guibar
+ pmidx = (substr $guirolloveraction (strlen (playermodelbutton "")))
+ pmidx = (max 0 (min (- $playermodelnum 1) $pmidx))
+ guilist [
+ guilist [
+ guispring
+ guiplayerpreview $pmidx 0 6 (checkrolloveraction "playermodel ") 4 1 (playermodelname $pmidx)
+ guispring
+ ]
+ guitextbox (playermodelstory $pmidx) 40 9
+ ]
+ ]
+]
+
+crosshairs = [
+"data/crosshair.png data/crosshair_hit.png"
+"packages/crosshairs/crosshair_0.png packages/crosshairs/crosshair_hit_0.png"
+"packages/crosshairs/crosshair_1.png packages/crosshairs/crosshair_hit_1.png"
+"packages/crosshairs/crosshair_2.png packages/crosshairs/crosshair_hit_2.png"
+"packages/crosshairs/crosshair_3.png packages/crosshairs/crosshair_hit_3.png"
+"packages/crosshairs/crosshair_4.png packages/crosshairs/crosshair_hit_4.png"
+"packages/crosshairs/crosshair_5.png packages/crosshairs/crosshair_hit_5.png"
+"packages/crosshairs/crosshair_6.png packages/crosshairs/crosshair_hit_6.png"
+"packages/crosshairs/crosshair_7.png packages/crosshairs/crosshair_hit_7.png"
+"packages/crosshairs/crosshair_8.png packages/crosshairs/crosshair_hit_8.png"
+"packages/crosshairs/crosshair_9.png packages/crosshairs/crosshair_hit_9.png"
+"packages/crosshairs/crosshair_10.png packages/crosshairs/crosshair_hit_10.png"
+"packages/crosshairs/crosshair_11.png packages/crosshairs/crosshair_hit_11.png"
+"packages/crosshairs/crosshair_12.png packages/crosshairs/crosshair_hit_12.png"
+"packages/crosshairs/crosshair_13.png packages/crosshairs/crosshair_hit_13.png"
+"packages/crosshairs/crosshair_14.png packages/crosshairs/crosshair_hit_14.png"
+"packages/crosshairs/crosshair_15.png packages/crosshairs/crosshair_hit_15.png"
+"packages/crosshairs/crosshair_16.png packages/crosshairs/crosshair_hit_16.png"
+"packages/crosshairs/crosshair_17.png packages/crosshairs/crosshair_hit_17.png"
+"packages/crosshairs/crosshair_18.png packages/crosshairs/crosshair_hit_18.png"
+"packages/crosshairs/crosshair_19.png packages/crosshairs/crosshair_hit_19.png"
+"packages/crosshairs/crosshair_20.png packages/crosshairs/crosshair_hit_20.png"
+"packages/crosshairs/crosshair_21.png packages/crosshairs/crosshair_hit_21.png"
+"packages/crosshairs/crosshair_22.png packages/crosshairs/crosshair_hit_22.png"
+"packages/crosshairs/crosshair_23.png packages/crosshairs/crosshair_hit_23.png"
+"packages/crosshairs/crosshair_24.png packages/crosshairs/crosshair_hit_24.png"
+"packages/crosshairs/crosshair_25.png packages/crosshairs/crosshair_hit_25.png"
+"packages/crosshairs/crosshair_26.png packages/crosshairs/crosshair_hit_26.png"
+]
+
+newgui crosshair [
+ guitext "crosshair size"
+ guislider crosshairsize
+ loop row (div (+ (listlen $crosshairs) 6) 7) [
+ guilist [
+ loop col 7 [
+ ch = (at $crosshairs (+ (* $row 7) $col))
+ if (!=s $ch "") [
+ guiimage (at $ch 0) [
+ cleargui 1
+ loadcrosshair @(at $ch 0) 0
+ loadcrosshair @(at $ch (if (> (listlen $ch) 1) 1 0)) 2
+ ] 0.5
+ ]
+ ]
+ ]
+ ]
+]
+
+newgui master [
+ guistayopen [
+ if (ismaster (getclientnum)) [
+ guibutton "relinquish master" "setmaster 0"
+ ] [
+ guibutton "claim master" "setmaster 1"
+ ]
+ guilist [
+ guitext "mastermode: "
+ mm = (getmastermode)
+ guiradio "open (0) " mm 0 "mastermode 0"
+ guiradio "veto (1) " mm 1 "mastermode 1"
+ guiradio "locked (2) " mm 2 "mastermode 2"
+ guiradio "private (3) " mm 3 "mastermode 3"
+ ]
+ guibar
+ looplist cn (listclients 0 0) [
+ guilist [
+ guitext (concatword (getclientname $cn) ": ") (getclienticon $cn)
+ guibutton "kick " [kick @cn]
+ guibutton "toggle spectator " [spectator @(= (isspectator $cn) 0) @cn]
+ if (m_teammode (getmode)) [
+ guibutton "switch team " [setteam @cn @(? (=s (getclientteam $cn) "good") "evil" "good")]
+ ]
+ if (ismaster $cn) [
+ guibutton "take master" [setmaster 0 @cn]
+ ] [
+ guibutton "give master" [setmaster 1 @cn]
+ ]
+ ]
+ ]
+ ]
+]
+
+botmatchcount = 5
+botmatchminskill = 50
+botmatchmaxskill = 100
+
+startbotmatch = [
+ if (isconnected 0 0) [
+ echo "You must disconnect from the current multiplayer game before starting a bot match."
+ ] [
+ loop i $botmatchcount [addbot (rnd (+ $botmatchmaxskill 1) $botmatchminskill)]
+ ]
+]
+
+newgui botmatch [
+ guitext "bot amount"
+ guislider botmatchcount 0 32
+ guitext "bot minimum skill"
+ guislider botmatchminskill 50 101 [if (< $botmatchmaxskill $botmatchminskill) [botmatchmaxskill = $botmatchminskill]]
+ guitext "bot maximum skill"
+ guislider botmatchmaxskill 50 101 [if (> $botmatchminskill $botmatchmaxskill) [botmatchminskill = $botmatchmaxskill]]
+ guibutton "start match.." [guionclear [startbotmatch]; showgui gamemode]
+] "bot match"
+
+newgui campaign [
+ guibutton "start Private Stan Sauer" "showgui privatestansauer"
+ guibutton "start An Army Of One" "showgui armyofone"
+ guibutton "start Lost" "sp lost" "cube"
+ guibutton "start Meltdown" "sp skrsp1" "cube"
+ guibutton "start Missile Pass" "sp crnsp1" "cube"
+ guibutton "start Level 9" "sp level9" "cube"
+ guibar
+ guibutton "start DMSP map.." "mode -2; showgui maps"
+ guicheckbox "slow motion" "slowmosp"
+ guitext "skill (default: 3)"
+ guislider skill
+]
+
+newgui armyofone [
+ guilist [
+ guilist [
+ guibutton "Part I" "sp mpsp6a" "cube"
+ guibutton "Part II" "sp mpsp6b" "cube"
+ guibutton "Part III" "sp mpsp6c" "cube"
+ ]
+ showmapshot (substr $guirolloveraction 3)
+ ]
+] "An Army Of One"
+
+newgui privatestansauer [
+ guilist [
+ guilist [
+ guibutton "Run N' Gun Part I" "sp mpsp9a" "cube"
+ guibutton "Run N' Gun Part II" "sp mpsp9b" "cube"
+ guibutton "Run N' Gun Part III" "sp mpsp9c" "cube"
+ guibutton "THE SERIOUSLY BIG VALLEY" "sp mpsp10" "cube"
+ ]
+ showmapshot (substr $guirolloveraction 3)
+ ]
+] "Private Stan Sauer"
+
+newgui servers [
+ guistayopen [
+ guiservers [
+ guilist [
+ guibutton "update from master server" "updatefrommaster"
+ guibar
+ guicheckbox "search LAN" searchlan
+ guibar
+ guicheckbox "auto-update" autoupdateservers
+ guibar
+ guicheckbox "auto-sort" autosortservers
+ if (= $autosortservers 0) [
+ guibar
+ guibutton "sort" "sortservers"
+ ]
+ ]
+ guibar
+ ] 17
+ ]
+] "" [initservers]
+
+newgui gamemode [
+ guilist [
+ guilist [
+ guibutton "ffa" "mode 0; showgui maps"
+ guibutton "coop-edit" "mode 1; showgui maps"
+ guibutton "teamplay" "mode 2; showgui maps"
+ guibutton "instagib" "mode 3; showgui maps"
+ guibutton "instagib team" "mode 4; showgui maps"
+ guibutton "efficiency" "mode 5; showgui maps"
+ guibutton "efficiency team" "mode 6; showgui maps"
+ guibutton "tactics" "mode 7; showgui maps"
+ guibutton "tactics team" "mode 8; showgui maps"
+ guibutton "capture" "mode 9; showgui capturemaps"
+ guibutton "regen capture" "mode 10; showgui capturemaps"
+ ]
+ guibar
+ guilist [
+ guibutton "ctf" "mode 11; showgui ctfmaps"
+ guibutton "insta ctf" "mode 12; showgui ctfmaps"
+ guibutton "efficiency ctf" "mode 17; showgui ctfmaps"
+ guibutton "protect" "mode 13; showgui ctfmaps"
+ guibutton "insta protect" "mode 14; showgui ctfmaps"
+ guibutton "efficiency protect" "mode 18; showgui ctfmaps"
+ guibutton "hold" "mode 15; showgui capturemaps"
+ guibutton "insta hold" "mode 16; showgui capturemaps"
+ guibutton "efficiency hold" "mode 19; showgui capturemaps"
+ guibutton "collect" "mode 20; showgui ctfmaps"
+ guibutton "insta collect" "mode 21; showgui ctfmaps"
+ guibutton "efficiency collect" "mode 22; showgui ctfmaps"
+ ]
+ ]
+]
+
+showfileeditor = [
+ guinoautotab [
+ guieditor $arg1 $arg2 $arg3
+ textinit $arg1 $arg1
+ guistayopen [
+ guilist [
+ guibutton "load" [textfocus @arg1; textload @arg1]
+ guibar
+ guibutton "save" [textfocus @arg1; textsave @arg1]
+ guibar
+ guibutton "exec" [textfocus @arg1; textexec]
+ guibar
+ guibutton "copy" [textfocus @arg1; textcopy]
+ guibar
+ guibutton "paste" [textfocus @arg1; textpaste]
+ guibar
+ guibutton "select" [textfocus @arg1; textselectall]
+ guibar
+ guibutton "clear" [textfocus @arg1; textclear]
+ ]
+ ]
+ ]
+]
+
+notepadfile = "untitled.txt"
+
+newgui notepad [
+ guifield notepadfile -30
+ showfileeditor $notepadfile -80 20
+]
+
+notepad = [
+ if (> $numargs 0) [notepadfile = $arg1]
+ showgui notepad
+]
+
+newgui pastebuffer [
+ guinoautotab [
+ guieditor "#pastebuffer" -80 20
+ guistayopen [
+ guilist [
+ guibutton "exec" [textfocus "#pastebuffer"; textexec]
+ guibar
+ guibutton "clear" [textfocus "#pastebuffer"; textclear]
+ ]
+ ]
+ ]
+]
+
+pastebuffer = [showgui pastebuffer]
+
+newgui scratchpad [
+ guinoautotab [
+ guieditor "#scratchpad" -80 20
+ guistayopen [
+ guilist [
+ guibutton "exec" [textfocus "#scratchpad"; textexec]
+ guibar
+ guibutton "copy" [textfocus "#scratchpad"; textcopy]
+ guibar
+ guibutton "paste" [textfocus "#scratchpad"; textpaste]
+ guibar
+ guibutton "select" [textfocus "#scratchpad"; textselectall]
+ guibar
+ guibutton "clear" [textfocus "#scratchpad"; textclear]
+ ]
+ ]
+ ]
+]
+
+scratchpad = [showgui scratchpad]
+
+newmapsize = 12
+savemap_name = temp
+
+newgui "editing" [ ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guikeeptab 1
+
+ guibutton "toggle edit mode^t^t^f2[E]" "edittoggle"
+ guibar //-------------------------------------------------------------------------
+ guilist [
+ guilist [
+ guitext "select^t^t^t^t^f2[mouse-left *drag]^t"
+ guitext "extend selection^t^t^f2[mouse-right]"
+ guitext "move selection^t^t^t^f2[mouse-right *drag]"
+ guitext "deselect^t^t^t^t^f2[SPACE]"
+ guitext "select all ents in box^t^f2[keypad-ENTER]"
+ ]
+ guilist [
+ guitext "select corners^t^t^t^f2[mouse-middle *drag]"
+ guitext "reorient^t^t^t^t^f2[mouse-right]"
+ guitext "passthrough^t^t^t^f2[LCTRL *hold]"
+ guitext "center view on ent^t^t^f2[COMMA + mousewheel]"
+ guitext "select all ents matching^t^f2[N]"
+ ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ guilist [
+ guilist [
+ guitext "push/pull selection^t^t^f2[mousewheel]^t^t"
+ guitext "change gridsize^t^t^f2[G + mousewheel]"
+ guitext "mirror on selected axis^t^f2[X]"
+ ]
+ guilist [
+ guitext "push cube face^t^t^f2[F + mousewheel]"
+ guitext "push corner with cursor^t^f2[Q + mousewheel]"
+ guitext "rotate^t^t^t^t^f2[R + mousewheel]"
+ ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ guilist [
+ guilist [
+ guitext "undo^t^t^t^t^t^f2[U] [Z]^t^t^t"
+ guitext "copy^t^t^t^t^t^f2[C]"
+ guitext "delete^t^t^t^t^f2[DELETE]"
+ ]
+ guilist [
+ guitext "redo^t^t^t^t^t^f2[I]"
+ guitext "paste^t^t^t^t^f2[V]"
+ ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ guilist [
+ guilist [
+ guitext "change textures^t^t^f2[Y + mousewheel]^t"
+ guicheckbox "texture all faces^t^t^f2[0]" "allfaces"
+ guicheckbox "toggle outline^t^t^t^f2[7]" "outline"
+ ]
+ guilist [
+ guibutton "texture palette..^t^t^f2[F2]" "showtexgui"
+ guibutton "materials.." "showgui materials"
+ guicheckbox "toggle wireframe^t^t^f2[8]" "wireframe"
+ ]
+ ]
+
+guitab "ents" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guilist [
+ guilist [
+ guibutton "edit selected ent..^t^t^f2[F3]^t^t^t" "showentgui"
+ guicheckbox "entity snap-to-grid^t^t^f2[6]" "entselsnap"
+ ]
+ guilist [
+ guibutton "edit selected entity in console^t^f2[PERIOD]" "selentedit"
+ guicheckbox "entity selection" "entediting"
+ ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ guitext "drop entities"
+ guilist [
+ guilist [
+ guiradio "at selection^t^t^t^t^t^t" entdrop 2
+ guiradio "at selection & to the floor" entdrop 3
+ ]
+ guilist [
+ guiradio "at current position" entdrop 0
+ guiradio "at current position & to the floor" entdrop 1
+ ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ guitext "newent *"
+ guilist [
+ guilist [
+ guibutton "light..^t^t^t^t^t" "resetlight;showgui newlight"
+ guibutton "playerstart" "newent playerstart"
+ guibutton "base" "newent base"
+ guibutton "trigger.." "showgui triggers"
+ ]
+ guilist [
+ guibutton "mapmodel..^t^t^f2[F4]^t^t" "showgui mapmodels"
+ guibutton "playerstart team-1" "newent playerstart 1"
+ guibutton "flag team-1" "newent flag 1"
+ guibutton "monster.." "showgui monsters"
+ ]
+ guilist [
+ guibutton "teleport.." "showgui newteleport"
+ guibutton "playerstart team-2" "newent playerstart 2"
+ guibutton "flag team-2" "newent flag 2"
+ ]
+ ]
+ guitext "pickup entities:"
+ guilist [
+ guilist [
+ guibutton "shells^t^t^t^t^t^t^t" "newent shells"
+ guibutton "bullets" "newent bullets"
+ guibutton "rockets" "newent rockets"
+ guibutton "riflerounds" "newent riflerounds"
+ guibutton "grenades" "newent grenades"
+ guibutton "cartridges" "newent cartridges"
+ ]
+ guilist [
+ guibutton "health" "newent health"
+ guibutton "healthboost" "newent healthboost"
+ guibutton "greenarmour" "newent greenarmour"
+ guibutton "yellowarmour" "newent yellowarmour"
+ guibutton "quaddamage" "newent quaddamage"
+ guibutton "select all pickup ents ^f2/findpickupents" "findpickupents"
+ ]
+ ]
+
+guitab "lighting" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guibutton "maplighting.. ^f2/maplighting" "showgui _maplighting"
+ guibar //-------------------------------------------------------------------------
+ lightingstuff
+
+guitab "skybox" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guilist [
+ guistayopen [
+ guilist [ genskyitems $skies1 ]
+ guilist [ genskyitems $skies2 ]
+ guilist [ genskyitems $skies3 ]
+ showskyshot
+ ]
+ ]
+
+guitab "sky" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ _skyboxcolour_r = (& (>> $skyboxcolour 16) 0xFF)
+ _skyboxcolour_g = (& (>> $skyboxcolour 8) 0xFF)
+ _skyboxcolour_b = (& (>> $skyboxcolour 0) 0xFF)
+ guilist [
+ guitext "skyboxcolour "
+ guicolor $skyboxcolour
+ ]
+ guislider _skyboxcolour_r 0 255 [skyboxcolour $_skyboxcolour_r $_skyboxcolour_g $_skyboxcolour_b]
+ guislider _skyboxcolour_g 0 255 [skyboxcolour $_skyboxcolour_r $_skyboxcolour_g $_skyboxcolour_b]
+ guislider _skyboxcolour_b 0 255 [skyboxcolour $_skyboxcolour_r $_skyboxcolour_g $_skyboxcolour_b]
+ guibar //-------------------------------------------------------------------------
+ guilist [
+ guitext "spinsky "
+ guifield spinsky 5
+ guistayopen [ guibutton "- " [spinsky (+fround $spinsky -0.1)] ]
+ guistayopen [ guibutton "+" [spinsky (+fround $spinsky 0.1)] ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ guitext "yawsky"
+ guislider yawsky
+
+
+guitab "cloudlayer" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guistayopen [
+ guilist [
+ guilist [
+ guitext "cloudlayer^t^t^t^t^t^t"
+ guibutton "skyboxes/clouds01.png" [cloudlayer "skyboxes/clouds01.png"]
+ guibutton "skyboxes/clouds02.png" [cloudlayer "skyboxes/clouds02.png"]
+ guibutton "skyboxes/clouds03.png" [cloudlayer "skyboxes/clouds03.png"]
+ guibutton "skyboxes/white_bk.jpg" [cloudlayer "skyboxes/white_bk.jpg"]
+ ]
+ guilist [
+ guibutton "*no clouds*" [cloudlayer ""]
+ guibutton "blindabuser/blindaclouds.png" [cloudlayer "blindabuser/blindaclouds.png"]
+ guibutton "skyboxes/cloud_ring.png" [cloudlayer "skyboxes/cloud_ring.png"]
+ guibutton "textures/razgriz/cloud03.png" [cloudlayer "textures/razgriz/cloud03.png"]
+ guibutton "textures/razgriz/cloud04.png" [cloudlayer "textures/razgriz/cloud04.png"]
+ ]
+ ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ _cloudcolour_r = (& (>> $cloudcolour 16) 0xFF)
+ _cloudcolour_g = (& (>> $cloudcolour 8) 0xFF)
+ _cloudcolour_b = (& (>> $cloudcolour 0) 0xFF)
+ guilist [
+ guitext "cloudcolour "
+ guicolor $cloudcolour
+ ]
+ guislider _cloudcolour_r 0 255 [cloudcolour $_cloudcolour_r $_cloudcolour_g $_cloudcolour_b]
+ guislider _cloudcolour_g 0 255 [cloudcolour $_cloudcolour_r $_cloudcolour_g $_cloudcolour_b]
+ guislider _cloudcolour_b 0 255 [cloudcolour $_cloudcolour_r $_cloudcolour_g $_cloudcolour_b]
+ guibar //-------------------------------------------------------------------------
+ guilist [
+ guilist [
+ guilist [
+ guitext "cloudalpha^t"
+ guifield cloudalpha 5
+ guistayopen [ guibutton "- " [cloudalpha (+fround $cloudalpha -0.05)] ]
+ guistayopen [ guibutton "+^t^t" [cloudalpha (+fround $cloudalpha 0.05)] ]
+ ]
+
+ guilist [
+ guitext "cloudfade^t^t"
+ guifield cloudfade 5
+ guistayopen [ guibutton "- " [cloudfade (+fround $cloudfade -0.05)] ]
+ guistayopen [ guibutton "+^t^t" [cloudfade (+fround $cloudfade 0.05)] ]
+ ]
+ ]
+ guilist [
+ guilist [
+ guitext "cloudheight^t"
+ guifield cloudheight 5
+ guistayopen [ guibutton "- " [cloudheight (+fround $cloudheight -0.01)] ]
+ guistayopen [ guibutton "+^t^t" [cloudheight (+fround $cloudheight 0.01)] ]
+ ]
+
+ guilist [
+ guitext "cloudscale^t^t"
+ guifield cloudscale 5
+ guistayopen [ guibutton "- " [cloudscale (+fround $cloudscale -0.0625)] ]
+ guistayopen [ guibutton "+^t^t" [cloudscale (+fround $cloudscale 0.0625)] ]
+ ]
+ ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ guilist [
+ guilist [
+ guilist [
+ guitext "cloudoffsetx^t"
+ guifield cloudoffsetx 5
+ guistayopen [ guibutton "- " [cloudoffsetx (+fround $cloudoffsetx -0.01)] ]
+ guistayopen [ guibutton "+^t^t" [cloudoffsetx (+fround $cloudoffsetx 0.01)] ]
+ ]
+ guilist [
+ guitext "cloudoffsety^t"
+ guifield cloudoffsety 5
+ guistayopen [ guibutton "- " [cloudoffsety (+fround $cloudoffsety -0.01)] ]
+ guistayopen [ guibutton "+" [cloudoffsety (+fround $cloudoffsety 0.01)] ]
+ ]
+ ]
+ guilist [
+ guilist [
+ guitext "cloudscrollx^t"
+ guifield cloudscrollx 5
+ guistayopen [ guibutton "- " [cloudscrollx (+fround $cloudscrollx -0.01)] ]
+ guistayopen [ guibutton "+^t^t" [cloudscrollx (+fround $cloudscrollx 0.01)] ]
+ ]
+ guilist [
+ guitext "cloudscrolly^t"
+ guifield cloudscrolly 5
+ guistayopen [ guibutton "- " [cloudscrolly (+fround $cloudscrolly -0.01)] ]
+ guistayopen [ guibutton "+" [cloudscrolly (+fround $cloudscrolly 0.01)] ]
+ ]
+ guilist [
+ guitext "spincloudlayer^t"
+ guifield spincloudlayer 5
+ guistayopen [ guibutton "- " [spincloudlayer (+fround $spincloudlayer -0.1)] ]
+ guistayopen [ guibutton "+" [spincloudlayer (+fround $spincloudlayer 0.1)] ]
+ ]
+ ]
+ ]
+
+guitab "fog" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guitext "fog"
+ guislider fog 128 8192
+ _fogcolour_r = (& (>> $fogcolour 16) 0xFF)
+ _fogcolour_g = (& (>> $fogcolour 8) 0xFF)
+ _fogcolour_b = (& (>> $fogcolour 0) 0xFF)
+ guilist [
+ guitext "fogcolour "
+ guicolor $fogcolour
+ ]
+ guislider _fogcolour_r 0 255 [fogcolour $_fogcolour_r $_fogcolour_g $_fogcolour_b]
+ guislider _fogcolour_g 0 255 [fogcolour $_fogcolour_r $_fogcolour_g $_fogcolour_b]
+ guislider _fogcolour_b 0 255 [fogcolour $_fogcolour_r $_fogcolour_g $_fogcolour_b]
+ guibar //-------------------------------------------------------------------------
+ _fogdomecolour_r = (& (>> $fogdomecolour 16) 0xFF)
+ _fogdomecolour_g = (& (>> $fogdomecolour 8) 0xFF)
+ _fogdomecolour_b = (& (>> $fogdomecolour 0) 0xFF)
+ guilist [
+ guitext "fogdomecolour (0 = use fogcolour) "
+ guicolor $fogdomecolour
+ ]
+ guislider _fogdomecolour_r 0 255 [fogdomecolour $_fogdomecolour_r $_fogdomecolour_g $_fogdomecolour_b]
+ guislider _fogdomecolour_g 0 255 [fogdomecolour $_fogdomecolour_r $_fogdomecolour_g $_fogdomecolour_b]
+ guislider _fogdomecolour_b 0 255 [fogdomecolour $_fogdomecolour_r $_fogdomecolour_g $_fogdomecolour_b]
+ guilist [
+ guilist [
+ guilist [
+ guitext "fogdomemax^t"
+ guifield fogdomemax 5
+ guistayopen [ guibutton "- " [fogdomemax (+fround $fogdomemax -0.01)] ]
+ guistayopen [ guibutton "+^t^t" [fogdomemax (+fround $fogdomemax 0.01)] ]
+ ]
+ guilist [
+ guitext "fogdomemin^t"
+ guifield fogdomemin 5
+ guistayopen [ guibutton "- " [fogdomemin (+fround $fogdomemin -0.01)] ]
+ guistayopen [ guibutton "+" [fogdomemin (+fround $fogdomemin 0.01)] ]
+ ]
+ ]
+ guilist [
+ guilist [
+ guitext "fogdomeclip^t"
+ guifield fogdomeclip 5
+ guistayopen [ guibutton "- " [fogdomeclip (+fround $fogdomeclip -0.01)] ]
+ guistayopen [ guibutton "+" [fogdomeclip (+fround $fogdomeclip 0.01)] ]
+ ]
+
+ guilist [
+ guitext "fogdomeheight^t"
+ guifield fogdomeheight 5
+ guistayopen [ guibutton "- " [fogdomeheight (+fround $fogdomeheight -0.01)] ]
+ guistayopen [ guibutton "+" [fogdomeheight (+fround $fogdomeheight 0.01)] ]
+ ]
+ ]
+ ]
+ guilist [
+ guicheckbox "fogdomecap^t^t^t^t^t^t" "fogdomecap"
+ guicheckbox "fogdomeclouds" "fogdomeclouds"
+ ]
+
+guitab "height&blendmap" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guilist [
+ guilist [
+ guitext "toggle heightmap mode^t^t^f2[H]^t^t^t"
+ guitext "push/pull heightmap^t^t^t^f2[mousewheel]"
+ ]
+ guilist [
+ guitext "select heightmap brush^t^f2[B + mousewheel]"
+ ]
+ ]
+ guibar //-------------------------------------------------------------------------
+ guitext "blend paint mode"
+ guilist [
+ guilist [
+ guiradio "off^t^t^t^t^t^t^f2[keypad 0]^t" blendpaintmode 0
+ guiradio "dig^t^t^t^t^t^t^f2[keypad 2]" blendpaintmode 2
+ guiradio "inverted dig^t^t^t^t^f2[keypad 4]" blendpaintmode 4
+ ]
+ guilist [
+ guiradio "replace^t^t^t^t^f2[keypad 1]" blendpaintmode 1
+ guiradio "fill^t^t^t^t^t^f2[keypad 3]" blendpaintmode 3
+ guiradio "inverted fill^t^t^t^f2[keypad 5]" blendpaintmode 5
+ ]
+ ]
+ guitext "paint blendmap^t^t^t^f2[mouse-left]"
+ guibutton "change blend brush^t^t^t^f2[mousewheel]" "nextblendbrush"
+ guibutton "rotate blend brush^t^t^t^f2[mouse-right]" "rotateblendbrush"
+ guibutton "clear entire blendmap^t^t^f2/clearblendmap" "clearblendmap"
+ guibutton "clear blendmap in selection^t^f2/clearblendmapsel" "clearblendmapsel"
+
+guitab "map" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guitext "save map:"
+ guifield savemap_name 20 [ savemap $savemap_name ]
+ guibutton [load @savemap_name map] "map $savemap_name"
+ guibutton "newmap (default size: 12)" "newmap $newmapsize"
+ guislider "newmapsize" 10 16
+ guibutton "increase mapsize (2x)" "mapenlarge"
+ guitext "max undo size (default: 8 MB)"
+ guislider "undomegs" 1 20
+ guibutton "optimize geometry" "remip"
+ guibutton "set map title/author" "saycommand [/maptitle @maptitle]"
+ guibutton "show custom maps" "showcustommaps"
+
+guitab "cfg" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guitext (mapcfgname)
+ showfileeditor (mapcfgname) -80 17
+]
+
+skies1 = [
+ aftas/sky/orbe
+ blindabuser/blindasky
+ blindabuser/blindasky2
+ darc/forge
+ dash/moon
+ hazel/green
+ humus/meadow
+ ik2k/env/iklake
+ jon/prarie
+ mayhem/duomo
+ mayhem/eclipse
+ meister/uzze
+ penguins/arid
+ penguins/arid2
+ penguins/cocoa
+ penguins/divine
+ penguins/harmony
+ penguins/mellow
+ penguins/mystic
+]
+skies2 = [
+ penguins/violence
+ penguins/wrath
+ penguins/yonder
+ penguins/zeus
+ ratboy/skyboxes/coward
+ shmutzwurst/london
+ skyboxes/black
+ skyboxes/bbk/d
+ skyboxes/bbk/dark2
+ skyboxes/bbk/n1
+ skyboxes/bbk/t
+ skyboxes/clearsky052
+ skyboxes/darkness
+ skyboxes/evilsky
+ skyboxes/morning
+ skyboxes/remus/sky01
+ skyboxes/turbulent
+ skyboxes/ulukai/corona
+ skyboxes/white
+]
+skies3 = [
+ socksky/barren
+ socksky/desert
+ socksky/devpun
+ socksky/emerald
+ socksky/frozen
+ socksky/frozendusk
+ socksky/grave
+ socksky/mars
+ socksky/nightball
+ socksky/stratosphere
+ socksky/valley
+ staffy/staffy
+]
+
+genskyitems = [
+ looplist cursky $arg1 [
+ guibutton $cursky (concat skybox $cursky) //"cube"
+ ]
+]
+
+showskyshot = [
+ guibar
+ skyshotname = (checkrolloveraction "skybox " [if (> $numargs 0) [result $arg1] [at $guirollovername 0]])
+ guiimage (concatword "<thumbnail:128>packages/" $skyshotname "_ft") (checkrolloveraction "skybox ") 4 1 "data/cube.png" (chopstr $skyshotname -16 "..")
+]
+
+lightingstuff = [
+ guitext "lightprecision"
+ guilistslider lightprecision "8 16 32 48 64 128 256"
+ guitext "lightlod (>= use lightprecision, < use lightprecision/2)"
+ guislider lightlod
+ guitext "lighterror"
+ guislider lighterror
+ guitext "lightthreads"
+ guislider lightthreads
+ guilist [
+ guitext "blurskylight^t"
+ guiradio "0 " blurskylight 0
+ guiradio "1 " blurskylight 1
+ guiradio "2 " blurskylight 2
+ ]
+ guilist [
+ guitext "blurlightmaps^t"
+ guiradio "0 " blurlms 0
+ guiradio "1 " blurlms 1
+ guiradio "2 " blurlms 2
+ ]
+ guibar //-------------------------------------------------------------------------
+ guibutton "calclight 1 (slow: 8xAA)" "calclight 1"
+ guibutton "calclight -1 (quick: no AA, no model shadows)" "calclight -1"
+ guicheckbox "fullbright ^f2[L]" fullbright
+]
+
+maplighting = [showgui _maplighting]
+newgui _maplighting [ ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ _sunlight_r = (& (>> $sunlight 16) 0xFF)
+ _sunlight_g = (& (>> $sunlight 8) 0xFF)
+ _sunlight_b = (& (>> $sunlight 0) 0xFF)
+ guilist [
+ guitext "sunlight^t^t^t^t^t^t^t^t"
+ guicolor $sunlight
+ ]
+ guislider _sunlight_r 0 255 [sunlight $_sunlight_r $_sunlight_g $_sunlight_b]
+ guislider _sunlight_g 0 255 [sunlight $_sunlight_r $_sunlight_g $_sunlight_b]
+ guislider _sunlight_b 0 255 [sunlight $_sunlight_r $_sunlight_g $_sunlight_b]
+
+ guilist [
+ guitext "sunlightscale "
+ guifield sunlightscale 8
+ ]
+ guitext "sunlightpitch "
+ guislider sunlightpitch
+ guitext "sunlightyaw "
+ guislider sunlightyaw
+ guibutton "Get sun pitch & yaw from camera. ^f2/getsundir" "getsundir"
+
+ guibar //-------------------------------------------------------------------------
+
+ _skylight_r = (& (>> $skylight 16) 0xFF)
+ _skylight_g = (& (>> $skylight 8) 0xFF)
+ _skylight_b = (& (>> $skylight 0) 0xFF)
+ guilist [
+ guitext "skylight^t^t^t^t^t^t^t^t"
+ guicolor $skylight
+ ]
+ guislider _skylight_r 0 255 [skylight $_skylight_r $_skylight_g $_skylight_b]
+ guislider _skylight_g 0 255 [skylight $_skylight_r $_skylight_g $_skylight_b]
+ guislider _skylight_b 0 255 [skylight $_skylight_r $_skylight_g $_skylight_b]
+
+ guibar //-------------------------------------------------------------------------
+
+ _ambient_r = (& (>> $ambient 16) 0xFF)
+ _ambient_g = (& (>> $ambient 8) 0xFF)
+ _ambient_b = (& (>> $ambient 0) 0xFF)
+ guilist [
+ guitext "ambient^t^t^t^t^t^t^t^t"
+ guicolor $ambient
+ ]
+ guislider _ambient_r 0 255 [ambient $_ambient_r $_ambient_g $_ambient_b]
+ guislider _ambient_g 0 255 [ambient $_ambient_r $_ambient_g $_ambient_b]
+ guislider _ambient_b 0 255 [ambient $_ambient_r $_ambient_g $_ambient_b]
+
+guitab "settings" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ lightingstuff
+
+] "maplighting"
+
+newgui materials [
+ guibutton "air" "editmat air"
+ guibutton "water" "editmat water"
+ guibutton "lava" "editmat lava"
+ guibutton "clip" "editmat clip"
+ guibutton "glass" "editmat glass"
+ guibutton "noclip" "editmat noclip"
+ guibutton "gameclip" "editmat gameclip"
+ guibutton "death" "editmat death"
+ guibutton "alpha" "editmat alpha"
+
+ guicheckbox "show material volumes" showmat
+
+ //guibutton "waterlod very high (3)" "waterlod 3"
+ //guibutton "waterlod high (2)" "waterlod 2"
+ //guibutton "waterlod default (1)" "waterlod 1"
+ //guibutton "waterlod low (0)" "waterlod 0"
+
+ //guibutton "watersubdiv very fine (0)" "watersubdiv 0"
+ //guibutton "watersubdiv fine (1)" "watersubdiv 1"
+ //guibutton "watersubdiv default (2)" "watersubdiv 2"
+ //guibutton "watersubdiv coarse (3)" "watersubdiv 3"
+
+ //guibutton "water waves on" "waterwaves 1"
+ //guibutton "water waves off" "waterwaves 0"
+]
+
+newgui triggers [
+ guibutton [invisible] [BTmm = -1; showgui trigger2]
+ guibutton [a carrot] [BTmm = 23; showgui trigger2]
+ guibutton [switch #1] [BTmm = 24; showgui trigger2]
+ guibutton [switch #2] [BTmm = 25; showgui trigger2]
+ guibutton [door #1] [BTmm = 26; showgui trigger2]
+ guibutton [door #2] [BTmm = 27; showgui trigger2]
+ guibutton [door #3] [BTmm = 28; showgui trigger2]
+]
+
+newgui trigger2 [
+ guibutton [animation loop] [BTtt = 0; showgui trigger3]
+ guibutton [trigger once (popback)] [BTtt = 1; showgui trigger3]
+ guibutton [trigger once (popback & rumble)] [BTtt = 2; showgui trigger3]
+ guibutton [trigger once] [BTtt = 3; showgui trigger3]
+ guibutton [trigger once (rumble)] [BTtt = 4; showgui trigger3]
+ guibutton [trigger multiple (popback)] [BTtt = 5; showgui trigger3]
+ guibutton [trigger multiple (popback & rumble)] [BTtt = 6; showgui trigger3]
+ guibutton [trigger multiple] [BTtt = 7; showgui trigger3]
+ guibutton [trigger multiple (rumble)] [BTtt = 8; showgui trigger3]
+ guibutton [door (open once)] [BTtt = 9; showgui trigger3]
+ guibutton [door (auto close)] [BTtt = 10; showgui trigger3]
+ guibutton [door (locked)] [BTtt = 11; showgui trigger3]
+ guibutton [vanishing trigger] [BTtt = 12; showgui trigger3]
+ guibutton [vanishing trigger (rumble)] [BTtt = 13; showgui trigger3]
+ guibutton [End Of Level Trigger] [BTtt = 29; showgui trigger3]
+]
+
+build_trigger = [newent mapmodel $BTmm $BTtt $BTti]
+
+newgui trigger3 [
+ loop i 9 [
+ tjt = (concat tag (concatword # $i))
+ tjc = (concat BTti "=" $i ";" "build_trigger")
+ guibutton $tjt $tjc
+ ]
+]
+
+resetlight = [
+ lightcolour = 0
+ lightbright = 1
+ lightset 255 255 255
+ lightradius = 128
+]
+
+lightset = [
+ lightr = $arg1
+ lightg = $arg2
+ lightb = $arg3
+ if (= $lightbright 0) lightscale
+]
+
+lightscale = [
+ if (= $lightbright 0) [
+ lightr = (div $lightr 2); lightg = (div $lightg 2); lightb = (div $lightb 2)
+ ] [
+ lightr = (min 255 (* $lightr 2)); lightg = (min 255 (* $lightg 2)); lightb = (min 255 (* $lightb 2))
+ ]
+]
+
+lightcmd = [
+ result (concat newent light $lightradius $lightr $lightg $lightb)
+]
+
+newgui newlight [
+ guibutton (lightcmd)
+ guibar
+ guitext "color:"
+ guicolor (+ (* (+ (* $lightr 256) $lightg) 256) $lightb)
+ guislider lightr 0 255
+ guislider lightg 0 255
+ guislider lightb 0 255
+ guilist [
+ guicheckbox "bright" lightbright 1 0 [lightscale]
+ guibar
+ guiradio "white" lightcolour 0 [lightset 255 255 255]
+ guiradio "blue" lightcolour 1 [lightset 192 192 255]
+ guiradio "red" lightcolour 2 [lightset 255 192 192]
+ guiradio "green" lightcolour 3 [lightset 192 255 192]
+ guiradio "yellow" lightcolour 4 [lightset 255 255 192]
+ guiradio "purple" lightcolour 5 [lightset 255 192 255]
+ guiradio "turquoise" lightcolour 6 [lightset 192 255 255]
+ ]
+ guitext "radius:"
+ guislider lightradius 0 512
+]
+
+newgui newteleport [
+ guibutton "newent teleport 1"
+ guibutton "newent teledest 1"
+ guibutton "newent teleport 2"
+ guibutton "newent teledest 2"
+ guibutton "newent teleport 3"
+ guibutton "newent teledest 3"
+ guibutton "newent teleport 4"
+ guibutton "newent teledest 4"
+]
+
+getmapmodels = [
+ loopconcat i $nummapmodels [
+ if $arg2 [ if (mapmodelloaded $i) [ $arg1 $i ] ] [ $arg1 $i ]
+ ]
+]
+
+mmguiwidth = 7
+mmguiheight = 4
+
+newgui mapmodels [
+ guikeeptab 1
+
+ local mmarea mmid
+
+ mmguiarea = (* $mmguiwidth $mmguiheight)
+
+ guinoautotab [
+ loop n (div (+ $nummapmodels (- $mmguiarea 1)) $mmguiarea) [
+ if $n [guitab (+ $n 1)]
+ if (= $guitabnum (+ $n 1)) [
+ loop y $mmguiheight [
+ guilist [
+ loop x $mmguiwidth [
+ mmid = (+ (* $n $mmguiarea) (+ (* $y $mmguiwidth) $x))
+ guimodelpreview (mapmodelname $mmid) "mapmodel" [newent mapmodel @mmid] 3 1 $mmid 1
+ ]
+ ]
+ ]
+ guistrut 0.2
+ guititle (concatword "^f7" (strreplace (strreplace $guirolloverpreviewname "\" "/") "/" "^fc/^f7"))
+ ]
+ ]
+ ]
+]
+
+newgui monsters [
+ guibutton "ogro / fireball" "newent monster 0"
+ guibutton "rhino / chaingun" "newent monster 1"
+ guibutton "ratamahatta / shotgun" "newent monster 2"
+ guibutton "slith / rifle" "newent monster 3"
+ guibutton "bauul / RL" "newent monster 4"
+ guibutton "hellpig / bite" "newent monster 5"
+ guibutton "knight / iceball" "newent monster 6"
+ guibutton "goblin / slimeball" "newent monster 7"
+ guibutton "spider / grenade" "newent monster 8"
+]
+
+newgui postfx [
+ guibutton "(effect OFF)" "clearpostfx"
+ guibutton "bloom (subtle: 30%)" "bloom 0.3"
+ guibutton "bloom (bright: 55%)" "bloom 0.55"
+ guibutton "bloom (intense: 80%)" "bloom 0.8"
+ guibutton "rotoscope" "rotoscope 1"
+ guibutton "rotoscope + blur3" "rotoscope 1 1"
+ guibutton "rotoscope + blur5" "rotoscope 1 2"
+ guibutton "sobel" "setpostfx sobel"
+ guibutton "invert" "setpostfx invert"
+ guibutton "gbr" "setpostfx gbr"
+ guibutton "bw" "setpostfx bw"
+ guibutton "blur3" "setpostfx hblur3; addpostfx vblur3"
+ guibutton "blur5" "setpostfx hblur5; addpostfx vblur5"
+]
+
+macro resbutton [
+ guibutton "%1x%2" "screenres %1 %2" (if (&& (= $scr_w %1) (= $scr_h %2)) [result "radio_on"] [result "radio_off"])
+]
+
+newgui options [ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guilist [
+ guicheckbox "2D menus" gui2d
+ guibar
+ guicheckbox "click tab" guiclicktab
+ guibar
+ guicheckbox "menu fade in" guifadein
+ ]
+ guicheckbox "show scoreboard at death" deathscore
+ guicheckbox "blood" blood
+ guilist [
+ guicheckbox "ragdoll deaths" ragdoll
+ if $ragdoll [
+ guibar
+ guicheckbox "keep after respawn" ragdollmillis 10000
+ ]
+ guibar
+ guicheckbox "hide dead players" hidedead
+ ]
+ guitext "ragdoll velocity multiplier"
+ guislider deadpush
+ guilist [
+ guicheckbox "fullbright player models" fullbrightmodels 60 0
+ if $fullbrightmodels [
+ guibar
+ guiradio "subtle" fullbrightmodels 60
+ guibar
+ guiradio "bright" fullbrightmodels 100
+ guibar
+ guiradio "overbright" fullbrightmodels 150
+ guibar
+ guiradio "max" fullbrightmodels 200
+ ]
+ ]
+ guilist [
+ guicheckbox "force matching player models" forceplayermodels
+ guibar
+ guicheckbox "always use team skins" teamskins
+ ]
+ guicheckbox "hit sound" hitsound
+ guibar
+ guibutton "restore defaults (clears ALL settings)" "exec restore.cfg"
+
+ guitab "hud" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guicheckbox "show FPS" showfps
+ guilist [
+ guicheckbox "wall clock" wallclock
+ if $wallclock [
+ guibar
+ guicheckbox "24 hour" wallclock24
+ guibar
+ guicheckbox "seconds" wallclocksecs
+ ]
+ ]
+ guilist [
+ guicheckbox "damage screen" damagescreen
+ guibar
+ guicheckbox "damage compass" damagecompass
+ ]
+ guilist [
+ guicheckbox "hudguns" hudgun
+ if $hudgun [
+ guibar
+ guicheckbox "sway" hudgunsway
+ guibar
+ guicheckbox "muzzle flash" muzzleflash
+ guibar
+ guicheckbox "muzzle light" muzzlelight
+ ]
+ ]
+ guilist [
+ guicheckbox "crosshair effects" crosshairfx
+ if $crosshairfx [
+ guibar
+ guicheckbox "health colors" crosshaircolors
+ guibar
+ guicheckbox "teammates" teamcrosshair
+ guibar
+ guicheckbox "hits" hitcrosshair 425
+ ]
+ ]
+ guilist [
+ guicheckbox "outline capture meters" outlinemeters
+ guibar
+ guicheckbox "numbered capture bases" basenumbers
+ guibar
+ guicheckbox "show teammates" radarteammates 1
+ ]
+ guibar
+ guilist [
+ guicheckbox "ammobar^t^t" ammobar
+ guibutton "adjust ammobar" [showgui ammobar]
+ ]
+ guilist [
+ guicheckbox "gameclock^t" gameclock
+ guibutton "adjust gameclock" [showgui gameclock]
+ ]
+ guilist [
+ guicheckbox "hudscore^t^t" hudscore
+ guibutton "adjust hudscore" [showgui hudscore]
+ ]
+
+ guitab "gfx" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guitext "performance key: ^f0fast^f~, ^f2moderate^f~, ^f3slow and pretty^f~"
+ guibar
+ guilist [
+ guitext "shaders^t^t"
+ guibar
+ guiradio "^f0low detail" shaderdetail 1
+ guibar
+ guiradio "^f2high detail" shaderdetail 3
+ ]
+ guilist [
+ guitext "water^t^t"
+ guibar
+ guicheckbox "^f2refraction" waterrefract
+ guibar
+ guicheckbox "^f3reflection" waterreflect
+ guibar
+ guicheckbox "^f0caustics" caustics
+ guibar
+ guicheckbox "^f2animation" vertwater
+ ]
+ guilist [
+ guitext "waterfalls^t^t"
+ guibar
+ guicheckbox "^f2refraction" waterfallrefract
+ guibar
+ guicheckbox "^f0reflection" waterfallenv
+ ]
+ guilist [
+ guicheckbox "^f3soft shadows^t" shadowmap
+ if $shadowmap [
+ guibar
+ guiradio "^f2medium quality" shadowmapsize 9 [blurshadowmap 1]
+ guibar
+ guiradio "^f3high quality" shadowmapsize 10 [blurshadowmap 2]
+ ] [
+ guibar
+ guicheckbox "^f2blob shadows" blobs
+ ]
+ ]
+ if $glare [
+ glarepreset = 0
+ if (= $glarescale 1) [
+ if (= $blurglare 4) [glarepreset = 1]
+ if (= $blurglare 7) [glarepreset = 3]
+ ]
+ if (= $glarescale 2) [
+ if (= $blurglare 3) [glarepreset = 2]
+ if (= $blurglare 7) [glarepreset = 4]
+ ]
+ guilist [
+ guicheckbox "^f3glare^t^t^t" glare
+ guibar
+ guiradio "^f2subtle" glarepreset 1 [blurglare 4; glarescale 1]
+ guibar
+ guiradio "^f2glowy" glarepreset 2 [blurglare 3; glarescale 2]
+ guibar
+ guiradio "^f3soft" glarepreset 3 [blurglare 7; glarescale 1]
+ guibar
+ guiradio "^f3intense" glarepreset 4 [blurglare 7; glarescale 2]
+ ]
+ ] [
+ guicheckbox "^f3glare" glare
+ ]
+ guilist [
+ guicheckbox "^f3motion blur^t" motionblur
+ if $motionblur [
+ guibar
+ guiradio "^f3subtle" motionblurscale 0.5
+ guibar
+ guiradio "^f3moderate" motionblurscale 0.65
+ guibar
+ guiradio "^f3intense" motionblurscale 0.8
+ ]
+ ]
+ guilist [
+ guicheckbox "^f3grass^t^t^t" grass
+ if $grass [
+ guibar
+ guiradio "^f2quick fade" grassdist 128
+ guibar
+ guiradio "^f2moderate fade" grassdist 256
+ guibar
+ guiradio "^f3slow fade" grassdist 512
+ ]
+ ]
+ guilist [
+ guicheckbox "^f0dynamic lights^t" maxdynlights 3 0
+ if $maxdynlights [
+ guibar
+ guiradio "^f0medium quality" maxdynlights 3
+ guibar
+ guiradio "^f2high quality" maxdynlights 5
+ ]
+ ]
+ guilist [
+ guicheckbox "^f0soft particles^t" depthfx
+ if $depthfx [
+ guibar
+ guiradio "^f0low quality" depthfxsize 7 [blurdepthfx 1]
+ guibar
+ guiradio "^f2medium quality" depthfxsize 10 [blurdepthfx 0]
+ guibar
+ guiradio "^f3high quality" depthfxsize 12 [blurdepthfx 0]
+ ]
+ ]
+ guicheckbox "^f0glass reflection" glassenv
+ guilist [
+ guicheckbox "^f0decals^t^t" decals
+ if $decals [
+ guibar
+ guiradio "^f0quick fade" decalfade 10000 [maxdecaltris 1024]
+ guibar
+ guiradio "^f2slow fade" decalfade 60000 [maxdecaltris 4096]
+ ]
+ ]
+ guilist [
+ guitext "textures^t^t"
+ guibar
+ guiradio "^f0low quality" maxtexsize 256
+ guibar
+ guiradio "^f0medium quality" maxtexsize 512
+ guibar
+ guiradio "^f2high quality" maxtexsize 0
+ ]
+ guilist [
+ guitext "models^t^t"
+ guibar
+ guicheckbox "^f0reflection" envmapmodels
+ guibar
+ guicheckbox "^f2bumpmap" bumpmodels
+ ]
+
+ guitab "display" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guitext "field of view (default: 100)"
+ guislider fov
+ guicheckbox "v-sync" vsync 1 0
+ guicheckbox "fullscreen" fullscreen
+ guitext "gamma (default: 100)"
+ guislider gamma
+ guitext "full-scene anti-aliasing (default: -1)"
+ guilistslider fsaa "-1 0 2 4 8 16"
+ guitext "z-buffer depth (default: 0)"
+ guilistslider depthbits "0 16 24 32"
+ guitext "anisotropic filtering (default: 0)"
+ guilistslider aniso "0 2 4 8 16"
+ guilist [
+ guicheckbox "bilinear filtering" bilinear
+ guibar
+ guicheckbox "trilinear filtering (mipmaps)" trilinear
+ ]
+
+ guitab "res" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guistayopen [
+ guilist [
+ guilist [
+ guitext "4:3"
+ @@@@(resbutton 320 240)
+ @@@@(resbutton 640 480)
+ @@@@(resbutton 800 600)
+ @@@@(resbutton 1024 768)
+ @@@@(resbutton 1152 864)
+ @@@@(resbutton 1280 960)
+ @@@@(resbutton 1400 1050)
+ @@@@(resbutton 1600 1200)
+ @@@@(resbutton 1792 1344)
+ @@@@(resbutton 1856 1392)
+ @@@@(resbutton 1920 1440)
+ @@@@(resbutton 2048 1536)
+ @@@@(resbutton 2800 2100)
+ @@@@(resbutton 3200 2400)
+ ]
+ guibar
+ guilist [
+ guitext "16:10"
+ @@@@(resbutton 320 200)
+ @@@@(resbutton 640 400)
+ @@@@(resbutton 1024 640)
+ @@@@(resbutton 1280 800)
+ @@@@(resbutton 1440 900)
+ @@@@(resbutton 1600 1000)
+ @@@@(resbutton 1680 1050)
+ @@@@(resbutton 1920 1200)
+ @@@@(resbutton 2048 1280)
+ @@@@(resbutton 2560 1600)
+ @@@@(resbutton 2880 1800)
+ @@@@(resbutton 3200 2000)
+ @@@@(resbutton 3840 2400)
+ ]
+ guibar
+ guilist [
+ guitext "16:9"
+ @@@@(resbutton 1024 600)
+ @@@@(resbutton 1280 720)
+ @@@@(resbutton 1366 768)
+ @@@@(resbutton 1600 900)
+ @@@@(resbutton 1920 1080)
+ @@@@(resbutton 2048 1152)
+ @@@@(resbutton 2560 1440)
+ @@@@(resbutton 2880 1620)
+ @@@@(resbutton 3200 1800)
+ @@@@(resbutton 3840 2160)
+ ]
+ guibar
+ guilist [
+ guitext "5:4"
+ @@@@(resbutton 600 480)
+ @@@@(resbutton 1280 1024)
+ @@@@(resbutton 1600 1280)
+ @@@@(resbutton 2560 2048)
+ ]
+ guibar
+ guilist [
+ guitext "5:3"
+ @@@@(resbutton 800 480)
+ @@@@(resbutton 1280 768)
+
+ guibar
+ guitext "Custom"
+ guilist [
+ customw = $scr_w
+ customh = $scr_h
+ guifield customw 4 [scr_w $customw]
+ guifield customh 4 [scr_h $customh]
+ ]
+ ]
+ ]
+ ]
+
+ guitab "sound" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guitext "sound volume"
+ guislider soundvol
+ guitext "music volume"
+ guislider musicvol
+ guitext "sound channels"
+ guislider soundchans
+ guitext "sound frequency"
+ guilistslider soundfreq "11025 22050 44100"
+ guitext "sound buffer length"
+ guislider soundbufferlen
+ guicheckbox "Mumble positional audio" mumble
+
+ guitab "mouse" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guicheckbox "invert mouse" invmouse
+
+ guilist [
+ guitext "mouse sensitivity: "
+ newsens = $sensitivity
+ guifield newsens 8 [sensitivity $newsens]
+ ]
+
+ guilist [
+ guitext "mouse UI sensitivity: "
+ newguisens = $guisens
+ guifield newguisens 8 [guisens $newguisens]
+ ]
+
+ guilist [
+ guibutton "crosshair: " [showgui crosshair]
+ guiimage (getcrosshair) [showgui crosshair] 0.5
+ ]
+ guitext "crosshair size"
+ guislider crosshairsize
+
+ guitab "keys" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guitext "(basic keybinds, for anything more use the 'bind' command)"
+ guitext "select action to bind and press desired keys (ESC when done):"
+
+ bindidx = 0
+ guilistsplit n 2 $bindactions [
+ guilist [
+ guitext (tabify (concatword $n ": ") 4)
+ [newbinds@bindidx] = (searchbinds $n)
+ guikeyfield [newbinds@bindidx] -12 [
+ oldbinds = (searchbinds [@@n])
+ looplist j $oldbinds [bind $j ""]
+ looplist j $[newbinds@@bindidx] [bind $j [@@@n]]
+ ]
+ bindidx = (+ $bindidx 1)
+ ]
+ ] [guibar]
+
+ guitab "console" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guicheckbox "chat console" miniconfilter 0x300 0
+ guitext "console size (lines)"
+ guislider consize
+ guitext "console filter:"
+ guilist [
+ guilist [
+ guibitfield "important information" confilter 0x11
+ guibitfield "warnings" confilter 0x02
+ guibitfield "errors" confilter 0x04
+ guibitfield "script messages" confilter 0x20
+ ]
+ guibar
+ guilist [
+ guibitfield "chat" confilter 0x100
+ guibitfield "team chat" confilter 0x200
+ guibitfield "game events" confilter 0x400
+ ]
+ guibar
+ guilist [
+ guibitfield "self frags" confilter 0x800
+ guibitfield "other player frags" confilter 0x1000
+ guibitfield "team kills" confilter 0x2000
+ ]
+ ]
+ guitext "full console size (percent of screen)"
+ guislider fullconsize
+ guitext "full console filter:"
+ guilist [
+ guilist [
+ guibitfield "important information" fullconfilter 0x11
+ guibitfield "warnings" fullconfilter 0x02
+ guibitfield "errors" fullconfilter 0x04
+ guibitfield "script messages" fullconfilter 0x20
+ ]
+ guibar
+ guilist [
+ guibitfield "chat" fullconfilter 0x100
+ guibitfield "team chat" fullconfilter 0x200
+ guibitfield "game events" fullconfilter 0x400
+ ]
+ guibar
+ guilist [
+ guibitfield "self frags" fullconfilter 0x800
+ guibitfield "other player frags" fullconfilter 0x1000
+ guibitfield "team kills" fullconfilter 0x2000
+ ]
+ ]
+
+ guitab "cfg" ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ guitext "autoexec.cfg"
+ showfileeditor "autoexec.cfg" -64 13
+] "game"
+
++fround = [round (+f $arg1 $arg2) (absf $arg2)]
+
+newgui ammobar [
+ guicheckbox "AmmoBar" ammobar
+ guibar
+ guilist [
+ guitext "AmmoBarAlign:^t^t^t"
+ guiradio "-1 " ammobaralign -1
+ guiradio "0 " ammobaralign 0
+ guiradio "1" ammobaralign 1
+ ]
+
+ guicheckbox "AmmoBarHorizontal" ammobarhorizontal
+
+ guicheckbox "AmmoBarFlip" ammobarflip
+
+ guicheckbox "AmmoBarHideEmpty" ammobarhideempty
+
+ guitext "AmmoBarSep:"
+ guislider ammobarsep
+
+ guitext "AmmoBarCountSep:"
+ guislider ammobarcountsep
+
+ guilist [
+ guitext "AmmoBarCountScale:^t"
+ guifield ammobarcountscale 5
+ guistayopen [ guibutton "- " [ammobarcountscale (+fround $ammobarcountscale -0.1)] ]
+ guistayopen [ guibutton "+" [ammobarcountscale (+fround $ammobarcountscale 0.1)] ]
+ ]
+
+ guilist [
+ guitext "AmmoBarScale:^t^t^t"
+ guifield ammobarscale 5
+ guistayopen [ guibutton "- " [ammobarscale (+fround $ammobarscale -0.01)] ]
+ guistayopen [ guibutton "+" [ammobarscale (+fround $ammobarscale 0.01)] ]
+ ]
+
+ guilist [
+ guitext "AmmoBarX:^t^t^t"
+ guifield ammobarx 5
+ guistayopen [ guibutton "- " [ammobarx (+fround $ammobarx -0.01)] ]
+ guistayopen [ guibutton "+" [ammobarx (+fround $ammobarx 0.01)] ]
+ ]
+ guilist [
+ guitext "AmmoBarY:^t^t^t"
+ guifield ammobary 5
+ guistayopen [ guibutton "- " [ammobary (+fround $ammobary -0.01)] ]
+ guistayopen [ guibutton "+" [ammobary (+fround $ammobary 0.01)] ]
+ ]
+] "AmmoBar"
+
+
+newgui gameclock [
+ guicheckbox "GameClock" gameclock
+ guibar
+ guilist [
+ guitext "GameClockAlign:^t"
+ guiradio "-1 " gameclockalign -1
+ guiradio "0 " gameclockalign 0
+ guiradio "1" gameclockalign 1
+ ]
+
+ guitext "GameClockAlpha:"
+ guislider gameclockalpha
+
+ // gameclockcolour 0 - 0xFFFFFF
+ // gameclocklowcolour 0 - 0xFFFFFF
+
+ guilist [
+ guitext "GameClockScale:^t"
+ guifield gameclockscale 5
+ guistayopen [ guibutton "- " [gameclockscale (+fround $gameclockscale -0.01)] ]
+ guistayopen [ guibutton "+" [gameclockscale (+fround $gameclockscale 0.01)] ]
+ ]
+
+ guilist [
+ guitext "GameClockX:^t^t"
+ guifield gameclockx 5
+ guistayopen [ guibutton "- " [gameclockx (+fround $gameclockx -0.01)] ]
+ guistayopen [ guibutton "+" [gameclockx (+fround $gameclockx 0.01)] ]
+ ]
+ guilist [
+ guitext "GameClockY:^t^t"
+ guifield gameclocky 5
+ guistayopen [ guibutton "- " [gameclocky (+fround $gameclocky -0.01)] ]
+ guistayopen [ guibutton "+" [gameclocky (+fround $gameclocky 0.01)] ]
+ ]
+] "GameClock"
+
+
+newgui hudscore [
+ guicheckbox "HUDScore" hudscore
+ guibar
+ guilist [
+ guitext "HUDScoreAlign:^t^t"
+ guiradio "-1 " hudscorealign -1
+ guiradio "0 " hudscorealign 0
+ guiradio "1" hudscorealign 1
+ ]
+
+ guitext "HUDScoreAlpha:"
+ guislider hudscorealpha
+
+ // hudscoreenemycolour 0 - 0xFFFFFF
+ // hudscoreplayercolour 0 - 0xFFFFFF
+
+ guitext "HUDScoreSep:"
+ guislider hudscoresep
+
+ guilist [
+ guitext "HUDScoreScale:^t^t"
+ guifield hudscorescale 5
+ guistayopen [ guibutton "- " [hudscorescale (+fround $hudscorescale -0.01)] ]
+ guistayopen [ guibutton "+" [hudscorescale (+fround $hudscorescale 0.01)] ]
+ ]
+
+ guilist [
+ guitext "HUDScoreX:^t^t"
+ guifield hudscorex 5
+ guistayopen [ guibutton "- " [hudscorex (+fround $hudscorex -0.01)] ]
+ guistayopen [ guibutton "+" [hudscorex (+fround $hudscorex 0.01)] ]
+ ]
+ guilist [
+ guitext "HUDScoreY:^t^t"
+ guifield hudscorey 5
+ guistayopen [ guibutton "- " [hudscorey (+fround $hudscorey -0.01)] ]
+ guistayopen [ guibutton "+" [hudscorey (+fround $hudscorey 0.01)] ]
+ ]
+] "HUDScore"
+
+
+bindactions = [forward backward left right jump attack togglezoom saycommand sayteamcommand showscores toggleconsole screenshot edittoggle "setweapon FI" "setweapon SG" "setweapon CG" "setweapon RL" "setweapon RI" "setweapon GL" "setweapon PI" "weapon" "universaldelta 1" "universaldelta -1" dropflag addbot delbot]
+
+entupdate = [ entset $entguitype $entguiattr0 $entguiattr1 $entguiattr2 $entguiattr3 $entguiattr4 ]
+
+initentgui = [
+ entguitype = (enttype)
+ @(loopconcat i 5 [result [
+ entguiattr@i = (entattr @i)
+ ]])
+]
+
+genentattributes = [
+ entattributes = (loopconcat i (listlen $arg2) [
+ entattribname = (at $arg2 $i)
+ entattriblimits = (at $arg3 (* 2 $i))
+ entattriblimits2 = (at $arg3 (+ 1 (* 2 $i)))
+ if (=s (at $entattriblimits 0) $entattriblimits) [
+ result [
+ guitext @entattribname
+ guislider entguiattr@i @entattriblimits @entattriblimits2 entupdate
+ ]
+ ] [
+ result [
+ guitext @entattribname
+ guinameslider entguiattr@i [@@entattriblimits] [@@entattriblimits2] entupdate
+ ]
+ ]
+ ])
+]
+
+guilistsplit = [
+ guilist [
+ z = (div (+ (listlen $arg3) (- $arg2 1)) $arg2)
+ loop a $arg2 [
+ guilist [
+ if (>= $numargs 6) [arg6]
+ loopsublist $arg1 $arg3 (* $a $z) $z [
+ arg4
+ ]
+ ]
+ if (&& (>= $numargs 5) (< (+ $a 1) $arg2)) [arg5]
+ ]
+ ]
+]
+
+quickeditmenu = [
+ guitext "Quick Commands:"
+ guibar
+ guifield savemap_name 10 [ savemap $savemap_name ]
+ guibutton "quick light" "calclight -1"
+ guibutton "optimize map" "remip"
+ guibutton "new entity" "newent shells"
+ guibar
+ guibutton newmap
+ guibar
+ guibutton help "showgui editing"
+]
+
+matmenu = [
+ guibutton "air" "editmat air"
+ guibutton "water" "editmat water"
+ guibutton "lava" "editmat lava"
+ guibutton "clip" "editmat clip"
+ guibutton "glass" "editmat glass"
+ guibutton "noclip" "editmat noclip"
+ guibutton "gameclip" "editmat gameclip"
+ guibutton "death" "editmat death"
+ guibutton "alpha" "editmat alpha"
+ guicheckbox "show material volumes" showmat
+]
+
+brushmenu = [
+ guilist [ // diamonds
+ guiimage "packages/icons/brush_1c.png" brush_0
+ guiimage "packages/icons/brush_21c.png" brush_1
+ guiimage "packages/icons/brush_421c.png" brush_2
+ ]
+ guilist [ // squares
+ guiimage "packages/icons/brush_3s.png" brush_3
+ guiimage "packages/icons/brush_5s.png" brush_4
+ guiimage "packages/icons/brush_7s.png" brush_5
+ ]
+ guititle smooth
+ guilist [ // smooth
+ guiimage "packages/icons/brush_3s.png" brush_6
+ guiimage "packages/icons/brush_5s.png" brush_7
+ guiimage "packages/icons/brush_7s.png" brush_8
+ ]
+]
+
+newentgui = [
+ genentattributes $arg1 $arg2 $arg3
+ newgui $arg1 [
+ guitext $entguitype
+ guibar
+ @entattributes
+ guitab type
+ guilistsplit n 2 $enttypelist [
+ guibutton $n [ entset @n ]
+ ]
+ guitab misc
+ @quickeditmenu
+ ] "" [initentgui]
+]
+
+looplist i $enttypelist [
+ newentgui $i "" ""
+]
+
+newgui materials [
+ @matmenu
+ guitab misc
+ @quickeditmenu
+]
+
+newgui brushes [
+ @brushmenu
+ guitab misc
+ @quickeditmenu
+]
+
+newgui quickedit [
+ @quickeditmenu
+ guitab materials
+ @matmenu
+]
+
+newentgui light "radius red green blue" "1 400 0 255 0 255 0 255"
+newentgui spotlight "radius" "0 200"
+newentgui playerstart "direction" "0 360"
+newentgui teleport "tag" "0 20"
+newentgui teledest "direction tag" "0 360 0 20"
+newentgui monster "direction type" "0 360 0 7"
+newentgui mapmodel "direction model" "0 360 0 372"
+newentgui envmap "radius" "0 512"
+newentgui jumppad "Z Y X" "-128 128 -128 127 -128 127"
+newentgui sound "type radius size" "0 20 0 500 0 500"
+newentgui particles "type" "0 13"
+
+contexteditgui = [
+ if $hmapedit [showgui brushes] [
+ if (enthavesel) [
+ showgui (enttype)
+ ] [showgui (? (havesel) materials quickedit)]
+ ]
+]
+
+showentgui = [ contexteditgui ] // legacy bind
+
+newgui seltexinfo [
+ guitext (concatword "Slot: " (getseltex))
+ guilist [ loop x 5 [
+ texname = (gettexname (getseltex) $x)
+ texname = (substr $texname (+ (strstr $texname ">") 1)) // chop off any leading commands
+ guiimage (concatword "packages/" $texname) "" 1 1
+ ]]
+ loop x 5 [ tex = (gettexname (getseltex) $x); if (strcmp $tex "") [] [guitext $tex]]
+]