From 40c5b567078e6855b2abaaba286978df11b220f8 Mon Sep 17 00:00:00 2001 From: Jens Ole Wund Date: Thu, 23 Nov 2006 20:31:46 +0000 Subject: [PATCH] softbodies nice little 'debug' feature SHIFT_ESC breaks baking without throwing away the baked keys so you can check the solution calculated so far baked sb replay checks for NULL pointers in keys -> motion will stop there even saving and loading to file works here, but i would not expect it to do so humm .. may be i'll add a dirty flag for that --- source/blender/blenkernel/intern/softbody.c | 2 +- source/blender/src/buttons_object.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/softbody.c b/source/blender/blenkernel/intern/softbody.c index 58563104d2f..431f2e86620 100644 --- a/source/blender/blenkernel/intern/softbody.c +++ b/source/blender/blenkernel/intern/softbody.c @@ -2920,7 +2920,7 @@ static int softbody_baked_step(Object *ob, float framenr, float (*vertexCos)[3], fac= ((cfra-sfra)/dfra) - (float)ofs1; CLAMP(fac, 0.0, 1.0); set_four_ipo(fac, data, KEY_BSPLINE); - + if (key0&&key1&&key2&&key3) // may be null because we SHIFT_ESCAPED for(a=sb->totpoint, bp= sb->bpoint; a>0; a--, bp++, key0++, key1++, key2++, key3++) { bp->pos[0]= data[0]*key0->vec[0] + data[1]*key1->vec[0] + data[2]*key2->vec[0] + data[3]*key3->vec[0]; bp->pos[1]= data[0]*key0->vec[1] + data[1]*key1->vec[1] + data[2]*key2->vec[1] + data[3]*key3->vec[1]; diff --git a/source/blender/src/buttons_object.c b/source/blender/src/buttons_object.c index d05c6138612..7f80a3f06f1 100644 --- a/source/blender/src/buttons_object.c +++ b/source/blender/src/buttons_object.c @@ -1435,7 +1435,7 @@ void softbody_bake(Object *ob) } } - if(didbreak) { + if((didbreak)&&(G.qual!=LR_SHIFTKEY)) { if(ob) sbObjectToSoftbody(ob); // free bake else {