aboutsummaryrefslogtreecommitdiff
path: root/queen/debug.h
diff options
context:
space:
mode:
authorGregory Montoir2003-11-09 20:50:03 +0000
committerGregory Montoir2003-11-09 20:50:03 +0000
commitc9feb712bc0fa6fe51082eaf7b3c22ef1aa0b673 (patch)
treea7675b4662be2e1774a922e1f989759eb8839f42 /queen/debug.h
parent79f84425dd3abc7239531b1c9ef1ccc155703a8b (diff)
downloadscummvm-rg350-c9feb712bc0fa6fe51082eaf7b3c22ef1aa0b673.tar.gz
scummvm-rg350-c9feb712bc0fa6fe51082eaf7b3c22ef1aa0b673.tar.bz2
scummvm-rg350-c9feb712bc0fa6fe51082eaf7b3c22ef1aa0b673.zip
enable (some of) the original debug passwords
svn-id: r11227
Diffstat (limited to 'queen/debug.h')
-rw-r--r--queen/debug.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/queen/debug.h b/queen/debug.h
new file mode 100644
index 0000000000..b541b85632
--- /dev/null
+++ b/queen/debug.h
@@ -0,0 +1,83 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003 The ScummVM project
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ *
+ */
+
+#ifndef QUEENDEBUG_H
+#define QUEENDEBUG_H
+
+#include "queen/queen.h"
+
+namespace Queen {
+
+class Input;
+class Logic;
+class Graphics;
+
+class Debug {
+public:
+ typedef void (Debug::*DebugFunc)();
+
+ Debug(Input *, Logic *, Graphics *);
+
+ void registerStub(const char *password, DebugFunc debugFunc);
+
+ void update(int c);
+
+ void jumpToRoom();
+ void toggleFastMode();
+ void printInfo();
+ void toggleAreasDrawing();
+ void changeGameState();
+ void printGameState();
+ void giveAllItems();
+
+ static void digitKeyPressed(void *refCon, int key);
+
+ struct DebugStub {
+ const char *password;
+ DebugFunc function;
+ };
+
+ enum {
+ MAX_STUB = 5
+ };
+
+
+private:
+
+ char _password[16];
+ uint _passwordCharCount;
+
+ char _digitText[50];
+ uint _digitTextCount;
+
+ DebugStub _stub[MAX_STUB];
+ uint _stubCount;
+
+ Input *_input;
+ Logic *_logic;
+ Graphics *_graphics;
+
+};
+
+
+} // End of namespace Queen
+
+#endif