[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14205] trunk/blender/source/gameengine: Correction on BGE fixes:
Benoit Bolsee
benoit.bolsee at online.be
Fri Mar 21 23:44:12 CET 2008
Revision: 14205
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14205
Author: ben2610
Date: 2008-03-21 23:44:12 +0100 (Fri, 21 Mar 2008)
Log Message:
-----------
Correction on BGE fixes:
- check that an object has been created before setting the physics environment
- check that there is an active camera before using it
- when a camera is deleted, remove it from m_cameras list
Modified Paths:
--------------
trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
Modified: trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp 2008-03-21 22:26:26 UTC (rev 14204)
+++ trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp 2008-03-21 22:44:12 UTC (rev 14205)
@@ -1670,7 +1670,8 @@
break;
}
}
- gameobj->SetPhysicsEnvironment(kxscene->GetPhysicsEnvironment());
+ if (gameobj)
+ gameobj->SetPhysicsEnvironment(kxscene->GetPhysicsEnvironment());
return gameobj;
}
Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp 2008-03-21 22:26:26 UTC (rev 14204)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp 2008-03-21 22:44:12 UTC (rev 14205)
@@ -617,7 +617,7 @@
SetWorldSettings(scene->GetWorldInfo());
// Avoid drawing the scene with the active camera twice when it's viewport is enabled
- if(!cam->GetViewport())
+ if(cam && !cam->GetViewport())
{
if (scene->IsClearingZBuffer())
m_rasterizer->ClearDepthBuffer();
@@ -854,6 +854,9 @@
RAS_Rect viewport;
+ if (!cam)
+ return;
+
if (cam->GetViewport()) {
viewport.SetLeft(cam->GetViewportLeft());
viewport.SetBottom(cam->GetViewportBottom());
Modified: trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp 2008-03-21 22:26:26 UTC (rev 14204)
+++ trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp 2008-03-21 22:44:12 UTC (rev 14205)
@@ -794,6 +794,9 @@
//m_active_camera->Release();
m_active_camera = NULL;
}
+ // in case this is a camera
+ m_cameras.remove((KX_Camera*)newobj);
+
if (m_sceneConverter)
m_sceneConverter->UnregisterGameObject(newobj);
// return value will be 0 if the object is actually deleted (all reference gone)
@@ -942,6 +945,7 @@
m_cameras.push_back(cam);
}
+
KX_Camera* KX_Scene::GetActiveCamera()
{
// NULL if not defined
More information about the Bf-blender-cvs
mailing list