[Scummvm-cvs-logs] SF.net SVN: scummvm:[54600] scummvm/trunk/engines/mohawk

bgk at users.sourceforge.net bgk at users.sourceforge.net
Mon Nov 29 21:51:35 CET 2010


Revision: 54600
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54600&view=rev
Author:   bgk
Date:     2010-11-29 20:51:35 +0000 (Mon, 29 Nov 2010)

Log Message:
-----------
MOHAWK: Rename some fields for type 11 areas

Modified Paths:
--------------
    scummvm/trunk/engines/mohawk/myst.cpp
    scummvm/trunk/engines/mohawk/myst.h
    scummvm/trunk/engines/mohawk/myst_areas.cpp
    scummvm/trunk/engines/mohawk/myst_areas.h

Modified: scummvm/trunk/engines/mohawk/myst.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/myst.cpp	2010-11-29 20:51:18 UTC (rev 54599)
+++ scummvm/trunk/engines/mohawk/myst.cpp	2010-11-29 20:51:35 UTC (rev 54600)
@@ -241,6 +241,7 @@
 	_loadDialog->setSaveMode(false);
 	_optionsDialog = new MystOptionsDialog(this);
 	_cursor = new MystCursorManager(this);
+	_mouseClicked = false;
 
 	// Start us on the first stack.
 	if (getGameType() == GType_MAKINGOF)
@@ -295,12 +296,13 @@
 				_mousePos = event.mouse;
 				_needsUpdate = true;
 				checkCurrentResource();
-				if (_curResource >= 0) {
+				if (_curResource >= 0 && _mouseClicked) {
 					debug(2, "Sending mouse move event to resource %d\n", _curResource);
-					_resources[_curResource]->handleMouseMove();
+					_resources[_curResource]->handleMouseDrag();
 				}
 				break;
 			case Common::EVENT_LBUTTONUP:
+				_mouseClicked = false;
 				if (_curResource >= 0) {
 					debug(2, "Sending mouse up event to resource %d\n", _curResource);
 					_resources[_curResource]->handleMouseUp();
@@ -309,6 +311,7 @@
 				drawResourceImages();
 				break;
 			case Common::EVENT_LBUTTONDOWN:
+				_mouseClicked = true;
 				if (_curResource >= 0) {
 					debug(2, "Sending mouse up event to resource %d\n", _curResource);
 					_resources[_curResource]->handleMouseDown();

Modified: scummvm/trunk/engines/mohawk/myst.h
===================================================================
--- scummvm/trunk/engines/mohawk/myst.h	2010-11-29 20:51:18 UTC (rev 54599)
+++ scummvm/trunk/engines/mohawk/myst.h	2010-11-29 20:51:35 UTC (rev 54600)
@@ -236,6 +236,7 @@
 	void loadCursorHints();
 	void checkCursorHints();
 	Common::Point _mousePos;
+	bool _mouseClicked;
 	uint16 _currentCursor;
 	uint16 _mainCursor; // Also defines the current page being held (white, blue, red, or none)
 };

Modified: scummvm/trunk/engines/mohawk/myst_areas.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/myst_areas.cpp	2010-11-29 20:51:18 UTC (rev 54599)
+++ scummvm/trunk/engines/mohawk/myst_areas.cpp	2010-11-29 20:51:35 UTC (rev 54600)
@@ -460,6 +460,7 @@
 MystResourceType10::MystResourceType10(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) : MystResourceType11(vm, rlstStream, parent) {
 
 	_unk10 = rlstStream->readUint16LE();
+	debugC(kDebugResource, "\tunk10: %d", _unk10);
 	warning("TODO: Card contains Type 10 Resource - Function not yet implemented");
 }
 
@@ -468,37 +469,28 @@
 }
 
 MystResourceType11::MystResourceType11(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) : MystResourceType8(vm, rlstStream, parent) {
-	_kind = rlstStream->readUint16LE();
-	// NOTE: l,r,t,b differs from standard l,t,r,b order
-	_rect11.left = rlstStream->readUint16LE();
-	_rect11.right = rlstStream->readUint16LE();
-	_rect11.top = rlstStream->readUint16LE();
-	_rect11.bottom = rlstStream->readUint16LE();
-	_u0 = rlstStream->readUint16LE();
-	_u1 = rlstStream->readUint16LE();
+	_flagHV = rlstStream->readUint16LE();
+	_minH = rlstStream->readUint16LE();
+	_maxH = rlstStream->readUint16LE();
+	_minV = rlstStream->readUint16LE();
+	_maxV = rlstStream->readUint16LE();
+	_posH = rlstStream->readUint16LE();
+	_posV = rlstStream->readUint16LE();
 	_mouseDownOpcode = rlstStream->readUint16LE();
 	_mouseDragOpcode = rlstStream->readUint16LE();
 	_mouseUpOpcode = rlstStream->readUint16LE();
 
-	debugC(kDebugResource, "\tkind: %d", _kind);
-	debugC(kDebugResource, "\trect11.left: %d", _rect11.left);
-	debugC(kDebugResource, "\trect11.right: %d", _rect11.right);
-	debugC(kDebugResource, "\trect11.top: %d", _rect11.top);
-	debugC(kDebugResource, "\trect11.bottom: %d", _rect11.bottom);
-	debugC(kDebugResource, "\tu0: %d", _u0);
-	debugC(kDebugResource, "\tu1: %d", _u1);
+	debugC(kDebugResource, "\tdirection: %d", _flagHV);
+	debugC(kDebugResource, "\thorizontal min: %d", _minH);
+	debugC(kDebugResource, "\thorizontal max: %d", _maxH);
+	debugC(kDebugResource, "\tvertical min: %d", _minV);
+	debugC(kDebugResource, "\tvertical max: %d", _maxV);
+	debugC(kDebugResource, "\thorizontal position: %d", _posH);
+	debugC(kDebugResource, "\tvertical position: %d", _posV);
 	debugC(kDebugResource, "\t_mouseDownOpcode: %d", _mouseDownOpcode);
 	debugC(kDebugResource, "\t_mouseDragOpcode: %d", _mouseDragOpcode);
 	debugC(kDebugResource, "\t_mouseUpOpcode: %d", _mouseUpOpcode);
 
-	// TODO: Think that u0 and u1 are unused in Type 11
-	if (_u0)
-		warning("Type 11 u0 non-zero");
-	if (_u1)
-		warning("Type 11 u1 non-zero");
-
-	// TODO: Not sure about order of Mouse Down, Mouse Drag and Mouse Up
-	//       Or whether this is slightly different...
 	debugCN(kDebugResource, "Type 11 _mouseDownOpcode: %d\n", _mouseDownOpcode);
 	debugCN(kDebugResource, "Type 11 _mouseDragOpcode: %d\n", _mouseDragOpcode);
 	debugCN(kDebugResource, "Type 11 _mouseUpOpcode: %d\n", _mouseUpOpcode);
@@ -515,8 +507,6 @@
 			debugC(kDebugResource, "\tValue %d: %d", j, _lists[i].list[j]);
 		}
 	}
