- make sure, nextclosestent works for pinned entities - menu entries for nextclosestent - highlight closest ent - have closestenttype return the current value and not change the value if the argument is "-" - recognise manually changed closestenttypes in the menu DOCREF closestenttype
1306 lines
59 KiB
INI
1306 lines
59 KiB
INI
//// Main > Editing ////
|
|
|
|
newmenu editing
|
|
menuinit [ if (! $editing) [menuheader "" "\f3You are not in edit mode"] [menuheader] ]
|
|
menuitem "Mapmodels\i\3" [ showmenu Mapmodels ]
|
|
menuitem "Lighting\i\3" [ showmenu Lighting ]
|
|
menuitem "Entities\i\3" [ showmenu Entities ]
|
|
menuitem "Pickups\i\3" [ showmenu Pickups ]
|
|
menuitem "Textures\i\3" [ showmenu Textures ]
|
|
menuitem "Skymaps\i\3" [ showmenu Skymaps ]
|
|
menuitem "Ambient sounds\i\3" [ showmenu [Ambient sounds] ]
|
|
menuitem "Arches, slopes and stairs\i\3" [ showmenu Arches ]
|
|
menuitem "Map operations\i\3" [ showmenu [Map operations] ]
|
|
menuitem "Map settings\i\3" [ showmenu [Map settings] ]
|
|
menuitem "Map config operations\i\3" [ showmenu [Map config operations] ]
|
|
menuitem "Map checks and statistics\i\3" [ showmenu [Map checks and statistics] ]
|
|
menuitem "Bots\i\3" [ showmenu [Creating bot waypoints] ]
|
|
menuitem "Settings\i\3" [ showmenu [Editing settings] ]
|
|
menuitem "Misc\i\3" [ showmenu [Editing misc] ]
|
|
menuitem "Keys\i\3" [ showmenu [Editing keys] ]
|
|
menuitem "Deleted entities" [ showmenu "Deleted entities" ]
|
|
menuitem "Help?" [ echo "\f2Please read the AssaultCube README which has a detailed guide on mapediting..." ]
|
|
|
|
//// Main > Editing > Mapmodels ////
|
|
|
|
newmenu Mapmodels
|
|
menuinit __rebuildmapmodelmenus
|
|
|
|
tempalias __mapmodelcategories [
|
|
platforms "Platforms"
|
|
ladders "Ladders+Stairs"
|
|
stairs "Ladders+Stairs"
|
|
fencing "Fencing"
|
|
plants "Plants"
|
|
lamps "Lights+Lamps"
|
|
street "Street"
|
|
pipes "Pipes"
|
|
office "Office"
|
|
computers "Computers"
|
|
home "Home"
|
|
industrial "Industrial"
|
|
military "Military"
|
|
signs "Signs"
|
|
litter "Other/Litter"
|
|
misc "Other/Misc"
|
|
unsoo "Unsorted/Official"
|
|
unsoa "Unsorted/Akimbo"
|
|
unsom "Unsorted/Map-Config"
|
|
unsorted "Unsorted/Custom"
|
|
]
|
|
|
|
looplist $__mapmodelcategories [key menu] [tempalias (concatword __mm_key_ $key) $menu]
|
|
|
|
tempalias __mm_showmodel [concat alias __lastwatchedmapmodel $arg2 ";" chmenumdl (escape $arg1) (concatword mapmodels/ $arg2) all 40 3]
|
|
tempalias __mm_showmodel2 [concat chmenumdl (escape $arg1) (concatword mapmodels/ $arg2) all 40 3]
|
|
tempalias __mm_tempmenus ""
|
|
|
|
tempalias __rebuildmapmodelmenus [
|
|
if $mapmodelchanged [
|
|
push __mm_menus "" // menus with content
|
|
push __mm_done "" // done map config slots
|
|
push idxs ""
|
|
push mpath ""
|
|
looplist $__mapmodelcategories [key menu] [delmenu $menu]
|
|
looplist (listallmapmodelattributes explodekeywords sortby: keywords sortby: desc usage defaults distribution) [path keyword desc usage dflts dist] [
|
|
mpath = (concatword "mapmodels/" $path)
|
|
dflts = (concat $dflts "0 0 0 0")
|
|
dflts = (concat (at $dflts 0) (at $dflts 1) (at $dflts 2) (at $dflts 3)) // fix missing/incomplete default slot parameters
|
|
idxs = (mapmodelslotbyname $mpath)
|
|
if (|| (! (strlen $keyword)) (< (findlist $__mapmodelcategories $keyword) 0)) [
|
|
keyword = unsorted
|
|
if (strcmp $dist "official") [ keyword = unsoo ] // unless someone writes the missing config files ;)
|
|
if (strcmp $dist "autodownload") [ keyword = unsoa ] // a.k.a "akimbo"
|
|
if (strcmp $dist "akimbo") [ keyword = unsoa ]
|
|
if (listlen $idxs) [ keyword = unsom ] // has slot in current map config
|
|
]
|
|
keyword = (concatword __mm_key_ $keyword)
|
|
newmenu $$keyword
|
|
menurenderoffset -40 0
|
|
concatuniq __mm_menus $$keyword
|
|
if (strlen $desc) [] [desc = $mpath]
|
|
if (listlen $idxs) [
|
|
__mm_done = (concat $__mm_done $idxs)
|
|
if (> (listlen $idxs) 1) [
|
|
looplist $idxs i [menuitem (concat $desc (concatword "#" $i)) (concat newent mapmodel $i) (__mm_showmodel $$keyword $path) $usage] // several slots for the same mapmodel
|
|
][
|
|
menuitem $desc (concat newent mapmodel $idxs) (__mm_showmodel $$keyword $path) $usage // usual case: one slot per model
|
|
]
|
|
][
|
|
menuitem (concatword "\f4" $desc) (concat newent mapmodel "(mapmodel" $dflts $path ")") (__mm_showmodel $$keyword $path) $usage // mapmodel has no slot assigned: assign one
|
|
]
|
|
]
|
|
// add menus sorted by author and distribution
|
|
push amenu ""
|
|
push distmenus ""
|
|
looplist $__mm_tempmenus menu [delmenu $menu]
|
|
__mm_tempmenus = ""
|
|
looplist (listallmapmodelattributes sortby: author desc usage defaults distribution) [path author desc usage dflts dist] [
|
|
mpath = (concatword "mapmodels/" $path)
|
|
dflts = (concat $dflts "0 0 0 0")
|
|
dflts = (concat (at $dflts 0) (at $dflts 1) (at $dflts 2) (at $dflts 3)) // fix missing/incomplete default slot parameters
|
|
if (strlen $author) [] [author = "*unknown*"]
|
|
idxs = (mapmodelslotbyname $mpath)
|
|
amenu = (concat "Map models by" $author)
|
|
newmenu $amenu // menu sorted by author
|
|
concatuniq __mm_tempmenus $amenu
|
|
menurenderoffset -40 0
|
|
if (listlen $idxs) [
|
|
if (> (listlen $idxs) 1) [
|
|
looplist $idxs i [menuitem (concat $path (concatword "#" $i)) (concat newent mapmodel $i) (__mm_showmodel $amenu $path) $desc] // several slots for the same mapmodel
|
|
][
|
|
menuitem $path (concat newent mapmodel $idxs) (__mm_showmodel $amenu $path) $desc // usual case: one slot per model
|
|
]
|
|
][
|
|
menuitem (concatword "\f4" $path) (concat newent mapmodel "(mapmodel" $dflts $path ")") (__mm_showmodel $amenu $path) $desc // mapmodel has no slot assigned: assign one
|
|
]
|
|
if (strlen $dist) [] [dist = "*unknown*"]
|
|
amenu = (concat "Map models of origin:" $dist)
|
|
newmenu $amenu // menu sorted by distribution
|
|
concatuniq distmenus $amenu
|
|
menurenderoffset -40 0
|
|
if (listlen $idxs) [
|
|
if (> (listlen $idxs) 1) [
|
|
looplist $idxs i [menuitem (concat $path (concatword "#" $i)) (concat newent mapmodel $i) (__mm_showmodel $amenu $path) $desc] // several slots for the same mapmodel
|
|
][
|
|
menuitem $path (concat newent mapmodel $idxs) (__mm_showmodel $amenu $path) $desc // usual case: one slot per model
|
|
]
|
|
][
|
|
menuitem (concatword "\f4" $path) (concat newent mapmodel "(mapmodel" $dflts $path ")") (__mm_showmodel $amenu $path) $desc // mapmodel has no slot assigned: assign one
|
|
]
|
|
]
|
|
amenu = "Browse all map models"
|
|
delmenu $amenu
|
|
newmenu $amenu
|
|
looplist $__mm_tempmenus m [menuitem $m (concat showmenu (escape $m))]
|
|
menuitem "" -1
|
|
looplist $distmenus m [menuitem $m (concat showmenu (escape $m))]
|
|
__mm_tempmenus = (concat $__mm_tempmenus $distmenus)
|
|
delmenu Mapmodels
|
|
newmenu Mapmodels
|
|
push __mm_sorted ""
|
|
looplist $__mapmodelcategories [key menu] [if (>= (findlist $__mm_menus $menu) 0) [concatuniq __mm_sorted $menu]] // create list of non-empty menus in order of list above
|
|
looplist $__mm_sorted m [menuitem $m (concat showmenu $m)] // only create non-empty menus
|
|
if (strlen $__mm_tempmenus) [menuitem "" -1 ; menuitem $amenu (concat showmenu (escape $amenu))]
|
|
delmenu [Delete unused mapmodel slot]
|
|
delmenu [Edit mapmodel slots]
|
|
if $editing [
|
|
newmenu [Delete unused mapmodel slot]
|
|
loop i 256 [
|
|
mpath = (mapmodelslotname $i)
|
|
if (strlen $mpath) [
|
|
if (strcmp "" (mapmodelslotusage $i)) [
|
|
menuitem (concatword "delete slot #" $i ": " (editmapmodelslot $i)) (concat deletemapmodelslot $i) (__mm_showmodel [Delete unused mapmodel slot] $mpath)
|
|
]
|
|
]
|
|
]
|
|
newmenu [Edit mapmodel slots]
|
|
menurenderoffset -40 0
|
|
push origin ""
|
|
loop i 256 [
|
|
mpath = (mapmodelslotname $i)
|
|
if (strlen $mpath) [
|
|
if $__showorigin [
|
|
origin = (getmapmodelattributes $mpath distribution)
|
|
if (! (strlen $origin)) [ origin = "custom/unsorted" ]
|
|
origin = (__colororigin $origin)
|
|
]
|
|
menuitem (concatword "edit slot #" $i ": " (editmapmodelslot $i) $origin) (concat alias __mmslot $i ";" showmenu (escape "Edit mapmodel slot")) (__mm_showmodel2 [Edit mapmodel slots] $mpath)
|
|
] [
|
|
if (strlen (mapmodelslotusage $i)) [
|
|
menuitem (concatword "unassigned slot #" $i) (concat alias __mmslot $i ";" showmenu (escape "Edit mapmodel slot")) [chmenumdl [Edit mapmodel slots] ""]
|
|
]
|
|
]
|
|
]
|
|
pop origin
|
|
mapmodelchanged 0
|
|
] [
|
|
newmenu [Delete unused mapmodel slot]
|
|
menuitem "menu only available in edit mode" -1
|
|
newmenu [Edit mapmodel slots]
|
|
menuitem "menu only available in edit mode" -1
|
|
]
|
|
pop menu __mm_menus __mm_sorted __mm_done __mm_unsorted idxs mpath amenu distmenus
|
|
]
|
|
]
|
|
|
|
|
|
//// Main > Editing > Lighting ////
|
|
|
|
newmenu Lighting
|
|
menuitem "Add white lights " [ showmenu [White light] ]
|
|
menuitem "Add coloured lights " [ showmenu [Coloured light] ]
|
|
menuitem "" -1
|
|
menuitemcheckbox "Enable fullbright: " "$fullbright" [ fullbright $arg1 ]
|
|
|
|
//// Main > Editing > Lighting > White light ////
|
|
|
|
newmenu [White light]
|
|
__wlight = 1; __wlight1 = 1
|
|
menuitemslider "Light radius: " 1 32 "$__wlight" 1 [] [ __wlight = $arg1 ]
|
|
menuitemslider "Brightness: " 1 255 "$__wlight1" 5 [] [ __wlight1 = $arg1 ]
|
|
menuitem "" -1
|
|
menuitem "\f2\t [ OK ]\t\t" [ newent light $__wlight $__wlight1 ]
|
|
|
|
//// Main > Editing > Lighting > Coloured light ////
|
|
|
|
newmenu [Coloured light]
|
|
__clight = 1; __clight1 = 1; __clight2 = 1; __clight3 = 1
|
|
menuitemslider "Light radius: " 1 32 "$__clight" 1 [] [ __clight = $arg1 ]
|
|
menuitem "" -1
|
|
menuitemslider "Red light: " 1 255 "$__clight1" 5 [] [ __clight1 = $arg1 ]
|
|
menuitemslider "Green light: " 1 255 "$__clight2" 5 [] [ __clight2 = $arg1 ]
|
|
menuitemslider "Blue light: " 1 255 "$__clight3" 5 [] [ __clight3 = $arg1 ]
|
|
menuitem "" -1
|
|
menuitem "\f2\t\t [ OK ]" [ newent light $__clight $__clight1 $__clight2 $__clight3 ]
|
|
|
|
|
|
//// Main > Editing > Entities ////
|
|
|
|
newmenu Entities
|
|
menuitem "Place RVSF spawn point" [ newent playerstart 1 ]
|
|
menuitem "Place CLA spawn point" [ newent playerstart 0 ]
|
|
menuitem "Place FFA spawn point" [ newent playerstart 100 ]
|
|
menuitemcheckbox "Show all spawn points: " "$showplayerstarts" [ showplayerstarts $arg1 ]
|
|
menuitem "" -1
|
|
menuitem "Place RVSF CTF Flag" [ newent ctf-flag 1 ]
|
|
menuitem "Place CLA CTF Flag" [ newent ctf-flag 0 ]
|
|
menuitem "" -1
|
|
menuitem "Place ladder entity" "saycommand /newent ladder " [ echo "Ensure that you have placed the ladder mapmodel first (found in the mapmodels menu)\i\3" ]
|
|
menuitem "Place clip entity\i\3" [ showmenu Clips ]
|
|
menuitem "" -1
|
|
menuitem "Show list of TODO entities\i\3" [ showmenu "TODO entities" ]
|
|
menuitem "Show list of deleted entities\i\3" [ showmenu "Deleted entities" ]
|
|
|
|
//// Main > Editing > Entities > Clips ////
|
|
|
|
newmenu Clips
|
|
alias _clip01 0 ; alias _clip02 1 ; alias _clip03 1 ; alias _clip04 1 ; alias _clip05 0 ; alias _clip06 0 ; alias _clip07 0
|
|
menuinit [
|
|
resetcurmenu
|
|
menusynctabstops 1
|
|
if (! $editing) [ menuheader "" "\f3not in edit mode" ]
|
|
menuitemslider "Elevation from ground: " 0 50 "$_clip01" 1 [] [ _clip01 = $arg1 ]
|
|
menuitemslider "Length (X): \t" 0 50 "$_clip02" 1 [] [ _clip02 = $arg1 ]
|
|
menuitemslider "Width (Y):\t" 0 50 "$_clip03" 1 [] [ _clip03 = $arg1 ]
|
|
menuitemslider "Height (Z):\t" 0 50 "$_clip04" 1 [] [ _clip04 = $arg1 ]
|
|
menuitemslider "Slope:\t" -4 4 "$_clip06" 1 [] [ _clip06 = $arg1 ]
|
|
menuitemslider "Shape:\t" 0 3 "$_clip07" 1 "regular sloped-x sloped-y rotated" [ _clip07 = $arg1 ]
|
|
menuitem "" -1
|
|
menuitem "\f2\t [ Place clip entity ]" [ newent clip $_clip01 $_clip02 $_clip03 $_clip04 _clip05 $_clip06 $_clip07 ]
|
|
menuitem "\f2\t [ Place player clip entity]" [ newent plclip $_clip01 $_clip02 $_clip03 $_clip04 _clip05 $_clip06 $_clip07 ]
|
|
if $editing [
|
|
push x (editentity (getclosestent))
|
|
if (|| (strcmp (at $x 0) clip) (strcmp (at $x 0) plclip)) [
|
|
menuitem "" -1
|
|
menuitem (concat "Pick clip size from closest entity:" (at $x 4) (at $x 5) (at $x 6) (at $x 7) (at $x 9) (at $x 10)) [ loop i 7 [ (concatword _clip0 (+ $i 1)) = (at $x (+ $i 4)) ] ; refreshcurmenudelayed ]
|
|
]
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Entities > TODO entities ////
|
|
|
|
newmenu "TODO entities"
|
|
menuinit [
|
|
resetcurmenu
|
|
push h 1
|
|
looplisti (enumtodoentities) [n desc] [
|
|
if $editing [
|
|
menuitem (concatword "Entity #" $n ": \fs\f4" (editentity $n) "\fr " $desc) (concat gotoentity $n "; echo" (escape $desc))
|
|
][
|
|
menuitem (concatword "Entity #" $n ": " $desc) -1
|
|
]
|
|
h = 0
|
|
]
|
|
if (pop h) [
|
|
menuitem "no TODO entities" -1
|
|
][
|
|
menuitem "" -1
|
|
menuitem "\f3Clear list of TODO entities" cleartodoentities
|
|
]
|
|
]
|
|
|
|
|
|
//// Main > Editing > Pickups ////
|
|
|
|
newmenu Pickups
|
|
menuheader "" "\f4place pickup entities"
|
|
menuitem "Health" [ newent health ]
|
|
menuitem "Pistol Magazine" [ newent pistol ]
|
|
menuitem "Box of Ammo" [ newent ammobox ]
|
|
menuitem "Kevlar Vest" [ newent armour ]
|
|
menuitem "Helmet" [ newent helmet ]
|
|
menuitem "Akimbo" [ newent akimbo ]
|
|
menuitem "Grenades" [ newent grenades ]
|
|
|
|
|
|
//// Main > Editing > Textures ////
|
|
|
|
newmenu Textures
|
|
menuitem "Browse official textures" [ showmenu "Official textures" ]
|
|
menuitem "Browse custom/downloaded textures" [ showmenu "Custom textures" ]
|
|
menuitem "Edit texture slots of current map" [ showmenu "Edit texture slots" ]
|
|
menuitem "Set notexture" [ showmenu "Set notexture" ]
|
|
|
|
tempalias __lastwatchedtexture "" ; tempalias __texslot ""
|
|
tempalias __rebuildtexturemenus [
|
|
if $rereadtexturelists [
|
|
delmenu "Official textures"
|
|
delmenu "Custom textures"
|
|
push fullname ""
|
|
looplist (gettexturelist "" "kurt skymaps map_editor" "") [tpath tname] [
|
|
fullname = (concatword $tpath "/" $tname)
|
|
if (strcmp official (gettextureorigin $fullname)) [
|
|
newmenu "Official textures"
|
|
] [
|
|
newmenu "Custom textures"
|
|
]
|
|
menuitem $fullname (concat _texmenu_exec (escape $fullname)) (concat _texmenu_hover (escape $fullname) (escape (curmenu)))
|
|
menurenderoffset -20 0
|
|
]
|
|
]
|
|
]
|
|
|
|
tempalias _texmenu_exec [
|
|
__lastwatchedtexture = $arg1
|
|
if $editing [ showmenu "Pick texture" ]
|
|
]
|
|
|
|
tempalias _texmenu_hover [
|
|
__lastwatchedtexture = $arg1
|
|
chmenutexture $arg2 $arg1
|
|
]
|
|
|
|
//// Main > Editing > Textures > Official textures ////
|
|
|
|
newmenu "Official textures"
|
|
menuinit __rebuildtexturemenus
|
|
|
|
//// Main > Editing > Textures > Custom textures ////
|
|
|
|
newmenu "Custom textures"
|
|
menuinit __rebuildtexturemenus
|
|
|
|
//// Main > Editing > Textures > Official|Custom textures > Pick texture ////
|
|
|
|
newmenu "Pick texture"
|
|
menuinit [
|
|
resetcurmenu
|
|
if (strlen $__lastwatchedtexture) [
|
|
chmenutexture (curmenu) $__lastwatchedtexture
|
|
push usedslots (textureslotbyname $__lastwatchedtexture)
|
|
menuitem (concat "Texture:" $__lastwatchedtexture) -1
|
|
menuitem (concat "Distribution:" (gettextureorigin $__lastwatchedtexture)) -1
|
|
menuitem "" -1
|
|
if (strlen $usedslots) [
|
|
menuitem "Texture is already used in:" -1
|
|
looplist $usedslots i [
|
|
menuitem (concatword " slot #" $i " (scale " (at (edittextureslot $i) 0) ")") (concat "__texslot =" $i "; showmenu [Edit texture slot]")
|
|
]
|
|
menuitem "" -1
|
|
usedslots = "once more"
|
|
]
|
|
if (! (strlen (edittextureslot 255))) [
|
|
menuitem (concat "Add to map config" $usedslots) (concat texture 0 $__lastwatchedtexture)
|
|
menuitem "Add to map config and use as next wall texture" (concat "edittexturestack wall (texture 0" $__lastwatchedtexture ")")
|
|
menuitem "Add to map config and use as next floor texture" (concat "edittexturestack floor (texture 0" $__lastwatchedtexture ")")
|
|
menuitem "Add to map config and use as next ceiling texture" (concat "edittexturestack ceiling (texture 0" $__lastwatchedtexture ")")
|
|
] [
|
|
menuitem "\f4(no free texture slots available)" -1
|
|
]
|
|
pop usedslots
|
|
][
|
|
menuitem "no texture selected" -1
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Textures > Set notexture ////
|
|
|
|
newmenu "Set notexture"
|
|
menuinit [
|
|
resetcurmenu
|
|
menurenderoffset -20 0
|
|
push m (escape (curmenu))
|
|
push t (concat chmenutexture $m "[]")
|
|
if (strlen (getnotexture)) [
|
|
menuitem (concat Current notexture: (getnotexture)) (concat loadnotexture (getnotexture)) (concat chmenutexture $m (getnotexture))
|
|
]
|
|
menuitem "Reset notexture" loadnotexture $t // no preview possible
|
|
menuitem "" -1 $t
|
|
menuitem "\f1Pick a notexture to highlight the areas" -1 $t
|
|
looplist (gettexturelist "map_editor/marker" "" ".png") [tpath tname td] [
|
|
fullname = (concatword $tpath "/" $tname)
|
|
menuitem (concat Set notexture to $tname) (concat loadnotexture (escape $fullname)) (concat chmenutexture $m (escape $fullname))
|
|
]
|
|
menuitem "" -1 $t
|
|
menuitem "\f1Pick a notexture for actual use" -1 $t
|
|
menuitem "\f4(as default texture, if custom texture downloads fail)" -1 $t
|
|
looplist (concat makke/rock.jpg makke/concrete.jpg (at (edittextureslot 2) 1) (at (edittextureslot 3) 1) (at (edittextureslot 4) 1) $__lastwatchedtexture) fn [
|
|
menuitem (concat Set notexture to $fn) (concat loadnotexture (escape $fn)) (concat chmenutexture $m (escape $fn))
|
|
]
|
|
pop m t
|
|
]
|
|
|
|
|
|
//// Main > Editing > Skymaps ////
|
|
|
|
newmenu Skymaps
|
|
menuinit [
|
|
resetcurmenu
|
|
if (&& $editing (! (getautomapconfig))) [
|
|
menuitem [Enable automapconfig to make changes permanent] [automapconfig ; closemenu (curmenu)] (concat loadsky (escape $loadsky))
|
|
menuitem "" -1 (concat loadsky (escape $loadsky))
|
|
]
|
|
menuitem (concat "Current skymap:" $loadsky) (concat loadsky (escape $loadsky))
|
|
menuitem "" -1 (concat loadsky (escape $loadsky))
|
|
push offskies ""
|
|
push userskies ""
|
|
push skyname ""
|
|
looplist (gettexturelist skymaps/ "" _ft.jpg) [c1 c2 c3 c4] [
|
|
skyname = (escape (concatword $c3 "/" $c4))
|
|
if (strcmp official (gettextureorigin (concatword $c1 "/" $c2))) [
|
|
offskies = (concat $offskies $skyname)
|
|
] [
|
|
userskies = (concat $userskies $skyname)
|
|
]
|
|
]
|
|
menuitem "Official skymaps:" -1 (concat loadsky (escape $loadsky))
|
|
looplist $offskies skyname [
|
|
menuitem (concat " " $skyname) (concat loadsky $skyname) (concat loadsky $skyname)
|
|
]
|
|
if (strlen $userskies) [
|
|
menuitem "" -1 (concat loadsky (escape $loadsky))
|
|
menuitem "Custom/downloaded skymaps:" -1 (concat loadsky (escape $loadsky))
|
|
looplist $userskies skyname [
|
|
menuitem (concat " " $skyname) (concat loadsky (escape $skyname)) (concat loadsky (escape $skyname))
|
|
]
|
|
]
|
|
pop offskies userskies skyname
|
|
]
|
|
|
|
|
|
//// Main > Editing > Ambient sounds ////
|
|
|
|
newmenu [Ambient sounds]
|
|
menuitem "Browse official mapsounds" [ showmenu "Official mapsounds" ]
|
|
menuitem "Browse custom/downloaded mapsounds" [ showmenu "Custom mapsounds" ]
|
|
menuitem "Edit mapsound slots of current map" [ showmenu "Edit mapsound slots" ]
|
|
|
|
tempalias __mapsoundtitles [
|
|
cavedrip.ogg "Cave drip"
|
|
distant_cars.ogg "Cars driving in the distance"
|
|
hum01.ogg "Humm 1"
|
|
hum02.ogg "Humm 2"
|
|
night_crickets.ogg "Crickets at night"
|
|
water.ogg "Water 1"
|
|
wind.ogg "Wind"
|
|
t_aircond.ogg "Air conditioner"
|
|
t_compressor.ogg "Compressor"
|
|
t_crow.ogg "Crow"
|
|
t_dogs01.ogg "Dogs 1"
|
|
t_helicopter.ogg "Helicopter"
|
|
t_hum01.ogg "Humm 3"
|
|
t_hum02.ogg "Humm 4"
|
|
t_hum03.ogg "Humm 5"
|
|
t_hum04.ogg "Humm 6"
|
|
t_night_dog.ogg "Dogs 2"
|
|
t_night01.ogg "Night 1"
|
|
t_night02.ogg "Night 2"
|
|
t_radio_comms.ogg "Radio comms"
|
|
t_radio_static.ogg "Radio static"
|
|
t_satcoms.ogg "Sat-coms"
|
|
t_sludge.ogg "Sludge"
|
|
t_static01.ogg "Static 1"
|
|
t_static02.ogg "Static 2"
|
|
t_vent01.ogg "Vent 1"
|
|
t_vent02.ogg "Vent 2"
|
|
t_water_owl.ogg "Water owl"
|
|
t_water01.ogg "Water 2"
|
|
t_waterdrip.ogg "Water drip"
|
|
t_wind.ogg "Wind 2"
|
|
t_waterpipe01.ogg "Waterpipes 1"
|
|
t_waterpipe02.ogg "Waterpipes 2"
|
|
warningalarm01.ogg "Warning alarm"
|
|
t_gastank.ogg "Gastank"
|
|
t_keyboard.ogg "Keyboard"
|
|
t_factory01.ogg "Factory"
|
|
t_vents.ogg "Vent 3"
|
|
t_waterfront.ogg "Waterfront"
|
|
t_generator.ogg "Generator"
|
|
t_electricbuzz.ogg "Electric buzz"
|
|
t_alarm01.ogg "Alarm"
|
|
flies.ogg "Flies"
|
|
deserthawk.ogg "Desert hawk"
|
|
owl.ogg "Owl"
|
|
citynoisebirds.ogg "City birds"
|
|
]
|
|
|
|
tempalias __rebuildmapsoundmenus [
|
|
if $rereadsoundlists [
|
|
delmenu "Official mapsounds"
|
|
delmenu "Custom mapsounds"
|
|
looplist (getmapsoundlist) [sname] [
|
|
if (strcmp official (getmapsoundorigin $sname)) [
|
|
newmenu "Official mapsounds"
|
|
] [
|
|
newmenu "Custom mapsounds"
|
|
]
|
|
push idx (findlist $__mapsoundtitles $sname)
|
|
if (< $idx 0) [
|
|
menuitem $sname (concat _sndmenu_exec $sname)
|
|
] [
|
|
menuitem (concatword (at $__mapsoundtitles (+ $idx 1)) " (" $sname ")") (concat _sndmenu_exec $sname)
|
|
]
|
|
menurenderoffset -20 0
|
|
]
|
|
]
|
|
]
|
|
|
|
tempalias _sndmenu_exec [
|
|
__lastwatchedmapsound = $arg1
|
|
if $editing [ showmenu "Pick mapsound" ]
|
|
]
|
|
|
|
//// Main > Editing > Ambient sounds > Official mapsounds ////
|
|
|
|
newmenu "Official mapsounds"
|
|
menuinit __rebuildmapsoundmenus
|
|
|
|
//// Main > Editing > Ambient sounds > Custom mapsounds ////
|
|
|
|
newmenu "Custom mapsounds"
|
|
menuinit __rebuildmapsoundmenus
|
|
|
|
//// Main > Editing > Ambient sounds > Official|Custom mapsounds > Pick mapsound ////
|
|
|
|
newmenu "Pick mapsound"
|
|
tempalias __lastwatchedmapsound "" ; tempalias __sndslot ""
|
|
menuinit [
|
|
resetcurmenu
|
|
if (strlen $__lastwatchedmapsound) [
|
|
push usedslots (mapsoundslotbyname $__lastwatchedmapsound)
|
|
menuitem (concat "Mapsound:" $__lastwatchedmapsound) -1
|
|
menuitem (concat "Distribution:" (getmapsoundorigin $__lastwatchedmapsound)) -1
|
|
menuitem "" -1
|
|
if (strlen $usedslots) [
|
|
menuitem "Mapsound is already used in" -1
|
|
looplist $usedslots i [
|
|
menuitem (concatword " slot #" $i " (maxuses: " (at (editmapsoundslot $i) 1) ")") (concat "__sndslot =" $i "; showmenu [Edit mapsound slot]")
|
|
]
|
|
menuitem "" -1
|
|
usedslots = "once more"
|
|
]
|
|
if (! (strlen (editmapsoundslot 255))) [
|
|
menuitem (concat "\f0Add to map config" $usedslots) (concat mapsound $__lastwatchedmapsound -1)
|
|
] [
|
|
menuitem "\f4(no free mapsound slots available)" -1
|
|
]
|
|
pop usedslots
|
|
][
|
|
menuitem "no mapsound selected" -1
|
|
]
|
|
]
|
|
|
|
|
|
//// Main > Editing > Arches ////
|
|
|
|
looplist [__slopeaxis 0 __slopeinc 4 __stairaxis 0 __stairwidth 1 __undoarch "" __archside 1] [n v] [tempalias $n $v]
|
|
tempalias __setundoarch [ __undoarch = (concat select (at (selx) 0) (at (sely) 0) (at (selxs) 0) (at (selys) 0) "; if (= (undolevel)" (+ (undolevel) 2) ") [ undolevel" (undolevel) "]") ]
|
|
newmenu Arches
|
|
menuinit [ chmenutexture (curmenu) map_editor/axes.png " " ]
|
|
menuitemslider "Arch sideways curve delta: " 0 5 "$__archside" 1 [] [ __archside = $arg1 ]
|
|
menuitem "\t[ Place arch ]" [ __setundoarch ; heightfield 2; arch $__archside ]
|
|
menuitem "Edit arches\i\3" [ showmenu "Edit arches" ]
|
|
menuitem "" -1
|
|
menuitemslider "Slope axis: " 0 1 "$__slopeaxis" 1 ["West to East (X)" "North to South (Y)"] [ __slopeaxis = $arg1 ]
|
|
menuitemslider "Slope increment: " 0 5 "$__slopeinc" 1 ["downwards 3" "downwards 2" "downwards 1" "upwards 1" "upwards 2" "upwards 3"] [ __slopeinc = $arg1 ]
|
|
menuitem "\t[ Place slope ]" [ __setundoarch ; heightfield 0; push i (at "3 2 1 -1 -2 -3" $__slopeinc) ; slope (if $__slopeaxis 0 $i) (if $__slopeaxis $i 0) ; pop i ; 0]
|
|
menuitem "" -1
|
|
menuitem "Clear heightfielding" [ solid 0; slope 0 0 ]
|
|
menuitem "Undo last placed arch or slope" [ __undoarch ; -1 ]
|
|
menuitemcheckbox "Automatically enlarge selections after placing arches and slopes" "$enlargearchslopeselections" [ enlargearchslopeselections $arg1 ]
|
|
menuitem "Enlarge selections now" enlargevdeltaselections
|
|
menuitem "" -1
|
|
menuitemslider "Stairs axis: " 0 1 "$__stairaxis" 1 ["West to East (X)" "North to South (Y)"] [ __stairaxis = $arg1 ]
|
|
menuitemslider "Step width: " 0 5 "$__stairwidth" 1 ["downwards 3" "downwards 2" "downwards 1" "upwards 1" "upwards 2" "upwards 3"] [ __stairwidth = $arg1 ]
|
|
menuitem "\t[ Place stairs ]" [ push i (at "-3 -2 -1 1 2 3" $__stairwidth) ; stairs (if $__stairaxis 0 $i) (if $__stairaxis $i 0) ; pop i ; 0]
|
|
|
|
//// Main > Editing > Arches > Edit arches ////
|
|
|
|
tempalias __pickarch 2
|
|
tempalias __listarch [ push ii "" ; loop i $arg1 [ if $i [ ii = (concat $ii (archvertex $arg1 $i)) ] ] ; result (pop ii) ]
|
|
newmenu "Edit arches"
|
|
menuinit [
|
|
resetcurmenu
|
|
loop i 50 [
|
|
if (> $i 1) [
|
|
menuitem (concatword "arch width " $i ": " (__listarch $i)) (concat __pickarch = $i "; showmenu [Edit arch]")
|
|
]
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Arches > Edit arches > Edit arch ////
|
|
|
|
newmenu "Edit arch"
|
|
menuinit [
|
|
resetcurmenu
|
|
menuheader "" (concat "edit arch width" $__pickarch "(symmetrical)")
|
|
push ii ""
|
|
loop i (div $__pickarch 2) [
|
|
ii = (+ $i 1)
|
|
menuitemslider (concat vertex $ii "\t") 0 31 (archvertex $__pickarch $ii) 1 [] (concat archvertex $__pickarch $ii "$arg1 ; archvertex" $__pickarch (- $__pickarch $ii) "$arg1")
|
|
]
|
|
pop ii
|
|
menuitem "" -1
|
|
menuitem (concat Measure selection for width $__pickarch arch) (concat av (- $__pickarch 1) "(av_measure)")
|
|
menuitem "Edit full arch (non-symmetrical)\i\3" [ showmenu "Edit full arch" ]
|
|
menuitem "Restore arch of different size (ymmv)\i\3" [ showmenu "Pick custom arch" ]
|
|
menuitem "Delete saved custom arch\i\3" [ showmenu "Delete custom arch" ]
|
|
menuitem "" -1
|
|
tempalias __archname custom
|
|
looplist (enumalias (concatword _arch_ $__pickarch _)) [fn sn] [
|
|
if (= (+ (listlen $$fn) 1) $__pickarch) [
|
|
__archname = $sn
|
|
menuitem (concat Restore $sn " " $$fn) (concat av (- $__pickarch 1) (escape $$fn))
|
|
]
|
|
]
|
|
menuitemtextinput "Save arch as " "result $__archname" (concat __archname "= $arg1 ; (concatword _arch_"$__pickarch "_ $arg1) = (__listarch" $__pickarch ")" ) "" 250
|
|
]
|
|
|
|
//// Main > Editing > Arches > Edit arches > Edit arch > Edit full arch ////
|
|
|
|
newmenu "Edit full arch"
|
|
menuinit [
|
|
resetcurmenu
|
|
menuheader "" (concat "edit arch width" $__pickarch "(non-symmetrical)")
|
|
loop i $__pickarch [
|
|
if $i [ menuitemslider (concat vertex $i "\t") 0 31 (archvertex $__pickarch $i) 1 [] (concat archvertex $__pickarch $i "$arg1") ]
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Arches > Edit arches > Edit arch > Pick custom arch ////
|
|
|
|
newmenu "Pick custom arch"
|
|
menuinit [
|
|
resetcurmenu
|
|
menuheader "" (concat "pick custom arch for width" $__pickarch)
|
|
looplist (enumalias _arch_) [fn sn] [ menuitem (concat Use "\fs\f2" $sn $$fn "\fr " as width $__pickarch arch) (concat av (- $__pickarch 1) (escape $$fn)) ]
|
|
]
|
|
|
|
//// Main > Editing > Arches > Edit arches > Edit arch > Delete custom arch ////
|
|
|
|
newmenu "Delete custom arch"
|
|
menuinit [
|
|
resetcurmenu
|
|
looplist (enumalias _arch_) [fn sn] [ menuitem (concat Delete custom arch "\fs\f2" $sn "\fr" $$fn) (concat delalias (escape $fn)) ]
|
|
]
|
|
|
|
|
|
//// Main > Editing > Map operations ////
|
|
|
|
newmenu [Map operations]
|
|
menuitem "Newmap (128x128 cubes - recommended)" [ newmap 7 ]
|
|
menuitem "Newmap (256x256 cubes)" [ newmap 8 ]
|
|
menuitem "Increase mapsize (2x)" [ mapenlarge; echo The map size has been increased by 2. However, the new space is solid. To utilize it, you will need to turn it into non-solid space, by selecting it and pressing G. ]
|
|
menuitem "Print entity stats" entstats
|
|
menuitem "Copy the current closest entity" copyent
|
|
menuitem "Paste a previously copied entity" pasteent
|
|
menuitem "Cycle through multiple closest entities" nextclosestent
|
|
menuitemslider "Select only entities of this type: " 0 (listlen (listoptions ents)) "(closestenttype -)" 1 (concat all (listoptions ents)) [ if $arg1 [ closestenttype $arg1 ] [ closestenttype ] ]
|
|
menuitem "Hide entity sparklies\i\3" [ showmenu [Hide entity sparklies] ]
|
|
|
|
//// Main > Editing > Map operations > Hide entity sparklies ////
|
|
|
|
newmenu [Hide entity sparklies]
|
|
looplisti (listoptions ents) e [
|
|
menuitemcheckbox (concat Hide $e sparklies:) (concat "(&b $edithideentmask" (+ 0 (powf 2 $i)) ")") (concat "edithideentmask (^b $edithideentmask" (+ 0 (powf 2 $i)) ")")
|
|
]
|
|
|
|
//// Main > Editing > Map settings ////
|
|
|
|
newmenu [Map settings]
|
|
tempalias __enableautomapconfig [ if (&& $editing (! (getautomapconfig))) automapconfig ]
|
|
menuinit [
|
|
resetcurmenu
|
|
if $editing [
|
|
menuheader "" (concat " Settings for map" (curmap))
|
|
menuitemtextinput (concatword "Water level (" (getvarrange min waterlevel) ".." (getvarrange max waterlevel) ", default " (getvarrange default waterlevel) "):\t") $waterlevel [waterlevel $arg1]
|
|
looplisti "red 20 green 25 blue 20 alpha 178" [n v] [
|
|
menuitemtextinput (concatword "Water colour (" $n ", default " $v "):\t") (at (getwatercolour) $i) (concat setwatercolour $n "$arg1")
|
|
]
|
|
menuitem "Water colour sliders\i\3" [ showmenu [Water colour] ]
|
|
menuitem "" -1
|
|
menuitemtextinput (concatword "Shadow yaw (0..360, default " (getvarrange default shadowyaw) "):\t") $shadowyaw [__enableautomapconfig ; shadowyaw $arg1]
|
|
menuitem "" -1
|
|
menuitemtextinput (concatword "Fog distance (" (getvarrange min fog) ".." (getvarrange max fog) ", default " (getvarrange default fog) "):\t") $fog [__enableautomapconfig ; fog $arg1]
|
|
menuitemtextinput (concatword "Fog colour (0xrrggbb, default 0x" (h0 6 (getvarrange default fogcolour)) "):\t") (concatword "0x" (h0 6 $fogcolour)) [__enableautomapconfig ; fogcolour $arg1]
|
|
menuitem "Fog colour sliders\i\3" [ showmenu [Fog colour] ]
|
|
menuitem "" -1
|
|
menuitemtextinput (concatword "Ambient light (0..255 or 0xrrggbb, default 0):\t") (if (< $ambient 256) $ambient (concatword "0x" (h0 6 $ambient))) [ambient $arg1]
|
|
menuitem "" -1
|
|
menuitemcheckbox "Map override: Disable water reflection" "$mapoverride_nowaterreflect" [ mapoverride_nowaterreflect $arg1 ]
|
|
menuitemcheckbox "Map override: Limit water waveheight" "$mapoverride_limitwaveheight" [ mapoverride_limitwaveheight $arg1 ]
|
|
menuitemcheckbox "Map override: Disable stencil shadows" "$mapoverride_nostencilshadows" [ mapoverride_nostencilshadows $arg1 ]
|
|
menuitem "" -1
|
|
push n (getnotexture)
|
|
if (! (strlen $n)) [n = <default>]
|
|
menuitem (concatword "Notexture:\n" (pop n)) [showmenu "Set notexture"]
|
|
menuitem (concatword "Skymap:\n" $loadsky) [showmenu Skymaps]
|
|
menuitem "" -1
|
|
if (strlen $mapmsg) [
|
|
menuitem (concat "Map message:" $mapmsg) editmapmsg
|
|
] [
|
|
menuitem "Edit map message..." editmapmsg
|
|
]
|
|
if (strlen $mapinfo_license) [
|
|
menuitem (concatword "Map license tag: \"" $mapinfo_license "\"") [ showmenu "Select map license" ]
|
|
if (strlen $mapinfo_comment) [
|
|
menuitem (concat "Map license comment:" $mapinfo_comment) [ editsvar mapinfo_comment ]
|
|
] [
|
|
menuitem "Edit map license comment..." [ editsvar mapinfo_comment ]
|
|
]
|
|
] [
|
|
menuitem "Select map license\i\3" [ showmenu "Select map license" ]
|
|
]
|
|
] [
|
|
menuitem "menu only available in edit mode" -1
|
|
]
|
|
menuitem "" -1
|
|
menuitem "Show map info\i\3" [ showmenu "Show map info" ]
|
|
]
|
|
|
|
//// Main > Editing > Map settings > Water colour ////
|
|
|
|
newmenu [Water colour]
|
|
looplisti [red green blue alpha] n [
|
|
menuitemslider (concatword "Water colour (" $n "): ") 0 255 (concat "(at (getwatercolour)" $i ")") 5 [] (concat setwatercolour $i "$arg1")
|
|
]
|
|
|
|
//// Main > Editing > Map settings > Fog colour ////
|
|
|
|
newmenu [Fog colour]
|
|
looplist [red 0xff0000 0x10000 green 0xff00 0x100 blue 0xff 1] [n m f] [
|
|
menuitemslider (concatword "Fog colour (" $n "): ") 0 255 (concat "(div (&b $fogcolour " $m ")" $f ")") 5 [] (concat "__enableautomapconfig ; fogcolour (|b (&b $fogcolour" (^b 0xffffff $m) ") (* $arg1" $f "))")
|
|
]
|
|
|
|
//// Main > Editing > Map settings > Select map license ////
|
|
//// Main > Editing > Map settings > Show map info ////
|
|
// see menus_licenses.cfg
|
|
|
|
|
|
//// Main > Editing > Map config operations ////
|
|
|
|
newmenu [Map config operations]
|
|
tempalias __showorigin 0 ; tempalias __colororigin [ result (concatword " \fs\f" (if (strcmp $arg1 official) 4 2) "<" $arg1 ">\fr") ]
|
|
menuitem "Edit mapmodel slot\i\3" [ showmenu [Edit mapmodel slots] ]
|
|
menuitem "Delete unused mapmodel slot\i\3" [ showmenu [Delete unused mapmodel slot] ]
|
|
menuitem "" -1
|
|
menuitem "Edit texture slot\i\3" [ showmenu [Edit texture slots] ]
|
|
menuitem "" -1
|
|
menuitem "Edit mapsound slot\i\3" [ showmenu [Edit mapsound slots] ]
|
|
menuitem "" -1
|
|
menuitem "Delete ALL unused mapmodel slots" [loop ii 256 [ push i (- 255 $ii) ; if (&& (strlen (mapmodelslotname $i)) (strcmp "" (mapmodelslotusage $i))) [deletemapmodelslot $i] ; pop i]]
|
|
menuitem "Delete ALL unused texture slots" [loop ii 251 [ push i (- 255 $ii) ; if (&& (strlen (edittextureslot $i)) (strcmp "" (textureslotusage $i))) [deletetextureslot $i] ; pop i]]
|
|
menuitem "Delete ALL unused mapsound slots" [loop ii 256 [ push i (- 255 $ii) ; if (&& (strlen (editmapsoundslot $i)) (strcmp "" (mapsoundslotusage $i))) [deletemapsoundslot $i] ; pop i]]
|
|
menuitem "" -1
|
|
menuitem "Sort mapmodel slots\i\3" [ showmenu [Sort mapmodel slots] ]
|
|
menuitem "Sort texture slots\i\3" [ showmenu [Sort texture slots] ]
|
|
menuitem "Sort mapsound slots\i\3" [ showmenu [Sort mapsound slots] ]
|
|
menuitem "" -1
|
|
menuitem "Update mapmodel menus" "mapmodelchanged 1"
|
|
menuitemcheckbox "Show media file origin/distribution" "$__showorigin" [ __showorigin = $arg1 ; mapmodelchanged 1 ]
|
|
|
|
//// Main > Editing > Map config operations > Edit mapmodel slots ////
|
|
|
|
newmenu [Edit mapmodel slots]
|
|
menuinit __rebuildmapmodelmenus
|
|
|
|
//// Main > Editing > Map config operations > Edit mapmodel slots > Edit mapmodel slot ////
|
|
|
|
newmenu [Edit mapmodel slot]
|
|
tempalias __lastwatchedmapmodel "" ; tempalias __mmslot ""
|
|
menuinit [
|
|
resetcurmenu
|
|
if (strlen $__mmslot) [
|
|
push info (editmapmodelslot $__mmslot)
|
|
menuheader "" (concatword "edit mapmodel slot #" $__mmslot ":\n" (mapmodelslotname $__mmslot))
|
|
if (strlen $info) [
|
|
menuitemtextinput "Clipping radius" (at $info 0) [editmapmodelslot $__mmslot $arg1]
|
|
menuitemtextinput "Clipping height " (at $info 1) [editmapmodelslot $__mmslot "" $arg1]
|
|
menuitemtextinput "z-Offset " (at $info 2) [editmapmodelslot $__mmslot "" "" $arg1]
|
|
menuitemtextinput "Scale [0.25 - 4.0] " (at $info 3) [editmapmodelslot $__mmslot "" "" "" $arg1]
|
|
push __distribution (getmapmodelattributes (mapmodelslotname $__mmslot) distribution)
|
|
if (! (strlen $__distribution)) [ __distribution = "custom/unsorted" ]
|
|
menuitem (concat "Distribution:" (pop __distribution)) -1
|
|
looplist [defaults "Defaults:" usage "Usage:" license "License:" version "Version:" requires "Requires:"] [attr hd] [ // also possible: desc "Desc:" author "Author:"
|
|
attr = (getmapmodelattributes (mapmodelslotname $__mmslot) $attr)
|
|
if (strlen $attr) [
|
|
menuitem (concat $hd $attr) -1
|
|
]
|
|
]
|
|
menuitem "" -1
|
|
menuitemtextinput "Mapmodel path " (concat result (at $info 4)) [editmapmodelslot $__mmslot "" "" "" "" $arg1] "" 250
|
|
if (&& (strlen $__lastwatchedmapmodel) (! (strcmp $__lastwatchedmapmodel (at $info 4)))) [
|
|
menuitem (concat " change to" (escape $__lastwatchedmapmodel)) [editmapmodelslot $__mmslot "" "" "" "" $__lastwatchedmapmodel]
|
|
]
|
|
menuitem "" -1
|
|
menuitem "Duplicate slot" (concat mapmodel $info)
|
|
] [
|
|
menuitem "\f3Unassigned slot" -1
|
|
]
|
|
if (strlen (mapmodelslotusage $__mmslot)) [
|
|
menuitem "" -1 (concat gotoposition (gotoposition))
|
|
looplist (mapmodelslotusage $__mmslot) ii [
|
|
menuitem (concatword "slot used by map entity #" $ii) (concat gotoentity $ii) (concat gotoentity $ii)
|
|
]
|
|
if (strcmp " " (mapmodelslotusage $__mmslot)) [
|
|
menuitem "(this model is required by another model)" -1
|
|
]
|
|
menuitem "" -1 (concat gotoposition (gotoposition))
|
|
][
|
|
menuitem "" -1
|
|
menuitem "\f3Delete unused slot" (concat deletemapmodelslot $__mmslot)
|
|
]
|
|
pop info
|
|
][
|
|
menuitem "no slot selected" -1
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Map config operations > Delete unused mapmodel slot ////
|
|
|
|
newmenu [Delete unused mapmodel slot]
|
|
menuinit __rebuildmapmodelmenus
|
|
|
|
//// Main > Editing > Map config operations > Edit texture slots ////
|
|
|
|
newmenu [Edit texture slots]
|
|
menuinit [
|
|
resetcurmenu
|
|
menurenderoffset -20 0
|
|
if $editing [
|
|
push ecurmenu (escape (curmenu))
|
|
push info ""
|
|
push origin ""
|
|
looplisti (textureslotusagelist) [cnt used] [
|
|
info = (edittextureslot $i)
|
|
if $__showorigin [ origin = (__colororigin (gettextureorigin (at $info 1))) ]
|
|
if (|| $cnt (strlen $info)) [
|
|
if (! (strlen $info)) [ info = " \fs\f3<unassigned>\fr" ]
|
|
menuitem (concatword "edit texture slot #" $i ": " $info " (" $cnt " uses, " $used " visible)" $origin) (concat __texslot = $i "; showmenu [Edit texture slot]") (concat chmenutexture $ecurmenu (at $info 1))
|
|
]
|
|
]
|
|
pop info ecurmenu origin
|
|
] [
|
|
menuitem "menu only available in edit mode" -1
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Map config operations > Edit texture slots > Edit texture slot ////
|
|
|
|
newmenu [Edit texture slot]
|
|
tempalias __defaultskymapdummy kurt/klite1.jpg
|
|
menuinit [
|
|
resetcurmenu
|
|
if (strlen $__texslot) [
|
|
push info (edittextureslot $__texslot) // "<scale> <path>"
|
|
chmenutexture (curmenu) (at $info 1)
|
|
menurenderoffset -20 0
|
|
menuheader "" (concatword "edit texture slot #" $__texslot ":\n" (at $info 1))
|
|
menuitemtextinput "Scaling factor [0..4] " (at $info 0) [edittextureslot $__texslot $arg1]
|
|
menuitem "\f4factor 0 means default (1.0)" -1
|
|
menuitem "" -1
|
|
menuitem (concat "Distribution:" (gettextureorigin (at $info 1))) -1
|
|
menuitem "" -1
|
|
menuitemtextinput "Texture path " (concat result (at $info 1)) [edittextureslot $__texslot "" $arg1] "" 250
|
|
if (&& (strlen $__lastwatchedtexture) (! (strcmp $__lastwatchedtexture (at $info 1)))) [
|
|
menuitem (concat " change to" (escape $__lastwatchedtexture)) [edittextureslot $__texslot "" $__lastwatchedtexture]
|
|
]
|
|
if (&& (! $__texslot) (! (strcmp $__defaultskymapdummy (at $info 1)))) [
|
|
menuitem (concat " change to skymap default" (escape $__defaultskymapdummy)) [edittextureslot $__texslot 0 $__defaultskymapdummy]
|
|
]
|
|
menuitem "" -1
|
|
menuitem "use as next (upper-)wall texture" [edittexturestack wall $__texslot]
|
|
menuitem "use as next floor texture" [edittexturestack floor $__texslot]
|
|
menuitem "use as next ceiling texture" [edittexturestack ceiling $__texslot]
|
|
push __usage (textureslotusage $__texslot)
|
|
if (&& $__texslot (listlen $__usage)) [
|
|
menuitem "" -1 (concat gotoposition (gotoposition))
|
|
looplist $__usage ii [
|
|
menuitem (concatword "slot used by map entity #" $ii) (concat gotoentity $ii) (concat gotoentity $ii)
|
|
]
|
|
menuitem "" -1 (concat gotoposition (gotoposition))
|
|
]
|
|
if (strlen (pop __usage)) [
|
|
if (> (listlen (textureslotbyname (at $info 1))) 1) [
|
|
menuitem "" -1
|
|
menuitem "Merge multiple slots using same texture" [showmenu "Texture slot merge"]
|
|
]
|
|
pop slots
|
|
] [
|
|
menuitem "" -1
|
|
menuitem "\f3Delete unused slot" (concat deletetextureslot $__texslot)
|
|
]
|
|
if (! (strcmp $__lastwatchedtexture (at $info 1))) [
|
|
menuitem "" -1
|
|
menuitem (concat "Pick texture name" (at $info 1)) (concat __lastwatchedtexture = (escape (at $info 1)))
|
|
]
|
|
if (! $__texslot) [
|
|
menuitem "" -1
|
|
menuitem (concat "Slot #0 is hardcoded as skymap, please use" $__defaultskymapdummy) -1
|
|
] [
|
|
if (< $__texslot 5) [
|
|
menuitem "" -1
|
|
menuitem (concatword "Slot #" $__texslot " is the default " (at ["" "cube 1 water" "wall" "floor" "ceiling"] $__texslot) " texture") -1
|
|
]
|
|
]
|
|
pop info
|
|
][
|
|
menuitem "no slot selected" -1
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Map config operations > Edit texture slots > Edit texture slot > Texture slot merge ////
|
|
|
|
newmenu "Texture slot merge"
|
|
tempalias __tex_joined "" ; tempalias __tex_togo ""
|
|
menuinit [
|
|
resetcurmenu
|
|
if (strlen $__texslot) [
|
|
push info (edittextureslot $__texslot) // "<scale> <path>"
|
|
chmenutexture (curmenu) (at $info 1)
|
|
menurenderoffset -20 0
|
|
menuheader "" (concatword "merge texture slots using\n" (at $info 1))
|
|
menuitem (concat "Slots using texture" (at $info 1)) -1
|
|
push slots (textureslotbyname (at $info 1))
|
|
push usemap (textureslotusagelist)
|
|
menuitem "" -1
|
|
push last (- (listlen $slots) 1)
|
|
__tex_togo = (at $slots 0)
|
|
__tex_joined = (at $slots $last)
|
|
looplist $slots ii [
|
|
menuitem (concatword " #" $ii ": " (edittextureslot $ii) " (" (at $usemap (* $ii 2)) " uses, " (at $usemap (+ (* $ii 2) 1)) " visible)") (concat alias __texslot $ii "; showmenu [Edit texture slot]")
|
|
]
|
|
menuitem "" -1
|
|
menuitem "Merge" -1
|
|
menuitemslider " slot #" 0 $last 0 1 $slots (concat "__tex_togo = (at" (escape $slots) "$arg1)")
|
|
menuitem "into" -1
|
|
menuitemslider " slot #" 0 $last $last 1 $slots (concat "__tex_joined = (at" (escape $slots) "$arg1)")
|
|
menuitem " \f0[OK]" [if (!= $__tex_joined $__tex_togo) [deletetextureslot $__tex_togo purge $__tex_joined]]
|
|
pop info slots usemap last
|
|
][
|
|
menuitem "no slot selected" -1
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Map config operations > Edit mapsound slots ////
|
|
|
|
// Edit mapsound slots
|
|
newmenu [Edit mapsound slots]
|
|
menuinit [
|
|
resetcurmenu
|
|
if $editing [
|
|
push info ""
|
|
push origin ""
|
|
loop i 256 [
|
|
info = (editmapsoundslot $i)
|
|
if (strlen $info) [
|
|
if $__showorigin [ origin = (__colororigin (getmapsoundorigin (at $info 0))) ]
|
|
menuitem (concatword "edit mapsound slot #" $i ": " $info $origin) (concat alias __sndslot $i ";" showmenu (escape "Edit mapsound slot"))
|
|
] [
|
|
if (strlen (mapsoundslotusage $i)) [
|
|
menuitem (concatword "unassigned mapsound slot #" $i) (concat alias __sndslot $i ";" showmenu (escape "Edit mapsound slot"))
|
|
]
|
|
]
|
|
]
|
|
pop info origin
|
|
] [
|
|
menuitem "menu only available in edit mode" -1
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Map config operations > Edit mapsound slots > Edit mapsound slot ////
|
|
|
|
newmenu [Edit mapsound slot]
|
|
tempalias __snd_rad "1" ; tempalias __snd_size "0" ; tempalias __snd_vol "255"
|
|
menuinit [
|
|
resetcurmenu
|
|
if (strlen $__sndslot) [
|
|
push info (editmapsoundslot $__sndslot) // "<path> <maxuses>"
|
|
menuheader "" (concatword "edit mapsound slot #" $__sndslot ":\n" (at $info 0))
|
|
if (strlen $info) [
|
|
menuitemtextinput "Max simultaneous uses " (at $info 1) [editmapsoundslot $__sndslot "" $arg1]
|
|
menuitem " (\f4-1: unlimited)" -1
|
|
menuitem "" -1
|
|
menuitem (concat "Distribution:" (getmapsoundorigin (at $info 0))) -1
|
|
menuitem "" -1
|
|
menuitemtextinput "Mapsound path " (concat result (at $info 0)) [editmapsoundslot $__sndslot $arg1] "" 250
|
|
if (&& (strlen $__lastwatchedmapsound) (! (strcmp $__lastwatchedmapsound (at $info 0)))) [
|
|
menuitem (concat " change to" (escape $__lastwatchedmapsound)) [editmapsoundslot $__sndslot $__lastwatchedmapsound]
|
|
]
|
|
menuitem "" -1
|
|
menuitem "\f2Create map entity:" -1
|
|
menuitemslider [Sound radius: ] 1 25 "$__snd_rad" 1 [] [ __snd_rad = $arg1 ]
|
|
menuitemslider [Sound size: ] 0 25 "$__snd_size" 1 [] [ __snd_size = $arg1 ]
|
|
menuitemslider [Sound volume: ] 1 255 "$__snd_vol" 5 [] [ __snd_vol = $arg1 ]
|
|
menuitem "\f0 Place new entity now" (concat newent sound $__sndslot $__snd_rad $__snd_size $__snd_vol)
|
|
] [
|
|
menuitem "\f3Unassigned slot" -1
|
|
]
|
|
if (strlen (mapsoundslotusage $__sndslot)) [
|
|
menuitem "" -1 (concat gotoposition (gotoposition))
|
|
looplist (mapsoundslotusage $__sndslot) ii [
|
|
menuitem (concatword "slot used by map entity #" $ii) (concat gotoentity $ii) (concat gotoentity $ii)
|
|
]
|
|
menuitem "" -1 (concat gotoposition (gotoposition))
|
|
][
|
|
menuitem "" -1
|
|
menuitem "\f3Delete unused slot" (concat deletemapsoundslot $__sndslot)
|
|
]
|
|
pop info
|
|
][
|
|
menuitem "no slot selected" -1
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Map config operations > Sort mapmodel slots ////
|
|
|
|
looplist [__mmsort __mmmerge __texsort __texmerge __sndsort __sndmerge] i [tempalias $i 1]
|
|
|
|
newmenu [Sort mapmodel slots]
|
|
menuitemcheckbox "Sort slots alphabetically" "$__mmsort" [ __mmsort = $arg1 ]
|
|
menuitemslider "Merge " 0 2 "$__mmmerge" 1 ["no slots" "unused identical slots" "all identical slots"] [ __mmmerge = $arg1 ]
|
|
menuitem "" -1
|
|
menuitem "\t\t\f0[Start]" [sortmapmodelslots (at [nosort ""] $__mmsort) (at [nomerge "" mergeused] $__mmmerge)]
|
|
|
|
//// Main > Editing > Map config operations > Sort texture slots ////
|
|
|
|
newmenu [Sort texture slots]
|
|
menuitemcheckbox "Sort slots alphabetically" "$__texsort" [ __texsort = $arg1 ]
|
|
menuitemslider "Merge " 0 2 "$__texmerge" 1 ["no slots" "unused identical slots" "all identical slots"] [ __texmerge = $arg1 ]
|
|
menuitem "" -1
|
|
menuitem "\t\t\f0[Start]" [sorttextureslots (at [nosort ""] $__texsort) (at [nomerge "" mergeused] $__texmerge)]
|
|
|
|
//// Main > Editing > Map config operations > Sort mapsound slots ////
|
|
|
|
newmenu [Sort mapsound slots]
|
|
menuitemcheckbox "Sort slots alphabetically" "$__sndsort" [ __sndsort = $arg1 ]
|
|
menuitemslider "Merge " 0 2 "$__sndmerge" 1 ["no slots" "unused identical slots" "all identical slots"] [ __sndmerge = $arg1 ]
|
|
menuitem "" -1
|
|
menuitem "\t\t\f0[Start]" [sortmapsoundslots (at [nosort ""] $__sndsort) (at [nomerge "" mergeused] $__sndmerge)]
|
|
|
|
|
|
//// Main > Editing > Map checks and statistics ////
|
|
|
|
newmenu [Map checks and statistics]
|
|
menuinit [
|
|
resetcurmenu
|
|
if $editing [
|
|
menuitem "Map area checks\i\3" [ showmenu [Map area checks] ]
|
|
menuitem "Entity statistics" [ showmenu [Entity statistics] ]
|
|
menuitem "Check mapmodels with unconfigured custom textures" [ showmenu [Walk mapmodel entities with unconfigured custom textures] ]
|
|
menuitem "Show most visible textures" [ showmenu [Most visible textures] ]
|
|
menuitem "Cycle through spawn points" [ gotonextplayerstart ]
|
|
] [
|
|
menuitem "menu only available in edit mode" -1
|
|
]
|
|
]
|
|
|
|
tempalias __showslopes [
|
|
push i 0
|
|
looplist (mapareacheck vdelta) n [
|
|
if $n [ echo $n cubes with slopes $i .. (+ $i 2) ]
|
|
i = (+ $i 2)
|
|
]
|
|
pop i
|
|
]
|
|
|
|
tempalias __clearprobepointdummies [ clearents dummy ]
|
|
|
|
tempalias __placeprobepointdummies [
|
|
__clearprobepointdummies
|
|
looplist (mapareacheck pp) [x y z area vol avgh] [
|
|
if (> $vol 32767) [ vol = 32767 ]
|
|
editentity (addentity dummy) $x $y (+ $z 5) $area "" "" "" $vol "" $avgh
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Map checks and statistics > Map area checks ////
|
|
|
|
newmenu [Map area checks]
|
|
menuitem "Heightfield slope stats" __showslopes
|
|
menuitem "Goto steepest heightfield position" [ push p (mapareacheck steepest) ; gotoposition (at $p 0) (at $p 1) (at (pop p) 2)]
|
|
menuitem "Place probe point dummies" __placeprobepointdummies
|
|
menuitem "Walk probe point dummies\i\3" [ showmenu [Walk probe point dummies] ]
|
|
menuitem "Clear probe point dummies" __clearprobepointdummies
|
|
|
|
//// Main > Editing > Map checks and statistics > Map area checks > Walk probe point dummies ////
|
|
|
|
newmenu [Walk probe point dummies]
|
|
menuinit [
|
|
resetcurmenu
|
|
__placeprobepointdummies
|
|
menuitem "\f4(return to previous position)" (concat gotoposition (gotoposition)) (concat gotoposition (gotoposition))
|
|
push ents (enumentities dummy)
|
|
looplisti (mapareacheck pp) [x y z area vol avgh] [
|
|
menuitem (concatword "#" $i " area: " $area " volume: " $vol " avg height: " $avgh " (" $x "|" $y ")") (concat gotoentity (at $ents $i)) (concat gotoentity (at $ents $i))
|
|
]
|
|
pop ents
|
|
]
|
|
|
|
//// Main > Editing > Map checks and statistics > Entity statistics ////
|
|
|
|
newmenu [Entity statistics]
|
|
menuinit [
|
|
resetcurmenu
|
|
push s 1
|
|
looplist (listoptions ents) e [
|
|
push n (listlen (enumentities $e))
|
|
if $n [
|
|
menuitem (concatword $n " entities of type " $e) (concat showmenu "[Walk" $e "entities]")
|
|
s = 0
|
|
]
|
|
pop n
|
|
]
|
|
if (pop s) [
|
|
menuitem "No entities" -1
|
|
]
|
|
]
|
|
|
|
//// Main > Editing > Map checks and statistics > Entity statistics > Walk ... entities ////
|
|
|
|
push __a "resetcurmenu ; menuitem [\f4(return to previous position)] (concat gotoposition (gotoposition)) (concat gotoposition (gotoposition)) ;"
|
|
push __b "looplist $ents i [ menuitem (concatword # $i [ ] (editentity $i)) (concat gotoentity $i) (concat gotoentity $i) ] ; pop ents"
|
|
looplist (listoptions ents) e [
|
|
newmenu (concat Walk $e entities)
|
|
menuinit (concat $__a "push ents (enumentities" $e ") ;" $__b)
|
|
]
|
|
|
|
//// Main > Editing > Map checks and statistics > Walk mapmodel entities with unconfigured custom textures ////
|
|
|
|
newmenu [Walk mapmodel entities with unconfigured custom textures]
|
|
menuinit (concat $__a "looplist (enumentities mapmodel) i [if (! (strlen (edittextureslot (at (editentity $i) 7)))) [menuitem (concatword # $i [ ] (editentity $i)) (concat gotoentity $i) (concat gotoentity $i)]]")
|
|
pop __a __b
|
|
|
|
//// Main > Editing > Map checks and statistics > Most visible textures ////
|
|
|
|
newmenu [Most visible textures]
|
|
menuinit [
|
|
resetcurmenu
|
|
menurenderoffset -20 0
|
|
if $editing [
|
|
push ec (escape (curmenu))
|
|
push mvis (textureslotusagelist onlymostvisible)
|
|
push info ""
|
|
looplist $mvis [d i] [
|
|
info = (edittextureslot $i)
|
|
menuitem (concatword "most visible " $d " texture: " (if $i (escape $info) [result <skymap>]) " (slot #" $i ")") (concat __texslot = $i "; showmenu [Edit texture slot]") (concat chmenutexture $ec (at $info 1))
|
|
]
|
|
menuitem "" -1 (concat chmenutexture $ec [])
|
|
menuitem "Sort the most visible textures to the default slot positions" (concat sorttextureslots nomerge nosort 1 (at $mvis 1) (at $mvis 3) (at $mvis 5) (at $mvis 7)) (concat chmenutexture $ec [])
|
|
pop mvis ec info
|
|
] [
|
|
menuitem "menu only available in edit mode" -1
|
|
]
|
|
]
|
|
|
|
|
|
//// Main > Editing > Creating bot waypoints ////
|
|
// see menus_bot.cfg
|
|
|
|
|
|
//// Main > Editing > Editing settings ////
|
|
|
|
newmenu [Editing settings]
|
|
menuitemslider "Grid/Selection style: " 0 1 "$oldselstyle" 1 [triangles "squares (default)"] [ oldselstyle $arg1 ]
|
|
menuitemcheckbox "Show mapmodel clippings: " "$showmodelclipping" [ showmodelclipping $arg1 ]
|
|
menuitemcheckbox "Show ladder entities: " "$showladderentities" [ showladderentities $arg1 ]
|
|
menuitemcheckbox "Show all playerstarts (spawn points): " "$showplayerstarts" [ showplayerstarts $arg1 ]
|
|
menuitemslider "Show closest ent slot info: " 0 2 "$hideeditslotinfo" 1 [ always "if unassigned" never ][ hideeditslotinfo $arg1 ]
|
|
menuitemcheckbox "Show edit info panel: " "(! $hideeditinfopanel)" [ hideeditinfopanel (! $arg1) ]
|
|
menuitemslider "Fly speeds multiplier: " 1 5 "$flyspeed" 1 [] [ flyspeed $arg1 ]
|
|
// opt/autosave.cfg may add some entries
|
|
|
|
|
|
//// Main > Editing > Editing misc ////
|
|
|
|
newmenu [Editing misc]
|
|
menuitem "Load batch map conversion tools" load_convmap [] "\f4(checking and editing of entire map collections)"
|
|
menuitem "Load extra map editing scripts" load_mapeditscripts [] "\f4(expert tools for hardcore map optimisations)"
|
|
menuitem "Rebuild list of mapmodels" [ echo "\f1This will take a few seconds..." ; sleep 99 [ mapmodelregistryclear ; loadallmapmodels ; echo "\f1Done." ] ] [] "\f2Use this after manually adding or removing mapmodels\nfrom your profile directory. May throw some errors."
|
|
|
|
|
|
//// Main > Editing > Editing keys ////
|
|
|
|
newmenu [Editing keys]
|
|
menuitem "Select an action and press ENTER to bind a new key:" -1
|
|
menuitem "" -1
|
|
menuitem "\f2Mousewheel editing:" -1
|
|
menuitemeditkeyinput [Move entity: ] editkey_scroll_moveent
|
|
menuitemeditkeyinput [Change vdelta: ] editkey_scroll_vdelta
|
|
menuitemeditkeyinput [Change wall/upper wall texture: ] editkey_scroll_walluppertex
|
|
menuitemeditkeyinput [Change floor/ceiling texture: ] editkey_scroll_floorceiltex
|
|
menuitem "\f4(Keys '1' thru '7' edit entity attributes)" -1
|
|
menuitem "" -1
|
|
menuitem "\f2Edit all selected cubes:" -1
|
|
menuitemeditkeyinput [Make cubes 'solid': ] editkey_cubes_solid
|
|
menuitemeditkeyinput [Make cubes 'space': ] editkey_cubes_space
|
|
menuitemeditkeyinput [Make cubes 'floor heightfield': ] editkey_cubes_hf_floor
|
|
menuitemeditkeyinput [Make cubes 'ceiling heightfield': ] editkey_cubes_hf_ceiling
|
|
menuitemeditkeyinput [Make cubes 'corner': ] corner
|
|
menuitem "" -1
|
|
menuitemeditkeyinput [Move floor down: ] editkey_move_floor_down
|
|
menuitemeditkeyinput [Move floor up: ] editkey_move_floor_up
|
|
menuitemeditkeyinput [Move ceiling down: ] editkey_move_ceiling_down
|
|
menuitemeditkeyinput [Move ceiling up: ] editkey_move_ceiling_up
|
|
menuitemeditkeyinput [Decrease vdelta: ] editkey_vdelta_down
|
|
menuitemeditkeyinput [Increase vdelta: ] editkey_vdelta_up
|
|
menuitemeditkeyinput [Equalize floor: ] editkey_equalize_floor
|
|
menuitemeditkeyinput [Equalize ceiling: ] editkey_equalize_ceiling
|
|
menuitem "" -1
|
|
menuitemeditkeyinput [Texture on floor forward: ] editkey_floortex_up
|
|
menuitemeditkeyinput [Texture on floor previous: ] editkey_floortex_dn
|
|
menuitemeditkeyinput [Texture on wall forward: ] editkey_walltex_up
|
|
menuitemeditkeyinput [Texture on wall previous: ] editkey_walltex_dn
|
|
menuitemeditkeyinput [Texture on ceiling forward: ] editkey_ceiltex_up
|
|
menuitemeditkeyinput [Texture on floor previous: ] editkey_ceiltex_dn
|
|
menuitemeditkeyinput [Texture on upper wall forward: ] editkey_uppertex_dn
|
|
menuitemeditkeyinput [Texture on upper wall previous: ] editkey_uppertex_up
|
|
menuitem "" -1
|
|
menuitem "\f2Misc editing keys:" -1
|
|
menuitemkeyinput [Enter edit mode: ] edittoggle
|
|
menuitemeditkeyinput [Exit edit mode: ] edittoggle
|
|
menuitemeditkeyinput [Show editing menu: ] editkey_show_menu
|
|
menuitemeditkeyinput [Show lighting menu: ] editkey_show_menu_light
|
|
menuitem "" -1
|
|
menuitemeditkeyinput [1st meta key: ] editmeta
|
|
menuitemeditkeyinput [2nd meta key: ] editkey_editmeta2
|
|
menuitem "" -1
|
|
menuitemeditkeyinput [Occlusion culling on/off: ] toggleocull
|
|
menuitemeditkeyinput [Mip display on/off: ] showmip
|
|
menuitemeditkeyinput [Fullbright on/off: ] editkey_fullbright
|
|
menuitemeditkeyinput [Show cube details on/off: ] showfocuscubedetails
|
|
menuitem "" -1
|
|
menuitemeditkeyinput [Copy selected cubes: ] copy
|
|
menuitemeditkeyinput [Paste cubes: ] paste
|
|
menuitemeditkeyinput [Undo geometry changes: ] undo
|
|
menuitemeditkeyinput [Redo: ] redo
|
|
menuitem "" -1
|
|
menuitemeditkeyinput [Pin/unpin closest entity: ] toggleclosestentpin
|
|
menuitemeditkeyinput [Point to select entity: ] editkey_pointatents
|
|
menuitemeditkeyinput [Cycle through closest entities: ] nextclosestent
|
|
menuitemeditkeyinput [Delete entity: ] editkey_delete_entity
|
|
menuitemeditkeyinput [Copy entity: ] copyent
|
|
menuitemeditkeyinput [Paste entity: ] pasteent
|
|
menuitemeditkeyinput [Edit entity: ] editent
|
|
menuitemeditkeyinput [Cycle through TODO entities: ] editkey_scroll_todoents
|
|
menuitemeditkeyinput [Cycle through spawns: ] editkey_scroll_spawns
|
|
menuitem "" -1
|
|
menuitem "\f2Tag clips:" -1
|
|
menuitemeditkeyinput [Show tag clip volume: ] showtagclipfocus
|
|
menuitemeditkeyinput [Remove tag clip: ] editkey_tagclip_none
|
|
menuitemeditkeyinput [Create tag 'playerclip': ] editkey_tagclip_plclip
|
|
menuitemeditkeyinput [Create tag 'clip': ] editkey_tagclip_clip
|
|
menuitem "" -1
|
|
menuitemtextinput [Lookup a keyeditbind: ] [] [
|
|
if (strlen $arg1) [
|
|
echo (concatword "\f9Contents of keyeditbind " (addpunct $arg1) :)
|
|
if (strcmp (result (keyeditbind $arg1)) "") [
|
|
echo (addpunct $arg1) is not bound
|
|
][
|
|
echo (keyeditbind $arg1)
|
|
]
|
|
]
|
|
] [] 256
|
|
menuitem [] -1
|
|
menuitem "Alternate edit binds\i\3" [ showmenu [Alternate edit binds] ]
|
|
|
|
//// Main > Editing > Editing keys > Alternate edit binds ////
|
|
|
|
newmenu [Alternate edit binds]
|
|
menuitem "\f2Back" [ closecurmenu ]
|
|
menuitem [Click to use alternate edit binds] [ exec config/opt/alternateeditbinds.cfg; closecurmenu ] [ echo "\f3See config/opt/alternateeditbinds.cfg first" ]
|
|
|
|
|
|
//// Main > Editing > Deleted entities ////
|
|
|
|
newmenu "Deleted entities"
|
|
menuinit [
|
|
resetcurmenu
|
|
if (unlistdeletedentity) [
|
|
looplisti (getdeletedentities) [type x y z a1 a2 a3 a4 a5 a6 a7] [
|
|
push desc (concat $type (concatword "[" $x "|" $y "|" $z "]") (concatword "(" $a1 ", " $a2 ", " $a3 ", " $a4 ", " $a5 ", " $a6 ", " $a7 ")"))
|
|
if (strcmp $type mapmodel) [desc = (concat $desc (mapmodelslotname $a2))]
|
|
if (&& $editing (strcmp $type sound)) [desc = (concat $desc (at (editmapsoundslot $a1) 0))]
|
|
if $editing [
|
|
menuitem (pop desc) (concat gotoposition $x $y $z $a1 0 ";" undelent $i)
|
|
][
|
|
menuitem (pop desc) -1
|
|
]
|
|
]
|
|
menuitem "\f3clear this list" "unlistdeletedentity all"
|
|
] [
|
|
menuitem "no deleted entities" -1
|
|
]
|
|
]
|