Index: /cpp/gdk/3d.cpp
===================================================================
--- /cpp/gdk/3d.cpp	(revision 67)
+++ /cpp/gdk/3d.cpp	(revision 68)
@@ -3,7 +3,7 @@
 // Refer to http://www.framsticks.com/ for further information.
 
+#include "nonstd.h"
 #include <math.h>
 #include <string.h>
-#include "nonstd.h"
 #include "3d.h"
 #include "framsg.h"
Index: p/gdk/GDK.dsw
===================================================================
--- /cpp/gdk/GDK.dsw	(revision 67)
+++ 	(revision )
@@ -1,77 +1,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "convtest"=".\convtest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "gdktest"=".\gdktest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "genotest"=".\genotest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "loadertest"=".\loadertest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "neurotest"=".\neurotest.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
Index: /cpp/gdk/GDK.sln
===================================================================
--- /cpp/gdk/GDK.sln	(revision 68)
+++ /cpp/gdk/GDK.sln	(revision 68)
@@ -0,0 +1,33 @@
+﻿
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convtest", "convtest.vcproj", "{A77CE8E0-EA3C-4309-B0F2-8AECC09F7A7E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdktest", "gdktest.vcproj", "{1302B32F-03CE-49F6-9A76-120E9495DFBA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genotest", "genotest.vcproj", "{D02E112B-3520-433F-93E9-1EC62BB3FB40}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "loadertest", "loadertest.vcproj", "{050B5663-D154-43B3-9004-103B4049CF5E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "neurotest", "neurotest.vcproj", "{1BBBEE59-1336-41A2-B54E-8420F888BA33}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{A77CE8E0-EA3C-4309-B0F2-8AECC09F7A7E}.Debug|Win32.ActiveCfg = Debug|Win32
+		{A77CE8E0-EA3C-4309-B0F2-8AECC09F7A7E}.Debug|Win32.Build.0 = Debug|Win32
+		{1302B32F-03CE-49F6-9A76-120E9495DFBA}.Debug|Win32.ActiveCfg = Debug|Win32
+		{1302B32F-03CE-49F6-9A76-120E9495DFBA}.Debug|Win32.Build.0 = Debug|Win32
+		{D02E112B-3520-433F-93E9-1EC62BB3FB40}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D02E112B-3520-433F-93E9-1EC62BB3FB40}.Debug|Win32.Build.0 = Debug|Win32
+		{050B5663-D154-43B3-9004-103B4049CF5E}.Debug|Win32.ActiveCfg = Debug|Win32
+		{050B5663-D154-43B3-9004-103B4049CF5E}.Debug|Win32.Build.0 = Debug|Win32
+		{1BBBEE59-1336-41A2-B54E-8420F888BA33}.Debug|Win32.ActiveCfg = Debug|Win32
+		{1BBBEE59-1336-41A2-B54E-8420F888BA33}.Debug|Win32.Build.0 = Debug|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: /cpp/gdk/collectionobj.cpp
===================================================================
--- /cpp/gdk/collectionobj.cpp	(revision 68)
+++ /cpp/gdk/collectionobj.cpp	(revision 68)
@@ -0,0 +1,302 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#include "collectionobj.h"
+#include <math.h> //sqrt in borland
+#include "stderrors.h"
+
+#define FIELDSTRUCT VectorObject
+ParamEntry vector_paramtab[]=
+{
+{"Vector",1,11,"Vector","Vector is 1-dimensional array, indexed by integer value (starting from 0). "
+ "Multidimensional arrays can be simulated by putting other Vector objects into the Vector.\n"
+ "Example:\nvar v=Vector.new();\nv.add(123); v.add(\"string\");",},
+{"clear",0,PARAM_NOSTATIC,"clear data","p()",PROCEDURE(p_clear),},
+{"size",0,PARAM_READONLY+PARAM_NOSTATIC,"element count","d",GETONLY(size),},
+{"remove",0,PARAM_NOSTATIC,"remove at position","p(d position)",PROCEDURE(p_remove),},
+{"get",0,PARAM_NOSTATIC,"get value at position","p x(d position)",PROCEDURE(p_get),},
+{"set",0,PARAM_NOSTATIC,"set value at position","p(d position,x value)",PROCEDURE(p_set),},
+{"add",0,PARAM_NOSTATIC,"append at the end","p(x value)",PROCEDURE(p_add),},
+{"find",0,PARAM_NOSTATIC,"find","p d(x value)",PROCEDURE(p_find),"returns the element index or -1 if not found"},
+{"avg",0,PARAM_READONLY+PARAM_NOSTATIC,"average","f",GETONLY(avg)},
+{"stdev",0,PARAM_READONLY+PARAM_NOSTATIC,"standard deviation","f",GETONLY(stdev),"=sqrt(sum((element[i]-avg)^2)/(size-1)) which is estimated population std.dev. from sample std.dev."},
+{"toString",0,PARAM_READONLY+PARAM_NOSTATIC,"textual form","s",GETONLY(toString),},
+{"new",0,0,"create new Vector","p oVector()",STATICPROCEDURE(p_new),},
+{0,0,0,},
+};
+#undef FIELDSTRUCT
+
+#define FIELDSTRUCT DictionaryObject
+ParamEntry dictionary_paramtab[]=
+{
+{"Dictionary",1,9,"Dictionary","Dictionary associates stored values with string keys "
+ "(\"key\" is the first argument in get/set/remove functions). Integer \"key\" can be "
+ "used to enumerate all elements. The sequence of elements is not preserved.\n"
+ "Example: var d=Dictionary.new(); d.set(\"name\",\"John\"); d.set(\"age\",44);\n"
+ "var i,element; for(i=0;i<d.size;i++) CLI.println(d.getKey(i)+\" is \"+d.get(i));",},
+{"clear",0,PARAM_NOSTATIC,"clear data","p()",PROCEDURE(p_clear),},
+{"size",0,PARAM_NOSTATIC,"element count","d",GETONLY(size),},
+{"remove",0,PARAM_NOSTATIC,"remove named or indexed element","p(x key)",PROCEDURE(p_remove),},
+{"get",0,PARAM_NOSTATIC,"get named or indexed element","p x(x key)",PROCEDURE(p_get),},
+{"getKey",0,PARAM_NOSTATIC,"get a key of the indexed element","p s(d index)",PROCEDURE(p_getKey),},
+{"set",0,PARAM_NOSTATIC,"set named or indexed element","p(x key,x value)",PROCEDURE(p_set),},
+{"find",0,PARAM_NOSTATIC,"find","p s(x value)",PROCEDURE(p_find),"returns the element key or null if not found"},
+{"new",0,0,"create new Dictionary","p oDictionary()",STATICPROCEDURE(p_new),},
+{"toString",0,PARAM_READONLY+PARAM_NOSTATIC,"textual form","s",GETONLY(toString),},
+{0,0,0,},
+};
+#undef FIELDSTRUCT
+
+Param VectorObject::par(vector_paramtab);
+Param DictionaryObject::par(dictionary_paramtab);
+
+/////////////////////////////////////////
+
+VectorObject::VectorObject(Pt3D &pt)
+	:readonly(0),owndata(1)
+{
+set(0,ExtValue(pt.x));
+set(1,ExtValue(pt.y));
+set(2,ExtValue(pt.z));
+}
+
+void VectorObject::clear()
+{
+if (owndata)
+for(int i=data.size()-1;i>=0;i--)
+	{
+	ExtValue *v=(ExtValue*)data.get(i);
+	if (v) delete v;
+	}
+//nie tak spektakularny jak rasowe bugi roku ale tez idiotyczny :>
+//wszystko przez to ze poczatkowo bylo tylko uzywane w destruktorze...
+data.clear();
+}
+
+void VectorObject::p_remove(PARAMPROCARGS)
+{
+if (readonly) return;
+int i=args->getInt();
+if ((i<0)||(i>=data.size())) return;
+ExtValue *v=(ExtValue*)data.get(i);
+if (v) delete v;
+data-=i;
+}
+
+void VectorObject::set(int i,const ExtValue& val)
+{
+int oldsize=data.size();
+if (i<0) return;
+ExtValue *v=(ExtValue*)data.get(i);
+if (v) delete v;
+data.set(i,new ExtValue(val));
+i--;
+while(i>=oldsize)
+	{
+	data.set(i,0);
+	i--;
+	}
+}
+
+void VectorObject::p_get(PARAMPROCARGS)
+{
+int i=args->getInt();
+if (listIndexCheck(&data,i,"VectorObject","get",""))
+	{
+	ExtValue *v=get(i);
+	if (v)
+		{
+		*ret=*v;
+		return;
+		}
+	}
+*ret=ExtValue();
+}
+
+void VectorObject::get_avg(ExtValue* ret)
+{
+if (!data.size()) {ret->setEmpty(); return;}
+double s=0.0;
+for(int i=data.size()-1;i>=0;i--)
+	s+=((ExtValue*)data.get(i))->getDouble();
+s/=data.size();
+ret->setDouble(s);
+}
+
+void VectorObject::get_toString(ExtValue* ret)
+{
+SString out="[";
+static SListTempl<VectorObject*> trace;
+if (trace.find(this)>=0)
+	out+="...";
+else
+	{
+	trace+=this;
+	for(int i=0;i<data.size();i++)
+		{
+		ExtValue* v=(ExtValue*)data.get(i);
+		if (i) out+=",";
+		if (v)
+			out+=v->getString();
+		else
+			out+="null";
+		}
+	trace-=this;
+	}
+out+="]";
+ret->setString(out);
+}
+
+void VectorObject::get_stdev(ExtValue* ret)
+{
+if (!data.size()) {ret->setEmpty(); return;}
+get_avg(ret);
+double a=ret->getDouble();
+double s=0.0;
+for(int i=data.size()-1;i>=0;i--)
+	{
+	double d=a-((ExtValue*)data.get(i))->getDouble();
+	s+=d*d;
+	}
+ret->setDouble(sqrt(s/max(1,data.size()-1)));
+}
+
+void VectorObject::p_find(PARAMPROCARGS)
+{
+short i;
+for(i=0;i<data.size();i++)
+	{
+	if ((*args)==(*get(i)))
+		{ret->setInt(i);return;}
+	}
+ret->setInt(-1);
+}
+
+/////////////////////////////
+
+void DictionaryObject::clear()
+{
+for(HashEntryIterator it(hash);it.isValid();)
+	{
+        ExtValue *v=(ExtValue*)hash.remove(it);
+	if (v) delete v;
+	}
+hash.clear();
+hash.init();
+}
+
+void DictionaryObject::p_find(PARAMPROCARGS)
+{
+for(HashEntryIterator it(hash);it.isValid();it++)
+	{
+	if ((*args)==(*((ExtValue*)it->value)))
+		{
+		ret->setString(it->key);
+		return;
+		}
+	}
+ret->setEmpty();
+}
+
+HashEntryIterator* DictionaryObject::getIndexIterator(int i)
+{
+if (i<0) return 0;
+if (i>=hash.getSize()) return 0;
+
+if ((!it.isValid())||(it_index>i))
+	{
+	it=HashEntryIterator(hash);
+	it_index=0;
+	}
+while(it.isValid())
+	{
+	if (it_index==i)
+		return &it;
+	it_index++;
+	it++;
+	}
+return 0;
+}
+
+void DictionaryObject::p_remove(PARAMPROCARGS)
+{
+if ((args->type==TInt)||(args->type==TDouble))
+	{
+	HashEntryIterator* iter=getIndexIterator(args->getInt());
+	if (iter)
+		{
+		ExtValue *oldval=(ExtValue*)hash.remove(*iter);
+		if (oldval) {*ret=*oldval; delete oldval;} else *ret=ExtValue();
+		}
+	}
+else
+	{
+	ExtValue *oldval=(ExtValue*)hash.remove(args[0].getString());
+	if (oldval) {*ret=*oldval; delete oldval;} else *ret=ExtValue();
+	}
+}
+
+void DictionaryObject::p_get(PARAMPROCARGS)
+{
+if ((args->type==TInt)||(args->type==TDouble))
+	{
+	HashEntryIterator* iter=getIndexIterator(args->getInt());
+	if (iter && (*iter)->value)
+		{
+		*ret=*((ExtValue*)(*iter)->value);
+		return;
+		}
+	}
+else
+	{
+	ExtValue *val=(ExtValue*)hash.get(args[0].getString());
+	if (val)
+		{
+		*ret=*val;
+		return;
+		}
+	}
+*ret=ExtValue();
+}
+
+void DictionaryObject::p_getKey(PARAMPROCARGS)
+{
+HashEntryIterator* iter=getIndexIterator(args->getInt());
+if (iter)
+	{
+	*ret=(*iter)->key;
+	return;
+	}
+*ret=ExtValue();
+}
+
+void DictionaryObject::p_set(PARAMPROCARGS)
+{
+ExtValue *newval=(args[0].getType()==TUnknown)?0:new ExtValue(args[0]);
+ExtValue *oldval=(ExtValue*)hash.put(args[1].getString(),newval);
+if (oldval) {*ret=*oldval; delete oldval;} else *ret=ExtValue();
+}
+
+void DictionaryObject::get_toString(ExtValue* ret)
+{
+SString out="[";
+static SListTempl<DictionaryObject*> trace;
+if (trace.find(this)>=0)
+	out+="...";
+else
+	{
+	trace+=this;
+	for(HashEntryIterator it(hash);it.isValid();)
+		{
+		out+=it->key;
+		out+="=";
+		out+=((ExtValue*)it->value)->getString();
+		it++;
+		if (it.isValid()) out+=",";
+		}
+	trace-=this;
+	}
+out+="]";
+ret->setString(out);
+}
Index: /cpp/gdk/collectionobj.h
===================================================================
--- /cpp/gdk/collectionobj.h	(revision 68)
+++ /cpp/gdk/collectionobj.h	(revision 68)
@@ -0,0 +1,74 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#ifndef _COLLECTIONOBJ_H_
+#define _COLLECTIONOBJ_H_
+
+#include "param.h"
+#include "extvalue.h"
+#include "hashtable.h"
+#include "3d.h"
+
+/** object collection, indexed by int */
+class VectorObject: public DestrBase
+{
+  public:
+SList data;
+int readonly:1, owndata:1;
+void clear();
+ExtValue *get(int i) {return (ExtValue*)data.get(i);}
+void set(int i,const ExtValue& val);
+
+static Param par;
+VectorObject(Pt3D& pt);
+VectorObject():readonly(0),owndata(1) {}
+~VectorObject() {clear();}
+#define STATRICKCLASS VectorObject
+PARAMPROCDEF(p_clear) {if (readonly) return; clear();}
+PARAMGETDEF(size) {arg1->setInt(data.size());}
+PARAMGETDEF(avg);
+PARAMGETDEF(stdev);
+PARAMPROCDEF(p_remove);
+PARAMPROCDEF(p_get);
+PARAMPROCDEF(p_find);
+PARAMPROCDEF(p_set) {if (!readonly) set(arg1[1].getInt(),arg1[0]);}
+PARAMPROCDEF(p_add) {if (readonly) return; data+=new ExtValue(arg1[0]);arg2->setInt(data.size()-1);}
+PARAMGETDEF(toString);
+#undef STATRICKCLASS
+static void p_new(void*,ExtValue*args,ExtValue*ret)
+	{ret->setObject(ExtObject(&par,new VectorObject));}
+
+ExtObject makeObject()
+	{return ExtObject(&par,this);}
+};
+
+/** object collection, indexed by name */
+class DictionaryObject: public DestrBase
+{
+  public:
+HashTable hash;
+HashEntryIterator it;
+int it_index;
+
+void clear();
+HashEntryIterator* getIndexIterator(int i);
+
+static Param par;
+DictionaryObject():it_index(-1),it(hash) {}
+~DictionaryObject() {clear();}
+#define STATRICKCLASS DictionaryObject
+PARAMPROCDEF(p_clear) {clear();}
+PARAMGETDEF(size) {arg1->setInt(hash.getSize());}
+PARAMPROCDEF(p_remove);
+PARAMPROCDEF(p_get);
+PARAMPROCDEF(p_getKey);
+PARAMPROCDEF(p_set);
+PARAMPROCDEF(p_find);
+PARAMGETDEF(toString);
+#undef STATRICKCLASS
+static void p_new(void*,ExtValue*args,ExtValue*ret)
+	{ret->setObject(ExtObject(&par,new DictionaryObject));} //NOWY KANDYDAT NA BUGA ROKU!!!
+};
+
+#endif
Index: p/gdk/convtest.dsp
===================================================================
--- /cpp/gdk/convtest.dsp	(revision 67)
+++ 	(revision )
@@ -1,291 +1,0 @@
-# Microsoft Developer Studio Project File - Name="convtest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=convtest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "convtest.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "convtest.mak" CFG="convtest - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "convtest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "convtest___Win32_Debug"
-# PROP BASE Intermediate_Dir "convtest___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ""
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GR /GX /ZI /Od /D "_Windows" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "EASYMAPDEBUG" /D "NOCREATUREOBJECT" /FD /GZ /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# Begin Target
-
-# Name "convtest - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\3d.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\convtest.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\errmanager.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\printconvmap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdouterr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\virtfile.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\3d.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_joint.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_neuro.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_part.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\f0classes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\gen-config.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\neuroclasses.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\neurocls-library.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\nonstd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\printconvmap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\statrick.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\usertags.h
-# End Source File
-# End Group
-# End Target
-# End Project
Index: /cpp/gdk/convtest.vcproj
===================================================================
--- /cpp/gdk/convtest.vcproj	(revision 68)
+++ /cpp/gdk/convtest.vcproj	(revision 68)
@@ -0,0 +1,593 @@
+<?xml version="1.0" encoding="windows-1250"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="convtest"
+	ProjectGUID="{A77CE8E0-EA3C-4309-B0F2-8AECC09F7A7E}"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(ProjectName)\$(ConfigurationName)\bin"
+			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TypeLibraryName="./convtest.tlb"
+				HeaderFileName=""
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_Windows;WIN32;_DEBUG;_CONSOLE;EASYMAPDEBUG;NOCREATUREOBJECT"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				RuntimeTypeInfo="true"
+				PrecompiledHeaderFile="./convtest.pch"
+				WarningLevel="3"
+				SuppressStartupBanner="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1045"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+				SuppressStartupBanner="true"
+				OutputFile="./convtest.bsc"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+			>
+			<File
+				RelativePath="3d.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="advlist.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="callbacks.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\collectionobj.cpp"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="convtest.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="defgenoconv.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="errmanager.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="extvalue.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="framsg.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="geno.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="genoconv.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\hashtable.cpp"
+				>
+			</File>
+			<File
+				RelativePath="list.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="model.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="modelparts.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multimap.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multirange.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\neuroclsobject.cpp"
+				>
+			</File>
+			<File
+				RelativePath="neurolibrary.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="param.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramtabobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\paramvmobj.cpp"
+				>
+			</File>
+			<File
+				RelativePath="printconvmap.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="sstring.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="sstringutils.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\stderrors.cpp"
+				>
+			</File>
+			<File
+				RelativePath="stdouterr.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="syntparam.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="virtfile.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl"
+			>
+			<File
+				RelativePath="3d.h"
+				>
+			</File>
+			<File
+				RelativePath="advlist.h"
+				>
+			</File>
+			<File
+				RelativePath="callbacks.h"
+				>
+			</File>
+			<File
+				RelativePath=".\collectionobj.h"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_joint.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_neuro.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_part.h"
+				>
+			</File>
+			<File
+				RelativePath="defgenoconv.h"
+				>
+			</File>
+			<File
+				RelativePath="extvalue.h"
+				>
+			</File>
+			<File
+				RelativePath="f0classes.h"
+				>
+			</File>
+			<File
+				RelativePath="framsg.h"
+				>
+			</File>
+			<File
+				RelativePath="gen-config.h"
+				>
+			</File>
+			<File
+				RelativePath="geno.h"
+				>
+			</File>
+			<File
+				RelativePath="genoconv.h"
+				>
+			</File>
+			<File
+				RelativePath=".\hashtable.h"
+				>
+			</File>
+			<File
+				RelativePath="list.h"
+				>
+			</File>
+			<File
+				RelativePath="model.h"
+				>
+			</File>
+			<File
+				RelativePath="modelparts.h"
+				>
+			</File>
+			<File
+				RelativePath="multimap.h"
+				>
+			</File>
+			<File
+				RelativePath="multirange.h"
+				>
+			</File>
+			<File
+				RelativePath="neuroclasses.h"
+				>
+			</File>
+			<File
+				RelativePath="neurocls-library.h"
+				>
+			</File>
+			<File
+				RelativePath=".\neuroclsobject.h"
+				>
+			</File>
+			<File
+				RelativePath="neurolibrary.h"
+				>
+			</File>
+			<File
+				RelativePath="nonstd.h"
+				>
+			</File>
+			<File
+				RelativePath="param.h"
+				>
+			</File>
+			<File
+				RelativePath="paramtabobj.h"
+				>
+			</File>
+			<File
+				RelativePath=".\paramvmobj.h"
+				>
+			</File>
+			<File
+				RelativePath="printconvmap.h"
+				>
+			</File>
+			<File
+				RelativePath="sstring.h"
+				>
+			</File>
+			<File
+				RelativePath="sstringutils.h"
+				>
+			</File>
+			<File
+				RelativePath="statrick.h"
+				>
+			</File>
+			<File
+				RelativePath=".\stderrors.h"
+				>
+			</File>
+			<File
+				RelativePath="syntparam.h"
+				>
+			</File>
+			<File
+				RelativePath="usertags.h"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: /cpp/gdk/gdktest.cpp
===================================================================
--- /cpp/gdk/gdktest.cpp	(revision 67)
+++ /cpp/gdk/gdktest.cpp	(revision 68)
@@ -185,10 +185,10 @@
 printf("Neuro::getClass() gives you information about basic characteristic\n"
        "of the class, that can be analyzed automatically.\n");
-printf("For the current object we can get know, that this object likes to have ");
+printf("For the current object we can learn that it supports ");
 if (cl->getPreferredInputs()<0) printf("any number of inputs");
   else if (cl->getPreferredInputs()==0) printf("no inputs");
   else printf("%d inputs",cl->getPreferredInputs());
 printf(" (getPreferredInputs()) ");
-printf(cl->getPreferredOutput()?"and provides meaningful output signal (getPreferredOutput==1).\n":"and doesn't provide useful output signal (getPreferredOutput==0).\n");
+printf(cl->getPreferredOutput()?"and provides meaningful output signal (getPreferredOutput()==1).\n":"and doesn't provide useful output signal (getPreferredOutput()==0).\n");
 
 SyntParam p=n->classProperties();
@@ -335,8 +335,8 @@
        "Hints:\n"
        "  1. You can redirect output: gdktest >filename.txt\n"
-       "  2. Each run can yield different results because some\n"
+       "  2. Each run can yield different results, because some\n"
        "     values are randomly generated.\n"
-       "  3. Application will use custom genotype passed as\n"
-       "     a commandline parameter: gdktest X\n"
+       "  3. This application will use custom genotype passed as\n"
+       "     a commandline parameter: gdktest XX\n"
        "\n");
 return 0;
