Index: cpp/frams/genetics/fL/fL_general.cpp
===================================================================
--- cpp/frams/genetics/fL/fL_general.cpp	(revision 857)
+++ cpp/frams/genetics/fL/fL_general.cpp	(revision 973)
@@ -1,4 +1,4 @@
 // This file is a part of Framsticks SDK.  http://www.framsticks.com/
-// Copyright (C) 1999-2018  Maciej Komosinski and Szymon Ulatowski.
+// Copyright (C) 1999-2020  Maciej Komosinski and Szymon Ulatowski.
 // See LICENSE.txt for details.
 
@@ -76,8 +76,8 @@
 {
 	// if position exceeds length then return false
-	if (pos >= src.len()) return false;
+	if (pos >= src.length()) return false;
 	int opencount = -1;
 	int i = pos;
-	for (; i < src.len(); i++)
+	for (; i < src.length(); i++)
 	{
 		// token cannot contain branching parenthesis
@@ -169,5 +169,5 @@
 	SString temp;
 	temp = token.substr(tokpos);
-	temp = temp.substr(0, temp.len() - 1);
+	temp = temp.substr(0, temp.length() - 1);
 
 	// if word has parameters
@@ -199,5 +199,5 @@
 				// if string is empty, then evaluate this with 0
 				// if sequence could not be evaluated, then return error
-				if (seq.len() > 0)
+				if (seq.length() > 0)
 				{
 					eval = new MathEvaluation(numparams);
@@ -217,5 +217,5 @@
 		}
 	}
-	else if (word->npar == 0 && temp.len() > 0)
+	else if (word->npar == 0 && temp.length() > 0)
 	{
 		SString message = "Too many parameters for word:  ";
@@ -351,5 +351,5 @@
 {
 	// if word already exist, then return error
-	if (this->name.len() == 0)
+	if (this->name.length() == 0)
 	{
 		logMessage("fL_Word", "processDefinition", LOG_ERROR, "Axiom name is empty");
@@ -456,26 +456,26 @@
 	switch (type)
 	{
-		case fLElementType::TERM:
-		{
-			tab = fL_word_paramtab;
-			obj = new fL_Word();
-			break;
-		}
-		case fLElementType::INFO:
-		{
-			tab = fL_builder_paramtab;
-			obj = this;
-			break;
-		}
-		case fLElementType::RULE:
-		{
-			tab = fL_rule_paramtab;
-			obj = new fL_Rule(begin, end);
-			break;
-		}
-		default:
-			tab = NULL;
-			obj = NULL;
-			break;
+	case fLElementType::TERM:
+	{
+		tab = fL_word_paramtab;
+		obj = new fL_Word();
+		break;
+	}
+	case fLElementType::INFO:
+	{
+		tab = fL_builder_paramtab;
+		obj = this;
+		break;
+	}
+	case fLElementType::RULE:
+	{
+		tab = fL_rule_paramtab;
+		obj = new fL_Rule(begin, end);
+		break;
+	}
+	default:
+		tab = NULL;
+		obj = NULL;
+		break;
 	}
 	Param par(tab);
@@ -573,5 +573,5 @@
 	while (genotype.getNextToken(pos, line, '\n'))
 	{
-		if (line.len() > 0)
+		if (line.length() > 0)
 		{
 			// words can be defined in the beginning of genotype
@@ -851,5 +851,5 @@
 				{
 					SString t = par.getString(q);
-					if (t.len() > 0)
+					if (t.length() > 0)
 					{
 						fL_Word *attrword = NULL;
@@ -957,5 +957,5 @@
 		}
 		double partprop = (ppar.getDoubleById(fL_part_names[i]) * alterationcount +
-				currval) / (alterationcount + 1.0);
+			currval) / (alterationcount + 1.0);
 		ppar.setDoubleById(fL_part_names[i], partprop);
 	}
@@ -1097,5 +1097,5 @@
 						delete newpart;
 						logMessage("fL_Builder", "developModel", LOG_ERROR,
-								"Error parsing word parameter");
+							"Error parsing word parameter");
 						return 1;
 					}
@@ -1124,5 +1124,5 @@
 						{
 							logMessage("fL_Builder", "developModel", LOG_ERROR,
-									"Error parsing word parameter");
+								"Error parsing word parameter");
 							delete newjoint;
 							return 1;
@@ -1162,5 +1162,5 @@
 			else if (word->name == "C")
 			{
-				connsbuffer.push_back({w, currstate.currneuron});
+				connsbuffer.push_back({ w, currstate.currneuron });
 			}
 			else if (word->name.startsWith("rot"))
@@ -1182,13 +1182,13 @@
 				if (word->name == "rotX")
 				{
-					rotmatrix.rotate(Pt3D(rot,0,0));
+					rotmatrix.rotate(Pt3D(rot, 0, 0));
 				}
 				else if (word->name == "rotY")
 				{
-					rotmatrix.rotate(Pt3D(0,rot,0));
+					rotmatrix.rotate(Pt3D(0, rot, 0));
 				}
 				else if (word->name == "rotZ")
 				{
-					rotmatrix.rotate(Pt3D(0,0,rot));
+					rotmatrix.rotate(Pt3D(0, 0, rot));
 				}
 				currstate.direction = rotmatrix.transform(currstate.direction);
@@ -1212,5 +1212,5 @@
 	{
 		if (connsbuffer[i].second == NULL ||
-				(connsbuffer[i].second->getClass()->getPreferredInputs() != -1 &&
+			(connsbuffer[i].second->getClass()->getPreferredInputs() != -1 &&
 				connsbuffer[i].second->getInputCount() >=
 				connsbuffer[i].second->getClass()->getPreferredInputs()))
@@ -1225,5 +1225,5 @@
 			SString attr = par.getStringById(FL_PE_CONN_ATTR);
 			fL_Word *attractor = NULL;
-			if (attr.len() > 0)
+			if (attr.length() > 0)
 			{
 				createWord(attr, attractor, 0, (*connsbuffer[i].first)->begin, (*connsbuffer[i].first)->end);
@@ -1236,5 +1236,5 @@
 				{
 					logMessage("fL_Builder", "developModel", LOG_ERROR,
-							"Error parsing word parameter");
+						"Error parsing word parameter");
 					delete attractor;
 					return 1;
@@ -1245,6 +1245,6 @@
 				connsbuffer[i].second->addInput(neu, weight);
 				if (using_mapping) neu->addMapping(
-						IRange((*connsbuffer[i].first)->begin,
-								(*connsbuffer[i].first)->end));
+					IRange((*connsbuffer[i].first)->begin,
+						(*connsbuffer[i].first)->end));
 			}
 			else
@@ -1252,6 +1252,6 @@
 				connsbuffer[i].second->addInput(connsbuffer[i].second, weight);
 				if (using_mapping) neu->addMapping(
-						IRange((*connsbuffer[i].first)->begin,
-								(*connsbuffer[i].first)->end));
+					IRange((*connsbuffer[i].first)->begin,
+						(*connsbuffer[i].first)->end));
 			}
 			delete attractor;
@@ -1286,5 +1286,5 @@
 	m->open(using_checkpoints);
 	bool wordsexceeded = false;
-	for (; t <= time; t+= timestamp)
+	for (; t <= time; t += timestamp)
 	{
 		alterTimedProperties(t); // always alter timed properties in the beginning
@@ -1293,5 +1293,5 @@
 		{
 			iterate(t);
-			curriter+=1.0;
+			curriter += 1.0;
 		}
 		if (using_checkpoints)
@@ -1362,5 +1362,5 @@
 {
 	int count = genotype.size();
-	for (fL_Rule *rul: rules)
+	for (fL_Rule *rul : rules)
 	{
 		count += rul->objsucc.size();
@@ -1373,5 +1373,5 @@
 {
 	for (std::vector<fL_Rule *>::iterator it = rules.begin();
-			it != rules.end(); it++)
+		it != rules.end(); it++)
 	{
 		std::vector<fL_Rule *>::iterator it2 = it;
@@ -1393,5 +1393,5 @@
 				{
 					if ((*it)->condeval->getStringifiedRPN() ==
-							(*it2)->condeval->getStringifiedRPN())
+						(*it2)->condeval->getStringifiedRPN())
 					{
 						todelete = true;
