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

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

Reply via email to