aboutsummaryrefslogtreecommitdiff
path: root/scummvm.cpp
diff options
context:
space:
mode:
authorJames Brown2002-04-26 14:13:39 +0000
committerJames Brown2002-04-26 14:13:39 +0000
commit965b96b4895f0a5ad203abd0d9b48cc438447b31 (patch)
tree9a4b3281658244abf176718c991e1b66eadcf258 /scummvm.cpp
parentab2d1d03faa0e1d0f38a8972f85a778a2bbd9158 (diff)
downloadscummvm-rg350-965b96b4895f0a5ad203abd0d9b48cc438447b31.tar.gz
scummvm-rg350-965b96b4895f0a5ad203abd0d9b48cc438447b31.tar.bz2
scummvm-rg350-965b96b4895f0a5ad203abd0d9b48cc438447b31.zip
Add enhanced debugging patch.
svn-id: r4090
Diffstat (limited to 'scummvm.cpp')
-rw-r--r--scummvm.cpp31
1 files changed, 30 insertions, 1 deletions
diff --git a/scummvm.cpp b/scummvm.cpp
index e1ee02aba1..9201e8e041 100644
--- a/scummvm.cpp
+++ b/scummvm.cpp
@@ -1048,6 +1048,10 @@ int Scumm::normalizeAngle(int angle)
void NORETURN CDECL error(const char *s, ...)
{
char buf[1024];
+#if defined( USE_WINDBG )
+ char buf2[1024];
+#endif
+
va_list va;
va_start(va, s);
@@ -1060,8 +1064,21 @@ void NORETURN CDECL error(const char *s, ...)
g_scumm->_roomResource,
ss->number,
g_scumm->_scriptPointer - g_scumm->_scriptOrgPointer, buf);
+#if defined( USE_WINDBG )
+ sprintf(buf2, "Error(%d:%d:0x%X): %s!\n",
+ g_scumm->_roomResource,
+ ss->number,
+ g_scumm->_scriptPointer - g_scumm->_scriptOrgPointer,
+ buf);
+ OutputDebugString(buf2);
+#endif
+
} else {
fprintf(stderr, "Error: %s!\n", buf);
+#if defined( USE_WINDBG )
+ sprintf(&buf[strlen(buf)], "\n");
+ OutputDebugString(buf);
+#endif
}
// Doesn't wait for any keypress!! Is it intended to?
exit(1);
@@ -1077,20 +1094,32 @@ void CDECL warning(const char *s, ...)
va_end(va);
fprintf(stderr, "WARNING: %s!\n", buf);
+#if defined( USE_WINDBG )
+ sprintf(&buf[strlen(buf)], "\n");
+ OutputDebugString(buf);
+#endif
}
+uint16 _debugLevel = 1;
+
void CDECL debug(int level, const char *s, ...)
{
char buf[1024];
va_list va;
- if (level > 5)
+ if (level > _debugLevel)
return;
va_start(va, s);
vsprintf(buf, s, va);
va_end(va);
printf("%s\n", buf);
+
+#if defined( USE_WINDBG )
+ sprintf(&buf[strlen(buf)], "\n");
+ OutputDebugString(buf);
+#endif
+
fflush(stdout);
}