X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Factions%2Fvaluedescset.cpp;h=0c5a1b4663998bc95cb43bf96be2f71fbed4fe69;hb=6c27d1b6cf4694a873542cb264c650893f2c6e0e;hp=3e2e3ddd79528264535788ebe69bcf9c76fc5a35;hpb=8ef042c40521681cea99944097c4f90a5ac6cf74;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/actions/valuedescset.cpp b/synfig-studio/trunk/src/synfigapp/actions/valuedescset.cpp index 3e2e3dd..0c5a1b4 100644 --- a/synfig-studio/trunk/src/synfigapp/actions/valuedescset.cpp +++ b/synfig-studio/trunk/src/synfigapp/actions/valuedescset.cpp @@ -294,7 +294,7 @@ Action::ValueDescSet::prepare() break; } default: - throw Error("Bad type for composite (%s)",ValueBase::type_name(value.get_type()).c_str()); + throw Error(_("Bad type for composite (%s)"),ValueBase::type_local_name(value.get_type()).c_str()); break; } @@ -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; @@ -348,7 +353,7 @@ Action::ValueDescSet::prepare() n_components=4; break; default: - throw Error("Bad type for radial composite (%s)",ValueBase::type_name(value.get_type()).c_str()); + throw Error(_("Bad type for radial composite (%s)"),ValueBase::type_local_name(value.get_type()).c_str()); break; } for(int i=0;i