Index: p/gdk/gdktest.dsp
===================================================================
--- /cpp/gdk/gdktest.dsp	(revision 67)
+++ 	(revision )
@@ -1,287 +1,0 @@
-# Microsoft Developer Studio Project File - Name="gdktest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=gdktest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "gdktest.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "gdktest.mak" CFG="gdktest - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "gdktest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ""
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /W3 /Gm /GR /GX /ZI /Od /D "_Windows" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "EASYMAPDEBUG" /D "NOCREATUREOBJECT" /FD /GZ /c
-# SUBTRACT CPP /nologo /YX /Yc /Yu
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# Begin Target
-
-# Name "gdktest - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\3d.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\errmanager.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\gdktest.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdouterr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\virtfile.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\3d.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_joint.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_neuro.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_part.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\f0classes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\gen-config.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\neuroclasses.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\neurocls-library.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\nonstd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\printconvmap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\statrick.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\usertags.h
-# End Source File
-# End Group
-# End Target
-# End Project
Index: /cpp/gdk/gdktest.vcproj
===================================================================
--- /cpp/gdk/gdktest.vcproj	(revision 68)
+++ /cpp/gdk/gdktest.vcproj	(revision 68)
@@ -0,0 +1,580 @@
+<?xml version="1.0" encoding="windows-1250"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="gdktest"
+	ProjectGUID="{1302B32F-03CE-49F6-9A76-120E9495DFBA}"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(ProjectName)\$(ConfigurationName)\bin"
+			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TypeLibraryName="./gdktest.tlb"
+				HeaderFileName=""
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_Windows;WIN32;_DEBUG;_CONSOLE;EASYMAPDEBUG;NOCREATUREOBJECT"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				RuntimeTypeInfo="true"
+				PrecompiledHeaderFile="./gdktest.pch"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1045"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+				SuppressStartupBanner="true"
+				OutputFile="./gdktest.bsc"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+			>
+			<File
+				RelativePath="3d.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="advlist.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="callbacks.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\collectionobj.cpp"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="defgenoconv.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="errmanager.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="extvalue.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="framsg.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="gdktest.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="geno.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="genoconv.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\hashtable.cpp"
+				>
+			</File>
+			<File
+				RelativePath="list.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="model.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="modelparts.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multimap.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multirange.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\neuroclsobject.cpp"
+				>
+			</File>
+			<File
+				RelativePath="neurolibrary.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="param.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramtabobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\paramvmobj.cpp"
+				>
+			</File>
+			<File
+				RelativePath="sstring.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="sstringutils.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\stderrors.cpp"
+				>
+			</File>
+			<File
+				RelativePath="stdouterr.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="syntparam.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="virtfile.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl"
+			>
+			<File
+				RelativePath="3d.h"
+				>
+			</File>
+			<File
+				RelativePath="advlist.h"
+				>
+			</File>
+			<File
+				RelativePath="callbacks.h"
+				>
+			</File>
+			<File
+				RelativePath=".\collectionobj.h"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_joint.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_neuro.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_part.h"
+				>
+			</File>
+			<File
+				RelativePath="defgenoconv.h"
+				>
+			</File>
+			<File
+				RelativePath="extvalue.h"
+				>
+			</File>
+			<File
+				RelativePath="f0classes.h"
+				>
+			</File>
+			<File
+				RelativePath="framsg.h"
+				>
+			</File>
+			<File
+				RelativePath="gen-config.h"
+				>
+			</File>
+			<File
+				RelativePath="geno.h"
+				>
+			</File>
+			<File
+				RelativePath="genoconv.h"
+				>
+			</File>
+			<File
+				RelativePath=".\hashtable.h"
+				>
+			</File>
+			<File
+				RelativePath="list.h"
+				>
+			</File>
+			<File
+				RelativePath="model.h"
+				>
+			</File>
+			<File
+				RelativePath="modelparts.h"
+				>
+			</File>
+			<File
+				RelativePath="multimap.h"
+				>
+			</File>
+			<File
+				RelativePath="multirange.h"
+				>
+			</File>
+			<File
+				RelativePath="neuroclasses.h"
+				>
+			</File>
+			<File
+				RelativePath="neurocls-library.h"
+				>
+			</File>
+			<File
+				RelativePath=".\neuroclsobject.h"
+				>
+			</File>
+			<File
+				RelativePath="neurolibrary.h"
+				>
+			</File>
+			<File
+				RelativePath="nonstd.h"
+				>
+			</File>
+			<File
+				RelativePath="param.h"
+				>
+			</File>
+			<File
+				RelativePath="paramtabobj.h"
+				>
+			</File>
+			<File
+				RelativePath=".\paramvmobj.h"
+				>
+			</File>
+			<File
+				RelativePath="printconvmap.h"
+				>
+			</File>
+			<File
+				RelativePath="sstring.h"
+				>
+			</File>
+			<File
+				RelativePath="sstringutils.h"
+				>
+			</File>
+			<File
+				RelativePath="statrick.h"
+				>
+			</File>
+			<File
+				RelativePath=".\stderrors.h"
+				>
+			</File>
+			<File
+				RelativePath="syntparam.h"
+				>
+			</File>
+			<File
+				RelativePath="usertags.h"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: p/gdk/genotest.dsp
===================================================================
--- /cpp/gdk/genotest.dsp	(revision 67)
+++ 	(revision )
@@ -1,287 +1,0 @@
-# Microsoft Developer Studio Project File - Name="genotest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=genotest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "genotest.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "genotest.mak" CFG="genotest - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "genotest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ""
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /W3 /Gm /GR /GX /ZI /Od /D "_Windows" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "EASYMAPDEBUG" /D "NOCREATUREOBJECT" /FD /GZ /c
-# SUBTRACT CPP /nologo /YX /Yc /Yu
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# Begin Target
-
-# Name "genotest - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\3d.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\errmanager.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\genotest.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdouterr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\virtfile.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\3d.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_joint.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_neuro.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_part.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\f0classes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\gen-config.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\neuroclasses.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\neurocls-library.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\nonstd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\printconvmap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\statrick.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\usertags.h
-# End Source File
-# End Group
-# End Target
-# End Project
Index: /cpp/gdk/genotest.vcproj
===================================================================
--- /cpp/gdk/genotest.vcproj	(revision 68)
+++ /cpp/gdk/genotest.vcproj	(revision 68)
@@ -0,0 +1,579 @@
+<?xml version="1.0" encoding="windows-1250"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="genotest"
+	ProjectGUID="{D02E112B-3520-433F-93E9-1EC62BB3FB40}"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(ProjectName)\$(ConfigurationName)\bin"
+			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TypeLibraryName="./genotest.tlb"
+				HeaderFileName=""
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_Windows;WIN32;_DEBUG;_CONSOLE;EASYMAPDEBUG;NOCREATUREOBJECT"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				RuntimeTypeInfo="true"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1045"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+				SuppressStartupBanner="true"
+				OutputFile="./genotest.bsc"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+			>
+			<File
+				RelativePath="3d.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="advlist.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="callbacks.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\collectionobj.cpp"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="defgenoconv.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="errmanager.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="extvalue.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="framsg.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="geno.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="genoconv.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="genotest.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\hashtable.cpp"
+				>
+			</File>
+			<File
+				RelativePath="list.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="model.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="modelparts.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multimap.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multirange.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\neuroclsobject.cpp"
+				>
+			</File>
+			<File
+				RelativePath="neurolibrary.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="param.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramtabobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\paramvmobj.cpp"
+				>
+			</File>
+			<File
+				RelativePath="sstring.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="sstringutils.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\stderrors.cpp"
+				>
+			</File>
+			<File
+				RelativePath="stdouterr.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="syntparam.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="virtfile.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl"
+			>
+			<File
+				RelativePath="3d.h"
+				>
+			</File>
+			<File
+				RelativePath="advlist.h"
+				>
+			</File>
+			<File
+				RelativePath="callbacks.h"
+				>
+			</File>
+			<File
+				RelativePath=".\collectionobj.h"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_joint.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_neuro.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_part.h"
+				>
+			</File>
+			<File
+				RelativePath="defgenoconv.h"
+				>
+			</File>
+			<File
+				RelativePath="extvalue.h"
+				>
+			</File>
+			<File
+				RelativePath="f0classes.h"
+				>
+			</File>
+			<File
+				RelativePath="framsg.h"
+				>
+			</File>
+			<File
+				RelativePath="gen-config.h"
+				>
+			</File>
+			<File
+				RelativePath="geno.h"
+				>
+			</File>
+			<File
+				RelativePath="genoconv.h"
+				>
+			</File>
+			<File
+				RelativePath=".\hashtable.h"
+				>
+			</File>
+			<File
+				RelativePath="list.h"
+				>
+			</File>
+			<File
+				RelativePath="model.h"
+				>
+			</File>
+			<File
+				RelativePath="modelparts.h"
+				>
+			</File>
+			<File
+				RelativePath="multimap.h"
+				>
+			</File>
+			<File
+				RelativePath="multirange.h"
+				>
+			</File>
+			<File
+				RelativePath="neuroclasses.h"
+				>
+			</File>
+			<File
+				RelativePath="neurocls-library.h"
+				>
+			</File>
+			<File
+				RelativePath=".\neuroclsobject.h"
+				>
+			</File>
+			<File
+				RelativePath="neurolibrary.h"
+				>
+			</File>
+			<File
+				RelativePath="nonstd.h"
+				>
+			</File>
+			<File
+				RelativePath="param.h"
+				>
+			</File>
+			<File
+				RelativePath="paramtabobj.h"
+				>
+			</File>
+			<File
+				RelativePath=".\paramvmobj.h"
+				>
+			</File>
+			<File
+				RelativePath="printconvmap.h"
+				>
+			</File>
+			<File
+				RelativePath="sstring.h"
+				>
+			</File>
+			<File
+				RelativePath="sstringutils.h"
+				>
+			</File>
+			<File
+				RelativePath="statrick.h"
+				>
+			</File>
+			<File
+				RelativePath=".\stderrors.h"
+				>
+			</File>
+			<File
+				RelativePath="syntparam.h"
+				>
+			</File>
+			<File
+				RelativePath="usertags.h"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: /cpp/gdk/hashtable.cpp
===================================================================
--- /cpp/gdk/hashtable.cpp	(revision 68)
+++ /cpp/gdk/hashtable.cpp	(revision 68)
@@ -0,0 +1,195 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#include "hashtable.h"
+
+int HashTable::hash(const char *s)
+{
+int h=0;
+char c;
+while(c=*(s++))
+    h=31*h+c;
+return h&0x7fffffff;
+}
+
+void HashTable::init(int initsize,float lo)
+{
+size=initsize;
+load=lo;
+threshold=(int)(load*size);
+tab=(HashEntry**)calloc(size,sizeof(HashEntry*));
+count=0;
+sync=0;
+}
+
+void HashTable::rehash(int newsize)
+{
+if (newsize==size) return;
+HashEntry **newtab=(HashEntry**)calloc(newsize,sizeof(HashEntry*));
+HashEntry **te=tab,*e,*ne;
+int i;
+for (int s=size;s>0;s--,te++)
+    for (e=*te;e;)
+	{
+	    ne=e; e=e->next;
+	    i=ne->hash%newsize;
+	    ne->next=newtab[i];
+	    newtab[i]=ne;
+	}
+free(tab);
+tab=newtab;
+size=newsize;
+threshold=int(load*size);
+sync++;
+}
+
+void HashTable::clear()
+{
+HashEntry *e,**te,*next;
+int n;
+for (n=size,te=tab;n>0;n--,te++)
+	for (e=*te;e;e=next)
+		{
+		next=e->next;
+		delete e;
+		}
+if (tab) free(tab);
+tab=0; size=0;
+sync++;
+}
+
+HashTable::~HashTable()
+{
+clear();
+}
+
+void* HashTable::put(const SString& key,void *value)
+{
+int h=hash(key);
+int i=h%size;
+for (HashEntry *e=tab[i];e;e=e->next)
+    {
+    if (e->key==key)
+	{
+	void *v=e->value;
+	e->value=value;
+	return v;
+	}
+    }
+if (count>=threshold) { rehash(2*size+1); i=h%size; }
+HashEntry *e=new HashEntry(h,key,value);
+e->next=tab[i];
+tab[i]=e;
+count++;
+sync++;
+return 0;
+}
+
+void* HashTable::remove(const SString& key)
+{
+int i=hash(key)%size;
+HashEntry **ptr=tab+i,*e;
+for (;e=*ptr;ptr=&e->next)
+    {
+    if (e->key==key)
+	{
+	*ptr=e->next;
+	void *v=e->value;
+	delete e;
+	count--;
+	sync++;
+	return v;
+	}
+    }
+return 0;
+}
+
+void* HashTable::remove(HashEntryIterator& it)
+{
+if (!it.entry) return 0;
+HashEntry **ptr=tab+it.hashindex,*e;
+for (;e=*ptr;ptr=&e->next)
+    {
+    if (e == it.entry)
+	{
+	it++;
+	*ptr=e->next;
+	void *v=e->value;
+	delete e;
+	count--;
+	sync++;
+	it.sync++;
+	return v;
+	}
+    }
+   return NULL; 
+}
+
+void* HashTable::get(const SString& key,int *reallygot)
+{
+int i=hash(key)%size;
+for (HashEntry *e=tab[i];e;e=e->next)
+	if (e->key==key) {if (reallygot) *reallygot=1; return e->value;}
+return 0;
+}
+
+/////////
+
+void HashEntryIterator::findNext()
+{
+while (hashindex < (ht->size-1))
+	{
+	hashindex++;
+	if (entry=ht->tab[hashindex]) return;
+	}
+}
+
+
+void HashEntryIterator::operator++()
+{
+if (entry) entry=entry->next;
+if (!entry) findNext();
+}
+
+//////////////////////////
+
+void HashTable::debugprint()
+{
+printf("HashTable: %d/%d (max %d)\n",count,size,threshold);
+HashEntry *e,**te;
+int n;
+for (n=0,te=tab;n<size;n++,te++)
+	if (e=*te)
+	{
+	printf(" %d:",n);
+	for (;e;e=e->next)
+		printf(" (%x)%s=%p",e->hash,(const char*)e->key,e->value);
+	printf("\n");
+	}
+}
+
+/**
+stats[0]=buckets used
+stats[1]=min keys in bucket
+stats[2]=avg keys in bucket
+stats[3]=max keys in bucket
+ */
+void HashTable::getstats(float *stats)
+{
+HashEntry *e,**te;
+int used=0, ma=0, mi=count;
+int c,n;
+for (n=size,te=tab;n>0;n--,te++)
+	{
+	c=0;
+	for (e=*te;e;e=e->next) c++;
+	if (c>ma) ma=c;
+	if ((c<mi)&&(c>0)) mi=c;
+	if (c>0) used++;
+	}
+stats[0]=used;
+stats[1]=(mi==count)?0:mi;
+stats[2]=(float)count/(float)used;
+stats[3]=ma;
+}
Index: /cpp/gdk/hashtable.h
===================================================================
--- /cpp/gdk/hashtable.h	(revision 68)
+++ /cpp/gdk/hashtable.h	(revision 68)
@@ -0,0 +1,84 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#ifndef _HASHTABLE_H_
+#define _HASHTABLE_H_
+
+#include "sstring.h"
+
+class HashEntry
+{
+public:
+int hash;
+SString key;
+void *value;
+HashEntry *next;
+
+HashEntry(int h,const SString& k,void *v):hash(h),key(k),value(v),next(0){}
+};
+
+class HashEntryIterator;
+
+class HashTable
+{
+friend class HashEntryIterator;
+HashEntry **tab;
+int size;
+int count;
+int threshold;
+float load;
+long sync;
+
+int hash(const char *s);
+void rehash(int newsize);
+public:
+
+HashTable(int initsize,float lo) {init(initsize,lo);}
+HashTable(int initsize) {init(initsize,0.75);}
+HashTable() {init();}
+~HashTable();
+
+/** always use init() after clear() ! */
+void clear();
+void init(int initsize=11,float lo=0.75);
+
+int getSize() {return count;}
+void* put(const SString& key,void *value);
+void* get(const SString& key, int *reallygot=0);
+void* remove(const SString& key);
+/** can be used inside iteration loop:
+    for(HashEntryIterator it(hashtable);it;) hashtable.remove(it);
+    \note iterator is "iterated" to the next entry when the current one is removed (no "it++"!)
+ */
+void* remove(HashEntryIterator& it);
+
+void debugprint();
+void getstats(float *);
+};
+
+/** for(HashEntryIterator it(hashtable);it;it++)
+      {
+      ... it->value
+      ... it->key
+      }
+ */
+class HashEntryIterator
+{
+void findNext();
+  public:
+HashTable *ht;
+int hashindex;
+HashEntry *entry;
+int sync;
+  HashEntryIterator(HashTable&t):ht(&t),hashindex(0),entry(t.tab[0]),sync(ht->sync)
+	{if (!entry) findNext();}
+  HashEntryIterator() {}
+void operator++();
+void operator++(int) {operator++();}
+HashEntry* operator->() {return entry;}
+bool isValid() {return (entry&&(sync==ht->sync))?1:0;}
+};
+
+
+#endif
Index: p/gdk/loadertest.dsp
===================================================================
--- /cpp/gdk/loadertest.dsp	(revision 67)
+++ 	(revision )
@@ -1,255 +1,0 @@
-# Microsoft Developer Studio Project File - Name="loadertest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=loadertest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "loadertest.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "loadertest.mak" CFG="loadertest - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "loadertest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ""
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /W3 /Gm /GR /GX /ZI /Od /D "_Windows" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "EASYMAPDEBUG" /D "NOCREATUREOBJECT" /FD /GZ /c
-# SUBTRACT CPP /nologo /YX /Yc /Yu
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# Begin Target
-
-# Name "loadertest - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\errmanager.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\genotypeloader.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\loadertest.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multiparamload.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=".\stdiofile-autoinit.cpp"
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdiofile.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdouterr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\virtfile.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\3d.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_joint.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_neuro.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_part.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\f0classes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\gen-config.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\neuroclasses.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\neurocls-library.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\nonstd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\printconvmap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\statrick.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\usertags.h
-# End Source File
-# End Group
-# End Target
-# End Project
Index: /cpp/gdk/loadertest.vcproj
===================================================================
--- /cpp/gdk/loadertest.vcproj	(revision 68)
+++ /cpp/gdk/loadertest.vcproj	(revision 68)
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="windows-1250"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="loadertest"
+	ProjectGUID="{050B5663-D154-43B3-9004-103B4049CF5E}"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(ProjectName)\$(ConfigurationName)\bin"
+			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TypeLibraryName="./loadertest.tlb"
+				HeaderFileName=""
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_Windows;WIN32;_DEBUG;_CONSOLE;EASYMAPDEBUG;NOCREATUREOBJECT"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				RuntimeTypeInfo="true"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1045"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+				SuppressStartupBanner="true"
+				OutputFile="./loadertest.bsc"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+			>
+			<File
+				RelativePath="errmanager.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="extvalue.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="framsg.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="genotypeloader.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="list.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="loadertest.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multiparamload.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="param.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramtabobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="sstring.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="sstringutils.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="stdiofile-autoinit.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="stdiofile.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="stdouterr.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="syntparam.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="virtfile.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl"
+			>
+			<File
+				RelativePath="3d.h"
+				>
+			</File>
+			<File
+				RelativePath="advlist.h"
+				>
+			</File>
+			<File
+				RelativePath="callbacks.h"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_joint.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_neuro.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_part.h"
+				>
+			</File>
+			<File
+				RelativePath="defgenoconv.h"
+				>
+			</File>
+			<File
+				RelativePath="extvalue.h"
+				>
+			</File>
+			<File
+				RelativePath="f0classes.h"
+				>
+			</File>
+			<File
+				RelativePath="framsg.h"
+				>
+			</File>
+			<File
+				RelativePath="gen-config.h"
+				>
+			</File>
+			<File
+				RelativePath="geno.h"
+				>
+			</File>
+			<File
+				RelativePath="genoconv.h"
+				>
+			</File>
+			<File
+				RelativePath="list.h"
+				>
+			</File>
+			<File
+				RelativePath="model.h"
+				>
+			</File>
+			<File
+				RelativePath="modelparts.h"
+				>
+			</File>
+			<File
+				RelativePath="multimap.h"
+				>
+			</File>
+			<File
+				RelativePath="multirange.h"
+				>
+			</File>
+			<File
+				RelativePath="neuroclasses.h"
+				>
+			</File>
+			<File
+				RelativePath="neurocls-library.h"
+				>
+			</File>
+			<File
+				RelativePath="neurolibrary.h"
+				>
+			</File>
+			<File
+				RelativePath="nonstd.h"
+				>
+			</File>
+			<File
+				RelativePath="param.h"
+				>
+			</File>
+			<File
+				RelativePath="paramtabobj.h"
+				>
+			</File>
+			<File
+				RelativePath="printconvmap.h"
+				>
+			</File>
+			<File
+				RelativePath="sstring.h"
+				>
+			</File>
+			<File
+				RelativePath="sstringutils.h"
+				>
+			</File>
+			<File
+				RelativePath="statrick.h"
+				>
+			</File>
+			<File
+				RelativePath="syntparam.h"
+				>
+			</File>
+			<File
+				RelativePath="usertags.h"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: /cpp/gdk/neuroclsobject.cpp
===================================================================
--- /cpp/gdk/neuroclsobject.cpp	(revision 68)
+++ /cpp/gdk/neuroclsobject.cpp	(revision 68)
@@ -0,0 +1,129 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#include "neuroclsobject.h"
+#include "neurolibrary.h"
+#include "paramvmobj.h"
+
+#define FIELDSTRUCT NeuroClassExt
+ParamEntry neuroclass_paramtab[]=
+{
+{"NeuroClass",1,10,"NeuroClass","The static NeuroClass object refers to class selected in the NeuroClassLibrary."},
+{"name",0,0,"Class name","s",FIELD(name),},
+{"longname",0,0,"Long, human readable name","s",FIELD(longname),},
+{"description",0,0,"Long description","s",FIELD(description),},
+{"prefinputs",0,0,"Preferred number of inputs","d",FIELD(prefinputs),},
+{"prefoutput",0,0,"Provides output","d 0 1",FIELD(prefoutput),},
+{"preflocation",0,0,"Preferred body location","d 0 2 ~None~Part~Joint",FIELD(preflocation),},
+{"visualhints",0,0,"Visual hints","d",FIELD(visualhints),},
+{"glyph",0,0,"Glyph vector data","s",GETSET(glyph),},
+{"properties",0,0,"Interface object connected with neuron class properties","o Interface",GETONLY(props),},
+{"summary",0,0,"Summary","s",GETONLY(summary),"Textual summary of all features",},
+{0,0,0,},
+}; 
+#undef FIELDSTRUCT
+
+static Param static_neuroclassparam(neuroclass_paramtab);
+
+void NeuroClassExt::makeStaticObject(ExtValue *ret,NeuroClass *cl)
+{
+if (cl)
+	*ret=ExtObject(&static_neuroclassparam,cl);
+else
+	ret->setEmpty();
+}
+
+#define FIELDSTRUCT NeuroClassLibObject
+ParamEntry neuroclasslib_paramtab[]=
+{
+{"NeuroClassLibrary",1,4,"NeuroClassLibrary","Set of Neuron classes. You can access the selected class in the static NeuroClass object.",},
+{"count",0,0,"class count","d",GETONLY(count),},
+{"class",0,0,"current class","d",SETFIELD(current),"0 ... count-1"},
+{"findClass",0,0,"select class by name","p(s class name)",PROCEDURE(p_findclass),},
+{"getClass",0,0,"get class object by name","p NeuroClass(s class name)",PROCEDURE(p_getclass),},
+{0,0,0,},
+}; 
+#undef FIELDSTRUCT
+
+/////////////////////
+
+NeuroClassLibObject::NeuroClassLibObject():
+	param(neuroclasslib_paramtab,this),
+	classparam(neuroclass_paramtab),
+	current(0)
+{
+selectClass(-1);
+}
+
+void NeuroClassLibObject::selectClass(int i)
+{
+if (i >= lib().getClassCount()) i=-1;
+if (current!=i)
+	{
+	current=i;
+	classparam.select((i>=0)?lib().getClass(i):&invalid);
+	}
+}
+
+int NeuroClassLibObject::set_current(PARAMSETARGS)
+{
+selectClass(arg->getInt());
+return PSET_CHANGED;
+}
+
+void NeuroClassLibObject::p_findclass(PARAMPROCARGS)
+{
+selectClass(lib().findClassIndex(args->getString()));
+}
+
+void NeuroClassLibObject::p_getclass(PARAMPROCARGS)
+{
+int i=lib().findClassIndex(args->getString());
+NeuroClassExt::makeStaticObject(ret,(i>=0)?lib().getClass(i):0);
+}
+
+int* NeuroClassLibObject::convertVectorData(const SString& s)
+{
+SList t;
+int pos=0;
+SString n;
+while(s.getNextToken(pos,n,','))
+	t+=(void*)atol((const char*)n);
+int *ret;
+if (!t.size()) return 0;
+ret=new int[t.size()];
+for (int i=0;i<t.size();i++)
+	ret[i]=(long)t(i);
+return ret;
+}
+
+int NeuroClassExt::set_glyph(PARAMSETARGS)
+{
+setSymbolGlyph(NeuroClassLibObject::convertVectorData(arg->getString()));
+return PSET_CHANGED;
+}
+
+void NeuroClassExt::get_glyph(PARAMGETARGS)
+{
+SString txt;
+if (vectordata)
+	{
+	int *d=vectordata;
+	int len=*(d++);
+	txt+=SString::valueOf(len);
+	for (;len>0;len--)
+		{
+		txt+=',';
+		txt+=SString::valueOf(*(d++));
+		}
+	}
+ret->setString(txt);
+}
+
+void NeuroClassExt::get_props(PARAMGETARGS)
+{
+static Param par;
+par=getProperties();
+ret->setObject(ParamVMObj::makeObject(&par));
+}
Index: /cpp/gdk/neuroclsobject.h
===================================================================
--- /cpp/gdk/neuroclsobject.h	(revision 68)
+++ /cpp/gdk/neuroclsobject.h	(revision 68)
@@ -0,0 +1,52 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#ifndef _NEUROCLSOBJECT_H_
+#define _NEUROCLSOBJECT_H_
+
+#include "modelparts.h"
+#include "neurolibrary.h"
+#include "extvalue.h"
+
+extern ParamEntry neuroclass_paramtab[];
+
+class NeuroClassLibObject
+{
+NeuroLibrary& lib() {return NeuroLibrary::staticlibrary;}
+  public:
+Param param,classparam;
+NeuroClass invalid;
+NeuroClass *cls;
+long current;
+NeuroClassLibObject();
+void selectClass(int i);
+static int* convertVectorData(const SString& s);
+#define STATRICKCLASS NeuroClassLibObject
+PARAMSETDEF(current);
+PARAMGETDEF(count) {arg1->setInt(lib().getClassCount());}
+PARAMPROCDEF(p_findclass);
+PARAMPROCDEF(p_getclass);
+#undef STATRICKCLASS
+};
+
+class NeuroClassExt: public NeuroClass
+{
+  public:
+#define STATRICKCLASS NeuroClassExt
+PARAMSETDEF(glyph);
+PARAMGETDEF(glyph);
+PARAMGETDEF(props);
+PARAMGETDEF(summary) {arg1->setString(getSummary());}
+#undef STATRICKCLASS
+static void makeStaticObject(ExtValue *ret,NeuroClass *cl);
+};
+
+#endif
+
+
+
+
+
+
+
Index: /cpp/gdk/neuroimpl.cpp
===================================================================
--- /cpp/gdk/neuroimpl.cpp	(revision 67)
+++ /cpp/gdk/neuroimpl.cpp	(revision 68)
@@ -5,5 +5,7 @@
 #include "neuroimpl.h"
 #include "neurofactory.h"
