Index: /branches/new_class_id/src/lib/shell/shell_command.h
===================================================================
--- /branches/new_class_id/src/lib/shell/shell_command.h	(revision 9739)
+++ /branches/new_class_id/src/lib/shell/shell_command.h	(revision 9740)
@@ -9,13 +9,8 @@
 #include "base_object.h"
 
-#include "executor/executor.h"
-
 /// THIS IS USED TO LOAD CONSTANT AND STATIC FUNCTIONS EASILY.
-#include "executor/executor_functional.h"
-#define EXECUTOR_FUNCTIONAL_USE_CONST
-#include "executor/executor_functional.h"
-#define EXECUTOR_FUNCTIONAL_USE_STATIC
-#include "executor/executor_functional.h"
-
+#include "executor/functor_member.h"
+#include "executor/functor_const_member.h"
+#include "executor/functor_static.h"
 
 #include "shell_completion_plugin.h"
Index: /branches/new_class_id/src/lib/util/Makefile.am
===================================================================
--- /branches/new_class_id/src/lib/util/Makefile.am	(revision 9739)
+++ /branches/new_class_id/src/lib/util/Makefile.am	(revision 9740)
@@ -8,6 +8,7 @@
 libORXexecutor_a_SOURCES = \
 		executor/executor.cc \
-		executor/executor_functional.cc \
 		executor/executor_lua.cc
+
+#		executor/executor_functional.cc
 
 libORXlibutil_a_SOURCES = \
Index: /branches/new_class_id/src/lib/util/executor/executor_const_member.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_const_member.h	(revision 9739)
+++ /branches/new_class_id/src/lib/util/executor/executor_const_member.h	(revision 9740)
@@ -38,6 +38,5 @@
 
 /// We want to include __EXECUTOR_GENERIC_H again, with current settings.
-#ifdef __EXECUTOR_GENERIC_H
-#undef __EXECUTOR_GENERIC_H
+
 #include "executor_generic.h"
 
Index: /branches/new_class_id/src/lib/util/executor/executor_generic.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_generic.h	(revision 9739)
+++ /branches/new_class_id/src/lib/util/executor/executor_generic.h	(revision 9740)
@@ -20,6 +20,8 @@
 
 
+
 #ifndef __EXECUTOR_GENERIC_H_
 #define __EXECUTOR_GENERIC_H_
+
 
 #include "executor.h"
@@ -105,4 +107,6 @@
 };
 
+#endif /* __EXECUTOR_GENERIC_H_ */
+
 
 ///////////
@@ -394,3 +398,3 @@
 };
 
-#ifndef __EXECUTOR_GENERIC_H_
+//#endif /* __EXECUTOR_GENERIC_H_ */
Index: /branches/new_class_id/src/lib/util/executor/executor_member.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_member.h	(revision 9739)
+++ /branches/new_class_id/src/lib/util/executor/executor_member.h	(revision 9740)
@@ -23,8 +23,6 @@
 
 /// Define all Constructs, that define an Executor.
-
 //! The Name to be attached to the functional (for normal, static, and const modes)
 #define __EXECUTOR_FUNCTIONAL_NAME(ParamCount)   Executor##ParamCount##Params
-
 //! if Functional is constant calling
 #define __EXECUTOR_FUNCTIONAL_CONST
@@ -34,14 +32,12 @@
 #define __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER   T::*functionPointer
 //! The Type of Function
-#define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionDefault
+#define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionMember
 
 
 /// We want to include __EXECUTOR_GENERIC_H again, with current settings.
-#ifdef __EXECUTOR_GENERIC_H
-#undef __EXECUTOR_GENERIC_H
 #include "executor_generic.h"
 
+
 #undef __EXECUTOR_FUNCTIONAL_NAME
-
 #undef __EXECUTOR_FUNCTIONAL_CONST
 #undef __EXECUTOR_FUNCTIONAL_FUNCTION_EXEC
Index: /branches/new_class_id/src/lib/util/executor/executor_static.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/executor_static.h	(revision 9739)
+++ /branches/new_class_id/src/lib/util/executor/executor_static.h	(revision 9740)
@@ -38,6 +38,4 @@
 
 /// We want to include __EXECUTOR_GENERIC_H again, with current settings.
-#ifdef __EXECUTOR_GENERIC_H
-#undef __EXECUTOR_GENERIC_H
 #include "executor_generic.h"
 
