Index: /trunk/src/Makefile.am
===================================================================
--- /trunk/src/Makefile.am	(revision 5132)
+++ /trunk/src/Makefile.am	(revision 5133)
@@ -142,4 +142,5 @@
                  defs/compiler.h \
                  defs/class_id.h \
+                 defs/functor_list.h \
                  lib/coord/p_node.h \
                  lib/coord/null_parent.h \
Index: /trunk/src/Makefile.in
===================================================================
--- /trunk/src/Makefile.in	(revision 5132)
+++ /trunk/src/Makefile.in	(revision 5133)
@@ -402,4 +402,5 @@
                  defs/compiler.h \
                  defs/class_id.h \
+                 defs/functor_list.h \
                  lib/coord/p_node.h \
                  lib/coord/null_parent.h \
Index: /trunk/src/defs/functor_list.h
===================================================================
--- /trunk/src/defs/functor_list.h	(revision 5133)
+++ /trunk/src/defs/functor_list.h	(revision 5133)
@@ -0,0 +1,64 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+   */
+
+
+/*!
+ * @file functors_list.h
+ * all the Different types of Functions one can include
+*/
+
+
+  //! makes functions with one string loadable
+  FUNCTOR_LIST(1)(l_STRING);
+  //! makes functions with two strings loadable
+  FUNCTOR_LIST(2)(l_STRING, l_STRING);
+  //! makes functions with three strings loadable
+  FUNCTOR_LIST(3)(l_STRING, l_STRING, l_STRING);
+  //! makes functions with four strings loadable
+  FUNCTOR_LIST(4)(l_STRING, l_STRING, l_STRING, l_STRING);
+
+  //! makes functions with one bool loadeable
+  FUNCTOR_LIST(1)(l_BOOL);
+
+  //! makes functions with one int loadable
+  FUNCTOR_LIST(1)(l_INT);
+  //! makes functions with two ints loadable
+  FUNCTOR_LIST(2)(l_INT, l_INT);
+  //! makes functions with three ints loadable
+  FUNCTOR_LIST(3)(l_INT, l_INT, l_INT);
+  //! makes functions with four ints loadable
+  FUNCTOR_LIST(4)(l_INT, l_INT, l_INT, l_INT);
+
+
+  //! makes functions with one unsigned int loadable
+  FUNCTOR_LIST(1)(l_UINT);
+  //! makes functions with two unsigned ints loadable
+  FUNCTOR_LIST(2)(l_UINT, l_UINT);
+  //! makes functions with three unsigned ints loadable
+  FUNCTOR_LIST(3)(l_UINT, l_UINT, l_UINT);
+  //! makes functions with four unsigned ints loadable
+  FUNCTOR_LIST(4)(l_UINT, l_UINT, l_UINT, l_UINT);
+
+  //! makes functions with one float loadable
+  FUNCTOR_LIST(1)(l_FLOAT);
+  //! makes functions with two floats loadable
+  FUNCTOR_LIST(2)(l_FLOAT, l_FLOAT);
+  //! makes functions with three floats loadable
+  FUNCTOR_LIST(3)(l_FLOAT, l_FLOAT, l_FLOAT);
+  //! makes functions with four floats loadable
+  FUNCTOR_LIST(4)(l_FLOAT, l_FLOAT, l_FLOAT, l_FLOAT);
+  //! makes functions with four floats loadable
+  FUNCTOR_LIST(5)(l_FLOAT, l_FLOAT, l_FLOAT, l_FLOAT, l_FLOAT);
+
+  //! mixed values:
+  FUNCTOR_LIST(2)(l_STRING, l_FLOAT);
+
+
Index: /trunk/src/util/loading/load_param.h
===================================================================
--- /trunk/src/util/loading/load_param.h	(revision 5132)
+++ /trunk/src/util/loading/load_param.h	(revision 5133)
@@ -356,48 +356,7 @@
 
 
-  //! makes functions with one string loadable
-  LoadParam1(l_STRING);
-  //! makes functions with two strings loadable
-  LoadParam2(l_STRING, l_STRING);
-  //! makes functions with three strings loadable
-  LoadParam3(l_STRING, l_STRING, l_STRING);
-  //! makes functions with four strings loadable
-  LoadParam4(l_STRING, l_STRING, l_STRING, l_STRING);
-
-  //! makes functions with one bool loadeable
-  LoadParam1(l_BOOL);
-
-  //! makes functions with one int loadable
-  LoadParam1(l_INT);
-  //! makes functions with two ints loadable
-  LoadParam2(l_INT, l_INT);
-  //! makes functions with three ints loadable
-  LoadParam3(l_INT, l_INT, l_INT);
-  //! makes functions with four ints loadable
-  LoadParam4(l_INT, l_INT, l_INT, l_INT);
-
-
-  //! makes functions with one unsigned int loadable
-  LoadParam1(l_UINT);
-  //! makes functions with two unsigned ints loadable
-  LoadParam2(l_UINT, l_UINT);
-  //! makes functions with three unsigned ints loadable
-  LoadParam3(l_UINT, l_UINT, l_UINT);
-  //! makes functions with four unsigned ints loadable
-  LoadParam4(l_UINT, l_UINT, l_UINT, l_UINT);
-
-  //! makes functions with one float loadable
-  LoadParam1(l_FLOAT);
-  //! makes functions with two floats loadable
-  LoadParam2(l_FLOAT, l_FLOAT);
-  //! makes functions with three floats loadable
-  LoadParam3(l_FLOAT, l_FLOAT, l_FLOAT);
-  //! makes functions with four floats loadable
-  LoadParam4(l_FLOAT, l_FLOAT, l_FLOAT, l_FLOAT);
-  //! makes functions with four floats loadable
-  LoadParam5(l_FLOAT, l_FLOAT, l_FLOAT, l_FLOAT, l_FLOAT);
-
-  //! mixed values:
-  LoadParam2(l_STRING, l_FLOAT);
+#define FUNCTOR_LIST(x)    LoadParam ## x
+#include "functor_list.h"
+#undef FUNCTOR_LIST
 
   //! makes functions with one Vector loadable
