]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/entity/angles.h
reformat code! now the code is only ugly on the *inside*
[xonotic/netradiant.git] / plugins / entity / angles.h
index 54f51f9bfe939efdbdd64f6e9ceafc63b64ea827..10e77bd828c7d59b08e8f6b6928b635487696b06 100644 (file)
 
 #include "angle.h"
 
-const Vector3 ANGLESKEY_IDENTITY = Vector3( 0, 0, 0 );
+const Vector3 ANGLESKEY_IDENTITY = Vector3(0, 0, 0);
 
-inline void default_angles( Vector3& angles ){
-       angles = ANGLESKEY_IDENTITY;
-}
-inline void normalise_angles( Vector3& angles ){
-       angles[0] = static_cast<float>( float_mod( angles[0], 360 ) );
-       angles[1] = static_cast<float>( float_mod( angles[1], 360 ) );
-       angles[2] = static_cast<float>( float_mod( angles[2], 360 ) );
+inline void default_angles(Vector3 &angles)
+{
+    angles = ANGLESKEY_IDENTITY;
 }
-inline void read_angle( Vector3& angles, const char* value ){
-       if ( !string_parse_float( value, angles[2] ) ) {
-               default_angles( angles );
-       }
-       else
-       {
-               angles[0] = 0;
-               angles[1] = 0;
-               normalise_angles( angles );
-       }
+
+inline void normalise_angles(Vector3 &angles)
+{
+    angles[0] = static_cast<float>( float_mod(angles[0], 360));
+    angles[1] = static_cast<float>( float_mod(angles[1], 360));
+    angles[2] = static_cast<float>( float_mod(angles[2], 360));
 }
-inline void read_angles( Vector3& angles, const char* value ){
-       if ( !string_parse_vector3( value, angles ) ) {
-               default_angles( angles );
-       }
-       else
-       {
-               angles = Vector3( angles[2], angles[0], angles[1] );
-               normalise_angles( angles );
-       }
+
+inline void read_angle(Vector3 &angles, const char *value)
+{
+    if (!string_parse_float(value, angles[2])) {
+        default_angles(angles);
+    } else {
+        angles[0] = 0;
+        angles[1] = 0;
+        normalise_angles(angles);
+    }
 }
-inline void write_angles( const Vector3& angles, Entity* entity ){
-       if ( angles[0] == 0
-                && angles[1] == 0
-                && angles[2] == 0 ) {
-               entity->setKeyValue( "angle", "" );
-               entity->setKeyValue( "angles", "" );
-       }
-       else
-       {
-               char value[64];
-
-               if ( angles[0] == 0 && angles[1] == 0 ) {
-                       entity->setKeyValue( "angles", "" );
-                       write_angle( angles[2], entity );
-               }
-               else
-               {
-                       sprintf( value, "%f %f %f", angles[1], angles[2], angles[0] );
-                       entity->setKeyValue( "angle", "" );
-                       entity->setKeyValue( "angles", value );
-               }
-       }
+
+inline void read_angles(Vector3 &angles, const char *value)
+{
+    if (!string_parse_vector3(value, angles)) {
+        default_angles(angles);
+    } else {
+        angles = Vector3(angles[2], angles[0], angles[1]);
+        normalise_angles(angles);
+    }
 }
 
-inline Vector3 angles_rotated( const Vector3& angles, const Quaternion& rotation ){
-       return matrix4_get_rotation_euler_xyz_degrees(
-                          matrix4_multiplied_by_matrix4(
-                                  matrix4_rotation_for_euler_xyz_degrees( angles ),
-                                  matrix4_rotation_for_quaternion_quantised( rotation )
-                                  )
-                          );
+inline void write_angles(const Vector3 &angles, Entity *entity)
+{
+    if (angles[0] == 0
+        && angles[1] == 0
+        && angles[2] == 0) {
+        entity->setKeyValue("angle", "");
+        entity->setKeyValue("angles", "");
+    } else {
+        char value[64];
+
+        if (angles[0] == 0 && angles[1] == 0) {
+            entity->setKeyValue("angles", "");
+            write_angle(angles[2], entity);
+        } else {
+            sprintf(value, "%f %f %f", angles[1], angles[2], angles[0]);
+            entity->setKeyValue("angle", "");
+            entity->setKeyValue("angles", value);
+        }
+    }
 }
 
-class AnglesKey
+inline Vector3 angles_rotated(const Vector3 &angles, const Quaternion &rotation)
 {
-Callback<void()> m_anglesChanged;
+    return matrix4_get_rotation_euler_xyz_degrees(
+            matrix4_multiplied_by_matrix4(
+                    matrix4_rotation_for_euler_xyz_degrees(angles),
+                    matrix4_rotation_for_quaternion_quantised(rotation)
+            )
+    );
+}
+
+class AnglesKey {
+    Callback<void()> m_anglesChanged;
 public:
-Vector3 m_angles;
+    Vector3 m_angles;
 
 
-AnglesKey( const Callback<void()>& anglesChanged )
-       : m_anglesChanged( anglesChanged ), m_angles( ANGLESKEY_IDENTITY ){
-}
+    AnglesKey(const Callback<void()> &anglesChanged)
+            : m_anglesChanged(anglesChanged), m_angles(ANGLESKEY_IDENTITY)
+    {
+    }
 
-void angleChanged( const char* value ){
-       read_angle( m_angles, value );
-       m_anglesChanged();
-}
-typedef MemberCaller<AnglesKey, void(const char*), &AnglesKey::angleChanged> AngleChangedCaller;
+    void angleChanged(const char *value)
+    {
+        read_angle(m_angles, value);
+        m_anglesChanged();
+    }
 
-void anglesChanged( const char* value ){
-       read_angles( m_angles, value );
-       m_anglesChanged();
-}
-typedef MemberCaller<AnglesKey, void(const char*), &AnglesKey::anglesChanged> AnglesChangedCaller;
+    typedef MemberCaller<AnglesKey, void(const char *), &AnglesKey::angleChanged> AngleChangedCaller;
 
-void write( Entity* entity ) const {
-       write_angles( m_angles, entity );
-}
+    void anglesChanged(const char *value)
+    {
+        read_angles(m_angles, value);
+        m_anglesChanged();
+    }
+
+    typedef MemberCaller<AnglesKey, void(const char *), &AnglesKey::anglesChanged> AnglesChangedCaller;
+
+    void write(Entity *entity) const
+    {
+        write_angles(m_angles, entity);
+    }
 };