[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