Index: /branches/new_class_id/src/lib/util/executor/functor_const_member.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/functor_const_member.h	(revision 9740)
+++ /branches/new_class_id/src/lib/util/executor/functor_const_member.h	(revision 9740)
@@ -0,0 +1,51 @@
+/*!
+ * @file functor_member.h
+ * Definition of an Functor
+ */
+
+/*
+   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 Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+
+#ifndef __FUNCTOR_CONST_MEMBER_H_
+#define __FUNCTOR_CONST_MEMBER_H_
+
+#include "executor_const_member.h"
+#include "substring.h"
+
+#define FUNCTOR_CALL_TYPE const SubString
+
+/// Define all Constructs, that define an Executor.
+
+//! The Name to be attached to the functional (for normal, static, and const modes)
+#define __EXECUTOR_FUNCTIONAL_NAME(ParamCount)   Executor##ParamCount##Params_const
+//! if Functional is constant calling
+#define __EXECUTOR_FUNCTIONAL_CONST              const
+//! The Function-Pointer, and how to save it internally.
+#define __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER   T::*functionPointer
+//! The Type of Function
+#define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionMember
+
+/// Now we include The generic Functor, that generate the functions.
+#include "functor_generic.h"
+
+#undef __EXECUTOR_FUNCTIONAL_NAME
+#undef __EXECUTOR_FUNCTIONAL_CONST
+#undef __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER
+#undef __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE
+
+
+
+#endif /* __FUNCTOR_CONST_MEMBER_H_ */
Index: /branches/new_class_id/src/lib/util/executor/functor_generic.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/functor_generic.h	(revision 9740)
+++ /branches/new_class_id/src/lib/util/executor/functor_generic.h	(revision 9740)
@@ -0,0 +1,105 @@
+/*!
+ * @file functor_generic.h
+ * Definition of an Executor
+ */
+
+/*
+   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 Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+// // // // // // // // // // // // //
+//// EXTENSION TO HIDE CONSTRUCT /////
+// // // // // // // // // // // // //
+/**
+ * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
+ */
+#define EXECUTOR_FUNCTIONAL_CREATOR0(CallType) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)() __EXECUTOR_FUNCTIONAL_CONST) \
+{ \
+  return new __EXECUTOR_FUNCTIONAL_NAME(0)<T, CallType>(functionPointer); \
+}
+
+/**
+ * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
+ * @param type0 for internal usage: the first Argument
+ */
+#define EXECUTOR_FUNCTIONAL_CREATOR1(CallType, type0) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0) __EXECUTOR_FUNCTIONAL_CONST) \
+{ \
+  return new __EXECUTOR_FUNCTIONAL_NAME(1)<T, CallType, type0>(functionPointer); \
+}
+
+/**
+ * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
+ * @param type0 for internal usage: the first Argument
+ * @param type1 for internal usage: the second Argument
+ */
+#define EXECUTOR_FUNCTIONAL_CREATOR2(CallType, type0, type1) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1) __EXECUTOR_FUNCTIONAL_CONST) \
+{ \
+  return new __EXECUTOR_FUNCTIONAL_NAME(2)<T, CallType, type0, type1>(functionPointer); \
+}
+
+/**
+ * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
+ * @param type0 for internal usage: the first Argument
+ * @param type1 for internal usage: the second Argument
+ * @param type2 for internal usage: the third Argument
+ */
+#define EXECUTOR_FUNCTIONAL_CREATOR3(CallType, type0, type1, type2) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2) __EXECUTOR_FUNCTIONAL_CONST) \
+{ \
+  return new __EXECUTOR_FUNCTIONAL_NAME(3)<T, CallType, type0, type1, type2>(functionPointer); \
+}
+
+/**
+ * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
+ * @param type0 for internal usage: the first Argument
+ * @param type1 for internal usage: the second Argument
+ * @param type2 for internal usage: the third Argument
+ * @param type3 for internal usage: the fourth Argument
+ */
+#define EXECUTOR_FUNCTIONAL_CREATOR4(CallType, type0, type1, type2, type3) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2, type3) __EXECUTOR_FUNCTIONAL_CONST) \
+{ \
+  return new __EXECUTOR_FUNCTIONAL_NAME(4)<T, CallType, type0, type1, type2, type3>(functionPointer); \
+}
+
+/**
+ * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
+ * @param type0 for internal usage: the first Argument
+ * @param type1 for internal usage: the second Argument
+ * @param type2 for internal usage: the third Argument
+ * @param type3 for internal usage: the fourth Argument
+ * @param type4 for internal usage: the fifth Argument
+ */
+#define EXECUTOR_FUNCTIONAL_CREATOR5(CallType, type0, type1, type2, type3, type4) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2, type3, type4) __EXECUTOR_FUNCTIONAL_CONST) \
+{ \
+    return new __EXECUTOR_FUNCTIONAL_NAME(5)<T, CallType, type0, type1, type2, type3, type4>(functionPointer); \
+}
+
+/**
+ * Creates the FunctionCallers imediately
+ */
+#define FUNCTOR_LIST(x) EXECUTOR_FUNCTIONAL_CREATOR ## x
+#include "functor_list.h"
+#undef FUNCTOR_LIST
+
Index: /branches/new_class_id/src/lib/util/executor/functor_list.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/functor_list.h	(revision 9739)
+++ /branches/new_class_id/src/lib/util/executor/functor_list.h	(revision 9740)
@@ -17,60 +17,60 @@
 
 #ifdef FUNCTOR_LIST
