- Texture bloodtexture;
- Texture bloodtexture2;
- Texture shadowtexture;
- Texture footprinttexture;
- Texture bodyprinttexture;
- Texture breaktexture;
- Texture terraintexture;
- short size;
-
- int patchobjectnum[subdivision][subdivision];
- int patchobjects[subdivision][subdivision][300];
-
- float scale;
- int type;
- float heightmap[max_terrain_size+1][max_terrain_size+1];
- XYZ normals[max_terrain_size][max_terrain_size];
- XYZ facenormals[max_terrain_size][max_terrain_size];
- XYZ triangles[(max_terrain_size-1)*(max_terrain_size-1)*2][3];
- float colors[max_terrain_size][max_terrain_size][4];
- float opacityother[max_terrain_size][max_terrain_size];
- float texoffsetx[max_terrain_size][max_terrain_size];
- float texoffsety[max_terrain_size][max_terrain_size];
- int numtris[subdivision][subdivision];
- int textureness[subdivision][subdivision];
-
- GLfloat vArray[(max_patch_elements)*subdivision*subdivision];
-
- bool visible[subdivision][subdivision];
- float avgypatch[subdivision][subdivision];
- float maxypatch[subdivision][subdivision];
- float minypatch[subdivision][subdivision];
- float heightypatch[subdivision][subdivision];
-
- int patch_elements;
-
- float decaltexcoords[max_decals][3][2];
- XYZ decalvertex[max_decals][3];
- int decaltype[max_decals];
- float decalopacity[max_decals];
- float decalrotation[max_decals];
- float decalalivetime[max_decals];
- float decalbrightness[max_decals];
- XYZ decalposition[max_decals];
- int numdecals;
-
- void AddObject(XYZ where, float radius,int id);
- void DeleteDecal(int which);
- void MakeDecal(int type, XYZ where, float size, float opacity, float rotation);
- void MakeDecalLock(int type, XYZ where, int whichx, int whichy, float size, float opacity, float rotation);
- int lineTerrain(XYZ p1,XYZ p2, XYZ *p);
- float getHeight(float pointx, float pointz);
- float getHeightExtrude(float pointx, float pointz,float point2x, float point2z);
- float getOpacity(float pointx, float pointz);
- XYZ getLighting(float pointx, float pointz);
- XYZ getNormal(float pointx, float pointz);
- void UpdateVertexArray(int whichx, int whichy);
- void UpdateTransparency(int whichx, int whichy);
- void UpdateTransparencyother(int whichx, int whichy);
- void UpdateTransparencyotherother(int whichx, int whichy);
- bool load(const char *fileName);
- void CalculateNormals();
- void drawdecals();
- void draw(int layer);
- void drawpatch(int whichx, int whichy, float opacity);
- void drawpatchother(int whichx, int whichy, float opacity);
- void drawpatchotherother(int whichx, int whichy, float opacity);
- void DoLighting();
- void DoShadows();
-
- Terrain();
- ~Terrain();
+ Texture bloodtexture;
+ Texture bloodtexture2;
+ Texture shadowtexture;
+ Texture footprinttexture;
+ Texture bodyprinttexture;
+ Texture breaktexture;
+ Texture terraintexture;
+ short size;
+
+ int patchobjectnum[subdivision][subdivision];
+ int patchobjects[subdivision][subdivision][300];
+
+ float scale;
+ int type;
+ float heightmap[max_terrain_size + 1][max_terrain_size + 1];
+ XYZ normals[max_terrain_size][max_terrain_size];
+ XYZ facenormals[max_terrain_size][max_terrain_size];
+ XYZ triangles[(max_terrain_size - 1) * (max_terrain_size - 1) * 2][3];
+ float colors[max_terrain_size][max_terrain_size][4];
+ float opacityother[max_terrain_size][max_terrain_size];
+ float texoffsetx[max_terrain_size][max_terrain_size];
+ float texoffsety[max_terrain_size][max_terrain_size];
+ int numtris[subdivision][subdivision];
+ int textureness[subdivision][subdivision];
+
+ GLfloat vArray[(max_patch_elements)*subdivision*subdivision];
+
+ bool visible[subdivision][subdivision];
+ float avgypatch[subdivision][subdivision];
+ float maxypatch[subdivision][subdivision];
+ float minypatch[subdivision][subdivision];
+ float heightypatch[subdivision][subdivision];
+
+ int patch_elements;
+
+ float decaltexcoords[max_decals][3][2];
+ XYZ decalvertex[max_decals][3];
+ int decaltype[max_decals];
+ float decalopacity[max_decals];
+ float decalrotation[max_decals];
+ float decalalivetime[max_decals];
+ float decalbrightness[max_decals];
+ XYZ decalposition[max_decals];
+ int numdecals;
+
+ void AddObject(XYZ where, float radius, int id);
+ void DeleteDecal(int which);
+ void MakeDecal(int type, XYZ where, float size, float opacity, float rotation);
+ void MakeDecalLock(int type, XYZ where, int whichx, int whichy, float size, float opacity, float rotation);
+ int lineTerrain(XYZ p1, XYZ p2, XYZ *p);
+ float getHeight(float pointx, float pointz);
+ float getHeightExtrude(float pointx, float pointz, float point2x, float point2z);
+ float getOpacity(float pointx, float pointz);
+ XYZ getLighting(float pointx, float pointz);
+ XYZ getNormal(float pointx, float pointz);
+ void UpdateVertexArray(int whichx, int whichy);
+ void UpdateTransparency(int whichx, int whichy);
+ void UpdateTransparencyother(int whichx, int whichy);
+ void UpdateTransparencyotherother(int whichx, int whichy);
+ bool load(const char *fileName);
+ void CalculateNormals();
+ void drawdecals();
+ void draw(int layer);
+ void drawpatch(int whichx, int whichy, float opacity);
+ void drawpatchother(int whichx, int whichy, float opacity);
+ void drawpatchotherother(int whichx, int whichy, float opacity);
+ void DoLighting();
+ void DoShadows();
+
+ Terrain();
+ ~Terrain();