X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;ds=inline;f=Source%2FEnvironment%2FTerrain.hpp;h=cc1accce37eec8485e2ee2e23b41c40f723a90ca;hb=8f8250f231122f66e75fc83506dd51dbce948dd0;hp=8cf68e1a3080f3eaf2fc04f23d55379881d79193;hpb=4690d99d2bec493f809c7065b222eaf18f46df60;p=lugaru.git
diff --git a/Source/Environment/Terrain.hpp b/Source/Environment/Terrain.hpp
index 8cf68e1..cc1accc 100644
--- a/Source/Environment/Terrain.hpp
+++ b/Source/Environment/Terrain.hpp
@@ -1,6 +1,6 @@
/*
Copyright (C) 2003, 2010 - Wolfire Games
-Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
+Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file)
This file is part of Lugaru.
@@ -23,16 +23,16 @@ along with Lugaru. If not, see .
#include "Environment/Lights.hpp"
#include "Graphic/Decal.hpp"
-#include "Graphic/gamegl.hpp"
#include "Graphic/Texture.hpp"
+#include "Graphic/gamegl.hpp"
#include "Math/Frustum.hpp"
-#include "Math/Quaternions.hpp"
+#include "Math/XYZ.hpp"
#include "Utils/ImageIO.hpp"
-#define max_terrain_size 256
-#define curr_terrain_size size
-#define subdivision 64
-#define max_patch_elements (max_terrain_size/subdivision)*(max_terrain_size/subdivision)*54
+#define max_terrain_size 256
+#define curr_terrain_size size
+#define subdivision 64
+#define max_patch_elements (max_terrain_size / subdivision) * (max_terrain_size / subdivision) * 54
#define allfirst 0
#define mixed 1
@@ -59,8 +59,7 @@ public:
Texture terraintexture;
short size;
- int patchobjectnum[subdivision][subdivision];
- unsigned int patchobjects[subdivision][subdivision][300];
+ std::vector patchobjects[subdivision][subdivision];
float scale;
int type;
@@ -75,7 +74,7 @@ public:
int numtris[subdivision][subdivision];
int textureness[subdivision][subdivision];
- GLfloat vArray[(max_patch_elements)*subdivision*subdivision];
+ GLfloat vArray[(max_patch_elements)*subdivision * subdivision];
bool visible[subdivision][subdivision];
float avgypatch[subdivision][subdivision];
@@ -88,10 +87,11 @@ public:
std::vector decals;
void AddObject(XYZ where, float radius, int id);
+ void DeleteObject(unsigned int id);
void DeleteDecal(int which);
void MakeDecal(decal_type type, XYZ where, float size, float opacity, float rotation);
void MakeDecalLock(decal_type type, XYZ where, int whichx, int whichy, float size, float opacity, float rotation);
- int lineTerrain(XYZ p1, XYZ p2, XYZ *p);
+ int lineTerrain(XYZ p1, XYZ p2, XYZ* p);
float getHeight(float pointx, float pointz);
float getOpacity(float pointx, float pointz);
XYZ getLighting(float pointx, float pointz);