]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/entity/light.cpp
Callback: remove fixed-arity wrappers
[xonotic/netradiant.git] / plugins / entity / light.cpp
index 0e89e92118079f6a530f858a4e811b61d653eebc..9d8b92472c5f3165f546dc4c62beb109da1246e7 100644 (file)
@@ -491,12 +491,12 @@ void primaryIntensityChanged( const char* value ){
        m_primaryIntensity = string_read_float( value );
        calculateRadii();
 }
-typedef MemberCaller1<LightRadii, const char*, &LightRadii::primaryIntensityChanged> PrimaryIntensityChangedCaller;
+typedef MemberCaller<LightRadii, void(const char*), &LightRadii::primaryIntensityChanged> PrimaryIntensityChangedCaller;
 void secondaryIntensityChanged( const char* value ){
        m_secondaryIntensity = string_read_float( value );
        calculateRadii();
 }
-typedef MemberCaller1<LightRadii, const char*, &LightRadii::secondaryIntensityChanged> SecondaryIntensityChangedCaller;
+typedef MemberCaller<LightRadii, void(const char*), &LightRadii::secondaryIntensityChanged> SecondaryIntensityChangedCaller;
 void scaleChanged( const char* value ){
        m_scale = string_read_float( value );
        if ( m_scale <= 0.0f ) {
@@ -504,7 +504,7 @@ void scaleChanged( const char* value ){
        }
        calculateRadii();
 }
-typedef MemberCaller1<LightRadii, const char*, &LightRadii::scaleChanged> ScaleChangedCaller;
+typedef MemberCaller<LightRadii, void(const char*), &LightRadii::scaleChanged> ScaleChangedCaller;
 void fadeChanged( const char* value ){
        m_fade = string_read_float( value );
        if ( m_fade <= 0.0f ) {
@@ -512,12 +512,12 @@ void fadeChanged( const char* value ){
        }
        calculateRadii();
 }
-typedef MemberCaller1<LightRadii, const char*, &LightRadii::fadeChanged> FadeChangedCaller;
+typedef MemberCaller<LightRadii, void(const char*), &LightRadii::fadeChanged> FadeChangedCaller;
 void flagsChanged( const char* value ){
        m_flags = string_read_int( value );
        calculateRadii();
 }
-typedef MemberCaller1<LightRadii, const char*, &LightRadii::flagsChanged> FlagsChangedCaller;
+typedef MemberCaller<LightRadii, void(const char*), &LightRadii::flagsChanged> FlagsChangedCaller;
 };
 
 class Doom3LightRadius
@@ -527,7 +527,7 @@ Vector3 m_defaultRadius;
 Vector3 m_radius;
 Vector3 m_radiusTransformed;
 Vector3 m_center;
-Callback m_changed;
+Callback<void()> m_changed;
 bool m_useCenterKey;
 
 Doom3LightRadius( const char* defaultRadius ) : m_defaultRadius( 300, 300, 300 ), m_center( 0, 0, 0 ), m_useCenterKey( false ){
@@ -545,7 +545,7 @@ void lightRadiusChanged( const char* value ){
        m_changed();
        SceneChangeNotify();
 }
-typedef MemberCaller1<Doom3LightRadius, const char*, &Doom3LightRadius::lightRadiusChanged> LightRadiusChangedCaller;
+typedef MemberCaller<Doom3LightRadius, void(const char*), &Doom3LightRadius::lightRadiusChanged> LightRadiusChangedCaller;
 
 void lightCenterChanged( const char* value ){
        m_useCenterKey = string_parse_vector3( value, m_center );
@@ -554,7 +554,7 @@ void lightCenterChanged( const char* value ){
        }
        SceneChangeNotify();
 }
-typedef MemberCaller1<Doom3LightRadius, const char*, &Doom3LightRadius::lightCenterChanged> LightCenterChangedCaller;
+typedef MemberCaller<Doom3LightRadius, void(const char*), &Doom3LightRadius::lightCenterChanged> LightCenterChangedCaller;
 };
 
 class RenderLightRadiiWire : public OpenGLRenderable
@@ -707,7 +707,7 @@ void valueChanged( const char* value ){
        }
        SceneChangeNotify();
 }
