X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Factions%2Fvaluedescset.cpp;h=ccbd1ae22ce665a8347cf8059ce6d932b167d0b3;hb=c30e8f8a8dfc5eefc852c30d24454ca167960d3b;hp=4ed92869567911e7d55fb0e84053257fd876ec0c;hpb=fa0d98d6982bcc2fc503cf7c0f4c05df30a5c370;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/actions/valuedescset.cpp b/synfig-studio/trunk/src/synfigapp/actions/valuedescset.cpp index 4ed9286..ccbd1ae 100644 --- a/synfig-studio/trunk/src/synfigapp/actions/valuedescset.cpp +++ b/synfig-studio/trunk/src/synfigapp/actions/valuedescset.cpp @@ -334,9 +334,14 @@ Action::ValueDescSet::prepare() { case ValueBase::TYPE_VECTOR: { + Angle old_angle = (*(ValueNode_RadialComposite::Handle::cast_dynamic( + value_desc.get_value_node())->get_link_vfunc(1)))(time).get(Angle()); Vector vect(value.get(Vector())); components[0]=vect.mag(); - components[1]=Angle(Angle::tan(vect[1],vect[0])); + Angle change = Angle(Angle::tan(vect[1],vect[0])) - old_angle; + while (change < Angle::deg(-180)) change += Angle::deg(360); + while (change > Angle::deg(180)) change -= Angle::deg(360); + components[1]=old_angle + change; n_components=2; } break;