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;
        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to