[Scummvm-cvs-logs] SF.net SVN: scummvm:[50913] scummvm/trunk/engines/m4

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Thu Jul 15 12:51:13 CEST 2010


Revision: 50913
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50913&view=rev
Author:   dreammaster
Date:     2010-07-15 10:51:11 +0000 (Thu, 15 Jul 2010)

Log Message:
-----------
Implemented the original game cheat key for displaying the current mouse cursor position

Modified Paths:
--------------
    scummvm/trunk/engines/m4/mads_scene.cpp
    scummvm/trunk/engines/m4/mads_scene.h

Modified: scummvm/trunk/engines/m4/mads_scene.cpp
===================================================================
--- scummvm/trunk/engines/m4/mads_scene.cpp	2010-07-15 10:00:32 UTC (rev 50912)
+++ scummvm/trunk/engines/m4/mads_scene.cpp	2010-07-15 10:51:11 UTC (rev 50913)
@@ -66,6 +66,8 @@
 	MadsView::_bgSurface = Scene::_backgroundSurface;
 	MadsView::_depthSurface = Scene::_walkSurface;
 	_interfaceSurface = new MadsInterfaceView(vm);
+	_showMousePos = false;
+	_mouseMsgIndex = -1;
 }
 
 MadsScene::~MadsScene() {
@@ -349,6 +351,16 @@
 void MadsScene::updateState() {
 	_madsVm->_player.update();
 
+	// Handle refreshing the mouse position display
+	if (_mouseMsgIndex != -1)
+		_madsVm->scene()->_kernelMessages.remove(_mouseMsgIndex);
+	if (_showMousePos) {
+		char buffer[20];
+		sprintf(buffer, "(%d,%d)", _madsVm->_mouse->currentPos().x, _madsVm->_mouse->currentPos().y);
+
+		_mouseMsgIndex = _madsVm->scene()->_kernelMessages.add(Common::Point(5, 5), 0x203, 0, 0, 1, buffer);
+	}
+
 	// Step through the scene
 	_sceneLogic.sceneStep();
 
@@ -1158,8 +1170,13 @@
 		// TODO: Move player to current destination
 		return true;
 
-	case Common::KEYCODE_t | (Common::KEYCODE_LALT):
-	case Common::KEYCODE_t | (Common::KEYCODE_RALT):
+	case Common::KEYCODE_c | (Common::KBD_CTRL << 24):
+		// Toggle display of mouse position
+		_madsVm->scene()->_showMousePos = !_madsVm->scene()->_showMousePos;
+		break;
+
+	case Common::KEYCODE_t | (Common::KEYCODE_LALT << 24):
+	case Common::KEYCODE_t | (Common::KEYCODE_RALT << 24):
 	{
 		// Teleport to room
 		//Scene *sceneView = (Scene *)vm->_viewManager->getView(VIEWID_SCENE);

Modified: scummvm/trunk/engines/m4/mads_scene.h
===================================================================
--- scummvm/trunk/engines/m4/mads_scene.h	2010-07-15 10:00:32 UTC (rev 50912)
+++ scummvm/trunk/engines/m4/mads_scene.h	2010-07-15 10:51:11 UTC (rev 50913)
@@ -109,6 +109,7 @@
 
 	MadsSceneLogic _sceneLogic;
 	SpriteAsset *_playerSprites;
+	int _mouseMsgIndex;
 
 	void drawElements();
 	void loadScene2(const char *aaName, int sceneNumber);
@@ -119,6 +120,7 @@
 	void setAction();
 public:
 	char _aaName[100];
+	bool _showMousePos;
 public:
 	MadsScene(MadsEngine *vm);
 	virtual ~MadsScene();


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