<!-- Flatland Blocksets --> <blockset href="http://blocksets.flatland.com/flatsets/basic.bset"/> <blockset href="http://blocksets.flatland.com/flatsets/basic2.bset"/> <!-- BLOCKSETS --> <!-- <blockset href="file:///d|/Flatland/Blocksets_Mike/ShapeWater/ShapeWater.bset"/> <blockset href="file:///d|/Flatland/3DML_Projects/ShapeWater/ShapeDemoBlockset/ShapeDemoBlockset.bset"/> --> <blockset href="http://www.mikejost.com/3dml/Blocksets/ShapeWater/ShapeWater.bset"/> <blockset href="http://www.mikejost.com/3dml/Blocksets/ShapeWater/help/ShapeDemoBlockset/ShapeDemoBlockset.bset"/> <!-- ENVIRONMENT --> <debug/> <map style="double" dimensions="(10,10,3)" /> <sky brightness="90%"/> <ambient_light brightness="90%"/> <ground/> </head> <body> <!-- ==================== --> <!-- Import Functions --> <!-- ==================== --> <import href="http://www.mikejost.com/3dml/Blocksets/ShapeWater/ShapeWater.3dml"/> <!-- <import href="../ShapeWater.3dml"/> --> <!-- Entrances --> <entrance name="default" location="(5,8,3)" angle="0.0" /> <define> <!-- torch fire Vertical array --> <!-- defines each of the Tubes which simulate the fire --> <torchfireVert> <element> <symbol>f0</symbol> <xcen>2.5</xcen> <!-- for call to TubeWater --> <ycen>2.5</ycen> <!-- for call to TubeWater --> <zstart>0.0</zstart> <!-- for call to TubeWater --> <zend>30.0</zend> <rinner>7.0</rinner> <router>1.0</router> </element> <element> <symbol>f1</symbol> <xcen>-2.5</xcen> <!-- for call to TubeWater --> <ycen>2.5</ycen> <!-- for call to TubeWater --> <zstart>0.0</zstart> <!-- for call to TubeWater --> <zend>30.0</zend> <rinner>7.0</rinner> <router>1.0</router> </element> <element> <symbol>f2</symbol> <xcen>0.0</xcen> <!-- for call to TubeWater --> <ycen>-2.5</ycen> <!-- for call to TubeWater --> <zstart>0.0</zstart> <!-- for call to TubeWater --> <zend>30.0</zend> <rinner>7.0</rinner> <router>1.0</router> </element> <element> <symbol>f3</symbol> <xcen>0.0</xcen> <!-- for call to TubeWater --> <ycen>0.0</ycen> <!-- for call to TubeWater --> <zstart>0.0</zstart> <!-- for call to TubeWater --> <zend>10.0</zend> <rinner>11.0</rinner> <router>7.0</router> </element> </torchfireVert> <!-- Start Function --> <function name="start"> // Place fountain blocks block = map.get_block("X4"); block.location:x = 4.0*256.0; block.location:y = 2.0*256.0 + 10.0; block.location:z = 5.0*256.0; block = map.get_block("X1"); block.location:x = 5.0*256.0; block.location:y = 2.0*256.0 + 10.0; block.location:z = 5.0*256.0; block = map.get_block("X3"); block.location:x = 4.0*256.0; block.location:y = 2.0*256.0 + 10.0; block.location:z = 4.0*256.0; block = map.get_block("X2"); block.location:x = 5.0*256.0; block.location:y = 2.0*256.0 + 10.0; block.location:z = 4.0*256.0; //CircleWater(block, Nvertices, Xcenter, Ycenter, Zcenter, Rinner, Router ) // define large pool wave circle = map.get_block("c0"); CircleWater(circle, 31, 0.0, 0.0, 0.0, 8.0, 300.0); TranslateBlockAbsolute(circle, 5.0*256.0, 2.0*256.0+60.0, 5.0*256.0 ); //*************************** // Water Arm 1 //*************************** // ElbowWater(block, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal) elbow = map.get_block("e0"); ElbowWater(elbow, 15, 0.0, 187.5, 48.0, 14.0, 145.0, 4.5, 9.0 ); elbow.rotate_y(45); // Translate(block, Xcenter, Ycenter, Zcenter) TranslateBlockAbsolute(elbow, 5.0*256.0, 2.0*256.0+10.0, 5.0*256.0); // define inner splash circle circle = map.get_block("s0"); CircleWater(circle, 15, 0, 0, 0, 2.0, 17.0); TranslateBlockAbsolute(circle, 5.0*256.0+102.0, 2.0*256.0+65.0, 5.0*256.0+102.0); // define outer splash circle circle = map.get_block("s1"); CircleWater(circle, 15, 0, 0, 0, 2.0, 30.0); TranslateBlockAbsolute(circle, 5.0*256.0+102.0, 2.0*256.0+60.0, 5.0*256.0+102.0); //*************************** // Water Arm 2 //*************************** // ElbowWater(block, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal) elbow = map.get_block("e2"); ElbowWater(elbow, 15, 0.0, 187.5, 48.0, 14.0, 145.0, 4.5, 9.0 ); elbow.rotate_y(135); // Translate(block, Xcenter, Ycenter, Zcenter) TranslateBlockAbsolute(elbow, 5.0*256.0, 2.0*256.0+10.0, 5.0*256.0); // define inner splash circle circle = map.get_block("s2"); CircleWater(circle, 15, 0, 0, 0, 2.0, 17.0); TranslateBlockAbsolute(circle, 5.0*256.0+102.0, 2.0*256.0+65.0, 5.0*256.0-102.0); // define outer splash circle circle = map.get_block("s3"); CircleWater(circle, 15, 0, 0, 0, 2.0, 30.0); TranslateBlockAbsolute(circle, 5.0*256.0+102.0, 2.0*256.0+60.0, 5.0*256.0-102.0); //*************************** // Water Arm 3 //*************************** // ElbowWater(block, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal) elbow = map.get_block("e4"); ElbowWater(elbow, 15, 0.0, 187.5, 48.0, 14.0, 145.0, 4.5, 9.0 ); elbow.rotate_y(225); // Translate(block, Xcenter, Ycenter, Zcenter) TranslateBlockAbsolute(elbow, 5.0*256.0, 2.0*256.0+10.0, 5.0*256.0); // define inner splash circle circle = map.get_block("s4"); CircleWater(circle, 15, 0, 0, 0, 2.0, 17.0); TranslateBlockAbsolute(circle, 5.0*256.0-102.0, 2.0*256.0+65.0, 5.0*256.0-102.0); // define outer splash circle circle = map.get_block("s5"); CircleWater(circle, 15, 0, 0, 0, 2.0, 30.0); TranslateBlockAbsolute(circle, 5.0*256.0-102.0, 2.0*256.0+60.0, 5.0*256.0-102.0); //*************************** // Water Arm 4 //*************************** // ElbowWater(block, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal) elbow = map.get_block("e6"); ElbowWater(elbow, 15, 0.0, 187.5, 48.0, 14.0, 145.0, 4.5, 9.0 ); elbow.rotate_y(315); // Translate(block, Xcenter, Ycenter, Zcenter) TranslateBlockAbsolute(elbow, 5.0*256.0, 2.0*256.0+10.0, 5.0*256.0); // define inner splash circle circle = map.get_block("s6"); CircleWater(circle, 15, 0, 0, 0, 2.0, 17.0); TranslateBlockAbsolute(circle, 5.0*256.0-102.0, 2.0*256.0+65.0, 5.0*256.0+102.0); // define outer splash circle circle = map.get_block("s7"); CircleWater(circle, 15, 0, 0, 0, 2.0, 30.0); TranslateBlockAbsolute(circle, 5.0*256.0-102.0, 2.0*256.0+60.0, 5.0*256.0+102.0); //*************************** // Define the Torch Fire //*************************** // define the pedestal base firebase = map.get_block("tg"); TranslateBlockAbsolute(firebase, 5.0*256.0, 2.85*256.0, 5.0*256.0); // define Torch Fire for n=0 to 4 { map.set_block(1,7,1,torchfireVert[n].symbol); fire = map.get_block(torchfireVert[n].symbol); // TubeWater(block, Nvertices, Xoffset, Yoffset, Zstart, Zend, Rinit, Rfinal ) TubeWater(fire, 15, torchfireVert[n].xcen, torchfireVert[n].ycen, torchfireVert[n].zstart, torchfireVert[n].zend, torchfireVert[n].rinner, torchfireVert[n].router); fire.rotate_x(90); fire.rotate_z(180); fire.rotate_y(180); // handles moving the seam away from the viewer (where sides of flat water meet when wrapped around a tube) TranslateBlockAbsolute(fire, 5.0*256.0, 2.897*256.0, 5.0*256.0); } </function> </define> <!-- original Fountain blocks from Author = Lemming Website = http://www.digitaldream.de --> <create symbol="X1" block="fountainquarter"> <part name="base" texture="@ShapeDemoBlockset:stone.gif" style="tiled"/> <part name="rim,center" texture="@ShapeDemoBlockset:brick_white.jpg" style="tiled"/> <part name="waterbase,watertop" texture="@ShapeWater:water.jpg" faces="0"/> <part name="waterspout" faces="0"/> <param movable="yes" orient="0"/> </create> <create symbol="X2" block="fountainquarter"> <part name="base" texture="@ShapeDemoBlockset:stone.gif" style="tiled"/> <part name="rim,center" texture="@ShapeDemoBlockset:brick_white.jpg" style="tiled"/> <part name="waterbase,watertop" texture="@ShapeWater:water.jpg" faces="0"/> <part name="waterspout" faces="0"/> <param movable="yes" orient="90"/> </create> <create symbol="X3" block="fountainquarter"> <part name="base" texture="@ShapeDemoBlockset:stone.gif" style="tiled"/> <part name="rim,center" texture="@ShapeDemoBlockset:brick_white.jpg" style="tiled"/> <part name="waterbase,watertop" texture="@ShapeWater:water.jpg" faces="0"/> <part name="waterspout" faces="0"/> <param movable="yes" orient="180"/> </create> <create symbol="X4" block="fountainquarter"> <part name="base" texture="@ShapeDemoBlockset:stone.gif" style="tiled"/> <part name="rim,center" texture="@ShapeDemoBlockset:brick_white.jpg" style="tiled"/> <part name="waterbase,watertop" texture="@ShapeWater:water.jpg" faces="0"/> <part name="waterspout" faces="0"/> <param movable="yes" orient="270"/> </create> <!-- Fountain Trim(grass) Blocks --> <create symbol="t1" block="fountaintrim"> <sound file="@ShapeDemoBlockset:gusher2.wav" volume="90%" playback="looped" radius="8" flood="no" rolloff="0.4"/> <part name="top" texture="@ShapeDemoBlockset:grass.gif" faces="2"/> <part name="rim,sides,bottom" faces="2"/> <param orient="0"/> </create> <create symbol="t2" block="fountaintrim"> <sound file="@ShapeDemoBlockset:fountain.wav" volume="90%" playback="looped" radius="8" flood="no" rolloff="0.4"/> <part name="top" texture="@ShapeDemoBlockset:grass.gif" faces="2"/> <part name="rim,sides,bottom" faces="2"/> <param orient="90"/> </create> <create symbol="t3" block="fountaintrim"> <sound file="@ShapeDemoBlockset:gusher2.wav" volume="90%" playback="looped" radius="8" flood="no" rolloff="0.4"/> <part name="top" texture="@ShapeDemoBlockset:grass.gif" faces="2"/> <part name="rim,sides,bottom" faces="2"/> <param orient="180"/> </create> <create symbol="t4" block="fountaintrim"> <sound file="@ShapeDemoBlockset:fountain.wav" volume="90%" playback="looped" radius="8" flood="no" rolloff="0.4"/> <part name="top" texture="@ShapeDemoBlockset:grass.gif" faces="2"/> <part name="rim,sides,bottom" faces="2"/> <param orient="270"/> </create> <!-- Grass Block --> <create symbol="fg" block="fullgrass"> <part name="*" texture="@ShapeDemoBlockset:grass.gif" style="tiled"/> <param orient="0"/> </create> <!-- Pool Block --> <create symbol="c0" block="Circle31x31"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewater.jpg" style="tiled" translucency="50%" faces="1"/> <action trigger="start"> <ripple style="waves" force="10.0" droprate="50%" damp="93%"/> </action> </create> <!-- ************************* Water Arm 1 ************************** --> <!-- Elbow water Block --> <create symbol="e0" block="Elbow15x15"> <param movable="yes" origin="(0,0,0)"/> <part name="water" texture="@ShapeWater:bluewater.jpg" style="scaled" translucency="70%" faces="2"/> <part name="interior" texture="@ShapeWater:bluewater.jpg" style="tiled" faces="1" translucency="90%"/> <action trigger="start"> <ripple style="raindrops" force="8.0" droprate="50%" damp="99%"/> </action> </create> <!-- Splash circle Blocks --> <create symbol="s0" block="Circle15x15"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewaterspray2.jpg" style="scaled" translucency="60%" faces="2"/> <action trigger="start"> <ripple style="raindrops" force="30.0" droprate="60%" damp="97%"/> </action> </create> <create symbol="s1" block="Circle15x15"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewater.jpg" style="scaled" translucency="60%" faces="2"/> <action trigger="start"> <ripple style="waves" force="10.0" droprate="50%" damp="94%"/> </action> </create> <!-- ************************* Water Arm 2 ************************** --> <!-- Elbow water Block --> <create symbol="e2" block="Elbow15x15"> <param movable="yes" origin="(0,0,0)"/> <part name="water" texture="@ShapeWater:bluewater.jpg" style="scaled" translucency="70%" faces="2"/> <part name="interior" texture="@ShapeWater:bluewater.jpg" style="tiled" faces="1" translucency="90%"/> <!--<part name="interior" faces="2" translucency="80%"/>--> <action trigger="start"> <ripple style="raindrops" force="8.0" droprate="50%" damp="99%"/> </action> </create> <!-- Splash circle Blocks --> <create symbol="s2" block="Circle15x15"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewaterspray2.jpg" style="scaled" translucency="60%" faces="2"/> <action trigger="start"> <ripple style="raindrops" force="30.0" droprate="60%" damp="97%"/> </action> </create> <create symbol="s3" block="Circle15x15"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewater.jpg" style="scaled" translucency="60%" faces="2"/> <action trigger="start"> <ripple style="waves" force="10.0" droprate="50%" damp="94%"/> </action> </create> <!-- ************************* Water Arm 3 ************************** --> <!-- Elbow water Block --> <create symbol="e4" block="Elbow15x15"> <param movable="yes" origin="(0,0,0)"/> <part name="water" texture="@ShapeWater:bluewater.jpg" style="scaled" translucency="70%" faces="2"/> <part name="interior" texture="@ShapeWater:bluewater.jpg" style="tiled" faces="1" translucency="90%"/> <!--<part name="interior" faces="2" translucency="80%"/>--> <action trigger="start"> <ripple style="raindrops" force="8.0" droprate="50%" damp="99%"/> </action> </create> <!-- Splash circle Blocks --> <create symbol="s4" block="Circle15x15"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewaterspray2.jpg" style="scaled" translucency="60%" faces="2"/> <action trigger="start"> <ripple style="raindrops" force="30.0" droprate="60%" damp="97%"/> </action> </create> <create symbol="s5" block="Circle15x15"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewater.jpg" style="scaled" translucency="60%" faces="2"/> <action trigger="start"> <ripple style="waves" force="10.0" droprate="50%" damp="94%"/> </action> </create> <!-- ************************* Water Arm 4 ************************** --> <!-- Elbow water Block --> <create symbol="e6" block="Elbow15x15"> <param movable="yes" origin="(0,0,0)"/> <part name="water" texture="@ShapeWater:bluewater.jpg" style="scaled" translucency="70%" faces="2"/> <part name="interior" texture="@ShapeWater:bluewater.jpg" style="tiled" faces="1" translucency="90%"/> <!--<part name="interior" faces="2" translucency="80%"/>--> <action trigger="start"> <ripple style="raindrops" force="8.0" droprate="50%" damp="99%"/> </action> </create> <!-- Splash circle Blocks --> <create symbol="s6" block="Circle15x15"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewaterspray2.jpg" style="scaled" translucency="60%" faces="2"/> <action trigger="start"> <ripple style="raindrops" force="30.0" droprate="60%" damp="97%"/> </action> </create> <create symbol="s7" block="Circle15x15"> <param movable="yes"/> <part name="*" texture="@ShapeWater:bluewater.jpg" style="scaled" translucency="60%" faces="2"/> <action trigger="start"> <ripple style="waves" force="10.0" droprate="50%" damp="94%"/> </action> </create> <!-- Torch Vertical--> <create symbol="tg" block="torchpedestal"> <param orient="up,0" scale="(0.25,0.25,0.25)" movable="yes" origin="(0.0,0.0,0.0)"/> <part name="pedestal" texture="@ShapeDemoBlockset:torchglass.jpg" translucency="25%" faces="1"/> </create> <!-- ************************* Torch Fire ************************** --> <create symbol="f0" block="Elbow15x15"> <param movable="yes" origin="(0.0,0.0,0.0)"/> <part name="*" texture="@ShapeWater:torchfireyellowred.jpg" style="scaled" angle="90" translucency="50%" faces="2"/> <action trigger="start"> <ripple style="waves" force="6.0" droprate="60%" damp="97%"/> </action> </create> <create symbol="f1" block="Elbow15x15"> <param movable="yes" origin="(0.0,0.0,0.0)"/> <part name="*" texture="@ShapeWater:torchfireyellowred.jpg" style="scaled" translucency="50%" faces="2"/> <action trigger="start"> <ripple style="waves" force="6.0" droprate="60%" damp="97%"/> </action> </create> <create symbol="f2" block="Elbow15x15"> <param movable="yes" origin="(0.0,0.0,0.0)"/> <part name="*" texture="@ShapeWater:torchfireyellowred.jpg" style="scaled" translucency="50%" faces="2"/> <action trigger="start"> <ripple style="waves" force="6.0" droprate="60%" damp="97%"/> </action> </create> <create symbol="f3" block="Elbow15x15"> <param movable="yes" origin="(0.0,0.0,0.0)"/> <part name="*" texture="@ShapeWater:torchfireredbrown.jpg" style="scaled" translucency="50%" faces="2"/> <action trigger="start"> <ripple style="waves" force="5.0" droprate="60%" damp="97%"/> </action> </create> <!-- 1 2 3 4 5 6 7 8 9 10 --> <level number="1"> X4 X1 .. .. c0 .. e0 s0 s1 .. <!-- 1 --> X3 X2 .. .. .. .. e2 s2 s3 .. <!-- 2 --> .. .. .. .. .. .. e4 s4 s5 .. <!-- 3 --> .. .. .. .. .. .. e6 s6 s7 .. <!-- 4 --> .. .. .. .. .. .. .. .. .. .. <!-- 5 --> .. .. .. .. .. .. .. .. .. .. <!-- 6 --> .. .. .. .. .. .. .. tg .. .. <!-- 7 --> <!-- 7th line used to hold torch fire blocks --> .. .. .. .. .. .. .. .. .. .. <!-- 8 --> .. .. .. .. .. .. .. .. .. .. <!-- 9 --> .. .. .. .. .. .. .. .. .. .. <!-- 10 --> </level> <!-- 1 2 3 4 5 6 7 8 9 10 --> <level number="2"> fg fg fg fg fg fg fg fg fg fg <!-- 1 --> fg fg fg fg fg fg fg fg fg fg <!-- 2 --> fg fg fg fg fg fg fg fg fg fg <!-- 3 --> fg fg fg fg fg fg fg fg fg fg <!-- 4 --> fg fg fg fg t1 t2 fg fg fg fg <!-- 5 --> fg fg fg fg t4 t3 fg fg fg fg <!-- 6 --> fg fg fg fg fg fg fg fg fg fg <!-- 7 --> fg fg fg fg fg fg fg fg fg fg <!-- 8 --> fg fg fg fg fg fg fg fg fg fg <!-- 9 --> fg fg fg fg fg fg fg fg fg fg <!-- 10 --> </level> <!-- 1 2 3 4 5 6 7 8 9 10 --> <level number="3"> .. .. .. .. .. .. .. .. .. .. <!-- 1 --> .. .. .. .. .. .. .. .. .. .. <!-- 2 --> .. .. .. .. .. .. .. .. .. .. <!-- 3 --> .. .. .. .. .. .. .. .. .. .. <!-- 4 --> .. .. .. .. .. .. tg .. .. .. <!-- 5 --> .. .. .. .. .. .. .. .. .. .. <!-- 6 --> .. .. .. .. .. .. .. .. .. .. <!-- 7 --> .. .. .. .. .. .. .. .. .. .. <!-- 8 --> .. .. .. .. .. .. .. .. .. .. <!-- 9 --> .. .. .. .. .. .. .. .. .. .. <!-- 10 --> </level> </body> </spot>