Index: java/Framclipse/com.framsticks.framclipse/res/framscript.xml
===================================================================
--- java/Framclipse/com.framsticks.framclipse/res/framscript.xml	(revision 717)
+++ java/Framclipse/com.framsticks.framclipse/res/framscript.xml	(revision 769)
@@ -649,33 +649,39 @@
 	</type>
 	<type name="EnergyParticles" context="Global context">
-		<element name="lifespan_min" type="integer" min="1" max="100" default="20">
+		<element name="enpa_lifespan_min" type="integer" min="1" max="100" default="20">
 			<description><![CDATA[Particle's lifespan is a random number taken from the specified range [min,max]]]></description>
 		</element>
-		<element name="lifespan_max" type="integer" min="1" max="100" default="30">
+		<element name="enpa_lifespan_max" type="integer" min="1" max="100" default="30">
 			<description><![CDATA[Particle's lifespan is a random number taken from the specified range [min,max]]]></description>
 		</element>
-		<element name="amount_min" type="float" min="0" max="1000" default="0.5">
+		<element name="enpa_amount_min" type="float" min="0" max="1000" default="1.0">
 			<description><![CDATA[A particle is emitted if the amount of energy transferred in a single step exceeds this threshold]]></description>
 		</element>
-		<element name="amount_max" type="float" min="0.01" max="1000" default="5.0">
+		<element name="enpa_amount_max" type="float" min="0.01" max="1000" default="5.0">
 			<description><![CDATA[A maximum amount of energy a single particle can represent. If energy transferred in a single simulation step exceeds this amount, more particles are created.]]></description>
 		</element>
-		<element name="step_maxparticles" type="integer" min="1" max="100" default="5">
+		<element name="enpa_step_maxparticles" type="integer" min="1" max="100" default="5">
 			<description><![CDATA[Limit the number of particles created in a single step for each energy transfer]]></description>
 		</element>
-		<element name="random_pos" type="float" min="0" max="1" default="0.3">
+		<element name="enpa_random_pos" type="float" min="0" max="1" default="0.3">
 			<description><![CDATA[The amount of random shift used for individual particles (uniform distribution)]]></description>
 		</element>
-		<element name="turn" type="float" min="0" max="1" default="0.15">
+		<element name="enpa_turn" type="float" min="0" max="1" default="0.15">
 			<description><![CDATA[Ignore (0) or directly follow (1) the potentially moving target of a particle. Intermediate values create momentum effect as if the target was gradually adjusted.]]></description>
 		</element>
-		<element name="speedup" type="float" min="0" max="1" default="0.05">
+		<element name="enpa_speedup" type="float" min="0" max="1" default="0.05">
 			<description><![CDATA[Increase particle speed by this factor in each simulation step. This can help reach moving targets (along with "Turn towards target").]]></description>
 		</element>
-		<element name="fade" type="float" min="0" max="1" default="0.9">
+		<element name="enpa_fade" type="float" min="0" max="1" default="0.9">
 			<description><![CDATA[Gradually decrease particle size before it disappears when its energy transfer has ended while the particle was on its way. The remaining energy amount is multiplied by this factor in each step. 0 means: disappear immediately, 1 means: don't decrease the size at all. Note that these parameters only concern visualization and the actual energy was already transferred.]]></description>
 		</element>
-		<element name="total_limit" type="integer" min="10" max="10000" default="1000">
+		<element name="enpa_total_limit" type="integer" min="10" max="10000" default="1000">
 			<description><![CDATA[Limit the total number of existing energy particles (to save performance)]]></description>
+		</element>
+		<element name="enpa_display_min" type="float" min="0" max="1" default="0.2">
+			<description><![CDATA[Visible particle size at minimum energy]]></description>
+		</element>
+		<element name="enpa_display_max" type="float" min="0" max="1" default="0.3">
+			<description><![CDATA[Visible particle size at maximum energy]]></description>
 		</element>
 	</type>
@@ -793,5 +799,5 @@
 			<description><![CDATA[Returns file contents if it has been buffered.]]></description>
 <arguments/></element>
-		<element name="exists" function="true" type="integer" min="0" max="1" flags="32">
+		<element name="exists" function="true" type="integer" flags="32">
 			<description><![CDATA[Sample:
 File.exists("walking.gen") -> returns 0 or 1.]]></description>
@@ -864,5 +870,5 @@
 Returns the Genotype object or null if not found.]]></description>
 			<arguments>
-				<argument name="genotype object or geno object or string genotype" type="untyped"/>
+				<argument name="Genotype object or Geno object or string genotype" type="untyped"/>
 			</arguments>
 		</element>
@@ -884,5 +890,5 @@
 Deprecated. Use the more versatile GenePool.add() instead of this function.]]></description>
 			<arguments>
-				<argument name="genotype" type="Geno"/>
+				<argument type="Geno"/>
 			</arguments>
 		</element>
@@ -898,5 +904,5 @@
 Returns the created Genotype.]]></description>
 			<arguments>