-  FUNCTOR_LIST(0)();
+  FUNCTOR_LIST(0)(FUNCTOR_CALL_TYPE);
   //! makes functions with one string
-  FUNCTOR_LIST(1)(const std::string&);
+  FUNCTOR_LIST(1)(FUNCTOR_CALL_TYPE, const std::string&);
   //! makes functions with two strings
-  FUNCTOR_LIST(2)(const std::string&, const std::string&);
+  FUNCTOR_LIST(2)(FUNCTOR_CALL_TYPE, const std::string&, const std::string&);
   //! makes functions with three strings
-  FUNCTOR_LIST(3)(const std::string&, const std::string&, const std::string&);
+  FUNCTOR_LIST(3)(FUNCTOR_CALL_TYPE, const std::string&, const std::string&, const std::string&);
   //! makes functions with four strings
-  FUNCTOR_LIST(4)(const std::string&, const std::string&, const std::string&, const std::string&);
+  FUNCTOR_LIST(4)(FUNCTOR_CALL_TYPE, const std::string&, const std::string&, const std::string&, const std::string&);
 
 
   //! makes functions with one bool
-  FUNCTOR_LIST(1)(bool);
+  FUNCTOR_LIST(1)(FUNCTOR_CALL_TYPE, bool);
 
   //! makes functions with one int
-  FUNCTOR_LIST(1)(int);
+  FUNCTOR_LIST(1)(FUNCTOR_CALL_TYPE, int);
   //! makes functions with two ints
-  FUNCTOR_LIST(2)(int, int);
+  FUNCTOR_LIST(2)(FUNCTOR_CALL_TYPE, int, int);
   //! makes functions with three ints
-  FUNCTOR_LIST(3)(int, int, int);
+  FUNCTOR_LIST(3)(FUNCTOR_CALL_TYPE, int, int, int);
   //! makes functions with four ints
-  FUNCTOR_LIST(4)(int, int, int, int);
+  FUNCTOR_LIST(4)(FUNCTOR_CALL_TYPE, int, int, int, int);
 
 
   //! makes functions with one unsigned int
-  FUNCTOR_LIST(1)(unsigned int);
+  FUNCTOR_LIST(1)(FUNCTOR_CALL_TYPE, unsigned int);
   //! makes functions with two unsigned ints
-  FUNCTOR_LIST(2)(unsigned int, unsigned int);
+  FUNCTOR_LIST(2)(FUNCTOR_CALL_TYPE, unsigned int, unsigned int);
   //! makes functions with three unsigned ints
-  FUNCTOR_LIST(3)(unsigned int, unsigned int, unsigned int);
+  FUNCTOR_LIST(3)(FUNCTOR_CALL_TYPE, unsigned int, unsigned int, unsigned int);
   //! makes functions with four unsigned ints
-  FUNCTOR_LIST(4)(unsigned int, unsigned int, unsigned int, unsigned int);
+  FUNCTOR_LIST(4)(FUNCTOR_CALL_TYPE, unsigned int, unsigned int, unsigned int, unsigned int);
 
   //! makes functions with one float
-  FUNCTOR_LIST(1)(float);
+  FUNCTOR_LIST(1)(FUNCTOR_CALL_TYPE, float);
   //! makes functions with two floats
