]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Graphic/Models.hpp
Using the Decal class in Model as well
[lugaru.git] / Source / Graphic / Models.hpp
index 27f3c7da62adb39a2800845048d7e0f8789a9c51..5d5e5ec5e90c006be40d3650a89a219fce20a85b 100644 (file)
@@ -91,13 +91,14 @@ public:
     XYZ boundingspherecenter;
     float boundingsphereradius;
 
-    float*** decaltexcoords;
-    XYZ** decalvertex;
-    int* decaltype;
-    float* decalopacity;
-    float* decalrotation;
-    float* decalalivetime;
-    XYZ* decalposition;
+    //~ float*** decaltexcoords;
+    //~ XYZ** decalvertex;
+    //~ int* decaltype;
+    //~ float* decalopacity;
+    //~ float* decalrotation;
+    //~ float* decalalivetime;
+    //~ XYZ* decalposition;
+    std::vector<Decal> decals;
 
     /*float decaltexcoords[max_model_decals][3][2];
     XYZ decalvertex[max_model_decals][3];
@@ -112,21 +113,21 @@ public:
     bool flat;
 
     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 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);
     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);
     int LineCheckPossible(XYZ *p1, XYZ *p2, XYZ *p, XYZ *move, float *rotate);
-    int LineCheckSlidePossible(XYZ *p1, XYZ *p2, XYZ *p, XYZ *move, float *rotate);
+    int LineCheckSlidePossible(XYZ *p1, XYZ *p2, XYZ *move, float *rotate);
     void UpdateVertexArray();
     void UpdateVertexArrayNoTex();
     void UpdateVertexArrayNoTexNoNorm();
     bool loadnotex(const std::string& filename);
     bool loadraw(const std::string& filename);
-    bool load(const std::string& filename, bool texture);
-    bool loaddecal(const std::string& filename, bool texture);
+    bool load(const std::string& filename);
+    bool loaddecal(const std::string& filename);
     void Scale(float xscale, float yscale, float zscale);
     void FlipTexCoords();
     void UniformTexCoords();
@@ -139,6 +140,7 @@ public:
     void drawdifftex(Texture texture);
     void drawimmediate();
     void Rotate(float xang, float yang, float zang);
+    void deleteDeadDecals();
     ~Model();
     void deallocate();
     Model();