#define INCLUDED_ISHADERS_H
#include "generic/constant.h"
-#include "generic/callbackfwd.h"
+#include "generic/callback.h"
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;
virtual float alphaTest() const = 0;
};
-typedef Callback1<const ShaderLayer&> ShaderLayerCallback;
-
+typedef Callback<void(const ShaderLayer&)> ShaderLayerCallback;
class IShader
{
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)
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;
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;
return GlobalShadersModule::getTable();
}
-
#define QERApp_Shader_ForName GlobalShaderSystem().getShaderForName
#define QERApp_ActiveShaders_IteratorBegin GlobalShaderSystem().beginActiveShadersIterator
#define QERApp_ActiveShaders_IteratorAtEnd GlobalShaderSystem().endActiveShadersIterator