X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGraphic%2FModels.hpp;h=58d8649545e04ce703b6d215434df5196b688c2e;hb=0aab437dc560d2afa982e61cc2547756ad7b0761;hp=6b907f22a913c5feb059eb929a0a188cf47e4910;hpb=801f5d9f42983fad5bdc6fab11af503a3878a33a;p=lugaru.git diff --git a/Source/Graphic/Models.hpp b/Source/Graphic/Models.hpp index 6b907f2..58d8649 100644 --- a/Source/Graphic/Models.hpp +++ b/Source/Graphic/Models.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. @@ -24,7 +24,7 @@ along with Lugaru. If not, see . #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 @@ -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);