Index: cpp/frams/genetics/f4/conv_f4.cpp
===================================================================
--- cpp/frams/genetics/f4/conv_f4.cpp	(revision 675)
+++ cpp/frams/genetics/f4/conv_f4.cpp	(revision 726)
@@ -178,9 +178,9 @@
 			// new part object for firstend
 			// coordinates are left to be computed by Model
-			sprintf(tmpLine, "p:fr=%g,ing=%g,as=%g",
+			sprintf(tmpLine, "fr=%g,ing=%g,as=%g",
 				/*1.0/C->P.mass,*/ C->P.friction, C->P.ingestion, C->P.assimilation
 				//C->firstend.x, C->firstend.y, C->firstend.z
 				);
-			partidx = singleStepBuild(tmpLine, &range);
+			partidx = addFromString(PartType, tmpLine, &range);
 			if (partidx < 0) return -1;
 			jj_p1_refno = partidx;
@@ -194,9 +194,9 @@
 		}
 		// new part object for lastend
-		sprintf(tmpLine, "p:fr=%g,ing=%g,as=%g",
+		sprintf(tmpLine, "fr=%g,ing=%g,as=%g",
 			//C->lastend.x, C->lastend.y, C->lastend.z
 			/*"vol=" 1.0/C->P.mass,*/ C->P.friction, C->P.ingestion, C->P.assimilation
 			);
-		partidx = singleStepBuild(tmpLine, &range);
+		partidx = addFromString(PartType, tmpLine, &range);
 		if (partidx < 0) return -2;
 		C->p2_refno = partidx;
@@ -207,5 +207,5 @@
 		if ((jj_p1_refno < 0) || (jj_p1_refno >= getPartCount())) return -11;
 		if ((jj_p2_refno < 0) || (jj_p2_refno >= getPartCount())) return -12;
-		sprintf(tmpLine, "j:p1=%ld,p2=%ld,dx=%g,dy=0,dz=0,rx=%g,ry=0,rz=%g"\
+		sprintf(tmpLine, "p1=%ld,p2=%ld,dx=%g,dy=0,dz=0,rx=%g,ry=0,rz=%g"\
 			",stam=%g",
 			jj_p1_refno, jj_p2_refno,
@@ -218,5 +218,5 @@
 			C->P.stamina
 			);
-		partidx = singleStepBuild(tmpLine, &range);
+		partidx = addFromString(JointType, tmpLine, &range);
 		if (partidx < 0) return -13;
 		C->joint_refno = partidx;
@@ -230,8 +230,8 @@
 		if ((p_refno < 0) || (p_refno >= getPartCount())) return -21;
 		// joint_refno is currently not used
-		sprintf(tmpLine, "n:p=%ld,d=\"N:in=%g,fo=%g,si=%g\"",
+		sprintf(tmpLine, "p=%ld,d=\"N:in=%g,fo=%g,si=%g\"",
 			p_refno,
 			C->inertia, C->force, C->sigmo);
-		partidx = singleStepBuild(tmpLine, &range);
+		partidx = addFromString(NeuronType, tmpLine, &range);
 		if (partidx < 0) return -22;
 		C->neuro_refno = partidx;
@@ -241,11 +241,11 @@
 		{
 			if (1 == C->ctrl)
-				sprintf(tmpLine, "n:j=%d,d=\"@:p=%g\"", C->dadlink->joint_refno, C->P.muscle_power);
+				sprintf(tmpLine, "j=%d,d=\"@:p=%g\"", C->dadlink->joint_refno, C->P.muscle_power);
 			else
-				sprintf(tmpLine, "n:j=%d,d=\"|:p=%g,r=%g\"", C->dadlink->joint_refno, C->P.muscle_power, C->mz);
-			partidx = singleStepBuild(tmpLine, &range);
+				sprintf(tmpLine, "j=%d,d=\"|:p=%g,r=%g\"", C->dadlink->joint_refno, C->P.muscle_power, C->mz);
+			partidx = addFromString(NeuronType, tmpLine, &range);
 			if (partidx < 0) return -32;
-			sprintf(tmpLine, "c:%d,%d", partidx, n_refno);
-			if (singleStepBuild(tmpLine, &range) < 0) return -33;
+			sprintf(tmpLine, "%d,%d", partidx, n_refno);
+			if (addFromString(NeuronConnectionType, tmpLine, &range) < 0) return -33;
 		}
 
@@ -256,12 +256,12 @@
 
 			tmpLine[0] = 0;
-			if (1 == C->links[j]->t) sprintf(tmpLine, "n:p=%d,d=\"*\"", p_refno);
-			if (2 == C->links[j]->t) sprintf(tmpLine, "n:j=%d,d=\"G\"", C->dadlink->joint_refno);
-			if (3 == C->links[j]->t) sprintf(tmpLine, "n:p=%d,d=\"T\"", p_refno);
-			if (4 == C->links[j]->t) sprintf(tmpLine, "n:p=%d,d=\"S\"", p_refno);
+			if (1 == C->links[j]->t) sprintf(tmpLine, "p=%d,d=\"*\"", p_refno);
+			if (2 == C->links[j]->t) sprintf(tmpLine, "j=%d,d=\"G\"", C->dadlink->joint_refno);
+			if (3 == C->links[j]->t) sprintf(tmpLine, "p=%d,d=\"T\"", p_refno);
+			if (4 == C->links[j]->t) sprintf(tmpLine, "p=%d,d=\"S\"", p_refno);
 			int from = -1;
 			if (tmpLine[0]) //input from receptor
 			{
-				from = singleStepBuild(tmpLine, &range);
+				from = addFromString(NeuronType, tmpLine, &range);
 				if (from < 0) return -34;
 			} /*could be 'else'...*/
@@ -270,6 +270,6 @@
 			if (from >= 0)
 			{
-				sprintf(tmpLine, "c:%d,%d,%g", n_refno, from, C->links[j]->w);
-				if (singleStepBuild(tmpLine, &range) < 0) return -35;
+				sprintf(tmpLine, "%d,%d,%g", n_refno, from, C->links[j]->w);
+				if (addFromString(NeuronConnectionType, tmpLine, &range) < 0) return -35;
 			}
 		}
