]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Graphic/Models.hpp
Update copyright year to 2017
[lugaru.git] / Source / Graphic / Models.hpp
index 6b907f22a913c5feb059eb929a0a188cf47e4910..58d8649545e04ce703b6d215434df5196b688c2e 100644 (file)
@@ -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.
 
@@ -24,7 +24,7 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 #include "Environment/Terrain.hpp"
 #include "Graphic/gamegl.hpp"
 #include "Graphic/Texture.hpp"
-#include "Math/Quaternions.hpp"
+#include "Math/XYZ.hpp"
 #include "Utils/binio.h"
 
 #include <cstdio>
@@ -54,19 +54,21 @@ public:
 
 #define max_model_decals 300
 
-#define nothing 0
-#define normaltype 4
-#define notextype 1
-#define rawtype 2
-#define decalstype 3
+enum ModelType
+{
+    nothing = 0,
+    notextype = 1,
+    rawtype = 2,
+    decalstype = 3,
+    normaltype = 4
+};
 
 class Model
 {
 public:
     short vertexNum;
-    bool hastexture;
 
-    int type, oldtype;
+    ModelType type;
 
     int* owner;
     XYZ* vertex;
@@ -96,6 +98,7 @@ public:
     void DeleteDecal(int which);
     void MakeDecal(decal_type atype, XYZ *where, float *size, float *opacity, float *rotation);
     void MakeDecal(decal_type atype, XYZ where, float size, float opacity, float rotation);
+    const XYZ& getTriangleVertex(unsigned triangleId, unsigned vertexId) const;
     void drawdecals(Texture shadowtexture, Texture bloodtexture, Texture bloodtexture2, Texture breaktexture);
     int SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate);
     int SphereCheckPossible(XYZ *p1, float radius, XYZ *move, float *rotate);
@@ -117,7 +120,6 @@ public:
     void Translate(float xtrans, float ytrans, float ztrans);
     void CalculateNormals(bool facenormalise);
     void draw();
-    void drawdifftex(GLuint texture);
     void drawdifftex(Texture texture);
     void drawimmediate();
     void Rotate(float xang, float yang, float zang);