-  FUNCTOR_LIST(2)(float, float);
+  FUNCTOR_LIST(2)(FUNCTOR_CALL_TYPE, float, float);
   //! makes functions with three floats
-  FUNCTOR_LIST(3)(float, float, float);
+  FUNCTOR_LIST(3)(FUNCTOR_CALL_TYPE, float, float, float);
   //! makes functions with four floats
-  FUNCTOR_LIST(4)(float, float, float, float);
+  FUNCTOR_LIST(4)(FUNCTOR_CALL_TYPE, float, float, float, float);
   //! makes functions with four floats
-  FUNCTOR_LIST(5)(float, float, float, float, float);
+  FUNCTOR_LIST(5)(FUNCTOR_CALL_TYPE, float, float, float, float, float);
 
   //! mixed values:
-  FUNCTOR_LIST(2)(const std::string&, int);
-  FUNCTOR_LIST(2)(const std::string&, float);
-  FUNCTOR_LIST(2)(unsigned int, long);
-  FUNCTOR_LIST(2)(const std::string&, unsigned int);
+  FUNCTOR_LIST(2)(FUNCTOR_CALL_TYPE, const std::string&, int);
+  FUNCTOR_LIST(2)(FUNCTOR_CALL_TYPE, const std::string&, float);
+  FUNCTOR_LIST(2)(FUNCTOR_CALL_TYPE, unsigned int, long);
+  FUNCTOR_LIST(2)(FUNCTOR_CALL_TYPE, const std::string&, unsigned int);
 
-  FUNCTOR_LIST(3)(const std::string&, float, unsigned int);
-  FUNCTOR_LIST(4)(const std::string&, float, unsigned int, unsigned int);
-  FUNCTOR_LIST(3)(const std::string&, int, unsigned int);
-  FUNCTOR_LIST(3)(const std::string&, unsigned int, unsigned int);
+  FUNCTOR_LIST(3)(FUNCTOR_CALL_TYPE, const std::string&, float, unsigned int);
+  FUNCTOR_LIST(4)(FUNCTOR_CALL_TYPE, const std::string&, float, unsigned int, unsigned int);
+  FUNCTOR_LIST(3)(FUNCTOR_CALL_TYPE, const std::string&, int, unsigned int);
+  FUNCTOR_LIST(3)(FUNCTOR_CALL_TYPE, const std::string&, unsigned int, unsigned int);
 
-  FUNCTOR_LIST(5)(float, float, float, float, const std::string&);
+  FUNCTOR_LIST(5)(FUNCTOR_CALL_TYPE, float, float, float, float, const std::string&);
 
 #endif /* FUNCTOR_LIST */
Index: /branches/new_class_id/src/lib/util/executor/functor_member.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/functor_member.h	(revision 9739)
+++ /branches/new_class_id/src/lib/util/executor/functor_member.h	(revision 9740)
@@ -1,5 +1,5 @@
 /*!
- * @file executor_functional.h
- * Definition of an Executor
+ * @file functor_member.h
+ * Definition of an Functor
  */
 
@@ -26,83 +26,28 @@
 #include "substring.h"
 
