Index: /orxonox/trunk/config.h.in
===================================================================
--- /orxonox/trunk/config.h.in	(revision 3591)
+++ /orxonox/trunk/config.h.in	(revision 3592)
@@ -89,4 +89,7 @@
 #undef HAVE__BOOL
 
+/* if Modular-DUBUG mode is enabled */
+#undef MODULAR_DEBUG
+
 /* Name of package */
 #undef PACKAGE
Index: /orxonox/trunk/configure
===================================================================
--- /orxonox/trunk/configure	(revision 3591)
+++ /orxonox/trunk/configure	(revision 3592)
@@ -867,4 +867,6 @@
   --enable-debug          compiles in debug mode. Lots of debug info about the
                           game.
+  --disable-modular-debug compiles in modular-debug mode, that logs
+                          differently on the many modules of orxonox.
   --enable-sub-projects   also builds the subProjects while make from srcdir
   --enable-documentation  also builds the sDocumentation while make from
@@ -3862,6 +3864,6 @@
 if test x$DEBUG = xno; then
 	echo "no"
-	echo " -> Setting debuglevel to 3. (orxonox is still in Development. It really is needed."
-	DEBUG=3
+	echo " -> Setting debuglevel to 4. (orxonox is still in Development. It really is needed."
+	DEBUG=4
 elif test x$DEBUG = xyes; then
 	echo "yes"
@@ -3878,4 +3880,27 @@
 
 
+
+#---------------#
+# Modular Debug #
+#---------------#
+MODULAR_DEBUG=yes
+echo "$as_me:$LINENO: checking if Modular-DEBUG-mode should be ebabled" >&5
+echo $ECHO_N "checking if Modular-DEBUG-mode should be ebabled... $ECHO_C" >&6
+# Check whether --enable-modular-debug or --disable-modular-debug was given.
+if test "${enable_modular_debug+set}" = set; then
+  enableval="$enable_modular_debug"
+  MODULAR_DEBUG=$enableval
+fi;
+
+if test x$MODULAR_DEBUG = xno; then
+	echo "no"
+elif test x$MODULAR_DEBUG = xyes; then
+	echo "yes"
+
+cat >>confdefs.h <<_ACEOF
+#define MODULAR_DEBUG 1
+_ACEOF
+
+fi
 
 #--------------#
Index: /orxonox/trunk/configure.ac
===================================================================
--- /orxonox/trunk/configure.ac	(revision 3591)
+++ /orxonox/trunk/configure.ac	(revision 3592)
@@ -56,6 +56,6 @@
 if test x$DEBUG = xno; then 
 	echo "no"
-	echo " -> Setting debuglevel to 3. (orxonox is still in Development. It really is needed."
-	DEBUG=3
+	echo " -> Setting debuglevel to 4. (orxonox is still in Development. It really is needed."
+	DEBUG=4
 elif test x$DEBUG = xyes; then
 	echo "yes"
@@ -68,4 +68,20 @@
 
 AC_SUBST(DEBUG)
+
+#---------------#
+# Modular Debug #
+#---------------#
+MODULAR_DEBUG=yes
+AC_MSG_CHECKING([if Modular-DEBUG-mode should be ebabled])
+AC_ARG_ENABLE([modular-debug], 
+	AC_HELP_STRING(	[--disable-modular-debug], [compiles in modular-debug mode, that logs differently on the many modules of orxonox.]),
+	 MODULAR_DEBUG=$enableval)
+
+if test x$MODULAR_DEBUG = xno; then 
+	echo "no"
+elif test x$MODULAR_DEBUG = xyes; then
+	echo "yes"
+	AC_DEFINE_UNQUOTED(MODULAR_DEBUG, 1, [if Modular-DUBUG mode is enabled])
+fi
 
 #--------------#
Index: /orxonox/trunk/src/defs/debug.h
===================================================================
--- /orxonox/trunk/src/defs/debug.h	(revision 3591)
+++ /orxonox/trunk/src/defs/debug.h	(revision 3592)
@@ -36,7 +36,12 @@
 #define vDEBUGING       5
 
+extern int verbose;
+
+#ifndef MODULAR_DEBUG
+#define HARD_DEBUG_LEVEL DEBUG
+#else /* MODULAR_DEBUG */
 #ifndef DEBUG_SPECIAL_MODULE
