X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvaluenode_composite.cpp;h=8d7428b1d67b1d3a19e1bafdf7e80de558a52fee;hb=392b62fa87099d8576a9da614be431a5046fe595;hp=327ed9ad04c074914cf639b3f39ce2f2739736a5;hpb=32eae841146d952cb5b2027dc918341b1dd262c3;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/valuenode_composite.cpp b/synfig-core/trunk/src/synfig/valuenode_composite.cpp index 327ed9a..8d7428b 100644 --- a/synfig-core/trunk/src/synfig/valuenode_composite.cpp +++ b/synfig-core/trunk/src/synfig/valuenode_composite.cpp @@ -88,7 +88,7 @@ synfig::ValueNode_Composite::ValueNode_Composite(const ValueBase &value): } default: assert(0); - throw Exception::BadType(ValueBase::type_name(get_type())); + throw Exception::BadType(ValueBase::type_local_name(get_type())); } } @@ -295,6 +295,10 @@ ValueNode_Composite::link_local_name(int i)const return _("Tangent 2"); default: + assert(0); + // notice that Composite counts from 1 and Radial Composite counts + // from 0! we need to keep it like that to correctly load old + // animations, but let's not save "c%d" format link names in future return etl::strprintf(_("C%d"),i+1); } } @@ -305,7 +309,53 @@ ValueNode_Composite::link_name(int i)const { assert(i>=0 && i= 0 && name[1]-'1' < link_count()) + return name[1]-'1'; switch(get_type()) { @@ -342,7 +392,7 @@ ValueNode_Composite::get_link_index_from_name(const String &name)const return 0; if(name[0]=='y') return 1; - if(name[0]=='z') + if(name[0]=='z') // \todo "z"? really? return 2; case ValueBase::TYPE_BLINEPOINT: if(name[0]=='p' || name=="v1" || name=="p1")