aboutsummaryrefslogtreecommitdiff
path: root/scumm/scumm.h
diff options
context:
space:
mode:
authorJames Brown2004-01-10 05:20:15 +0000
committerJames Brown2004-01-10 05:20:15 +0000
commit1778b01d765b8290c47324d6befebb9130353973 (patch)
tree0dfb0c136410c075a4f86a8f51db5c6a9a14499c /scumm/scumm.h
parentab7db8fb045d36dfcd1d5eb709c0ccc64298512d (diff)
downloadscummvm-rg350-1778b01d765b8290c47324d6befebb9130353973.tar.gz
scummvm-rg350-1778b01d765b8290c47324d6befebb9130353973.tar.bz2
scummvm-rg350-1778b01d765b8290c47324d6befebb9130353973.zip
Start of debug channel support. TODO: Move this to the common Debugger system?
svn-id: r12289
Diffstat (limited to 'scumm/scumm.h')
-rw-r--r--scumm/scumm.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/scumm/scumm.h b/scumm/scumm.h
index f9c58f4f19..3ba8d3fba5 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -38,6 +38,7 @@ namespace GUI {
using GUI::Dialog;
class GameDetector;
+
namespace Scumm {
class Actor;
@@ -111,6 +112,32 @@ enum ObjectClass {
kObjectClassUntouchable = 32
};
+/* SCUMM Debug Channels */
+void CDECL debugC(int level, const char *s, ...);
+
+struct dbgChannelDesc {
+ const char *channel, *desc;
+ uint32 flag;
+};
+
+enum {
+ DEBUG_SCRIPTS = 1 << 0, // Track script execution (start/stop/pause)
+ DEBUG_OPCODES = 1 << 1, // Track opcode invocations
+ DEBUG_IMUSE = 1 << 2, // Track iMUSE events
+ DEBUG_RESOURCE = 1 << 3, // Track resource loading / allocation
+ DEBUG_VARS = 1 << 4 // Track variable changes
+};
+
+
+// Debug channel lookup table for Debugger console
+static const dbgChannelDesc debugChannels[] = {
+ {"SCRIPTS", "Track script execution", DEBUG_SCRIPTS},
+ {"OPCODES", "Track opcode execution", DEBUG_OPCODES},
+ {"IMUSE", "Track iMUSE events", DEBUG_IMUSE},
+ {"RESOURCE", "Track resource loading/management", DEBUG_RESOURCE},
+ {"VARS", "Track variable changes", DEBUG_VARS}
+};
+
struct MemBlkHeader {
uint32 size;
};
@@ -313,6 +340,7 @@ public:
void clearClickedStatus();
// Misc utility functions
+ uint32 _debugFlags;
const char *getGameName() const { return _gameName.c_str(); }
const char *getGameDataPath() const;