-				<argument name="geno object or string genotype" type="untyped"/>
+				<argument name="Geno object or string genotype" type="untyped"/>
 			</arguments>
 		</element>
@@ -929,5 +935,5 @@
 			<arguments>
 				<argument name="minimum similarity" type="float"/>
-				<argument name="target geno" type="Geno"/>
+				<argument name="target" type="Geno"/>
 			</arguments>
 		</element>
@@ -939,5 +945,5 @@
 			<arguments>
 				<argument name="minimum similarity" type="float"/>
-				<argument name="target geno" type="Geno"/>
+				<argument name="target" type="Geno"/>
 			</arguments>
 		</element>
@@ -1198,4 +1204,7 @@
 			<description><![CDATA[]]></description>
 		</element>
+		<element name="genoper_fn" type="integer" min="0" max="0" flags="65">
+			<description><![CDATA[]]></description>
+		</element>
 		<element name="neuadd_N" type="integer" min="0" max="1">
 			<description><![CDATA[Standard neuron
@@ -1625,13 +1634,27 @@
 		<element name="f4_mut_exmod" type="string" max="30">
 			<description><![CDATA[Modifiers that will not be added nor deleted during mutation
-(all: LlRrCcQqFfMmIiEeWwAaSs)]]></description>
+(all: ,LlRrCcQqFfMmIiEeWwAaSs)]]></description>
 		</element>
 		<element name="f9_mut" type="float" min="0" max="1" default="0.1">
 			<description><![CDATA[How many genes should be mutated during single mutation (1=all genes, 0.1=ten percent)]]></description>
 		</element>
-		<element name="fF_xover" type="float" min="0" max="0.5" default="0.5">
+		<element name="fF_xover" type="float" min="0.5" max="1" default="0.5">
 			<description><![CDATA[0.5 => children are averaged parents.
-0.2 => children are only 20% different from parents.
-0 => each child is identical to one parent (no crossover).]]></description>
+0.8 => children are only 20% different from parents.
+1.0 => each child is identical to one parent (no crossover).]]></description>
+		</element>
+		<element name="fn_xover" type="float" min="0.5" max="1" default="0.9">
+			<description><![CDATA[0.5 => children are averaged parents.
+0.8 => children are only 20% different from parents.
+1.0 => each child is identical to one parent (no crossover).]]></description>
+		</element>
+		<element name="fn_mut_bound_low" type="string" default="[-10.0, -10.0]">
+			<description><![CDATA[A vector of lower bounds (one real value for each variable)]]></description>
+		</element>
+		<element name="fn_mut_bound_high" type="string" default="[10.0, 10.0]">
+			<description><![CDATA[A vector of higher bounds (one real value for each variable)]]></description>
+		</element>
+		<element name="fn_mut_stddev" type="string" default="[0.1, 0.1]">
+			<description><![CDATA[A vector of standard deviations (one real value for each variable)]]></description>
 		</element>
 	</type>
@@ -1700,4 +1723,10 @@
 		</element>
 		<element name="getConverted" function="true" type="Geno" flags="256">
+			<arguments>
+				<argument name="format" type="string"/>
+			</arguments>
+		</element>
+		<element name="getConvertedWithCheckpoints" function="true" type="Geno" flags="256">
+			<description><![CDATA[See also Model.newWithCheckpoints()]]></description>
 			<arguments>
 				<argument name="format" type="string"/>
