[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