G.sipo was being passed in the BGE when it wasnt needed, just access G.sipo directly.

KX_PythonSeq.cpp - disable the cmpfunc with py3, need to have richcmp.
This commit is contained in:
Campbell Barton
2009-06-13 13:02:01 +00:00
parent c7debe1455
commit b40eb540d3
6 changed files with 16 additions and 19 deletions

View File

@@ -194,8 +194,8 @@
#include "BLO_sys_types.h" // for intptr_t support #include "BLO_sys_types.h" // for intptr_t support
/* maybe we need this defined somewhere else */ /* maybe we need this defined somewhere else */
extern void StartKetsjiShell(ScrArea *area, char* startscenename, struct Main* maggie, struct SpaceIpo* sipo,int always_use_expand_framing); extern void StartKetsjiShell(ScrArea *area, char* startscenename, struct Main* maggie,int always_use_expand_framing);
extern void StartKetsjiShellSimulation(ScrArea *area, char* startscenename, struct Main* maggie, struct SpaceIpo* sipo,int always_use_expand_framing);/*rcruiz*/ extern void StartKetsjiShellSimulation(ScrArea *area, char* startscenename, struct Main* maggie, int always_use_expand_framing);/*rcruiz*/
/** /**
* When the mipmap setting changes, we want to redraw the view right * When the mipmap setting changes, we want to redraw the view right
@@ -556,7 +556,7 @@ void start_game(void)
space_set_commmandline_options(); space_set_commmandline_options();
SaveState(); SaveState();
StartKetsjiShell(curarea, startscene->id.name+2, G.main,G.sipo, 1); StartKetsjiShell(curarea, startscene->id.name+2, G.main, 1);
RestoreState(); RestoreState();
/* Restart BPY - unload the game engine modules. */ /* Restart BPY - unload the game engine modules. */
@@ -634,7 +634,7 @@ void start_RBSimulation(void)
space_set_commmandline_options(); space_set_commmandline_options();
SaveState(); SaveState();
StartKetsjiShellSimulation(curarea, startscene->id.name+2, G.main,G.sipo, 1); StartKetsjiShellSimulation(curarea, startscene->id.name+2, G.main, 1);
RestoreState(); RestoreState();
/* Restart BPY - unload the game engine modules. */ /* Restart BPY - unload the game engine modules. */

View File