@@ -1831,10 +1860,10 @@
 		<element name="newFromGeno" function="true" type="Genotype" flags="32">
 			<arguments>
-				<argument name="geno" type="Geno"/>
+				<argument type="Geno"/>
 			</arguments>
 		</element>
 		<element name="newFromCreature" function="true" type="Genotype" flags="32">
 			<arguments>
-				<argument name="creature" type="Creature"/>
+				<argument type="Creature"/>
 			</arguments>
 		</element>
@@ -1991,5 +2020,5 @@
 		<element name="stam" type="float" min="0" max="1" default="0.25"/>
 		<element name="i" type="string"/>
-		<element name="Vstyle" type="string" max="-1" default="joint"/>
+		<element name="Vstyle" type="string" default="joint"/>
 		<element name="vr" type="float" min="0" max="1" default="1.0"/>
 		<element name="vg" type="float" min="0" max="1" default="1.0" flags="1024"/>
@@ -2225,4 +2254,10 @@
 			</arguments>
 		</element>
+		<element name="newWithCheckpoints" function="true" type="Model">
+			<description><![CDATA[Creates a Model with the "Checkpoints" option enabled. Genotype converters supporting Checkpoints provide a sequence of Models that reflects development stages of the creature (this sequence is used purely for debugging and visualization of phenotype growth/development). Checkpoint Models can be accessed using getCheckpoint(i) for i ranging from 0 to numcheckpoints-1. Models created without the Checkpoint option and Models coming from unsupported converters have numcheckpoints=0.]]></description>
+			<arguments>
+				<argument name="Geno object or string genotype" type="untyped"/>
+			</arguments>
+		</element>
 		<element name="numparts" type="integer" flags="259"/>
 		<element name="numjoints" type="integer" flags="259"/>
@@ -2255,4 +2290,24 @@
 		</element>
 		<element name="bboxSize" type="XYZ" flags="257"/>
+		<element name="numcheckpoints" type="integer" flags="259"/>
+		<element name="getCheckpoint" function="true" type="Model" flags="288">
+			<description><![CDATA[Checkpoint Model objects are only valid as long as the parent Model object exists.
+See also: Model.newWithCheckpoints()
+
+// incorrect usage - calling getCheckpoint() on a temporary object:
+var c=Model.newWithCheckpoints("XXX").getCheckpoint(1).genotype.geno;
+
+// correct usage - keeping the parent Model reference in 'm':
+var m=Model.newWithCheckpoints("XXX");
+var c=m.getCheckpoint(1).genotype.geno;
+]]></description>
+			<arguments>
+				<argument name="index" type="integer"/>
+			</arguments>
+		</element>
+		<element name="shape_type" type="integer" min="0" max="3" flags="259"/>
+		<element name="solid_model" type="Model" flags="259">
+			<description><![CDATA[Conversion of this Model to solid shapes. Note! Only available when this Model has shape_type==2 (Ball-and-stick).]]></description>
+		</element>
 	</type>
 	<type name="ModelGeometry" context="Global context">
@@ -2530,5 +2585,5 @@
 		<element name="d" type="string"/>
 		<element name="i" type="string"/>
-		<element name="Vstyle" type="string" max="-1" default="neuro"/>
+		<element name="Vstyle" type="string" default="neuro"/>
 		<element name="getInputCount" type="integer" flags="3"/>
 		<element name="getInputNeuroDef" function="true" type="NeuroDef">
@@ -3032,5 +3087,5 @@
 		<element name="rz" type="float" flags="1024"/>
 		<element name="i" type="string"/>
-		<element name="Vstyle" type="string" max="-1" default="part"/>
+		<element name="Vstyle" type="string" default="part"/>
 		<element name="vs" type="float" min="0.05" max="0.7" default="0.2"/>
 		<element name="vr" type="float" min="0" max="1" default="1.0"/>
@@ -3192,5 +3247,5 @@
 			<description><![CDATA[Delete the creature (remove it without executing the onKill event). Removing creatures inside some event handlers (e.g. onCollision) might be unsafe.]]></description>
 			<arguments>
