[Scummvm-cvs-logs] SF.net SVN: scummvm: [29092] scummvm/trunk/engines/kyra
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Mon Sep 24 22:02:08 CEST 2007
Revision: 29092
http://scummvm.svn.sourceforge.net/scummvm/?rev=29092&view=rev
Author: lordhoto
Date: 2007-09-24 13:02:08 -0700 (Mon, 24 Sep 2007)
Log Message:
-----------
Added debugger support for kyra2.
Modified Paths:
--------------
scummvm/trunk/engines/kyra/debugger.cpp
scummvm/trunk/engines/kyra/debugger.h
scummvm/trunk/engines/kyra/kyra_v2.cpp
scummvm/trunk/engines/kyra/kyra_v2.h
Modified: scummvm/trunk/engines/kyra/debugger.cpp
===================================================================
--- scummvm/trunk/engines/kyra/debugger.cpp 2007-09-24 19:45:18 UTC (rev 29091)
+++ scummvm/trunk/engines/kyra/debugger.cpp 2007-09-24 20:02:08 UTC (rev 29092)
@@ -28,6 +28,7 @@
#include "common/system.h"
#include "kyra/debugger.h"
#include "kyra/kyra_v1.h"
+#include "kyra/kyra_v2.h"
#include "kyra/screen.h"
#include "kyra/timer.h"
@@ -212,5 +213,10 @@
return true;
}
+#pragma mark -
+
+Debugger_v2::Debugger_v2(KyraEngine_v2 *vm) : Debugger(vm), _vm(vm) {
+}
+
} // End of namespace Kyra
Modified: scummvm/trunk/engines/kyra/debugger.h
===================================================================
--- scummvm/trunk/engines/kyra/debugger.h 2007-09-24 19:45:18 UTC (rev 29091)
+++ scummvm/trunk/engines/kyra/debugger.h 2007-09-24 20:02:08 UTC (rev 29092)
@@ -32,6 +32,7 @@
class KyraEngine;
class KyraEngine_v1;
+class KyraEngine_v2;
class Debugger : public GUI::Debugger {
public:
@@ -66,6 +67,15 @@
bool cmd_listBirthstones(int argc, const char **argv);
};
+class Debugger_v2 : public Debugger {
+public:
+ Debugger_v2(KyraEngine_v2 *vm);
+ virtual ~Debugger_v2() {}
+
+protected:
+ KyraEngine_v2 *_vm;
+};
+
} // End of namespace Kyra
#endif
Modified: scummvm/trunk/engines/kyra/kyra_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.cpp 2007-09-24 19:45:18 UTC (rev 29091)
+++ scummvm/trunk/engines/kyra/kyra_v2.cpp 2007-09-24 20:02:08 UTC (rev 29092)
@@ -32,6 +32,7 @@
#include "kyra/script.h"
#include "kyra/text.h"
#include "kyra/timer.h"
+#include "kyra/debugger.h"
#include "common/system.h"
@@ -40,6 +41,8 @@
KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags) : KyraEngine(system, flags) {
memset(_defaultShapeTable, 0, sizeof(_defaultShapeTable));
_mouseSHPBuf = 0;
+ _debugger = 0;
+ _screen = 0;
_gamePlayBuffer = 0;
_cCodeBuffer = _optionsBuffer = _chapterBuffer = 0;
@@ -66,6 +69,7 @@
KyraEngine_v2::~KyraEngine_v2() {
delete [] _mouseSHPBuf;
delete _screen;
+ delete _debugger;
}
Movie *KyraEngine_v2::createWSAMovie() {
@@ -79,6 +83,9 @@
error("_screen->init() failed");
KyraEngine::init();
+
+ _debugger = new Debugger_v2(this);
+ assert(_debugger);
setupTimers();
@@ -475,6 +482,11 @@
case Common::EVENT_KEYDOWN:
if (event.kbd.keycode == Common::KEYCODE_RETURN)
keys = 199;
+
+ if (event.kbd.flags == Common::KBD_CTRL) {
+ if (event.kbd.keycode == 'd')
+ _debugger->attach();
+ }
break;
case Common::EVENT_LBUTTONUP:
@@ -489,8 +501,8 @@
break;
}
- //if ( _debugger->isAttached())
- // _debugger->onFrame();
+ if (_debugger->isAttached())
+ _debugger->onFrame();
}
_system->delayMillis(10);
Modified: scummvm/trunk/engines/kyra/kyra_v2.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.h 2007-09-24 19:45:18 UTC (rev 29091)
+++ scummvm/trunk/engines/kyra/kyra_v2.h 2007-09-24 20:02:08 UTC (rev 29092)
@@ -45,6 +45,7 @@
class WSAMovieV2;
class KyraEngine_v2;
+class Debugger_v2;
struct SequenceControl {
int8 frameIndex;
@@ -83,6 +84,7 @@
};
class KyraEngine_v2 : public KyraEngine {
+friend class Debugger_v2;
public:
KyraEngine_v2(OSystem *system, const GameFlags &flags);
~KyraEngine_v2();
@@ -133,6 +135,7 @@
int go();
Screen_v2 *_screen;
+ Debugger_v2 *_debugger;
ActiveWSA *_activeWSA;
ActiveChat *_activeChat;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list