[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