Index: trunk/src/world_entities/creatures/md2_creature.h
===================================================================
--- trunk/src/world_entities/creatures/md2_creature.h	(revision 7091)
+++ trunk/src/world_entities/creatures/md2_creature.h	(revision 7092)
@@ -24,4 +24,5 @@
 
     virtual void loadParams(const TiXmlElement* root);
+    virtual void setAbsDirPlay(const Quaternion& rot) {/* FIXME */};
 
     virtual void enter();
Index: trunk/src/world_entities/playable.cc
===================================================================
--- trunk/src/world_entities/playable.cc	(revision 7091)
+++ trunk/src/world_entities/playable.cc	(revision 7092)
@@ -21,4 +21,5 @@
 #include "player.h"
 #include "state.h"
+#include "load_param.h"
 
 #include "world_entities/projectiles/projectile.h"
@@ -82,4 +83,11 @@
 }
 
+
+void Playable::loadParams(const TiXmlElement* root)
+{
+  WorldEntity::loadParams(root);
+
+  LoadParam(root, "abs-dir", this, Playable, setAbsDirPlay);
+}
 
 void Playable::addWeapon(Weapon* weapon, int configID, int slotID)
Index: trunk/src/world_entities/playable.h
===================================================================
--- trunk/src/world_entities/playable.h	(revision 7091)
+++ trunk/src/world_entities/playable.h	(revision 7092)
@@ -28,4 +28,5 @@
     virtual ~Playable();
 
+    virtual void loadParams(const TiXmlElement* root);
 
     virtual void die();
@@ -61,4 +62,8 @@
     bool      needsReadSync();
 
+
+    virtual void setAbsDirPlay(const Quaternion& rot) = 0;
+    void setAbsDirPlay(float angle, float dirX, float dirY, float dirZ) { this->setAbsDirPlay(Quaternion(angle, Vector(dirX, dirY, dirZ))); }
+
     inline void setScore( int score ) { this->score = score; }
     inline int  getScore() { return this->score; }
Index: trunk/src/world_entities/space_ships/helicopter.h
===================================================================
--- trunk/src/world_entities/space_ships/helicopter.h	(revision 7091)
+++ trunk/src/world_entities/space_ships/helicopter.h	(revision 7092)
@@ -22,4 +22,5 @@
 
     virtual void loadParams(const TiXmlElement* root);
+    virtual void setAbsDirPlay(const Quaternion& rot){/* FIXME */};
 
     virtual void enter();
Index: trunk/src/world_entities/space_ships/hover.h
===================================================================
--- trunk/src/world_entities/space_ships/hover.h	(revision 7091)
+++ trunk/src/world_entities/space_ships/hover.h	(revision 7092)
@@ -19,4 +19,5 @@
 
     virtual void loadParams(const TiXmlElement* root);
+    virtual void setAbsDirPlay(const Quaternion& rot) {/* FIXME */};
 
     virtual void enter();
Index: trunk/src/world_entities/space_ships/space_ship.cc
===================================================================
--- trunk/src/world_entities/space_ships/space_ship.cc	(revision 7091)
+++ trunk/src/world_entities/space_ships/space_ship.cc	(revision 7092)
@@ -248,11 +248,9 @@
 {
   Playable::loadParams(root);
-
-  LoadParam(root, "abs-dir", this, SpaceShip, setRelDir);
-}
-
-void SpaceShip::setRelDir(float angle, float axisX, float axisY, float axisZ)
-{
-  this->mouseDir = Quaternion(angle, Vector(axisX, axisY, axisZ));
+}
+
+void SpaceShip::setAbsDirPlay(const Quaternion& quat)
+{
+  this->mouseDir = Quaternion(quat);
 }
 
Index: trunk/src/world_entities/space_ships/space_ship.h
===================================================================
--- trunk/src/world_entities/space_ships/space_ship.h	(revision 7091)
+++ trunk/src/world_entities/space_ships/space_ship.h	(revision 7092)
@@ -27,5 +27,5 @@
     virtual void loadParams(const TiXmlElement* root);
 
-    void setRelDir(float angle, float axisX, float axisY, float axisZ);
+    virtual void setAbsDirPlay(const Quaternion& rot);
 
     virtual void enter();
Index: trunk/src/world_entities/space_ships/turbine_hover.h
===================================================================
--- trunk/src/world_entities/space_ships/turbine_hover.h	(revision 7091)
+++ trunk/src/world_entities/space_ships/turbine_hover.h	(revision 7092)
@@ -23,5 +23,5 @@
 
     virtual void loadParams(const TiXmlElement* root);
-
+    virtual void setAbsDirPlay(const Quaternion& rot) {/* FIXME */};
     virtual void enter();
     virtual void leave();
