code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo...
[blender-staging.git] / source / gameengine / Converter / KX_BlenderSceneConverter.h
index 341e45464300528ef1e65896af1598d5ec053541..436bdb555c96521fc7112c3f8b951ccb0515694d 100644 (file)
@@ -1,6 +1,4 @@
-/**
- * $Id$
- *
+/*
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  *
  * ***** END GPL LICENSE BLOCK *****
  */
-#ifndef __KX_BLENDERSCENECONVERTER_H
-#define __KX_BLENDERSCENECONVERTER_H
+
+/** \file KX_BlenderSceneConverter.h
+ *  \ingroup bgeconv
+ */
+
+#ifndef __KX_BLENDERSCENECONVERTER_H__
+#define __KX_BLENDERSCENECONVERTER_H__
 
 #include "KX_HashedPtr.h"
-#include "GEN_Map.h"
+#include "CTR_Map.h"
 #include <stdio.h>
 
 #include "KX_ISceneConverter.h"
 #include "KX_IpoConvert.h"
 
+using namespace std;
+
 class KX_WorldInfo;
 class SCA_IActuator;
 class SCA_IController;
@@ -56,12 +61,12 @@ class KX_BlenderSceneConverter : public KX_ISceneConverter
        // Should also have a list of collision shapes. 
        // For the time being this is held in KX_Scene::m_shapes
 
-       GEN_Map<CHashedPtr,KX_GameObject*>      m_map_blender_to_gameobject;            /* cleared after conversion */
-       GEN_Map<CHashedPtr,RAS_MeshObject*>     m_map_mesh_to_gamemesh;                         /* cleared after conversion */
-       GEN_Map<CHashedPtr,SCA_IActuator*>      m_map_blender_to_gameactuator;          /* cleared after conversion */
-       GEN_Map<CHashedPtr,SCA_IController*>m_map_blender_to_gamecontroller;    /* cleared after conversion */
+       CTR_Map<CHashedPtr,KX_GameObject*>      m_map_blender_to_gameobject;            /* cleared after conversion */
+       CTR_Map<CHashedPtr,RAS_MeshObject*>     m_map_mesh_to_gamemesh;                         /* cleared after conversion */
+       CTR_Map<CHashedPtr,SCA_IActuator*>      m_map_blender_to_gameactuator;          /* cleared after conversion */
+       CTR_Map<CHashedPtr,SCA_IController*>m_map_blender_to_gamecontroller;    /* cleared after conversion */
        
-       GEN_Map<CHashedPtr,BL_InterpolatorList*> m_map_blender_to_gameAdtList;
+       CTR_Map<CHashedPtr,BL_InterpolatorList*> m_map_blender_to_gameAdtList;
        
        Main*                                   m_maggie;
        vector<struct Main*>    m_DynamicMaggie;
@@ -108,8 +113,8 @@ public:
 
        void RegisterBlenderMaterial(BL_Material *mat);
        
-       void RegisterInterpolatorList(BL_InterpolatorList *adtList, struct AnimData *for_adt);
-       BL_InterpolatorList *FindInterpolatorList(struct AnimData *for_adt);
+       void RegisterInterpolatorList(BL_InterpolatorList *actList, struct bAction *for_act);
+       BL_InterpolatorList *FindInterpolatorList(struct bAction *for_act);
 
        void RegisterGameActuator(SCA_IActuator *act, struct bActuator *for_actuator);
        SCA_IActuator *FindGameActuator(struct bActuator *for_actuator);
@@ -138,11 +143,13 @@ public:
 
        struct Scene* GetBlenderSceneForName(const STR_String& name);
 
-//     struct Main* GetMain() { return m_maggie; };
+//     struct Main* GetMain() { return m_maggie; }
        struct Main*              GetMainDynamicPath(const char *path);
        vector<struct Main*> &GetMainDynamic();
        
-       bool LinkBlendFile(const char *path, char *group, char *filter, KX_Scene *scene_merge, char **err_str);
+       bool LinkBlendFileMemory(void *data, int length, const char *path, char *group, KX_Scene *scene_merge, char **err_str, short options);
+       bool LinkBlendFilePath(const char *path, char *group, KX_Scene *scene_merge, char **err_str, short options);
+       bool LinkBlendFile(struct BlendHandle *bpy_openlib, const char *path, char *group, KX_Scene *scene_merge, char **err_str, short options);
        bool MergeScene(KX_Scene *to, KX_Scene *from);
        RAS_MeshObject *ConvertMeshSpecial(KX_Scene* kx_scene, Main *maggie, const char *name);
        bool FreeBlendFile(struct Main *maggie);
@@ -169,19 +176,24 @@ public:
 #endif
 //             /printf("\t m_ketsjiEngine->m_scenes: %d\n", m_ketsjiEngine->CurrentScenes()->size());
        }
+       
+       /* LibLoad Options */
+       enum 
+       {
+               LIB_LOAD_LOAD_ACTIONS = 1,
+               LIB_LOAD_VERBOSE = 2,
+               LIB_LOAD_LOAD_SCRIPTS = 4,
+       };
 
 
 
-#ifndef DISABLE_PYTHON
+#ifdef WITH_PYTHON
        PyObject *GetPyNamespace();
 #endif
        
 #ifdef WITH_CXX_GUARDEDALLOC
-public:
-       void *operator new( unsigned int num_bytes) { return MEM_mallocN(num_bytes, "GE:KX_BlenderSceneConverter"); }
-       void operator delete( void *mem ) { MEM_freeN(mem); }
+       MEM_CXX_CLASS_ALLOC_FUNCS("GE:KX_BlenderSceneConverter")
 #endif
 };
 
-#endif //__KX_BLENDERSCENECONVERTER_H
-
+#endif  /* __KX_BLENDERSCENECONVERTER_H__ */