OctaCore/config/heightmap.cfg

141 lines
3.8 KiB
INI

///////////////////////////////////////////////////////////////////////////////
// Heightmap Brush List //
///////////////////////////////////////////////////////////////////////////////
// a heightmap 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.
// clearhbrush : resets the brushmap
// hbrushvert <x> <y> <value> : set a point on the brushmap
// hbrushx <x> : the x coordinate of the brushhandle
// hbrushy <y> : the y coordinate of the brushhandle
hbrushhandle = [
hbrushx $arg1
hbrushy $arg2
]
hbrushindex = -1
hbrushmax = -1 // make sure to bump this up if you add more brushes
selecthbrush = [
hbrushindex = ( + $hbrushindex $arg1 )
if (< $hbrushindex 0) [ hbrushindex = $hbrushmax ]
if (> $hbrushindex $hbrushmax) [ hbrushindex = 0 ]
do [hbrush_@hbrushindex]
]
hbrushverts = [
loop y (listlen $arg1) [
bv = (at $arg1 $y)
loop x (listlen $bv) [
hbrushvert $x $y (at $bv $x)
]
]
]
newhbrush = [
hbrushmax = (+ $hbrushmax 1)
do [
hbrush_@hbrushmax = [
hbrushname = [@@@arg1]
clearhbrush
@@(if (> $numargs 1) [result [hbrushhandle @arg2 @arg3; hbrushverts [@@arg4]]])
]
]
]
newhbrush "Circle 1-0" 0 0 [
"1"
]
newhbrush "Circle 2-1" 1 1 [
"0 1 0"
"1 2 1"
"0 1 0"
]
newhbrush "Circle 4-2-1" 2 2 [
"0 0 1 0 0"
"0 1 2 1 0"
"1 2 4 2 1"
"0 1 2 1 0"
"0 0 1 0 0"
]
newhbrush "Square 3x3" 1 1 [
"1 1 1"
"1 1 1"
"1 1 1"
]
newhbrush "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"
]
newhbrush "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"
]
newhbrush "Smooth 3x3" 1 1 [
"0 0 0"
"0 0 0"
"0 0 0"
]
newhbrush "Smooth 5x5" 2 2 [
"0 0 0 0 0"
"0 0 0 0 0"
"0 0 0 0 0"
"0 0 0 0 0"
"0 0 0 0 0"
]
newhbrush "Smooth 7x7" 3 3 [
"0 0 0 0 0 0 0"
"0 0 0 0 0 0 0"
"0 0 0 0 0 0 0"
"0 0 0 0 0 0 0"
"0 0 0 0 0 0 0"
"0 0 0 0 0 0 0"
"0 0 0 0 0 0 0"
]
newhbrush "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 0"
"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
"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 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 2 2 0"
"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 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 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"
"0 1 0 2 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0"
"0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0"
"1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0"
"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"
"0 1 1 1 0 3 0 2 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0"
"0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0"
"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 0 0"
"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"
"0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0"
"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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0"
"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
]
do [ hbrush_2 ] // 421