# rconfreegui quiet_wood_town.cfdg
startshape village background { b -1 } # include ../../trees/koivu/koivu_olden.cfdg
rule village {
9* { s .9 y .8 x .5 z -10 } vilrow [ ]
} rule vilrow {
4* { x 1.8 y -.1} makebase { z 200 s 1 .4}
}
rule makebase { makebase [ r 1] } rule makebase { makebase [ r -1] } # rule makebase { makebase [ s 1 1.1] } rule makebase { makebase [ y -.1 z .02] } rule makebase { makebase [ x .1] } rule makebase { makebase [ x -.1] } rule makebase { base [ ] } rule makebase .8 { makebase [ x -.5 ] makebirch [ x 1.5 y .1 z -1 s .1 .3] }
rule base { ublock [ ] alternatives [ ]} rule alternatives 5 { } rule alternatives { alternatives [ s .6 ] } rule alternatives { bfront [ ] } rule alternatives { bback [ ] } rule alternatives { bright [ ] } rule bfront { base { s 1 x -0.6 y -0.12 z 3} } rule bback { base { s 1 x 0.6 y 0.12 z -3} } rule btop { base { y 1 } } rule bright { base { y -0.285 x 0.9 z 3} }
rule ublock { block [ ] ub [ y 1 ] } rule ub { ublock [ ] } rule ub 2 { hhroof [ ]}
rule makebirch 2 { makebirch [s 1.1] } rule makebirch { absflow [ ] } rule makebirch { absflow [ ] makebirch [x 1 y -.1 z .1] } rule makebirch { absflow [ ] makebirch [x .5 y .4 z -.4] }
rule block {
hwall { y 0.009 s 0.9 1 skew 0 -16 z 2 hue 45.0 sat 0.7 b .7 } # SQUARE { s 0.6 1 x 0.752 y -0.072 skew 0 7 b 1 z 1} hwall { s 0.6 1 x 0.752 y -0.072 skew 0 7 z 1 hue 45.0 sat 0.7 b 0.4 }
# SQUARE { s 0.3 0.94 skew 0 -30 r 72.5 y 0.57 x 0.31 b 0.6} }
# # house wall rule hwall {
15 * { } vnoise [ a -.7 ] 5 * { x .2 } hwindow [ z .1 x -.4 s .1 .15]
}
rule hwindow { hwindow [ s 1.1 ] } rule hwindow { hwindow [ r 1 ] } rule hwindow {
window [ s 1 1.2 b .2] hiwindow [ y -.1 s .85 b -1]
}
rule hwindow .1 { hdoor [ y -1.1 s 1.3 3 ] } rule hwindow .3 { }
rule hiwindow .2 { hiwindow [ b 1 ] vbars4 [ z .1 b -1] } rule hiwindow { window [ ] } rule hiwindow { window [ ] vbars4 [ z .1 b 1] }
rule hhroof {
# TRIANGLE { s .65 .93 x .75 y -.3 skew 10 8 z 1.2 hue 49.6 sat 0.3 b 0.1 } # TRIANGLE { s .41 .75 x .8 y -.325 skew 4 6 z 1.2 hue 49.6 sat 0.3 b 0 } 15* { } vnoise [ a -.7 x .75 y -.41 s .4 .95 r 37 hue 45.0 sat 0.7 b .3] SQUARE [ a -.5 b -1 x .66 y -.23 z 2 r -17 s .2 .9 ] SQUARE [ a -.5 b -1 x .92 y -.2 z 2 r 17 s .05 .75 ] SQUARE [ b .1 x .93 y -.15 z 2 r 17.5 s .02 .82 ] hrooftiles { s 1 1.8 y -.45 hue 49.6 sat 0.3 b 0.7 z 2.2 skew 30 -10 } hroofpipe [ z -1 y .1]
}
# house roof rule hroof { hroof [ r 1 ] } rule hroof { hrooftiles [ ] hroofpipe [ ] }
rule hrooftiles { 21* {x .05} hroofcol [ x -.49 ] } rule hroofcol { 10* {y .05 z .1} hrooftile [ s .05 ]}
rule hrooftile { hrooftile [ y .01 ] } rule hrooftile { hrooftile [ y -.01 ] }
rule hrooftile {
window [ r 180 ] window [ r 180 s .95 b -.8]
}
rule hroofpipe { hroofpipe [ x .1 y -.02] } rule hroofpipe {
15* { } vnoise [ y .4 x .1 a -.7 s .1 .2 z 2 sat .5] makehsmoke [ y .65 x .1 s .05 .4 |hue 49.6 sat 0.3 b -0.7]
}
// smoke pillar rule makehsmoke { hsmoke [ hue 1|] } rule makehsmoke 6 { }
rule hsmoke { smokething [ ] hsmoke [ y .21 x .05 s .99 a -.01] } rule hsmoke 5 { hsmoke [x .10] } rule hsmoke 5 { hsmoke [x -.10] } rule hsmoke .01 { }
rule smokething { makesmoke [ ] divide [ ] } rule makesmoke { ball [ s 3 ] } rule divide 0.01 { hsmoke [ y .5 x -.15 s .9] } rule divide { }
rule ball { CIRCLE [ b 1 ] CIRCLE [ ] ball [ s .9 ] } rule ball .1 { }
// wall & pipe tiles rule drawnoise { SQUARE [ b -.2 ] } rule drawnoise { SQUARE [ b .2 ] }
rule vnoise { drawnoise [ ] vnoise [ x -.25 s .5 1] vnoise [ x .25 s .5 1] } rule vnoise { hnoise [ ] } rule vnoise .4 { drawnoise [ ] }
rule hnoise { vnoise [ r 90 ] }
// window & door tiles
rule window { SQUARE [ y -.25 ] CIRCLE [ y .25 ] } rule vbars4 { 4* { x .3 } SQUARE [ x -.5 s .05 1.5 ] } rule hdoor { SQUARE [ b .2 ] SQUARE [ b -.1 s .9] SQUARE [ y -.54 s 1.1 .1 ] SQUARE [ y -.64 s 1.3 .1 ] }
// ground tile rule eng_tile {
20* { y .05 s 1 .97 } eng_pole [ s 1 .05 ]
} rule eng_pole { eng_pole [ r 2 ] } rule eng_pole { eng_pole [ r -2 ] } rule eng_pole { SQUARE [ b 1] SQUARE [ b -1 s 1.1 .98 ] }
// birches
rule absflow {
dweed [ s .1] absflow [ y .1 s .99 r .1]
} rule absflow .5 { absflow [ flip 90 ] } rule absflow .2 { absflow [ r 1 ] } rule absflow .2 { absflow [ r -1 ] } rule absflow .05 { absflow [ r -1 ] absflow [ s .5 r 30 ]}
rule dweed { SQUARE [] }
rule absflow .01 { tcbush [ s .5 y 6 ] tcbush [ s .5 y 1 ] absflow [ ]}
rule tcbush {
50* { r 117 x .1 y .1} threecirc [ x -3 sat 1 hue 45 sat 0.7 b 0.65 ] 30* { r 11 x .2 y .1} threecirc [ x 3 y -2 hue 45 sat 0.7 b 0.75 ]
}
rule threecirc 3 { threecirc [ x .2 ] } rule threecirc {
3* { r 120 } twocirc [ x 1 s .3 ]
}
rule twocirc { twocirc [ b .1 ] } rule twocirc 3 { twocirc [ hue .3 b -.02] } rule twocirc {
CIRCLE [ s 2.5 x .3 a -.6 b -.1 sat -.5 hue -3] TRIANGLE [ s 2.3 sat 1 a 1]
}