0x9a
[scummvm-innocent.git] / engines / innocent / debugger.h
blob486d28b0089d02e5778523cd2e88bcdc66771751
1 #ifndef INNOCENT_DEBUGGER_H
2 #define INNOCENT_DEBUGGER_H
4 #include "common/singleton.h"
5 #include "gui/debugger.h"
7 namespace Innocent {
9 class Engine;
10 class Logic;
12 class Debugger : public ::GUI::Debugger, public Common::Singleton<Debugger> {
13 public:
14 Debugger();
15 void setEngine(Engine *vm);
17 inline void opcodeStep() { if (_stepOpcodes) { _stepOpcodes = false; attach(); onFrame(); } }
18 void clickHandler();
20 private:
21 Logic *logic() const;
23 Engine *_vm;
25 #define CMD(name) bool cmd_##name(int argc, const char **argv)
26 bool cmd_setBackdrop(int argc, const char **argv);
27 bool cmd_paintText(int argc, const char **argv);
28 bool cmd_paintSprite(int argc, const char **argv);
29 bool cmd_listExits(int argc, const char **argv);
30 bool cmd_showClickable(int argc, const char **argv);
31 bool cmd_break(int argc, const char **argv);
32 CMD(step);
33 CMD(setVar);
34 CMD(debugActor);
35 #undef CMD
37 bool _stepOpcodes;
38 bool _breakOnClickHandler;
41 #define Debug Debugger::instance()
43 } // End of namespace Innocent
45 #endif // defined INNOCENT_DEBUGGER_H