-typedef MemberCaller1<LightShader, const char*, &LightShader::valueChanged> ValueChangedCaller;
+typedef MemberCaller<LightShader, void(const char*), &LightShader::valueChanged> ValueChangedCaller;
 
 Shader* get() const {
        return m_shader.get();
@@ -805,9 +805,9 @@ LightShader m_shader;
 
 AABB m_aabb_light;
 
-Callback m_transformChanged;
-Callback m_boundsChanged;
-Callback m_evaluateTransform;
+Callback<void()> m_transformChanged;
+Callback<void()> m_boundsChanged;
+Callback<void()> m_evaluateTransform;
 
 void construct(){
        default_rotation( m_rotation );
@@ -876,7 +876,7 @@ void originChanged(){
        m_aabb_light.origin = m_useLightOrigin ? m_lightOrigin : m_originKey.m_origin;
        updateOrigin();
 }
-typedef MemberCaller<Light, &Light::originChanged> OriginChangedCaller;
+typedef MemberCaller<Light, void(), &Light::originChanged> OriginChangedCaller;
 
 void lightOriginChanged( const char* value ){
        m_useLightOrigin = !string_empty( value );
@@ -885,7 +885,7 @@ void lightOriginChanged( const char* value ){
        }
        originChanged();
 }
-typedef MemberCaller1<Light, const char*, &Light::lightOriginChanged> LightOriginChangedCaller;
+typedef MemberCaller<Light, void(const char*), &Light::lightOriginChanged> LightOriginChangedCaller;
 
 void lightTargetChanged( const char* value ){
        m_useLightTarget = !string_empty( value );
@@ -894,7 +894,7 @@ void lightTargetChanged( const char* value ){
        }
        projectionChanged();
 }
-typedef MemberCaller1<Light, const char*, &Light::lightTargetChanged> LightTargetChangedCaller;
+typedef MemberCaller<Light, void(const char*), &Light::lightTargetChanged> LightTargetChangedCaller;
 void lightUpChanged( const char* value ){
        m_useLightUp = !string_empty( value );
        if ( m_useLightUp ) {
@@ -902,7 +902,7 @@ void lightUpChanged( const char* value ){
        }
        projectionChanged();
 }
-typedef MemberCaller1<Light, const char*, &Light::lightUpChanged> LightUpChangedCaller;
+typedef MemberCaller<Light, void(const char*), &Light::lightUpChanged> LightUpChangedCaller;
 void lightRightChanged( const char* value ){
        m_useLightRight = !string_empty( value );
        if ( m_useLightRight ) {
@@ -910,7 +910,7 @@ void lightRightChanged( const char* value ){
        }
        projectionChanged();
 }
-typedef MemberCaller1<Light, const char*, &Light::lightRightChanged> LightRightChangedCaller;
+typedef MemberCaller<Light, void(const char*), &Light::lightRightChanged> LightRightChangedCaller;
 void lightStartChanged( const char* value ){
        m_useLightStart = !string_empty( value );
        if ( m_useLightStart ) {
@@ -918,7 +918,7 @@ void lightStartChanged( const char* value ){
        }
        projectionChanged();
 }
-typedef MemberCaller1<Light, const char*, &Light::lightStartChanged> LightStartChangedCaller;
+typedef MemberCaller<Light, void(const char*), &Light::lightStartChanged> LightStartChangedCaller;
 void lightEndChanged( const char* value ){
        m_useLightEnd = !string_empty( value );
        if ( m_useLightEnd ) {
@@ -926,7 +926,7 @@ void lightEndChanged( const char* value ){
        }
        projectionChanged();
 }
-typedef MemberCaller1<Light, const char*, &Light::lightEndChanged> LightEndChangedCaller;
+typedef MemberCaller<Light, void(const char*), &Light::lightEndChanged> LightEndChangedCaller;
 
 void writeLightOrigin(){
        write_origin( m_lightOrigin, &m_entity, "light_origin" );
@@ -957,7 +957,7 @@ void rotationChanged(){
        rotation_assign( m_rotation, m_useLightRotation ? m_lightRotation : m_rotationKey.m_rotation );
        GlobalSelectionSystem().pivotChanged();
 }
-typedef MemberCaller<Light, &Light::rotationChanged> RotationChangedCaller;
+typedef MemberCaller<Light, void(), &Light::rotationChanged> RotationChangedCaller;
 
 void lightRotationChanged( const char* value ){
        m_useLightRotation = !string_empty( value );
@@ -966,15 +966,15 @@ void lightRotationChanged( const char* value ){
        }
        rotationChanged();
 }
-typedef MemberCaller1<Light, const char*, &Light::lightRotationChanged> LightRotationChangedCaller;
+typedef MemberCaller<Light, void(const char*), &Light::lightRotationChanged> LightRotationChangedCaller;
 
 public:
 
-Light( EntityClass* eclass, scene::Node& node, const Callback& transformChanged, const Callback& boundsChanged, const Callback& evaluateTransform ) :
+Light( EntityClass* eclass, scene::Node& node, const Callback<void()>& transformChanged, const Callback<void()>& boundsChanged, const Callback<void()>& evaluateTransform ) :
        m_entity( eclass ),
        m_originKey( OriginChangedCaller( *this ) ),
        m_rotationKey( RotationChangedCaller( *this ) ),
-       m_colour( Callback() ),
+       m_colour( Callback<void()>() ),
        m_filter( m_entity, node ),
        m_named( m_entity ),
        m_nameKeys( m_entity ),
@@ -993,11 +993,11 @@ Light( EntityClass* eclass, scene::Node& node, const Callback& transformChanged,
        m_evaluateTransform( evaluateTransform ){
        construct();
 }
-Light( const Light& other, scene::Node& node, const Callback& transformChanged, const Callback& boundsChanged, const Callback& evaluateTransform ) :
+Light( const Light& other, scene::Node& node, const Callback<void()>& transformChanged, const Callback<void()>& boundsChanged, const Callback<void()>& evaluateTransform ) :
        m_entity( other.m_entity ),
        m_originKey( OriginChangedCaller( *this ) ),
        m_rotationKey( RotationChangedCaller( *this ) ),
-       m_colour( Callback() ),
+       m_colour( Callback<void()>() ),
        m_filter( m_entity, node ),
        m_named( m_entity ),
        m_nameKeys( m_entity ),
@@ -1229,7 +1229,7 @@ void transformChanged(){
        m_evaluateTransform();
        updateOrigin();
 }
-typedef MemberCaller<Light, &Light::transformChanged> TransformChangedCaller;
+typedef MemberCaller<Light, void(), &Light::transformChanged> TransformChangedCaller;
 
 mutable Matrix4 m_localPivot;
 const Matrix4& getLocalPivot() const {
@@ -1238,7 +1238,7 @@ const Matrix4& getLocalPivot() const {
        return m_localPivot;
 }
 
-void setLightChangedCallback( const Callback& callback ){
+void setLightChangedCallback( const Callback<void()>& callback ){
        m_doom3Radius.m_changed = callback;
 }
 
@@ -1486,7 +1486,7 @@ LightInstance( const scene::Path& path, scene::Instance* parent, Light& containe
        StaticRenderableConnectionLines::instance().detach( *this );
 
        if ( g_lightType == LIGHTTYPE_DOOM3 ) {
-               m_contained.setLightChangedCallback( Callback() );
+               m_contained.setLightChangedCallback( Callback<void()>() );
                GlobalShaderCache().detach( *this );
        }
 
@@ -1525,7 +1525,7 @@ void selectedChangedComponent( const Selectable& selectable ){
        GlobalSelectionSystem().getObserver ( SelectionSystem::eComponent )( selectable );
        GlobalSelectionSystem().onComponentSelection( *this, selectable );
 }
-typedef MemberCaller1<LightInstance, const Selectable&, &LightInstance::selectedChangedComponent> SelectedChangedComponentCaller;
+typedef MemberCaller<LightInstance, void(const Selectable&), &LightInstance::selectedChangedComponent> SelectedChangedComponentCaller;
 
 void evaluateTransform(){
        if ( getType() == TRANSFORM_PRIMITIVE ) {
@@ -1545,12 +1545,12 @@ void applyTransform(){
        evaluateTransform();
        m_contained.freezeTransform();
 }
-typedef MemberCaller<LightInstance, &LightInstance::applyTransform> ApplyTransformCaller;
+typedef MemberCaller<LightInstance, void(), &LightInstance::applyTransform> ApplyTransformCaller;
 
 void lightChanged(){
        GlobalShaderCache().changed( *this );
 }
-typedef MemberCaller<LightInstance, &LightInstance::lightChanged> LightChangedCaller;
+typedef MemberCaller<LightInstance, void(), &LightInstance::lightChanged> LightChangedCaller;
 
 Shader* getShader() const {
        return m_contained.getShader();