Index: trunk/src/lib/coord/p_node.cc
===================================================================
--- trunk/src/lib/coord/p_node.cc	(revision 6498)
+++ trunk/src/lib/coord/p_node.cc	(revision 6512)
@@ -123,5 +123,5 @@
 void PNode::loadParams(const TiXmlElement* root)
 {
-  static_cast<BaseObject*>(this)->loadParams(root);
+  BaseObject::loadParams(root);
 
   LoadParam(root, "rel-coor", this, PNode, setRelCoor)
Index: trunk/src/lib/coord/p_node.h
===================================================================
--- trunk/src/lib/coord/p_node.h	(revision 6498)
+++ trunk/src/lib/coord/p_node.h	(revision 6512)
@@ -78,5 +78,5 @@
   virtual ~PNode ();
 
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
 
   void init();
Index: trunk/src/lib/graphics/light.cc
===================================================================
--- trunk/src/lib/graphics/light.cc	(revision 6498)
+++ trunk/src/lib/graphics/light.cc	(revision 6512)
@@ -86,5 +86,5 @@
 void Light::loadParams(const TiXmlElement* root)
 {
-  static_cast<PNode*>(this)->loadParams(root);
+  PNode::loadParams(root);
 
   LoadParam(root, "diffuse-color", this, Light, setDiffuseColor)
Index: trunk/src/lib/graphics/light.h
===================================================================
--- trunk/src/lib/graphics/light.h	(revision 6498)
+++ trunk/src/lib/graphics/light.h	(revision 6512)
@@ -29,5 +29,5 @@
   virtual ~Light();
 
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
 
   void setDiffuseColor(GLfloat r, GLfloat g, GLfloat b);
@@ -95,5 +95,5 @@
   inline static LightManager* getInstance() { if (!singletonRef) singletonRef = new LightManager();  return singletonRef; };
 
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
   void loadLights(const TiXmlElement* root);
 
Index: trunk/src/lib/graphics/render2D/element_2d.cc
===================================================================
--- trunk/src/lib/graphics/render2D/element_2d.cc	(revision 6498)
+++ trunk/src/lib/graphics/render2D/element_2d.cc	(revision 6512)
@@ -131,4 +131,6 @@
 void Element2D::loadParams(const TiXmlElement* root)
 {
+  BaseObject::loadParams(root);
+
   // ELEMENT2D-native settings.
   LoadParam(root, "alignment", this, Element2D, setAlignment)
Index: trunk/src/lib/graphics/render2D/element_2d.h
===================================================================
--- trunk/src/lib/graphics/render2D/element_2d.h	(revision 6498)
+++ trunk/src/lib/graphics/render2D/element_2d.h	(revision 6512)
@@ -91,5 +91,5 @@
     virtual ~Element2D();
 
-    void loadParams(const TiXmlElement* root);
+    virtual void loadParams(const TiXmlElement* root);
 
     // ACTIVATION //
Index: trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.h
===================================================================
--- trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.h	(revision 6498)
+++ trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.h	(revision 6512)
@@ -17,5 +17,5 @@
  public:
   GLMenuImageScreen (const TiXmlElement* root = NULL);
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
   virtual ~GLMenuImageScreen ();
 
Index: trunk/src/lib/lang/base_object.h
===================================================================
--- trunk/src/lib/lang/base_object.h	(revision 6498)
+++ trunk/src/lib/lang/base_object.h	(revision 6512)
@@ -28,5 +28,5 @@
   virtual ~BaseObject ();
 
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
   void setName (const char* newName);
   /** returns the Name of this Object */
Index: trunk/src/lib/particles/particle_emitter.cc
===================================================================
--- trunk/src/lib/particles/particle_emitter.cc	(revision 6498)
+++ trunk/src/lib/particles/particle_emitter.cc	(revision 6512)
@@ -93,5 +93,5 @@
 void ParticleEmitter::loadParams(const TiXmlElement* root)
 {
-  static_cast<PNode*>(this)->loadParams(root);
+  PNode::loadParams(root);
 
   LoadParam(root, "type", this, ParticleEmitter, setType)
Index: trunk/src/lib/particles/particle_emitter.h
===================================================================
--- trunk/src/lib/particles/particle_emitter.h	(revision 6498)
+++ trunk/src/lib/particles/particle_emitter.h	(revision 6512)
@@ -39,5 +39,5 @@
 
   void init();
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
 
   /* controlling the emitter: interface */
Index: trunk/src/lib/particles/particle_engine.h
===================================================================
--- trunk/src/lib/particles/particle_engine.h	(revision 6498)
+++ trunk/src/lib/particles/particle_engine.h	(revision 6512)
@@ -37,5 +37,5 @@
   inline static ParticleEngine* getInstance() { if (!singletonRef) singletonRef = new ParticleEngine();  return singletonRef; };
 
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
 
   void tick(float dt);
Index: trunk/src/lib/particles/particle_system.cc
===================================================================
--- trunk/src/lib/particles/particle_system.cc	(revision 6498)
+++ trunk/src/lib/particles/particle_system.cc	(revision 6512)
@@ -116,6 +116,6 @@
 void ParticleSystem::loadParams(const TiXmlElement* root)
 {
-  static_cast<WorldEntity*>(this)->loadParams(root);
-  static_cast<PhysicsInterface*>(this)->loadParams(root);
+  WorldEntity::loadParams(root);
+  PhysicsInterface::loadParams(root);
 
   LoadParam(root, "max-count", this, ParticleSystem, setMaxCount)
Index: trunk/src/lib/particles/particle_system.h
===================================================================
--- trunk/src/lib/particles/particle_system.h	(revision 6498)
+++ trunk/src/lib/particles/particle_system.h	(revision 6512)
@@ -74,5 +74,5 @@
 
   void init();
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
 
   void setType(const char* particleType);
Index: trunk/src/lib/physics/fields/field.cc
===================================================================
--- trunk/src/lib/physics/fields/field.cc	(revision 6498)
+++ trunk/src/lib/physics/fields/field.cc	(revision 6512)
@@ -58,5 +58,5 @@
 void Field::loadParams(const TiXmlElement* root)
 {
-  static_cast<PNode*>(this)->loadParams(root);
+  PNode::loadParams(root);
 
   LoadParam(root, "magnitude", this, Field, setMagnitude)
Index: trunk/src/lib/physics/fields/field.h
===================================================================
--- trunk/src/lib/physics/fields/field.h	(revision 6498)
+++ trunk/src/lib/physics/fields/field.h	(revision 6512)
@@ -39,5 +39,5 @@
 
   void init();
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
 
   /**
Index: trunk/src/lib/physics/fields/gravity.cc
===================================================================
--- trunk/src/lib/physics/fields/gravity.cc	(revision 6498)
+++ trunk/src/lib/physics/fields/gravity.cc	(revision 6512)
@@ -44,5 +44,5 @@
 void Gravity::loadParams(const TiXmlElement* root)
 {
-  static_cast<Field*>(this)->loadParams(root);
+  Field::loadParams(root);
 }
 
Index: trunk/src/lib/physics/fields/gravity.h
===================================================================
--- trunk/src/lib/physics/fields/gravity.h	(revision 6498)
+++ trunk/src/lib/physics/fields/gravity.h	(revision 6512)
@@ -21,5 +21,5 @@
   virtual ~Gravity();
 
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
 
   virtual Vector calcForce(const Vector& data) const;
Index: trunk/src/lib/physics/physics_connection.cc
===================================================================
--- trunk/src/lib/physics/physics_connection.cc	(revision 6498)
+++ trunk/src/lib/physics/physics_connection.cc	(revision 6512)
@@ -50,5 +50,5 @@
   this->type = PCON_PhysIField;
 
-  static_cast<BaseObject*>(this)->loadParams(root);
+  BaseObject::loadParams(root);
 
   LoadParam(root, "subject", this, PhysicsConnection, setSubject)
Index: trunk/src/lib/physics/physics_engine.h
===================================================================
--- trunk/src/lib/physics/physics_engine.h	(revision 6498)
+++ trunk/src/lib/physics/physics_engine.h	(revision 6512)
@@ -27,5 +27,5 @@
   inline static PhysicsEngine* getInstance() { if (!singletonRef) singletonRef = new PhysicsEngine();  return singletonRef; };
 
-  void loadParams(const TiXmlElement* root);
+  virtual void loadParams(const TiXmlElement* root);
   void loadFields(const TiXmlElement* root);
   void loadConnections(const TiXmlElement* root);