-#ifndef NOCREATUREOBJECT
+#ifdef NOCREATUREOBJECT
+#include "neuroclsobject.h"
+#else
 #include "creature.h"
 #include "creatmechobj.h"
Index: p/gdk/neurotest.dsp
===================================================================
--- /cpp/gdk/neurotest.dsp	(revision 67)
+++ 	(revision )
@@ -1,311 +1,0 @@
-# Microsoft Developer Studio Project File - Name="neurotest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=neurotest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "neurotest.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "neurotest.mak" CFG="neurotest - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "neurotest - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ""
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /W3 /Gm /GR /GX /ZI /Od /D "_Windows" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "EASYMAPDEBUG" /D "NOCREATUREOBJECT" /FD /GZ /c
-# SUBTRACT CPP /nologo /YX /Yc /Yu
-# ADD BASE RSC /l 0x415 /d "_DEBUG"
-# ADD RSC /l 0x415 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# Begin Target
-
-# Name "neurotest - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\3d.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\errmanager.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurofactory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=".\neuroimpl-channels.cpp"
-# End Source File
-# Begin Source File
-
-SOURCE=".\neuroimpl-fuzzy-f0.cpp"
-# End Source File
-# Begin Source File
-
-SOURCE=".\neuroimpl-fuzzy.cpp"
-# End Source File
-# Begin Source File
-
-SOURCE=".\neuroimpl-simple.cpp"
-# End Source File
-# Begin Source File
-
-SOURCE=.\neuroimpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurotest.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdouterr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\virtfile.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\3d.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\advlist.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\callbacks.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\conv_f1.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_joint.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_neuro.h"
-# End Source File
-# Begin Source File
-
-SOURCE=".\defassign-f0_part.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\defgenoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\extvalue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\f0classes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\framsg.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\gen-config.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\geno.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\genoconv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\model.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\modelparts.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multimap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\multirange.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\neuroclasses.h
-# End Source File
-# Begin Source File
-
-SOURCE=".\neurocls-library.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\neurolibrary.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\nonstd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\param.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\paramtabobj.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\printconvmap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstring.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sstringutils.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\statrick.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntparam.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\usertags.h
-# End Source File
-# End Group
-# End Target
-# End Project
Index: /cpp/gdk/neurotest.vcproj
===================================================================
--- /cpp/gdk/neurotest.vcproj	(revision 68)
+++ /cpp/gdk/neurotest.vcproj	(revision 68)
@@ -0,0 +1,651 @@
+<?xml version="1.0" encoding="windows-1250"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="neurotest"
+	ProjectGUID="{1BBBEE59-1336-41A2-B54E-8420F888BA33}"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(ProjectName)\$(ConfigurationName)\bin"
+			IntermediateDirectory="$(ProjectName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TypeLibraryName="./neurotest.tlb"
+				HeaderFileName=""
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_Windows;WIN32;_DEBUG;_CONSOLE;EASYMAPDEBUG;NOCREATUREOBJECT"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				RuntimeTypeInfo="true"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1045"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+				SuppressStartupBanner="true"
+				OutputFile="./neurotest.bsc"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+			>
+			<File
+				RelativePath="3d.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="advlist.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="callbacks.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\collectionobj.cpp"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="defgenoconv.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="errmanager.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="extvalue.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="framsg.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="geno.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="genoconv.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\hashtable.cpp"
+				>
+			</File>
+			<File
+				RelativePath="list.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="model.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="modelparts.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multimap.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="multirange.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\neuroclsobject.cpp"
+				>
+			</File>
+			<File
+				RelativePath="neurofactory.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="neuroimpl-channels.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="neuroimpl-fuzzy-f0.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="neuroimpl-fuzzy.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="neuroimpl-simple.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="neuroimpl.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="neurolibrary.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="neurotest.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="param.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="paramtabobj.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\paramvmobj.cpp"
+				>
+			</File>
+			<File
+				RelativePath="sstring.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="sstringutils.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath=".\stderrors.cpp"
+				>
+			</File>
+			<File
+				RelativePath="stdouterr.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="syntparam.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="virtfile.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl"
+			>
+			<File
+				RelativePath="3d.h"
+				>
+			</File>
+			<File
+				RelativePath="advlist.h"
+				>
+			</File>
+			<File
+				RelativePath="callbacks.h"
+				>
+			</File>
+			<File
+				RelativePath=".\collectionobj.h"
+				>
+			</File>
+			<File
+				RelativePath="conv_f1.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_joint.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_neuro.h"
+				>
+			</File>
+			<File
+				RelativePath="defassign-f0_part.h"
+				>
+			</File>
+			<File
+				RelativePath="defgenoconv.h"
+				>
+			</File>
+			<File
+				RelativePath="extvalue.h"
+				>
+			</File>
+			<File
+				RelativePath="f0classes.h"
+				>
+			</File>
+			<File
+				RelativePath="framsg.h"
+				>
+			</File>
+			<File
+				RelativePath="gen-config.h"
+				>
+			</File>
+			<File
+				RelativePath="geno.h"
+				>
+			</File>
+			<File
+				RelativePath="genoconv.h"
+				>
+			</File>
+			<File
+				RelativePath=".\hashtable.h"
+				>
+			</File>
+			<File
+				RelativePath="list.h"
+				>
+			</File>
+			<File
+				RelativePath="model.h"
+				>
+			</File>
+			<File
+				RelativePath="modelparts.h"
+				>
+			</File>
+			<File
+				RelativePath="multimap.h"
+				>
+			</File>
+			<File
+				RelativePath="multirange.h"
+				>
+			</File>
+			<File
+				RelativePath="neuroclasses.h"
+				>
+			</File>
+			<File
+				RelativePath="neurocls-library.h"
+				>
+			</File>
+			<File
+				RelativePath=".\neuroclsobject.h"
+				>
+			</File>
+			<File
+				RelativePath="neurolibrary.h"
+				>
+			</File>
+			<File
+				RelativePath="nonstd.h"
+				>
+			</File>
+			<File
+				RelativePath="param.h"
+				>
+			</File>
+			<File
+				RelativePath="paramtabobj.h"
+				>
+			</File>
+			<File
+				RelativePath=".\paramvmobj.h"
+				>
+			</File>
+			<File
+				RelativePath="printconvmap.h"
+				>
+			</File>
+			<File
+				RelativePath="sstring.h"
+				>
+			</File>
+			<File
+				RelativePath="sstringutils.h"
+				>
+			</File>
+			<File
+				RelativePath="statrick.h"
+				>
+			</File>
+			<File
+				RelativePath=".\stderrors.h"
+				>
+			</File>
+			<File
+				RelativePath="syntparam.h"
+				>
+			</File>
+			<File
+				RelativePath="usertags.h"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: /cpp/gdk/nonstd.h
===================================================================
--- /cpp/gdk/nonstd.h	(revision 67)
+++ /cpp/gdk/nonstd.h	(revision 68)
@@ -26,12 +26,11 @@
  #include <stdarg.h>
  #define vsnprintf _vsnprintf