@@ -104,7 +104,6 @@ static BlendFileData *load_game_data(char *filename) {
extern "C" void StartKetsjiShell(struct ScrArea *area, extern "C" void StartKetsjiShell(struct ScrArea *area,
char* scenename, char* scenename,
struct Main* maggie1, struct Main* maggie1,
struct SpaceIpo *sipo,
int always_use_expand_framing) int always_use_expand_framing)
{ {
int exitrequested = KX_EXIT_REQUEST_NO_REQUEST; int exitrequested = KX_EXIT_REQUEST_NO_REQUEST;
@@ -330,7 +329,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area,
} }
// create a scene converter, create and convert the startingscene // create a scene converter, create and convert the startingscene
KX_ISceneConverter* sceneconverter = new KX_BlenderSceneConverter(blenderdata,sipo, ketsjiengine); KX_ISceneConverter* sceneconverter = new KX_BlenderSceneConverter(blenderdata, ketsjiengine);
ketsjiengine->SetSceneConverter(sceneconverter); ketsjiengine->SetSceneConverter(sceneconverter);
sceneconverter->addInitFromFrame=false; sceneconverter->addInitFromFrame=false;
if (always_use_expand_framing) if (always_use_expand_framing)
@@ -549,7 +548,6 @@ extern "C" void StartKetsjiShell(struct ScrArea *area,
extern "C" void StartKetsjiShellSimulation(struct ScrArea *area, extern "C" void StartKetsjiShellSimulation(struct ScrArea *area,
char* scenename, char* scenename,
struct Main* maggie, struct Main* maggie,
struct SpaceIpo *sipo,
int always_use_expand_framing) int always_use_expand_framing)
{ {
int exitrequested = KX_EXIT_REQUEST_NO_REQUEST; int exitrequested = KX_EXIT_REQUEST_NO_REQUEST;
@@ -648,7 +646,7 @@ extern "C" void StartKetsjiShellSimulation(struct ScrArea *area,
if (exitrequested != KX_EXIT_REQUEST_QUIT_GAME) if (exitrequested != KX_EXIT_REQUEST_QUIT_GAME)
{ {
// create a scene converter, create and convert the startingscene // create a scene converter, create and convert the startingscene
KX_ISceneConverter* sceneconverter = new KX_BlenderSceneConverter(maggie,sipo, ketsjiengine); KX_ISceneConverter* sceneconverter = new KX_BlenderSceneConverter(maggie, ketsjiengine);
ketsjiengine->SetSceneConverter(sceneconverter); ketsjiengine->SetSceneConverter(sceneconverter);
sceneconverter->addInitFromFrame=true; sceneconverter->addInitFromFrame=true;

View File

@@ -94,11 +94,9 @@ extern "C"
KX_BlenderSceneConverter::KX_BlenderSceneConverter( KX_BlenderSceneConverter::KX_BlenderSceneConverter(
struct Main* maggie, struct Main* maggie,
struct SpaceIpo* sipo,
class KX_KetsjiEngine* engine class KX_KetsjiEngine* engine
) )
: m_maggie(maggie), : m_maggie(maggie),
m_sipo(sipo),
m_ketsjiEngine(engine), m_ketsjiEngine(engine),
m_alwaysUseExpandFraming(false), m_alwaysUseExpandFraming(false),
m_usemat(false), m_usemat(false),
@@ -641,13 +639,13 @@ void KX_BlenderSceneConverter::RegisterWorldInfo(
* When deleting an IPO curve from Python, check if the IPO is being * When deleting an IPO curve from Python, check if the IPO is being
* edited and if so clear the pointer to the old curve. * edited and if so clear the pointer to the old curve.
*/ */
void KX_BlenderSceneConverter::localDel_ipoCurve ( IpoCurve * icu ,struct SpaceIpo* sipo) void KX_BlenderSceneConverter::localDel_ipoCurve ( IpoCurve * icu)
{ {
if (!sipo) if (!G.sipo)
return; return;
int i; int i;
EditIpo *ei= (EditIpo *)sipo->editipo; EditIpo *ei= (EditIpo *)G.sipo->editipo;
if (!ei) return; if (!ei) return;
for(i=0; i<G.sipo->totipo; i++, ei++) { for(i=0; i<G.sipo->totipo; i++, ei++) {
@@ -751,7 +749,7 @@ void KX_BlenderSceneConverter::ResetPhysicsObjectsAnimationIpo(bool clearIpo)
if( tmpicu->bezt ) if( tmpicu->bezt )
MEM_freeN( tmpicu->bezt ); MEM_freeN( tmpicu->bezt );
MEM_freeN( tmpicu ); MEM_freeN( tmpicu );
localDel_ipoCurve( tmpicu ,m_sipo); localDel_ipoCurve( tmpicu );
} }
} }
} else } else

View File

@@ -44,7 +44,6 @@ class BL_InterpolatorList;
class BL_Material; class BL_Material;
struct IpoCurve; struct IpoCurve;
struct Main; struct Main;
struct SpaceIpo;
struct Scene; struct Scene;
class KX_BlenderSceneConverter : public KX_ISceneConverter class KX_BlenderSceneConverter : public KX_ISceneConverter
@@ -69,7 +68,6 @@ class KX_BlenderSceneConverter : public KX_ISceneConverter
GEN_Map<CHashedPtr,BL_InterpolatorList*> m_map_blender_to_gameipolist; GEN_Map<CHashedPtr,BL_InterpolatorList*> m_map_blender_to_gameipolist;
Main* m_maggie; Main* m_maggie;
SpaceIpo* m_sipo;
STR_String m_newfilename; STR_String m_newfilename;
class KX_KetsjiEngine* m_ketsjiEngine; class KX_KetsjiEngine* m_ketsjiEngine;
@@ -78,13 +76,12 @@ class KX_BlenderSceneConverter : public KX_ISceneConverter
bool m_usemat; bool m_usemat;
bool m_useglslmat; bool m_useglslmat;
void localDel_ipoCurve ( IpoCurve * icu ,struct SpaceIpo* sipo); void localDel_ipoCurve ( IpoCurve * icu );
// struct Ipo* findIpoForName(char* objName); // struct Ipo* findIpoForName(char* objName);
public: public:
KX_BlenderSceneConverter( KX_BlenderSceneConverter(
Main* maggie, Main* maggie,
SpaceIpo *sipo,
class KX_KetsjiEngine* engine class KX_KetsjiEngine* engine
); );

View File

@@ -663,7 +663,7 @@ bool GPG_Application::startEngine(void)
*/ */
// create a scene converter, create and convert the stratingscene // create a scene converter, create and convert the stratingscene
m_sceneconverter = new KX_BlenderSceneConverter(m_maggie,0, m_ketsjiengine); m_sceneconverter = new KX_BlenderSceneConverter(m_maggie, m_ketsjiengine);
if (m_sceneconverter) if (m_sceneconverter)
{ {
STR_String startscenename = m_startSceneName.Ptr(); STR_String startscenename = m_startSceneName.Ptr();

View File

@@ -313,7 +313,11 @@ PyTypeObject KX_PythonSeq_Type = {
NULL, /* printfunc tp_print; */ NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */ NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */ NULL, /* setattrfunc tp_setattr; */
#if PY_VERSION_HEX >= 0x03000000 // TODO - richcmp
NULL,
#else
( cmpfunc ) KX_PythonSeq_compare, /* cmpfunc tp_compare; */ ( cmpfunc ) KX_PythonSeq_compare, /* cmpfunc tp_compare; */
#endif
( reprfunc ) KX_PythonSeq_repr, /* reprfunc tp_repr; */ ( reprfunc ) KX_PythonSeq_repr, /* reprfunc tp_repr; */
/* Method suites for standard classes */ /* Method suites for standard classes */