diff options
author | James Brown | 2002-04-26 14:13:39 +0000 |
---|---|---|
committer | James Brown | 2002-04-26 14:13:39 +0000 |
commit | 965b96b4895f0a5ad203abd0d9b48cc438447b31 (patch) | |
tree | 9a4b3281658244abf176718c991e1b66eadcf258 /scummvm.cpp | |
parent | ab2d1d03faa0e1d0f38a8972f85a778a2bbd9158 (diff) | |
download | scummvm-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.cpp | 31 |
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); } |