diff options
| author | xolatile | 2025-07-16 23:08:07 +0200 |
|---|---|---|
| committer | xolatile | 2025-07-16 23:08:07 +0200 |
| commit | c79e16f394a027db7cc5b6d1ea1e27da0b24bbb6 (patch) | |
| tree | f9a22cc38000a8a7a348ed100c11a6c071c187e7 /data/heightmap.cfg | |
| parent | 7256502afa0babe60fcafbd2888cd3e33c3f9b6b (diff) | |
| download | xolatile-badassbug-c79e16f394a027db7cc5b6d1ea1e27da0b24bbb6.tar.xz xolatile-badassbug-c79e16f394a027db7cc5b6d1ea1e27da0b24bbb6.tar.zst | |
Data files, broken...
Diffstat (limited to 'data/heightmap.cfg')
| -rw-r--r-- | data/heightmap.cfg | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/data/heightmap.cfg b/data/heightmap.cfg new file mode 100644 index 0000000..1bb72fb --- /dev/null +++ b/data/heightmap.cfg @@ -0,0 +1,138 @@ +// this config defines various heightmap brushes + +// a brush has two parts: the brushmap and the brushhandle + +// the brushmap is a 2D field that defines how the brush affects a heightmap + +// the brushhandle is a 2D vertex on the brushmap. +// this handle is a reference point on the brushmap which represents +// where the editing cursor is pointed at. + +// clearbrush : resets the brushmap +// brushvert <x> <y> <value> : set a point on the brushmap +// brushx <x> : the x coordinate of the brushhandle +// brushy <y> : the y coordinate of the brushhandle + +brushhandle = [ + brushx $arg1 + brushy $arg2 +] + +brushindex = -1 +brushmax = -1 // make sure to bump this up if you add more brushes + +selectbrush = [ + brushindex = ( + $brushindex $arg1 ) + if (< $brushindex 0) [ brushindex = $brushmax ] + if (> $brushindex $brushmax) [ brushindex = 0 ] + do [brush_@brushindex] + echo "heightmap brush set to:" $brushname +] + +brushverts = [ + loop y (listlen $arg1) [ + bv = (at $arg1 $y) + loop x (listlen $bv) [ + brushvert $x $y (at $bv $x) + ] + ] +] + +newbrush = [ + brushmax = (+ $brushmax 1) + do [ + brush_@brushmax = [ + brushname = [@@@arg1] + clearbrush + @@(if (> $numargs 1) [result [brushhandle @arg2 @arg3; brushverts [@@arg4]]]) + ] + ] +] + +newbrush "Circle 1-0" 0 0 [1] +newbrush "Circle 2-1" 2 2 [ + "" + "0 0 1 " + "0 1 2 1 " + "0 0 1 " +] +newbrush "Circle 4-2-1" 2 2 [ + "0 0 1 " + "0 1 2 1 " + "1 2 4 2 1 " + "0 1 2 1 " + "0 0 1 " +] +newbrush "Square 3x3" 1 1 [ + "1 1 1 " + "1 1 1 " + "1 1 1 " +] +newbrush "Square 5x5" 2 2 [ + "1 1 1 1 1 " + "1 1 1 1 1 " + "1 1 1 1 1 " + "1 1 1 1 1 " + "1 1 1 1 1 " +] +newbrush "Square 7x7" 3 3 [ + "1 1 1 1 1 1 1 " + "1 1 1 1 1 1 1 " + "1 1 1 1 1 1 1 " + "1 1 1 1 1 1 1 " + "1 1 1 1 1 1 1 " + "1 1 1 1 1 1 1 " + "1 1 1 1 1 1 1 " +] + +newbrush "Smooth 3x3" 1 1 [ + "0 0 0 " + "0 " + "0 " +] +newbrush "Smooth 5x5" 2 2 [ + "0 0 0 0 0 " + "0 " + "0 " + "0 " + "0 " +] +newbrush "Smooth 7x7" 3 3 [ + "0 0 0 0 0 0 0" + "0 " + "0 " + "0 " + "0 " + "0 " + "0 " +] + +newbrush "Noise 25x25" 12 12 [ + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 " + "" + "0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 " + "0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 2 2 " + "0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 " + "0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 1 0 0 0 1 1 0 0 1 " + "0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 2 " + "0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 2 " + "0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 " + "0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 " + "0 1 0 2 0 1 1 1 1 0 0 1 0 0 0 0 1 " + "0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 " + "1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 " + "0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 " + "0 1 1 1 0 3 0 2 0 0 0 1 1 0 0 0 1 1 " + "0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 1 " + "0 0 1 1 0 0 0 0 2 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 " + "0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 " + "1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 " + "0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 " + "0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 " + "0 0 0 0 1 0 1 1 0 2 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 " + "0 0 0 0 0 0 0 0 0 1 0 1 " + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 " +] + +do [ brush_2 ] // 421 + |