-				<argument name="creature object or index" type="untyped"/>
+				<argument name="Creature object or index" type="untyped"/>
 			</arguments>
 		</element>
@@ -3198,5 +3253,5 @@
 			<description><![CDATA[Kill the creature (remove it and execute its onKill handler). Killing creatures inside some event handlers (e.g. onCollision) might be unsafe. The recommended and safe way of killing a creature is by setting its energy to 0.]]></description>
 			<arguments>
-				<argument name="creature object or index" type="integer"/>
+				<argument name="Creature object or index" type="untyped"/>
 			</arguments>
 		</element>
@@ -3621,4 +3676,5 @@
 			<description><![CDATA[Creatures grown with warnings will not be simulated. This helps prevent the propagation of faulty genes, because genotypes that cause warnings when interpreted will not reproduce.]]></description>
 		</element>
+		<element name="vmdebug" type="integer" min="0" max="1"/>
 		<element name="resetToDefaults" function="true" type="void">
 			<description><![CDATA[Clears groups and loads default values for simulator parameters, then calls onExpDefLoad() of the current experiment definition.]]></description>
@@ -3832,4 +3888,7 @@
 			<description><![CDATA[]]></description>
 		</element>
+		<element name="genoper_fn" type="integer" min="0" max="0" flags="65">
+			<description><![CDATA[]]></description>
+		</element>
 		<element name="neuadd_N" type="integer" min="0" max="1">
 			<description><![CDATA[Standard neuron
@@ -4259,13 +4318,27 @@
 		<element name="f4_mut_exmod" type="string" max="30">
 			<description><![CDATA[Modifiers that will not be added nor deleted during mutation
-(all: LlRrCcQqFfMmIiEeWwAaSs)]]></description>
+(all: ,LlRrCcQqFfMmIiEeWwAaSs)]]></description>
 		</element>
 		<element name="f9_mut" type="float" min="0" max="1" default="0.1">
 			<description><![CDATA[How many genes should be mutated during single mutation (1=all genes, 0.1=ten percent)]]></description>
 		</element>
-		<element name="fF_xover" type="float" min="0" max="0.5" default="0.5">
+		<element name="fF_xover" type="float" min="0.5" max="1" default="0.5">
 			<description><![CDATA[0.5 => children are averaged parents.
-0.2 => children are only 20% different from parents.
-0 => each child is identical to one parent (no crossover).]]></description>
+0.8 => children are only 20% different from parents.
+1.0 => each child is identical to one parent (no crossover).]]></description>
+		</element>
+		<element name="fn_xover" type="float" min="0.5" max="1" default="0.9">
+			<description><![CDATA[0.5 => children are averaged parents.
+0.8 => children are only 20% different from parents.
+1.0 => each child is identical to one parent (no crossover).]]></description>
+		</element>
+		<element name="fn_mut_bound_low" type="string" default="[-10.0, -10.0]">
+			<description><![CDATA[A vector of lower bounds (one real value for each variable)]]></description>
+		</element>
+		<element name="fn_mut_bound_high" type="string" default="[10.0, 10.0]">
+			<description><![CDATA[A vector of higher bounds (one real value for each variable)]]></description>
+		</element>
+		<element name="fn_mut_stddev" type="string" default="[0.1, 0.1]">
+			<description><![CDATA[A vector of standard deviations (one real value for each variable)]]></description>
 		</element>
 		<element name="genkonw0" type="integer" min="0" max="1">
@@ -4285,4 +4358,7 @@
 		</element>
 		<element name="genkonw5" type="integer" min="0" max="1">
+			<description><![CDATA[]]></description>
+		</element>
+		<element name="genkonw6" type="integer" min="0" max="1">
 			<description><![CDATA[]]></description>
 		</element>
@@ -4811,4 +4887,5 @@
 			<description><![CDATA[Creatures grown with warnings will not be simulated. This helps prevent the propagation of faulty genes, because genotypes that cause warnings when interpreted will not reproduce.]]></description>
 		</element>
+		<element name="vmdebug" type="integer" min="0" max="1"/>
 		<element name="resetToDefaults" function="true" type="void">
 			<description><![CDATA[Clears groups and loads default values for simulator parameters, then calls onExpDefLoad() of the current experiment definition.]]></description>
