source: GTP/trunk/App/Demos/Illum/IBRBillboardCloudTrees/Shark3D/src/res/level_shmap/actor/build.s3d_perch @ 2517

Revision 2517, 2.3 KB checked in by igarcia, 17 years ago (diff)
Line 
1///////////////////////////////////////////////////////////////////////////////
2//
3//      ##  ######
4//       ######  ###
5//  ## ###############        Shark 3D Engine (www.shark3d.com)
6//   ########## # # #
7//    ########                Copyright (c) 1996-2006 Spinor GmbH.
8//   ######### # # #          All rights reserved.
9//  ##   ##########
10//      ##
11//
12///////////////////////////////////////////////////////////////////////////////
13
14// Creates several dragon instances.
15
16func public void initActor()
17
18    var actor producer = findActor( getParamStr( "producer" ) );
19
20    var float baseX = getParamFloat( "base_x" );
21    var float baseY = getParamFloat( "base_y" );
22    var float baseZ = getParamFloat( "base_z" );
23    var float stepXX = getParamFloat( "step_xx" );
24    var float stepXY = getParamFloat( "step_xy" );
25    var float stepXZ = getParamFloat( "step_xz" );
26    var float stepYX = getParamFloat( "step_yx" );
27    var float stepYY = getParamFloat( "step_yy" );
28    var float stepYZ = getParamFloat( "step_yz" );
29    var float stepZX = getParamFloat( "step_zx" );
30    var float stepZY = getParamFloat( "step_zy" );
31    var float stepZZ = getParamFloat( "step_zz" );
32    var int minX = getParamInt( "min_x" );
33    var int minY = getParamInt( "min_y" );
34    var int minZ = getParamInt( "min_z" );
35    var int maxX = getParamInt( "max_x" );
36    var int maxY = getParamInt( "max_y" );
37    var int maxZ = getParamInt( "max_z" );
38
39    var int iX, iY, iZ;
40    for iX = minX to maxX do
41        for iY = minY to maxY do
42            for iZ = minZ to maxZ do
43                var float x = baseX + stepXX * iX.toFloat()
44                             + stepXY * iY.toFloat()
45                             + stepXZ * iZ.toFloat();
46                var float y = baseY + stepYX * iX.toFloat()
47                             + stepYY * iY.toFloat()
48                             + stepYZ * iZ.toFloat();
49                var float z = baseZ + stepZX * iX.toFloat()
50                             + stepZY * iY.toFloat()
51                             + stepZZ * iZ.toFloat();
52
53                var actor dragon = producer ^ actor produce();
54                dragon ^ set_transf_transl_xyz( x, y, z );
55            end
56        end
57    end
58end
59
60// Script shutdown:
61func public void finishActor()
62end
Note: See TracBrowser for help on using the repository browser.