[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39043] branches/soc-2011-cucumber/source/ gameengine: Now dynamic lights from the light pool don' t get converted to game objects.
Daniel Stokes
kupomail at gmail.com
Fri Aug 5 07:22:14 CEST 2011
Revision: 39043
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39043
Author: kupoman
Date: 2011-08-05 05:22:13 +0000 (Fri, 05 Aug 2011)
Log Message:
-----------
Now dynamic lights from the light pool don't get converted to game objects.
Modified Paths:
--------------
branches/soc-2011-cucumber/source/gameengine/Converter/BL_BlenderDataConversion.cpp
branches/soc-2011-cucumber/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
branches/soc-2011-cucumber/source/gameengine/Ketsji/KX_Light.cpp
Modified: branches/soc-2011-cucumber/source/gameengine/Converter/BL_BlenderDataConversion.cpp
===================================================================
--- branches/soc-2011-cucumber/source/gameengine/Converter/BL_BlenderDataConversion.cpp 2011-08-05 04:47:05 UTC (rev 39042)
+++ branches/soc-2011-cucumber/source/gameengine/Converter/BL_BlenderDataConversion.cpp 2011-08-05 05:22:13 UTC (rev 39043)
@@ -2224,6 +2224,11 @@
for (SETLOOPER(blenderscene, sce_iter, base))
{
Object* blenderobject = base->object;
+
+ // Skip lights from the light pool
+ if (strcmp(blenderobject->id.name, "__pool__") == 0)
+ continue;
+
allblobj.insert(blenderobject);
KX_GameObject* gameobj = gameobject_from_blenderobject(
Modified: branches/soc-2011-cucumber/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
===================================================================
--- branches/soc-2011-cucumber/source/gameengine/Converter/KX_BlenderSceneConverter.cpp 2011-08-05 04:47:05 UTC (rev 39042)
+++ branches/soc-2011-cucumber/source/gameengine/Converter/KX_BlenderSceneConverter.cpp 2011-08-05 05:22:13 UTC (rev 39043)
@@ -366,8 +366,7 @@
break;
}
- //For now this is before converting blender objects (which means the light pool gets converted to KX_lights that never get used)
- //If this is moved after the conversion, things go crazy with materials since InitBlenderLightPool frees the materials
+ // Lights added to the scene during the light pool initialization are now skipped when converting objects
if(blenderscene && m_useglslmat)
KX_LightObject::InitBlenderLightPool(blenderscene,
blenderscene->gm.dynpoints,
Modified: branches/soc-2011-cucumber/source/gameengine/Ketsji/KX_Light.cpp
===================================================================
--- branches/soc-2011-cucumber/source/gameengine/Ketsji/KX_Light.cpp 2011-08-05 04:47:05 UTC (rev 39042)
+++ branches/soc-2011-cucumber/source/gameengine/Ketsji/KX_Light.cpp 2011-08-05 05:22:13 UTC (rev 39043)
@@ -303,8 +303,11 @@
for (int i = 0; i < count; ++i)
{
subpool->at(i) = add_object(m_blenderlight_scene, OB_LAMP);
+
+ //Give the lights a unique name so the converter can avoid them
+ strcpy(subpool->at(i)->id.name, "__pool__");
+
la = (Lamp*)subpool->at(i)->data;
-
la->type = type;
la->energy = 0;
}
More information about the Bf-blender-cvs
mailing list