@@ -4861,5 +4938,5 @@
 			<description><![CDATA[Also calls stop() if the simulator is running. Events assocated with the simulator being deleted are cancelled, so the expdef will not see the usual onSlaveStop.]]></description>
 			<arguments>
-				<argument name="index_or_object" type="untyped"/>
+				<argument name="slave index or slave Simulator object reference" type="untyped"/>
 			</arguments>
 		</element>
@@ -5581,5 +5658,5 @@
 		<element name="d" type="string"/>
 		<element name="i" type="string"/>
-		<element name="Vstyle" type="string" max="-1" default="neuro"/>
+		<element name="Vstyle" type="string" default="neuro"/>
 		<element name="getInputCount" type="integer" flags="3"/>
 		<element name="getInputNeuroDef" function="true" type="NeuroDef">
@@ -5807,10 +5884,10 @@
 		<element name="newFromGeno" function="true" type="Genotype" flags="32">
 			<arguments>
-				<argument name="geno" type="Geno"/>
+				<argument type="Geno"/>
 			</arguments>
 		</element>
 		<element name="newFromCreature" function="true" type="Genotype" flags="32">
 			<arguments>
-				<argument name="creature" type="Creature"/>
+				<argument type="Creature"/>
 			</arguments>
 		</element>
@@ -6329,5 +6406,5 @@
 		<element name="stam" type="float" min="0" max="1" default="0.25"/>
 		<element name="i" type="string"/>
-		<element name="Vstyle" type="string" max="-1" default="joint"/>
+		<element name="Vstyle" type="string" default="joint"/>
 		<element name="vr" type="float" min="0" max="1" default="1.0"/>
 		<element name="vg" type="float" min="0" max="1" default="1.0" flags="1024"/>
@@ -6342,5 +6419,5 @@
 	<type name="m" context="Visual style definition">
 		<element name="se" type="float" flags="1024"/>
-		<element name="Vstyle" type="string" max="-1"/>
+		<element name="Vstyle" type="string"/>
 	</type>
 	<type name="Material" context="Visual style definition">
@@ -6397,5 +6474,5 @@
 		<element name="d" type="string"/>
 		<element name="i" type="string"/>
-		<element name="Vstyle" type="string" max="-1" default="neuro"/>
+		<element name="Vstyle" type="string" default="neuro"/>
 		<element name="getInputCount" type="integer" flags="3"/>
 		<element name="getInputNeuroDef" function="true" type="NeuroDef">
@@ -6436,5 +6513,5 @@
 		<element name="rz" type="float" flags="1024"/>
 		<element name="i" type="string"/>
-		<element name="Vstyle" type="string" max="-1" default="part"/>
+		<element name="Vstyle" type="string" default="part"/>
 		<element name="vs" type="float" min="0.05" max="0.7" default="0.2"/>
 		<element name="vr" type="float" min="0" max="1" default="1.0"/>
@@ -6807,6 +6884,6 @@
 			<description><![CDATA[Adds a number of columns, described as FIELD_NAME/WIDTH, columns are separated by "," (comma). Existing column definitions are not removed. Usually you will need to call "clear()" before "prepare".]]></description>
 			<arguments>
-				<argument name="Object" type="Object"/>
-				<argument name="Column Descriptions" type="string"/>
+				<argument type="Object"/>
+				<argument name="column descriptions" type="string"/>
 			</arguments>
 		</element>
@@ -6814,5 +6891,5 @@
 			<description><![CDATA[Returns the formatted string taking data from the supplied object.]]></description>
 			<arguments>
-				<argument name="Object" type="Object"/>
+				<argument type="Object"/>
 			</arguments>
 		</element>
@@ -6823,6 +6900,6 @@
 			<description><![CDATA[Low level call, adds a single column. "prepare" is better.]]></description>
 			<arguments>
-				<argument name="Field#" type="integer"/>
-				<argument name="Column width" type="integer"/>
+				<argument name="field index" type="integer"/>
+				<argument name="column width" type="integer"/>
 			</arguments>
 		</element>