-
-	_mouseDown = false;
 }
 
 MystResourceType11::~MystResourceType11() {
@@ -525,21 +515,15 @@
 }
 
 void MystResourceType11::handleMouseDown() {
-	_mouseDown = true;
-
 	_vm->_scriptParser->runOpcode(_mouseDownOpcode);
 }
 
 void MystResourceType11::handleMouseUp() {
-	_mouseDown = false;
-
 	_vm->_scriptParser->runOpcode(_mouseUpOpcode);
 }
 
-void MystResourceType11::handleMouseMove() {
-	if (_mouseDown) {
-		_vm->_scriptParser->runOpcode(_mouseDragOpcode);
-	}
+void MystResourceType11::handleMouseDrag() {
+	_vm->_scriptParser->runOpcode(_mouseDragOpcode);
 }
 
 MystResourceType12::MystResourceType12(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) : MystResourceType11(vm, rlstStream, parent) {

Modified: scummvm/trunk/engines/mohawk/myst_areas.h
===================================================================
--- scummvm/trunk/engines/mohawk/myst_areas.h	2010-11-29 20:51:18 UTC (rev 54599)
+++ scummvm/trunk/engines/mohawk/myst_areas.h	2010-11-29 20:51:35 UTC (rev 54600)
@@ -52,7 +52,7 @@
 	// Mouse interface
 	virtual void handleMouseUp();
 	virtual void handleMouseDown() {}
-	virtual void handleMouseMove() {}
+	virtual void handleMouseDrag() {}
 	virtual void handleMouseEnter() {}
 	virtual void handleMouseLeave() {}
 
@@ -94,7 +94,7 @@
 	bool _videoRunning;
 };
 
-struct MystResourceType7 : public MystResource {
+class MystResourceType7 : public MystResource {
 public:
 	MystResourceType7(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent);
 	virtual ~MystResourceType7();
@@ -139,13 +139,16 @@
 	virtual ~MystResourceType11();
 	void handleMouseDown();
 	void handleMouseUp();
-	void handleMouseMove();
+	void handleMouseDrag();
 
 protected:
-	uint16 _kind;
-	Common::Rect _rect11;
-	uint16 _u0;
-	uint16 _u1;
+	uint16 _flagHV;
+	uint16 _minH;
+	uint16 _maxH;
+	uint16 _minV;
+	uint16 _maxV;
+	uint16 _posH;
+	uint16 _posV;
 	uint16 _mouseDownOpcode;
 	uint16 _mouseDragOpcode;
 	uint16 _mouseUpOpcode;
@@ -153,8 +156,6 @@
 		uint16 listCount;
 		uint16 *list;
 	} _lists[3];
-
-	bool _mouseDown;
 };
 
 class MystResourceType10 : public MystResourceType11 {


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