X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvaluenode_composite.cpp;h=7e18ea026d6f301f221b77afa1a9a50ef325b456;hb=1c50ac93386f490d32d4ca36d57b9b1901fb873c;hp=43c3fa06c01383fc766b1a3509cda6d285e7ec09;hpb=6c27d1b6cf4694a873542cb264c650893f2c6e0e;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/valuenode_composite.cpp b/synfig-core/trunk/src/synfig/valuenode_composite.cpp index 43c3fa0..7e18ea0 100644 --- a/synfig-core/trunk/src/synfig/valuenode_composite.cpp +++ b/synfig-core/trunk/src/synfig/valuenode_composite.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -37,6 +38,7 @@ #include "vector.h" #include "color.h" #include "segment.h" +#include "savecanvas.h" #endif @@ -112,6 +114,9 @@ ValueNode_Composite::create_new()const ValueBase synfig::ValueNode_Composite::operator()(Time t)const { + if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS")) + printf("%s:%d operator()\n", __FILE__, __LINE__); + switch(get_type()) { case ValueBase::TYPE_VECTOR: @@ -295,6 +300,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 +314,56 @@ 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 +400,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")