poor man's decimal slider

This commit is contained in:
flowtron
2021-08-03 15:01:13 +02:00
parent 517df46ae5
commit 8a28e18056
+13 -11
View File
@@ -297,27 +297,29 @@ looplisti (listoptions ents) e [
]
//// Main > Editing > Entities > Clips ////
// attr5/clip05 always 0 // entscale: 10, 5, 5, 5, 1, 10, 1 but _clipscale maps factor 1 or 10 for human benefit
newmenu Clips
alias _clip01 0 ; alias _clip02 1 ; alias _clip03 1 ; alias _clip04 1 ; alias _clip05 0 ; alias _clip06 0 ; alias _clip07 0
alias _clip01 0 ; alias _clip02 1 ; alias _clip03 1 ; alias _clip04 1 ; alias _clip05 0 ; alias _clip06 0 ; alias _clip07 0; alias _clipscale [10 10 10 10 1 10 1]
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" "regular sloped-x sloped-y rotated" [ _clip07 = $arg1 ] 1
menuitem "\f4values marked \fX>\f4 are scaled \f5x\f410" -1
menuitemslider "\fX> \f5Elevation \t\f4E\f5: " 0 500 "$_clip01" 1 [ _clip01 = $arg1 ]
menuitemslider "\fX> \f5Length \t\f4X\f5: " 0 500 "$_clip02" 2 [ _clip02 = $arg1 ]
menuitemslider "\fX> \f5Width \t\f4Y\f5: " 0 500 "$_clip03" 2 [ _clip03 = $arg1 ]
menuitemslider "\fX> \f5Height \t\f4Z\f5: " 0 500 "$_clip04" 2 [ _clip04 = $arg1 ]
menuitemslider "\fX> \f5Slope \t\f4S\f5: " -40 40 "$_clip06" 1 [ _clip06 = $arg1 ]
menuitemslider "> Shape \t" 0 3 "$_clip07" "regular sloped-x sloped-y rotated" [ _clip07 = $arg1 ] 1
menuitem "" -1
menuitem "\f2\t [ Place clip entity ]" [ newent7 clip $_clip01 $_clip02 $_clip03 $_clip04 _clip05 $_clip06 $_clip07 ]
menuitem "\f2\t [ Place player clip entity]" [ newent7 plclip $_clip01 $_clip02 $_clip03 $_clip04 _clip05 $_clip06 $_clip07 ]
menuitem "\f2\t [ Place clip entity ]" [ newent7 clip (divf $_clip01 10) (divf $_clip02 10) (divf $_clip03 10) (divf $_clip04 10) 0 (divf $_clip06 10) $_clip07 ]
menuitem "\f2\t [ Place player clip entity ]" [ newent7 plclip (divf $_clip01 10) (divf $_clip02 10) (divf $_clip03 10) (divf $_clip04 10) 0 (divf $_clip06 10) $_clip07 ]
if $editing [
push x (editentity (getclosestent))
if (|| (strcmp (at $x 0) clip) (strcmp (at $x 0) plclip)) [
push n ""
loop i 7 [ n = [@n ; _clip0@(+ $i 1) = @(at $x (+ $i 4)) ] ]
loop i 7 [ n = [ @n ; _clip0@(+ $i 1) = @(floor (*f (at $x (+ $i 4)) (at $_clipscale $i))) ] ]
n = [ @n ; _clip05 = 0 ] // attr5 always 0
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)) [ @(pop n) ; refreshcurmenudelayed ]
]