- #define _USE_MATH_DEFINES
-
- #ifndef M_PI
- #define M_PI 3.1415926535897932384626433832795
- #endif
- #ifndef M_PI_2
- #define M_PI_2 (M_PI/2)
- #endif
+ #define _USE_MATH_DEFINES //after this is defined, the next #include <math.h> or <cmath> will define:
+ //#ifndef M_PI
+ //#define M_PI 3.1415926535897932384626433832795
+ //#endif
+ //#ifndef M_PI_2
+ //#define M_PI_2 (M_PI/2)
+ //#endif
 
 #endif
@@ -43,4 +42,7 @@
 	#define PATHSEPARATORSTRING "\\"
 	#define FPU_THROWS_EXCEPTIONS
+	#define FOPEN_READ "rt"
+	#define FOPEN_WRITE "wt"
+	#define FOPEN_APPEND "at"
 #else
 	#define LONGLONG long long int
@@ -52,7 +54,4 @@
 	#define fileExists(f) (!access(f,0))
         #include "stdlib.h" //random
-	#define FOPEN_READ "rt"
-	#define FOPEN_WRITE "wt"
-	#define FOPEN_APPEND "at"
 	#define rnd01 ((double)((double)_lrand()/(double)(LRAND_MAX+1)))
 	//#define rnd01 ((double)((double)rand()/(RAND_MAX+1)))
