1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 #ifndef SKY_DEBUG_H 24 #define SKY_DEBUG_H 25 26 27 #include "common/scummsys.h" 28 #include "gui/debugger.h" 29 30 namespace Sky { 31 32 class Logic; 33 class Mouse; 34 class Screen; 35 class SkyCompact; 36 37 class Debugger : public GUI::Debugger { 38 public: 39 Debugger(Logic *logic, Mouse *mouse, Screen *screen, SkyCompact *skyCompact); 40 virtual ~Debugger(); // we need this here for __SYMBIAN32__ archaic gcc/UIQ showGrid()41 bool showGrid() { return _showGrid; } 42 43 private: 44 virtual void preEnter(); 45 virtual void postEnter(); 46 47 private: 48 bool Cmd_ShowGrid(int argc, const char **argv); 49 bool Cmd_ReloadGrid(int argc, const char **argv); 50 bool Cmd_ShowCompact(int argc, const char **argv); 51 bool Cmd_LogicCommand(int argc, const char **argv); 52 bool Cmd_Info(int argc, const char **argv); 53 bool Cmd_ScriptVar(int argc, const char **argv); 54 bool Cmd_Section(int argc, const char **argv); 55 bool Cmd_LogicList(int argc, const char **argv); 56 57 void dumpCompact(uint16 cptId); 58 59 Logic *_logic; 60 Mouse *_mouse; 61 Screen *_screen; 62 SkyCompact *_skyCompact; 63 64 bool _showGrid; 65 }; 66 67 68 class Debug { 69 public: 70 static void logic(uint32 logic); 71 static void script(uint32 command, uint16 *scriptData); 72 static void mcode(uint32 mcode, uint32 a, uint32 b, uint32 c); 73 }; 74 75 } // End of namespace Sky 76 77 #endif 78