]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - include/ishaders.h
Merge branch 'NateEag-master-patch-12920' into 'master'
[xonotic/netradiant.git] / include / ishaders.h
index ac447090cbd99fb9cde9aeade1cf8d833113e375..5539a1441dd04379bb11a676f54222e9fa79ad48 100644 (file)
@@ -23,7 +23,7 @@
 #define INCLUDED_ISHADERS_H
 
 #include "generic/constant.h"
-#include "generic/callbackfwd.h"
+#include "generic/callback.h"
 
 enum
 {
@@ -31,14 +31,13 @@ enum
        QER_NOCARVE = 1 << 1,
        QER_NODRAW = 1 << 2,
        QER_NONSOLID = 1 << 3,
-       QER_WATER = 1 << 4,
-       QER_LAVA = 1 << 5,
-       QER_FOG = 1 << 6,
-       QER_ALPHATEST = 1 << 7,
-       QER_CULL = 1 << 8,
-       QER_AREAPORTAL = 1 << 9,
-       QER_CLIP = 1 << 10,
-       QER_BOTCLIP = 1 << 11,
+       QER_LIQUID = 1 << 4,
+       QER_FOG = 1 << 5,
+       QER_ALPHATEST = 1 << 6,
+       QER_CULL = 1 << 7,
+       QER_AREAPORTAL = 1 << 8,
+       QER_CLIP = 1 << 9,
+       QER_BOTCLIP = 1 << 10,
 };
 
 struct qtexture_t;
@@ -78,8 +77,7 @@ virtual bool clampToBorder() const = 0;
 virtual float alphaTest() const = 0;
 };
 
-typedef Callback1<const ShaderLayer&> ShaderLayerCallback;
-
+typedef Callback<void(const ShaderLayer&)> ShaderLayerCallback;
 
 class IShader
 {
@@ -109,6 +107,8 @@ virtual qtexture_t* getBump() const = 0;
 virtual qtexture_t* getSpecular() const = 0;
 // get shader name
 virtual const char* getName() const = 0;
+virtual const char* getWadName() const = 0;
+virtual void setWadName( const char* name ) = 0;
 virtual bool IsInUse() const = 0;
 virtual void SetInUse( bool bInUse ) = 0;
 // get the editor flags (QER_NOCARVE QER_TRANS)
@@ -126,13 +126,12 @@ virtual ECull getCull() = 0;
 virtual const char* getShaderFileName() const = 0;
 
 virtual const ShaderLayer* firstLayer() const = 0;
-virtual void forEachLayer( const ShaderLayerCallback& layer ) const = 0;
 
 virtual qtexture_t* lightFalloffImage() const = 0;
 };
 
 typedef struct _GSList GSList;
-typedef Callback1<const char*> ShaderNameCallback;
+typedef Callback<void(const char*)> ShaderNameCallback;
 
 class ModuleObserver;
 
@@ -159,7 +158,7 @@ virtual bool endActiveShadersIterator() = 0;
 virtual IShader* dereferenceActiveShadersIterator() = 0;
 virtual void incrementActiveShadersIterator() = 0;
 
-virtual void setActiveShadersChangedNotify( const Callback& notify ) = 0;
+virtual void setActiveShadersChangedNotify( const Callback<void()>& notify ) = 0;
 
 virtual void attach( ModuleObserver& observer ) = 0;
 virtual void detach( ModuleObserver& observer ) = 0;
@@ -183,7 +182,6 @@ inline ShaderSystem& GlobalShaderSystem(){
        return GlobalShadersModule::getTable();
 }
 
-
 #define QERApp_Shader_ForName GlobalShaderSystem().getShaderForName
 #define QERApp_ActiveShaders_IteratorBegin GlobalShaderSystem().beginActiveShadersIterator
 #define QERApp_ActiveShaders_IteratorAtEnd GlobalShaderSystem().endActiveShadersIterator