@@ -66,7 +65,4 @@
 	#endif
 
-	#define FOPEN_WRITE "wa"
-	#define FOPEN_APPEND "aa"
-	#define FOPEN_READ "ra"
 	//#define FLOATRAND
 	#ifdef FLOATRAND
Index: /cpp/gdk/nonstd_io.h
===================================================================
--- /cpp/gdk/nonstd_io.h	(revision 67)
+++ /cpp/gdk/nonstd_io.h	(revision 68)
@@ -1,11 +1,20 @@
 // int access(const char *pathname, int mode);
+
 #ifdef _Windows
+
+
+#ifndef _MSC_VER
  #include <dir.h> 
- #include <io.h> //include io.h przed dir.h powoduje ze w simul.h nie poznaje klasy SimWorld - szokujacy i niewyjasniony blad. co wiecej w projekcie GUI go nie ma a w CLI jest - moze wplyw tych globalnych definicji typu NOVCL, NO_STRICT itp?
+#endif
+ #include <io.h> //borland compiler: include <io.h> before <dir.h> causes the SimWorld class in "simul.h" be unrecognized, for unknown reason :O moreover, this problem is only pertinent to the CLI project, not GUI. Maybe this is caused by global defines like NOVCL, NO_STRICT etc.?
  #define makeDirectory(name) mkdir(name) 
