]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/entity/group.cpp
Merge commit '173f350be76237a7dee9c00c389dff4e56b3da4c' into garux-merge
[xonotic/netradiant.git] / plugins / entity / group.cpp
index 8e308c4c37ab8184508597e4539974fa4c6a70c5..b2c01e9f1f3496d96509c81c4c87968e3023cf12 100644 (file)
@@ -63,11 +63,11 @@ NameKeys m_nameKeys;
 OriginKey m_originKey;
 Vector3 m_origin;
 
-RenderableNamedEntity m_renderName;
 mutable Vector3 m_name_origin;
+RenderableNamedEntity m_renderName;
 
-Callback m_transformChanged;
-Callback m_evaluateTransform;
+Callback<void()> m_transformChanged;
+Callback<void()> m_evaluateTransform;
 
 void construct(){
        m_keyObservers.insert( "classname", ClassnameFilter::ClassnameChangedCaller( m_filter ) );
@@ -76,27 +76,28 @@ void construct(){
 }
 
 public:
-Group( EntityClass* eclass, scene::Node& node, const Callback& transformChanged, const Callback& evaluateTransform ) :
+Group( EntityClass* eclass, scene::Node& node, const Callback<void()>& transformChanged, const Callback<void()>& evaluateTransform ) :
        m_entity( eclass ),
        m_filter( m_entity, node ),
        m_named( m_entity ),
        m_nameKeys( m_entity ),
        m_originKey( OriginChangedCaller( *this ) ),
        m_origin( ORIGINKEY_IDENTITY ),
-       m_renderName( m_named, m_name_origin ),
        m_name_origin( g_vector3_identity ),
+       m_renderName( m_named, m_name_origin ),
        m_transformChanged( transformChanged ),
        m_evaluateTransform( evaluateTransform ){
        construct();
 }
-Group( const Group& other, scene::Node& node, const Callback& transformChanged, const Callback& evaluateTransform ) :
+Group( const Group& other, scene::Node& node, const Callback<void()>& transformChanged, const Callback<void()>& evaluateTransform ) :
        m_entity( other.m_entity ),
        m_filter( m_entity, node ),
        m_named( m_entity ),
        m_nameKeys( m_entity ),
        m_originKey( OriginChangedCaller( *this ) ),
        m_origin( ORIGINKEY_IDENTITY ),
-       m_renderName( m_named, g_vector3_identity ),
+       m_name_origin( g_vector3_identity ),
+       m_renderName( m_named, m_name_origin ),
        m_transformChanged( transformChanged ),
        m_evaluateTransform( evaluateTransform ){
        construct();
@@ -172,12 +173,12 @@ void updateTransform(){
        matrix4_translate_by_vec3( m_transform.localToParent(), m_origin );
        m_transformChanged();
 }
-typedef MemberCaller<Group, &Group::updateTransform> UpdateTransformCaller;
+typedef MemberCaller<Group, void(), &Group::updateTransform> UpdateTransformCaller;
 void originChanged(){
        m_origin = m_originKey.m_origin;
        updateTransform();
 }
-typedef MemberCaller<Group, &Group::originChanged> OriginChangedCaller;
+typedef MemberCaller<Group, void(), &Group::originChanged> OriginChangedCaller;
 
 void translate( const Vector3& translation ){
        m_origin = origin_translated( m_origin, translation );
@@ -195,7 +196,7 @@ void transformChanged(){
        m_evaluateTransform();
        updateTransform();
 }
-typedef MemberCaller<Group, &Group::transformChanged> TransformChangedCaller;
+typedef MemberCaller<Group, void(), &Group::transformChanged> TransformChangedCaller;
 };
 
 #if 0
@@ -337,7 +338,7 @@ void applyTransform(){
        evaluateTransform();
        m_contained.freezeTransform();
 }
-typedef MemberCaller<GroupInstance, &GroupInstance::applyTransform> ApplyTransformCaller;
+typedef MemberCaller<GroupInstance, void(), &GroupInstance::applyTransform> ApplyTransformCaller;
 };
 
 class GroupNode :