1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // this cfg defines the shapes of heightfield prefabs, i.e. arches and such
- // arch of 2xN cubes, i.e. 3 vertices [0..2]
- // archvertex <cubespan> <vertex> <delta>
- // vertices not defined have a 0 delta
- const av [
- push vn (+ $arg1 1)
- if (= (listlen $arg2) $arg1) [
- loop i $arg1 [
- archvertex $vn (+ $i 1) (at $arg2 $i)
- ]
- ][
- loop i (div $vn 2) [
- archvertex $vn (+ $i 1) (at $arg2 $i)
- archvertex $vn (- $vn (+ $i 1)) (at $arg2 $i)
- ]
- ]
- pop vn
- ]
- av 1 "2"
- av 2 "4 4"
- av 3 "5 6 5"
- av 4 "5 6 6 5"
- av 5 "5 7 8 7 5"
- av 6 "5 7 8 8 7 5"
- av 7 "7 11 13 14 13 11 7"
- av 8 "7 11 13 14 14 13 11 7"
- av 9 "7 11 13 14 14 14 13 11 7"
- av 10 "7 11 13 14 14 14 14 13 11 7"
- av 11 "8 13 16 18 19 19 19 18 16 13 8"
- av 12 "8 13 16 18 19 19 19 19 18 16 13 8"
- av 13 "8 13 16 18 19 19 19 19 19 18 16 13 8" // these last few can be improved
- av 14 "8 13 16 18 19 19 19 19 19 19 18 16 13 8"
- av 15 "8 13 16 18 19 19 19 19 19 19 19 18 16 13 8"
- // add wider arches here! :)
- const av_measure [
- push ii ""
- selectionwalk [ ii = (concat $ii $sw_vdelta) ] [ if (&& (!= (at $sw_cursel 2) 1) (!= (at $sw_cursel 3) 1)) [ echo "using wide selections may lead to weird measurements..."] ]
- push offs (at $ii 0)
- push res ""
- loop i (listlen $ii) [ if $i [ res = (concat $res (- (at $ii $i) $offs)) ] ]
- result (pop res offs ii)
- ]
|