[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41581] trunk/blender/source/blender: Second attempt at getting rid of bsystem_time()
Joshua Leung
aligorith at gmail.com
Sun Nov 6 13:12:15 CET 2011
Revision: 41581
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41581
Author: aligorith
Date: 2011-11-06 12:12:14 +0000 (Sun, 06 Nov 2011)
Log Message:
-----------
Second attempt at getting rid of bsystem_time()
Hopefully this fixes Collada. Can't really compile that to check
here...
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_scene.h
trunk/blender/source/blender/blenkernel/intern/particle.c
trunk/blender/source/blender/blenkernel/intern/pointcache.c
trunk/blender/source/blender/blenkernel/intern/scene.c
trunk/blender/source/blender/collada/AnimationExporter.cpp
trunk/blender/source/blender/collada/AnimationExporter.h
Modified: trunk/blender/source/blender/blenkernel/BKE_scene.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_scene.h 2011-11-06 12:11:50 UTC (rev 41580)
+++ trunk/blender/source/blender/blenkernel/BKE_scene.h 2011-11-06 12:12:14 UTC (rev 41581)
@@ -86,7 +86,7 @@
int scene_check_setscene(struct Main *bmain, struct Scene *sce);
float BKE_curframe(struct Scene *scene);
-float BKE_nextframe(struct Scene *scene);
+float BKE_frame_to_ctime(struct Scene *scene, const float frame);
void scene_update_tagged(struct Main *bmain, struct Scene *sce);
void scene_clear_tagged(struct Main *bmain, struct Scene *sce);
Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c 2011-11-06 12:11:50 UTC (rev 41580)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c 2011-11-06 12:12:14 UTC (rev 41581)
@@ -3427,7 +3427,7 @@
psys->totpart=0;
psys->flag = PSYS_ENABLED|PSYS_CURRENT;
- psys->cfra = BKE_nextframe(scene);
+ psys->cfra = BKE_frame_to_ctime(scene, CFRA + 1);
DAG_scene_sort(G.main, scene);
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c 2011-11-06 12:11:50 UTC (rev 41580)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c 2011-11-06 12:12:14 UTC (rev 41581)
@@ -2148,8 +2148,8 @@
if(timescale) {
time= BKE_curframe(scene);
- nexttime= BKE_nextframe(scene);
-
+ nexttime= BKE_frame_to_ctime(scene, CFRA+1);
+
*timescale= MAX2(nexttime - time, 0.0f);
}
Modified: trunk/blender/source/blender/blenkernel/intern/scene.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/scene.c 2011-11-06 12:11:50 UTC (rev 41580)
+++ trunk/blender/source/blender/blenkernel/intern/scene.c 2011-11-06 12:12:14 UTC (rev 41581)
@@ -914,20 +914,16 @@
*/
float BKE_curframe(Scene *scene)
{
- float ctime = scene->r.cfra;
- ctime += scene->r.subframe;
- ctime *= scene->r.framelen;
-
- return ctime;
+ return BKE_frame_to_ctime(scene, scene->r.cfra);
}
-/* Similar to BKE_curframe(), but is used by physics sims to get "next time", which is defined as cfra+1 */
-float BKE_nextframe(Scene *scene)
+/* This function is used to obtain arbitrary fractional frames */
+float BKE_frame_to_ctime(Scene *scene, const float frame)
{
- float ctime = (float)(scene->r.cfra + 1);
+ float ctime = frame;
ctime += scene->r.subframe;
ctime *= scene->r.framelen;
-
+
return ctime;
}
Modified: trunk/blender/source/blender/collada/AnimationExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/AnimationExporter.cpp 2011-11-06 12:11:50 UTC (rev 41580)
+++ trunk/blender/source/blender/collada/AnimationExporter.cpp 2011-11-06 12:12:14 UTC (rev 41581)
@@ -759,7 +759,7 @@
for (it = frames.begin(); it != frames.end(); it++) {
float mat[4][4], ipar[4][4];
- float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
+ float ctime = BKE_frame_to_ctime(scene, *it);
BKE_animsys_evaluate_animdata(scene , &ob_arm->id, ob_arm->adt, ctime, ADT_RECALC_ANIM);
where_is_pose_bone(scene, ob_arm, pchan, ctime, 1);
@@ -1265,7 +1265,7 @@
for (it = frames.begin(); it != frames.end(); it++) {
float mat[4][4], ipar[4][4];
- float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
+ float ctime = BKE_frame_to_ctime(scene, *it);
BKE_animsys_evaluate_animdata(scene , &ob_arm->id, ob_arm->adt, ctime, ADT_RECALC_ANIM);
Modified: trunk/blender/source/blender/collada/AnimationExporter.h
===================================================================
--- trunk/blender/source/blender/collada/AnimationExporter.h 2011-11-06 12:11:50 UTC (rev 41580)
+++ trunk/blender/source/blender/collada/AnimationExporter.h 2011-11-06 12:12:14 UTC (rev 41581)
@@ -38,6 +38,7 @@
#include "BKE_DerivedMesh.h"
#include "BKE_fcurve.h"
#include "BKE_animsys.h"
+#include "BKE_scene.h"
#ifdef NAN_BUILDINFO
extern char build_rev[];
#endif
More information about the Bf-blender-cvs
mailing list