[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35042] trunk/blender/source/gameengine: Bugfix #25803 (LibLoad'ed scene objects don't have timer property updated)

Mitchell Stokes mogurijin at gmail.com
Tue Feb 22 00:44:11 CET 2011


Revision: 35042
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35042
Author:   moguri
Date:     2011-02-21 23:44:11 +0000 (Mon, 21 Feb 2011)
Log Message:
-----------
Bugfix #25803 (LibLoad'ed scene objects don't have timer property updated)

The KX_Scenes' SCA_TimeEventManagers were not being merged. These handle the timer prop

Modified Paths:
--------------
    trunk/blender/source/gameengine/GameLogic/SCA_TimeEventManager.cpp
    trunk/blender/source/gameengine/GameLogic/SCA_TimeEventManager.h
    trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp

Modified: trunk/blender/source/gameengine/GameLogic/SCA_TimeEventManager.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_TimeEventManager.cpp	2011-02-21 23:41:47 UTC (rev 35041)
+++ trunk/blender/source/gameengine/GameLogic/SCA_TimeEventManager.cpp	2011-02-21 23:44:11 UTC (rev 35042)
@@ -109,3 +109,9 @@
 		}
 	}
 }
+
+vector<CValue*> SCA_TimeEventManager::GetTimeValues()
+{
+	return m_timevalues;
+}
+

Modified: trunk/blender/source/gameengine/GameLogic/SCA_TimeEventManager.h
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_TimeEventManager.h	2011-02-21 23:41:47 UTC (rev 35041)
+++ trunk/blender/source/gameengine/GameLogic/SCA_TimeEventManager.h	2011-02-21 23:44:11 UTC (rev 35042)
@@ -49,6 +49,7 @@
 	void			AddTimeProperty(CValue* timeval);
 	void			RemoveTimeProperty(CValue* timeval);
 
+	vector<CValue*>	GetTimeValues();
 
 #ifdef WITH_CXX_GUARDEDALLOC
 public:

Modified: trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp	2011-02-21 23:41:47 UTC (rev 35041)
+++ trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp	2011-02-21 23:44:11 UTC (rev 35042)
@@ -1857,6 +1857,16 @@
 
 			/* when merging objects sensors are moved across into the new manager, dont need to do this here */
 		}
+
+		/* grab any timer properties from the other scene */
+		SCA_TimeEventManager *timemgr=		GetTimeEventManager();
+		SCA_TimeEventManager *timemgr_other=	other->GetTimeEventManager();
+		vector<CValue*> times = timemgr_other->GetTimeValues();
+
+		for(unsigned int i= 0; i < times.size(); i++) {
+			timemgr->AddTimeProperty(times[i]);
+		}
+		
 	}
 	return true;
 }




More information about the Bf-blender-cvs mailing list