compiler/libec: (#205) Corrections to integer promotions
[sdk] / samples / 3D / terrainCameraDemo / dna.ec
index eed3748..eaa5ae9 100644 (file)
@@ -3,7 +3,7 @@
 
    Copyright (c) 2001 Jerome Jacovella-St-Louis
    All Rights Reserved.
-   
+
    dna.ec - DNA 3D Model
 ****************************************************************************/
 public import "ecere"
@@ -136,11 +136,11 @@ public:
          uint16 indices[36] =
          {
             // up, front, down, back, right, left
-            21,20,16, 17,21,16, 
-            3,2,1, 0,3,1, 
-            18,19,23, 22,18,23, 
-            6,7,4, 5,6,4, 
-            10,14,13, 9,10,13, 
+            21,20,16, 17,21,16,
+            3,2,1, 0,3,1,
+            18,19,23, 22,18,23,
+            6,7,4, 5,6,4,
+            10,14,13, 9,10,13,
             15,11,8, 12,15,8
          };
 
@@ -180,7 +180,7 @@ public:
       PrimitiveGroup group;
       uint16 num = (uint16)(curveSegments*numCurves);
       int vertexCount = (num+1)*4;
-      
+
       if(Allocate({ vertices = true, texCoords1 = true }, vertexCount, displaySystem))
       {
          uint16 v;
@@ -228,49 +228,49 @@ public:
             //Define Polygons
             for(p=0; p<num; p++)
             {
-               group.indices[index++] = p*2+1;
-               group.indices[index++] = p*2+3;
-               group.indices[index++] = p*2+2;
-               group.indices[index++] = p*2+2;
-               group.indices[index++] = p*2;
-               group.indices[index++] = p*2+1;
-
-               group.indices[index++] = p*2+startv;
-               group.indices[index++] = p*2+2+startv;
-               group.indices[index++] = p*2+3+startv;
-               group.indices[index++] = p*2+3+startv;
-               group.indices[index++] = p*2+1+startv;
-               group.indices[index++] = p*2+startv;
-
-               group.indices[index++] = p*2+startv+1;
-               group.indices[index++] = p*2+startv+3;
-               group.indices[index++] = p*2+3;
-               group.indices[index++] = p*2+3;
-               group.indices[index++] = p*2+1;
-               group.indices[index++] = p*2+startv+1;
-
-               group.indices[index++] = p*2;
-               group.indices[index++] = p*2+2;
-               group.indices[index++] = p*2+startv+2;
-               group.indices[index++] = p*2+startv+2;
-               group.indices[index++] = p*2+startv;
-               group.indices[index++] = p*2;
+               group.indices[index++] = (uint16)(p*2+1);
+               group.indices[index++] = (uint16)(p*2+3);
+               group.indices[index++] = (uint16)(p*2+2);
+               group.indices[index++] = (uint16)(p*2+2);
+               group.indices[index++] = (uint16)(p*2);
+               group.indices[index++] = (uint16)(p*2+1);
+
+               group.indices[index++] = (uint16)(p*2+startv);
+               group.indices[index++] = (uint16)(p*2+2+startv);
+               group.indices[index++] = (uint16)(p*2+3+startv);
+               group.indices[index++] = (uint16)(p*2+3+startv);
+               group.indices[index++] = (uint16)(p*2+1+startv);
+               group.indices[index++] = (uint16)(p*2+startv);
+
+               group.indices[index++] = (uint16)(p*2+startv+1);
+               group.indices[index++] = (uint16)(p*2+startv+3);
+               group.indices[index++] = (uint16)(p*2+3);
+               group.indices[index++] = (uint16)(p*2+3);
+               group.indices[index++] = (uint16)(p*2+1);
+               group.indices[index++] = (uint16)(p*2+startv+1);
+
+               group.indices[index++] = (uint16)(p*2);
+               group.indices[index++] = (uint16)(p*2+2);
+               group.indices[index++] = (uint16)(p*2+startv+2);
+               group.indices[index++] = (uint16)(p*2+startv+2);
+               group.indices[index++] = (uint16)(p*2+startv);
+               group.indices[index++] = (uint16)(p*2);
             }
 
             // Ends
             group.indices[index++] = startv;
-            group.indices[index++] = startv+1;
+            group.indices[index++] = (uint16)(startv+1);
             group.indices[index++] = 1;
             group.indices[index++] = 1;
             group.indices[index++] = 0;
             group.indices[index++] = startv;
 
-            group.indices[index++] = 2*num;
-            group.indices[index++] = 2*num+1;
-            group.indices[index++] = 2*num+startv+1;
-            group.indices[index++] = 2*num+startv+1;
-            group.indices[index++] = 2*num+startv;
-            group.indices[index++] = 2*num;
+            group.indices[index++] = (uint16)(2*num);
+            group.indices[index++] = (uint16)(2*num+1);
+            group.indices[index++] = (uint16)(2*num+startv+1);
+            group.indices[index++] = (uint16)(2*num+startv+1);
+            group.indices[index++] = (uint16)(2*num+startv);
+            group.indices[index++] = (uint16)(2*num);
 
             ComputeNormals();
             result = true;
@@ -283,7 +283,7 @@ public:
    }
 }
 
-static char * names[7] = { "Adenine", "Cytosine", "Guanine", "Thymine", "Phosphate", "Desoxyribose", "Hydrogene" };
+static const char * names[7] = { "Adenine", "Cytosine", "Guanine", "Thymine", "Phosphate", "Desoxyribose", "Hydrogene" };
 
 public class DNAModel : Object
 {
@@ -297,7 +297,7 @@ public class DNAModel : Object
    int baseHeight;
    int baseDepth;
    int desoxyriboseWidth;
-   char * textureFile;
+   const char * textureFile;
 
 public:
    bool Create(DisplaySystem displaySystem)
@@ -377,13 +377,13 @@ public:
                char name[20];
                Vector3D pos;
 
-               // Pick texture         
+               // Pick texture
                int b1 = GetRandom(0,3);
                int b2 = 3-b1;
                Quaternion angle { 1,0,0,0 };
                Vector3D position;
                Matrix matrix;
-               
+
                // Change Rotation
                angle.Yaw(-rotation*c);
                matrix.RotationQuaternion(angle);
@@ -413,7 +413,7 @@ public:
                base.UpdateTransform();
                pos.MultMatrix(position, matrix); base.transform.position = pos;
                base.material = displaySystem.GetMaterial(names[b2]);
-               
+
                //*******************  DESOXYRIBOSE  *******************
                sprintf(name, "Desoxyribose%02d", c*2);
                desoxyribose = { }; AddName(desoxyribose, name);