/////////////////////////////////////////////////////////////////////////////// // // ## ###### // ###### ### // ## ############### Shark 3D Engine (www.shark3d.com) // ########## # # # // ######## Copyright (c) 1996-2006 Spinor GmbH. // ######### # # # All rights reserved. // ## ########## // ## // /////////////////////////////////////////////////////////////////////////////// // Creates several dragon instances. func public void initActor() var actor producer = findActor( getParamStr( "producer" ) ); var float baseX = getParamFloat( "base_x" ); var float baseY = getParamFloat( "base_y" ); var float baseZ = getParamFloat( "base_z" ); var float stepXX = getParamFloat( "step_xx" ); var float stepXY = getParamFloat( "step_xy" ); var float stepXZ = getParamFloat( "step_xz" ); var float stepYX = getParamFloat( "step_yx" ); var float stepYY = getParamFloat( "step_yy" ); var float stepYZ = getParamFloat( "step_yz" ); var float stepZX = getParamFloat( "step_zx" ); var float stepZY = getParamFloat( "step_zy" ); var float stepZZ = getParamFloat( "step_zz" ); var int minX = getParamInt( "min_x" ); var int minY = getParamInt( "min_y" ); var int minZ = getParamInt( "min_z" ); var int maxX = getParamInt( "max_x" ); var int maxY = getParamInt( "max_y" ); var int maxZ = getParamInt( "max_z" ); var int iX, iY, iZ; for iX = minX to maxX do for iY = minY to maxY do for iZ = minZ to maxZ do var float x = baseX + stepXX * iX.toFloat() + stepXY * iY.toFloat() + stepXZ * iZ.toFloat(); var float y = baseY + stepYX * iX.toFloat() + stepYY * iY.toFloat() + stepYZ * iZ.toFloat(); var float z = baseZ + stepZX * iX.toFloat() + stepZY * iY.toFloat() + stepZZ * iZ.toFloat(); var actor dragon = producer ^ actor produce(); dragon ^ set_transf_transl_xyz( x, y, z ); end end end end // Script shutdown: func public void finishActor() end