aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorEugene Sandulenko2009-06-10 10:28:43 +0000
committerEugene Sandulenko2009-06-10 10:28:43 +0000
commit13dca9a17640168be1a176609334a3e22392bca2 (patch)
treedffdbd62e41c06eeb91aa5842b8c18f16fed9b3c /common
parent10b8d82baa0137348473a846b85a20715808215f (diff)
downloadscummvm-rg350-13dca9a17640168be1a176609334a3e22392bca2.tar.gz
scummvm-rg350-13dca9a17640168be1a176609334a3e22392bca2.tar.bz2
scummvm-rg350-13dca9a17640168be1a176609334a3e22392bca2.zip
Backport debugCN() as it is needed for Draci engine
svn-id: r41422
Diffstat (limited to 'common')
-rw-r--r--common/debug.cpp26
-rw-r--r--common/debug.h21
2 files changed, 47 insertions, 0 deletions
diff --git a/common/debug.cpp b/common/debug.cpp
index cc358596f7..ff17959cbf 100644
--- a/common/debug.cpp
+++ b/common/debug.cpp
@@ -227,6 +227,19 @@ void debugC(int level, uint32 debugChannels, const char *s, ...) {
va_end(va);
}
+void debugCN(int level, uint32 debugChannels, const char *s, ...) {
+ va_list va;
+
+ // Debug level 11 turns on all special debug level messages
+ if (gDebugLevel != 11)
+ if (level > gDebugLevel || !(Common::gDebugLevelsEnabled & debugChannels))
+ return;
+
+ va_start(va, s);
+ debugHelper(s, va, false);
+ va_end(va);
+}
+
void debugC(uint32 debugChannels, const char *s, ...) {
va_list va;
@@ -240,4 +253,17 @@ void debugC(uint32 debugChannels, const char *s, ...) {
va_end(va);
}
+void debugCN(uint32 debugChannels, const char *s, ...) {
+ va_list va;
+
+ // Debug level 11 turns on all special debug level messages
+ if (gDebugLevel != 11)
+ if (!(Common::gDebugLevelsEnabled & debugChannels))
+ return;
+
+ va_start(va, s);
+ debugHelper(s, va, false);
+ va_end(va);
+}
+
#endif
diff --git a/common/debug.h b/common/debug.h
index 43fe297859..888c71adbb 100644
--- a/common/debug.h
+++ b/common/debug.h
@@ -106,6 +106,8 @@ inline void debug(int level, const char *s, ...) {}
inline void debugN(int level, const char *s, ...) {}
inline void debugC(int level, uint32 engine_level, const char *s, ...) {}
inline void debugC(uint32 engine_level, const char *s, ...) {}
+inline void debugCN(int level, uint32 engine_level, const char *s, ...) {}
+inline void debugCN(uint32 engine_level, const char *s, ...) {}
#else
@@ -146,6 +148,17 @@ void debugC(int level, uint32 debugChannels, const char *s, ...) GCC_PRINTF(3, 4
/**
* Print a debug message to the text console (stdout), but only if
+ * the specified level does not exceed the value of gDebugLevel OR
+ * if the specified special debug level is active.
+ * As a rule of thumb, the more important the message, the lower the level.
+ * Does not append a newline automatically.
+ *
+ * @see enableDebugChannel
+ */
+void debugCN(int level, uint32 debugChannels, const char *s, ...) GCC_PRINTF(3, 4);
+
+/**
+ * Print a debug message to the text console (stdout), but only if
* the specified special debug level is active.
* Automatically appends a newline.
*
@@ -153,6 +166,14 @@ void debugC(int level, uint32 debugChannels, const char *s, ...) GCC_PRINTF(3, 4
*/
void debugC(uint32 debugChannels, const char *s, ...) GCC_PRINTF(2, 3);
+/**
+ * Print a debug message to the text console (stdout), but only if
+ * the specified special debug level is active.
+ * Does not append a newline automatically.
+ *
+ * @see enableDebugChannel
+ */
+void debugCN(uint32 debugChannels, const char *s, ...) GCC_PRINTF(2, 3);
#endif