-extern int verbose;
-#else
+#define HARD_DEBUG_LEVEL DEBUG
+#else /* DEBUG_SPECIAL_MODULE */
 // DEFINE MODULES \\
 #define DEBUG_MODULE_ORXONOX            0
@@ -54,7 +59,8 @@
 #define DEBUG_MODULE_NULL_PARENT        0
 
-#define verbose DEBUG_SPECIAL_MODULE
-
-#endif
+
+#define HARD_DEBUG_LEVEL DEBUG_SPECIAL_MODULE
+#endif /* DEBUG_SPECIAL_MODULE */
+#endif /* MODULAR_DEBUG */
 ///////////////////////////////////////////////////
 /// PRINTF: prints with filename and linenumber ///
@@ -66,5 +72,5 @@
            PRINTF ## x
 
-#if DEBUG >= ERR
+#if HARD_DEBUG_LEVEL >= ERR
 #define PRINTF1 \
     if (verbose >= ERR) \
@@ -74,5 +80,5 @@
 #endif
      
-#if DEBUG >= WARN
+#if HARD_DEBUG_LEVEL >= WARN
 #define PRINTF2 \
      if (verbose >= WARN) \
@@ -83,5 +89,5 @@
 #endif
      
-#if DEBUG >= INFO
+#if HARD_DEBUG_LEVEL >= INFO
 #define PRINTF3 \
      if (verbose >= INFO) \
@@ -91,5 +97,5 @@
 #endif
      
-#if DEBUG >= DEBUGING
+#if HARD_DEBUG_LEVEL >= DEBUGING
 #define PRINTF4 \
      if (verbose >= DEBUGING) \
@@ -99,5 +105,5 @@
 #endif
      
-#if DEBUG >= vDEBUGING
+#if HARD_DEBUG_LEVEL >= vDEBUGING
 #define PRINTF5 \
      if (verbose >= vDEBUGING) \
@@ -122,5 +128,5 @@
   PRINT ## x
 
-#if DEBUG >= ERR
+#if HARD_DEBUG_LEVEL >= ERR
 #define PRINT1	\
   if (verbose >= ERR)	\
@@ -130,5 +136,5 @@
 #endif
 
-#if DEBUG >= WARN
+#if HARD_DEBUG_LEVEL >= WARN
 #define PRINT2 \
   if (verbose >= WARN) \
@@ -139,5 +145,5 @@
 #endif
 
-#if DEBUG >= INFO
+#if HARD_DEBUG_LEVEL >= INFO
 #define PRINT3 \
   if (verbose >= INFO) \
@@ -147,5 +153,5 @@
 #endif
 
-#if DEBUG >= DEBUGING
+#if HARD_DEBUG_LEVEL >= DEBUGING
 #define PRINT4 \
   if (verbose >= DEBUGING) \
@@ -155,5 +161,5 @@
 #endif
 
-#if DEBUG >= vDEBUGING
+#if HARD_DEBUG_LEVEL >= vDEBUGING
 #define PRINT5 \
      if (verbose >= vDEBUGING) \
@@ -178,5 +184,5 @@
            COUT ## x
 
-#if DEBUG >= 1
+#if HARD_DEBUG_LEVEL >= 1
 #define COUT1 \
     if (verbose >= 1 ) \
@@ -186,5 +192,5 @@
 #endif
      
-#if DEBUG >= 2
+#if HARD_DEBUG_LEVEL >= 2
 #define COUT2 \
      if (verbose >= 2 ) \
@@ -195,5 +201,5 @@
 #endif
      
-#if DEBUG >= 3
+#if HARD_DEBUG_LEVEL >= 3
 #define COUT3 \
      if (verbose >= 3 ) \
@@ -203,5 +209,5 @@
 #endif
      
-#if DEBUG >= 4
+#if HARD_DEBUG_LEVEL >= 4
 #define COUT4 \
      if (verbose >= 4 ) \
Index: /orxonox/trunk/src/orxonox.cc
===================================================================
--- /orxonox/trunk/src/orxonox.cc	(revision 3591)
+++ /orxonox/trunk/src/orxonox.cc	(revision 3592)
@@ -31,5 +31,5 @@
 #include "game_loader.h"
 #include <string.h>
-int verbose = 3;
+int verbose = 4;
 
 using namespace std;