+
+
 #else
+
+
  #include <unistd.h>
  #include <sys/stat.h>
  #define makeDirectory(name) mkdir(name,0777)
+
 #endif
-
Index: /cpp/gdk/paramvmobj.cpp
===================================================================
--- /cpp/gdk/paramvmobj.cpp	(revision 68)
+++ /cpp/gdk/paramvmobj.cpp	(revision 68)
@@ -0,0 +1,116 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#include "paramvmobj.h"
+#include "collectionobj.h"
+
+#define FIELDSTRUCT ParamVMObj
+static ParamEntry paramvmobj_paramtab[]=
+{
+{"Interface",1,19,"Interface","Used to query for object member descriptions. Example:\nvar iface=Interface.makeFrom(someobject); var description=\"this object has \"+iface.properties+\" properties, first property is \"+iface.getId(0);"},
+{"name",0,2+PARAM_NOSTATIC,"object name","s",GETONLY(name),},
+{"properties",0,2+PARAM_NOSTATIC,"property count","d",GETONLY(props),},
+{"groups",0,2+PARAM_NOSTATIC,"group count","d",GETONLY(groups),},
+{"get",0,PARAM_NOSTATIC,"value of item #","p x(d index)",PROCEDURE(p_get),},
+{"getId",0,PARAM_NOSTATIC,"id for item #","p s(d index)",PROCEDURE(p_getid),},
+{"getName",0,PARAM_NOSTATIC,"name for item #","p s(d index)",PROCEDURE(p_getname),},
+{"getGroup",0,PARAM_NOSTATIC,"group # for item #","p d(d index)",PROCEDURE(p_getgroup),},
+{"getGroupName",0,PARAM_NOSTATIC,"group name for group #","p s(d index)",PROCEDURE(p_getgrname),},
+{"getType",0,PARAM_NOSTATIC,"type for item #","p s(d index)",PROCEDURE(p_gettype),},
+{"getFlags",0,PARAM_NOSTATIC,"flags for item #","p d(d index)",PROCEDURE(p_getflags),},
+{"getHelp",0,PARAM_NOSTATIC,"help for item #","p s(d index)",PROCEDURE(p_gethelp),},
+{"findId",0,PARAM_NOSTATIC,"item # for id","p d(s name)",PROCEDURE(p_findid),},
+{"findGroupId",0,PARAM_NOSTATIC,"group # for group name","p d(s name)",PROCEDURE(p_findgroupid),},
+{"findIdInGroup",0,PARAM_NOSTATIC,"item # for id in group","p d(s name,x group name or index)",PROCEDURE(p_findidingroup),},
+{"makeFrom",0,2,"get interface object","p oInterface(o)",PROCEDURE(p_make),},
+{"set",0,PARAM_NOSTATIC,"set value of item #","p(d index,x value)",PROCEDURE(p_set),},
+{"setDefault",0,PARAM_NOSTATIC,"set default value for item #","p(d index)",PROCEDURE(p_setDef),},
+{"setAllDefault",0,PARAM_NOSTATIC,"set default values for all items","p()",PROCEDURE(p_setAllDef),},
+{"invoke",0,PARAM_NOSTATIC,"invoke action","p(x function name or index,oVector arguments)",PROCEDURE(p_call)},
+{0,0,0,},
+};
+
+#undef FIELDSTRUCT
+
+ParamVMObj::ParamVMObj(ParamInterface *pi):iface(pi),par(paramvmobj_paramtab,this)
+{}
+
+ExtObject ParamVMObj::makeObject(ParamInterface *pi)
+{
+ParamVMObj *o=new ParamVMObj(pi);
+return ExtObject(&o->par,o);
+}
+
+void ParamVMObj::p_make(ExtValue *args,ExtValue *ret)
+{
+ParamInterface *pi=args->getObject().getParamInterface();
+if (pi)
+	ret->setObject(makeObject(pi));
+else
+	ret->setEmpty();
+}
+
+int ParamVMObj::findGroupId(const char* name)
+{
+for(int i=0;i<iface->getGroupCount();i++)
+	if (!strcmp(iface->grname(i),name))
+		return i;
+return -1;
+}
+
+void ParamVMObj::p_findgroupid(ExtValue *args,ExtValue *ret)
+{
+const SString &s=args[0].getString();
+ret->setInt(findGroupId((const char*)s));
+}
+
+void ParamVMObj::p_findidingroup(ExtValue *args,ExtValue *ret)
+{
+ExtValue& v=args[0];
+const SString& s=args[1].getString();
+int g;
+if (v.type==TInt)
+	g=v.getInt();
+else
+	g=findGroupId((const char*)v.getString());
+if (g<0)
+	{ret->setInt(-1);return;}
+for(int i=0;i<iface->getPropCount();i++)
+	if (iface->group(i)==g)
+		if (!strcmp(iface->id(i),s))
+			{ret->setInt(i);return;}
+ret->setInt(-1);
+}
+
+void ParamVMObj::p_call(ExtValue *args,ExtValue *ret)
+{
+if (!iface) return;
+ExtValue& prop=args[1];
+int p;
+if (prop.type==TInt) p=prop.getInt(); else p=iface->findId(prop.getString());
+if (p<0) return;
+const ExtValue& a=args[0];
+const ExtObject& o=a.getObject();
+ParamInterface *argstype=o.getParamInterface();
+ExtValue *useargs=0;
+VectorObject* v;
+ExtValue *tmpmem=0;
+int n=0;
+if (argstype && (argstype==&VectorObject::par))
+	{
+	v=(VectorObject*)o.getTarget();
+	n=v->data.size();
+	}
+if (n)
+	{
+	tmpmem=new ExtValue[n];
+	useargs=tmpmem;
+	for(int i=0;i<n;i++)
+		tmpmem[i]=*(v->get(i));
+	}
+iface->call(p,useargs,ret);
+if (n)
+	delete[] useargs;
+}
+
Index: /cpp/gdk/paramvmobj.h
===================================================================
--- /cpp/gdk/paramvmobj.h	(revision 68)
+++ /cpp/gdk/paramvmobj.h	(revision 68)
@@ -0,0 +1,42 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#ifndef _PARAMVMOBJ_H_
+#define _PARAMVMOBJ_H_
+
+#include "param.h"
+#include "extvalue.h"
+
+class ParamVMObj: public DestrBase
+{
+ParamInterface *iface;
+  public:
+Param par;
+ParamVMObj(ParamInterface *pi=0);
+static ExtObject makeObject(ParamInterface *pi);
+int findGroupId(const char* name);
+#define STATRICKCLASS ParamVMObj
+PARAMGETDEF(name) {arg1->setString(iface->getName());}
+PARAMGETDEF(props) {arg1->setInt(iface->getPropCount());}
+PARAMGETDEF(groups) {arg1->setInt(iface->getGroupCount());}
+PARAMPROCDEF(p_make);
+PARAMPROCDEF(p_get) {iface->get(arg1->getInt(),*arg2);}
+PARAMPROCDEF(p_set) {arg2->setInt(iface->set(arg1[1].getInt(),arg1[0]));}
+PARAMPROCDEF(p_getid) {arg2->setString(iface->id(arg1->getInt()));}
+PARAMPROCDEF(p_getname) {arg2->setString(iface->name(arg1->getInt()));}
+PARAMPROCDEF(p_getgroup)  {arg2->setInt(iface->group(arg1->getInt()));}
+PARAMPROCDEF(p_getgrname)  {arg2->setString(iface->grname(arg1->getInt()));}
+PARAMPROCDEF(p_gettype) {arg2->setString(iface->type(arg1->getInt()));}
+PARAMPROCDEF(p_getflags) {arg2->setInt(iface->flags(arg1->getInt()));}
+PARAMPROCDEF(p_gethelp) {arg2->setString(iface->help(arg1->getInt()));}
+PARAMPROCDEF(p_findid) {arg2->setInt(iface->findId(arg1->getString()));}
+PARAMPROCDEF(p_findgroupid);
+PARAMPROCDEF(p_findidingroup);
+PARAMPROCDEF(p_setDef) {iface->setDefault((int)arg1->getInt());}
+PARAMPROCDEF(p_setAllDef) {iface->setDefault();}
+PARAMPROCDEF(p_call);
+#undef STATRICKCLASS
+};
+
+#endif
Index: /cpp/gdk/stderrors.cpp
===================================================================
--- /cpp/gdk/stderrors.cpp	(revision 68)
+++ /cpp/gdk/stderrors.cpp	(revision 68)
@@ -0,0 +1,34 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#include "stderrors.h"
+#include "sstringutils.h"
+#include "framsg.h"
+
+bool listIndexCheck(SList* list,int index,char* msgobj,char* msgfun,char* msg)
+{
+	int size=list->size();
+if ((index<0)||(index>=size))
+	{
+	if (size>0) 
+		FMprintf(msgobj,msgfun,FMLV_ERROR,"Invalid index %d (allowed range is 0..%d) %s",index,size-1,msg);
+	else
+		FMprintf(msgobj,msgfun,FMLV_ERROR,"Invalid index %d (this list is empty) %s",index,msg);
+	return 0;
+	}
+return 1;
+}
+
+SString stringCheck(SString& in,char* msgobj,char* msgfun,char* msg,SString (*checker)(SString& in))
+{
+if (!checker)
+	checker=trim;
+SString corrected=checker(in);
+if (corrected!=in)
+	{
+	SString msg2=SString(msg)+": \"%s\" (adjusted to \"%s\")";
+	FMprintf(msgobj,msgfun,FMLV_WARN,(const char*)msg2,(const char*)in,(const char*)corrected);
+	}
+return corrected;
+}
Index: /cpp/gdk/stderrors.h
===================================================================
--- /cpp/gdk/stderrors.h	(revision 68)
+++ /cpp/gdk/stderrors.h	(revision 68)
@@ -0,0 +1,14 @@
+// This file is a part of the Framsticks GDK library.
+// Copyright (C) 2002-2011  Szymon Ulatowski.  See LICENSE.txt for details.
+// Refer to http://www.framsticks.com/ for further information.
+
+#ifndef _STDERRORS_H_
+#define _STDERRORS_H_
+
+#include "list.h"
+#include "sstring.h"
+
+bool listIndexCheck(SList* list,int index,char* msgobj,char* msgfun,char* msg);
+SString stringCheck(SString& in,char* msgobj,char* msgfun,char* msg,SString (*checker)(SString& in)=0);
+
+#endif
