optionally use guarded alloc for tiles compositor, also replace allocation functions...
[blender.git] / source / gameengine / Ketsji / BL_Material.h
index ef25c9218a3c7f391463f2dcbbb5bc3ec61a51ec..b67bd95f878b6af5f229f5f86b4f8e1fee3fdc4f 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "STR_String.h"
 #include "MT_Point2.h"
+#include "DNA_meshdata_types.h"
 
 #ifdef WITH_CXX_GUARDEDALLOC
 #include "MEM_guardedalloc.h"
@@ -24,11 +25,11 @@ struct EnvMap;
 // --
 
 /** max units
      this will default to users available units
      to build with more available, just increment this value
      although the more you add the slower the search time will be.
      we will go for eight, which should be enough
-*/
* this will default to users available units
* to build with more available, just increment this value
* although the more you add the slower the search time will be.
* we will go for eight, which should be enough
+ */
 #define MAXTEX                 8       //match in RAS_TexVert & RAS_OpenGLRasterizer
 
 // different mapping modes
@@ -68,7 +69,7 @@ public:
 
        float matcolor[4];
        float speccolor[3];
-       short transp, pad;
+       short alphablend, pad;
 
        float hard, spec_f;
        float alpha, emit, color_blend[MAXTEX], ref;
@@ -76,7 +77,6 @@ public:
 
        int blend_mode[MAXTEX];
 
-       int      mode;
        int num_enabled;
        
        BL_Mapping      mapping[MAXTEX];
@@ -84,7 +84,7 @@ public:
 
 
        Material*                       material;
-       MTFace*                         tface;
+       MTFace                          tface; /* copy of the derived meshes tface */
        Image*                          img[MAXTEX];
        EnvMap*                         cubemap[MAXTEX];
 
@@ -110,9 +110,7 @@ public:
        
        
 #ifdef WITH_CXX_GUARDEDALLOC
-public:
-       void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:BL_Material"); }
-       void operator delete( void *mem ) { MEM_freeN(mem); }
+       MEM_CXX_CLASS_ALLOC_FUNCS("GE:BL_Material")
 #endif
 };
 
@@ -151,13 +149,16 @@ enum BL_flag
 // BL_Material::ras_mode
 enum BL_ras_mode
 {
-       POLY_VIS=1,
+       // POLY_VIS=1,
        COLLIDER=2,
        ZSORT=4,
        ALPHA=8,
        // TRIANGLE=16,
        USE_LIGHT=32,
-       WIRE=64
+       WIRE=64,
+       CAST_SHADOW=128,
+       TEX=256,
+       TWOSIDED=512
 };
 
 // -------------------------------------