1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
// 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
// copybrush : copies the current heightmap as a brush. cursor location becomes handle
// savebrush <name> : saves the current brush in script form into mybrushes.cfg
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
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//Texture blending
addblendbrush "Circle 8px soft" "packages/brushes/circle_8_soft.png"
addblendbrush "Circle 8px hard" "packages/brushes/circle_8_hard.png"
addblendbrush "Circle 8px solid" "packages/brushes/circle_8_solid.png"
addblendbrush "Circle 16px soft" "packages/brushes/circle_16_soft.png"
addblendbrush "Circle 16px hard" "packages/brushes/circle_16_hard.png"
addblendbrush "Circle 16px solid" "packages/brushes/circle_16_solid.png"
addblendbrush "Circle 32px soft" "packages/brushes/circle_32_soft.png"
addblendbrush "Circle 32px hard" "packages/brushes/circle_32_hard.png"
addblendbrush "Circle 32px solid" "packages/brushes/circle_32_solid.png"
addblendbrush "Circle 64px soft" "packages/brushes/circle_64_soft.png"
addblendbrush "Circle 64px hard" "packages/brushes/circle_64_hard.png"
addblendbrush "Circle 64px solid" "packages/brushes/circle_64_solid.png"
addblendbrush "Circle 128px soft" "packages/brushes/circle_128_soft.png"
addblendbrush "Circle 128px hard" "packages/brushes/circle_128_hard.png"
addblendbrush "Circle 128px solid" "packages/brushes/circle_128_solid.png"
addblendbrush "Noise 64px" "packages/brushes/noise_64.png"
addblendbrush "Noise 128px" "packages/brushes/noise_128.png"
addblendbrush "Square 16px hard" "packages/brushes/square_16_hard.png"
addblendbrush "Square 16px solid" "packages/brushes/square_16_solid.png"
addblendbrush "Square 32px hard" "packages/brushes/square_32_hard.png"
addblendbrush "Square 32px solid" "packages/brushes/square_32_solid.png"
addblendbrush "Square 64px hard" "packages/brushes/square_64_hard.png"
addblendbrush "Square 64px solid" "packages/brushes/square_64_solid.png"
addblendbrush "Gradient 16px" "packages/brushes/gradient_16.png"
addblendbrush "Gradient 32px" "packages/brushes/gradient_32.png"
addblendbrush "Gradient 64px" "packages/brushes/gradient_64.png"
addblendbrush "Gradient 128px" "packages/brushes/gradient_128.png"
|