-// // // // // // // // // // // // //
-//// EXTENSION TO HIDE CONSTRUCT /////
-// // // // // // // // // // // // //
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- */
-#define EXECUTOR_FUNCTIONAL_CREATOR0() \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)() __EXECUTOR_FUNCTIONAL_CONST) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(0)<T, const SubString>(functionPointer); \
-}
+#define FUNCTOR_CALL_TYPE const SubString
 
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- * @param type0 for internal usage: the first Argument
- */
-#define EXECUTOR_FUNCTIONAL_CREATOR1(type0) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0) __EXECUTOR_FUNCTIONAL_CONST) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(1)<T, const SubString, type0>(functionPointer); \
-}
+/// Define all Constructs, that define an Executor.
 
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- * @param type0 for internal usage: the first Argument
- * @param type1 for internal usage: the second Argument
- */
-#define EXECUTOR_FUNCTIONAL_CREATOR2(type0, type1) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1) __EXECUTOR_FUNCTIONAL_CONST) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(2)<T, const SubString, type0, type1>(functionPointer); \
-}
-
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- * @param type0 for internal usage: the first Argument
- * @param type1 for internal usage: the second Argument
- * @param type2 for internal usage: the third Argument
- */
-#define EXECUTOR_FUNCTIONAL_CREATOR3(type0, type1, type2) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2) __EXECUTOR_FUNCTIONAL_CONST) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(3)<T, const SubString, type0, type1, type2>(functionPointer); \
-}
-
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- * @param type0 for internal usage: the first Argument
- * @param type1 for internal usage: the second Argument
- * @param type2 for internal usage: the third Argument
- * @param type3 for internal usage: the fourth Argument
- */
-#define EXECUTOR_FUNCTIONAL_CREATOR4(type0, type1, type2, type3) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2, type3) __EXECUTOR_FUNCTIONAL_CONST) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(4)<T, const SubString, type0, type1, type2, type3>(functionPointer); \
-}
-
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- * @param type0 for internal usage: the first Argument
- * @param type1 for internal usage: the second Argument
- * @param type2 for internal usage: the third Argument
- * @param type3 for internal usage: the fourth Argument
- * @param type4 for internal usage: the fifth Argument
- */
-#define EXECUTOR_FUNCTIONAL_CREATOR5(type0, type1, type2, type3, type4) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2, type3, type4) __EXECUTOR_FUNCTIONAL_CONST) \
-{ \
-    return new __EXECUTOR_FUNCTIONAL_NAME(5)<T, const SubString, type0, type1, type2, type3, type4>(functionPointer); \
-}
-
-/**
- * Creates the FunctionCallers imediately
- */
-#define FUNCTOR_LIST(x) EXECUTOR_FUNCTIONAL_CREATOR ## x
-#include "functor_list.h"
-#undef FUNCTOR_LIST
+//! The Name to be attached to the functional (for normal, static, and const modes)
+#define __EXECUTOR_FUNCTIONAL_NAME(ParamCount)   Executor##ParamCount##Params
+//! if Functional is constant calling
+#define __EXECUTOR_FUNCTIONAL_CONST
+//! The Function-Pointer, and how to save it internally.
+#define __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER   T::*functionPointer
+//! The Type of Function
+#define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionMember
 
 
-#undef __EXECUTOR_FUNCTIONAL_NOT_INCLUDE_THIS
+/// Now we include The generic Functor, that generate the functions.
+#include "functor_generic.h"
+
+
+#undef __EXECUTOR_FUNCTIONAL_NAME
+#undef __EXECUTOR_FUNCTIONAL_CONST
+#undef __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER
+#undef __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE
+
+
+
+#endif /* __FUNCTOR_MEMBER_H_ */
Index: /branches/new_class_id/src/lib/util/executor/functor_static.h
===================================================================
--- /branches/new_class_id/src/lib/util/executor/functor_static.h	(revision 9740)
+++ /branches/new_class_id/src/lib/util/executor/functor_static.h	(revision 9740)
@@ -0,0 +1,52 @@
+/*!
+ * @file functor_member.h
+ * Definition of an Functor
+ */
+
+/*
+   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 Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+
+#ifndef __FUNCTOR_STATIC_H_
+#define __FUNCTOR_STATIC_H_
+
+#include "executor_static.h"
+#include "substring.h"
+
+#define FUNCTOR_CALL_TYPE const SubString
+
+/// Define all Constructs, that define an Executor.
+
+//! The Name to be attached to the functional (for normal, static, and const modes)
+#define __EXECUTOR_FUNCTIONAL_NAME(ParamCount)   Executor##ParamCount##Params_static
+//! if Functional is constant calling
+#define __EXECUTOR_FUNCTIONAL_CONST
+//! The Function-Pointer, and how to save it internally.
+#define __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER   *functionPointer
+//! The Type of Function
+#define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionStatic
+
+/// Now we include The generic Functor, that generate the functions.
+#include "functor_generic.h"
+
+
+#undef __EXECUTOR_FUNCTIONAL_NAME
+#undef __EXECUTOR_FUNCTIONAL_CONST
+#undef __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER
+#undef __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE
+
+
+
+#endif /* __FUNCTOR_STATIC_H_ */
Index: /branches/new_class_id/src/lib/util/loading/load_param.h
===================================================================
--- /branches/new_class_id/src/lib/util/loading/load_param.h	(revision 9739)
+++ /branches/new_class_id/src/lib/util/loading/load_param.h	(revision 9740)
@@ -24,6 +24,6 @@
 #include "base_object.h"
 
-#include "executor/executor.h"
-#include "executor/executor_functional.h"
+#include "executor/executor_member.h"
+#include "executor/functor_member.h"
 
 #include "parser/tinyxml/tinyxml.h"
