Building the game engine with Solid/Sumo is now optional for scons using WITH_BF_SOLID.
[blender-staging.git] / source / gameengine / Ketsji / KX_ClientObjectInfo.h
index 5e8af0f040c933d16f5725a043f481d85cff921e..7345edb054bbe0b9237e3c3176c6274b7198385a 100644 (file)
 #ifndef __KX_CLIENTOBJECT_INFO_H
 #define __KX_CLIENTOBJECT_INFO_H
 
+/* Note, the way this works with/without sumo is a bit odd */
+#ifdef USE_SUMO_SOLID
 #include <SM_Object.h>
+#endif //USE_SUMO_SOLID
 
 #include <list>
 
@@ -38,7 +41,10 @@ class KX_GameObject;
 /**
  * Client Type and Additional Info. This structure can be use instead of a bare void* pointer, for safeness, and additional info for callbacks
  */
-struct KX_ClientObjectInfo : public SM_ClientObject
+struct KX_ClientObjectInfo
+#ifdef USE_SUMO_SOLID
+  : public SM_ClientObject
+#endif
 {
        enum clienttype {
                STATIC,
@@ -52,14 +58,18 @@ struct KX_ClientObjectInfo : public SM_ClientObject
        std::list<SCA_ISensor*> m_sensors;
 public:
        KX_ClientObjectInfo(KX_GameObject *gameobject, clienttype type = STATIC, void *auxilary_info = NULL) :
+#ifdef USE_SUMO_SOLID
                SM_ClientObject(),
+#endif
                m_type(type),
                m_gameobject(gameobject),
                m_auxilary_info(auxilary_info)
        {}
        
-       KX_ClientObjectInfo(const KX_ClientObjectInfo &copy)
-               : SM_ClientObject(copy),
+       KX_ClientObjectInfo(const KX_ClientObjectInfo &copy) :
+#ifdef USE_SUMO_SOLID          
+                 SM_ClientObject(copy),
+#endif
                  m_type(copy.m_type),
                  m_gameobject(copy.m_gameobject),
                  m_auxilary_info(copy.m_auxilary_info)