summaryrefslogtreecommitdiff
path: root/data/heightmap.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'data/heightmap.cfg')
-rw-r--r--data/heightmap.cfg138
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
+