diff --git a/config/menus_edit.cfg b/config/menus_edit.cfg index 0201ea7d..65f87fcb 100644 --- a/config/menus_edit.cfg +++ b/config/menus_edit.cfg @@ -268,10 +268,13 @@ tempalias __rebuildmapmodelmenus [ push __mm_menus "" // menus with content push __mm_done "" // done map config slots push idxs "" + push mpath "" looplist $__mapmodelcategories [key menu] [delmenu $menu] - looplist (getmapmodelattributes explodekeywords sortby: keywords sortby: desc usage distribution) [path keyword desc usage dist] [ - path = (concatword "mapmodels/" $path) - idxs = (mapmodelslotbyname $path) + looplist (getmapmodelattributes 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 ;) @@ -281,16 +284,16 @@ tempalias __rebuildmapmodelmenus [ keyword = (concatword __mm_key_ $keyword) newmenu $$keyword concatuniq __mm_menus $$keyword - if (strlen $desc) [] [desc = $path] + 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 + looplist $idxs i [menuitem (concat $desc (concatword "#" $i)) (concat newent mapmodel $i) (__mm_showmodel $$keyword $mpath) $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 $desc (concat newent mapmodel $idxs) (__mm_showmodel $$keyword $mpath) $usage // usual case: one slot per model ] ][ - menuitem (concatword "\f4" $desc) (concat __mm_unassigned $path) (__mm_showmodel $$keyword $path) $usage // mapmodel has no slot assigned + menuitem (concatword "\f4" $desc) (concat newent mapmodel "(mapmodel" $dflts $path ")") (__mm_showmodel $$keyword $mpath) $usage // mapmodel has no slot assigned: assign one ] ] delmenu Mapmodels @@ -299,7 +302,7 @@ tempalias __rebuildmapmodelmenus [ 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 mapmodelchanged 0 - pop menu __mm_menus __mm_sorted __mm_done __mm_unsorted idxs + pop menu __mm_menus __mm_sorted __mm_done __mm_unsorted idxs mpath ] ]