]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Models.h
major refactor of texture system
[lugaru.git] / Source / Models.h
index 02f319f06bb2afaebb527c0855b0a1c86332d4b0..a82f85d04287ec55a750fddebfb80ed5364da274 100644 (file)
@@ -32,10 +32,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include <string.h>
 #include <vector>
 
-#include "Constants.h"
 #include "Terrain.h"
 #include "binio.h"
 #include "Quaternions.h"
+#include "Texture.h"
 
 //
 // Textures List
@@ -86,8 +86,8 @@ public:
        TexturedTriangle Triangles[max_textured_triangle];
        GLfloat vArray[max_textured_triangle*24];*/
 
-       GLuint                          textureptr;
-       ModelTexture            Texture;
+       Texture textureptr;
+       ModelTexture modelTexture;
        int numpossible;
        bool color;
 
@@ -117,7 +117,7 @@ public:
        void DeleteDecal(int which);
        void MakeDecal(int atype, XYZ *where, float *size, float *opacity, float *rotation);
        void MakeDecal(int atype, XYZ where, float size, float opacity, float rotation);
-       void drawdecals(GLuint shadowtexture,GLuint bloodtexture,GLuint bloodtexture2,GLuint breaktexture);
+       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);
        int LineCheck(XYZ *p1,XYZ *p2, XYZ *p, XYZ *move, float *rotate);
@@ -127,10 +127,10 @@ public:
        void UpdateVertexArray();
        void UpdateVertexArrayNoTex();
        void UpdateVertexArrayNoTexNoNorm();
-       bool loadnotex(char *filename);
+       bool loadnotex(const char *filename);
        bool loadraw(char *filename);
-       bool load(char *filename,bool texture);
-       bool loaddecal(char *filename,bool texture);
+       bool load(const char *filename,bool texture);
+       bool loaddecal(const char *filename,bool texture);
        void Scale(float xscale,float yscale,float zscale);
        void FlipTexCoords();
        void UniformTexCoords();
@@ -140,6 +140,7 @@ public:
        void CalculateNormals(bool facenormalise);
        void draw();
        void drawdifftex(GLuint texture);
+       void drawdifftex(Texture texture);
        void drawimmediate();
        void drawdiffteximmediate(GLuint texture);
        void Rotate(float xang,float yang,float zang);