[Scummvm-cvs-logs] scummvm master -> 7f2b69b75c8e352ea06c9571992a00d5ffe7308f

bluegr bluegr at gmail.com
Fri Dec 25 13:13:01 CET 2015


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c9b103b2db LAB: Use friendlier names for lists
9239f4d774 LAB: Use the MessageClass enum in the IntuiMessage struct
7f2b69b75c LAB: Rename fromCrumbs() to processEvent() and simplify it a bit


Commit: c9b103b2dbed11947cebaebaf8ff93348d034b55
    https://github.com/scummvm/scummvm/commit/c9b103b2dbed11947cebaebaf8ff93348d034b55
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2015-12-25T14:12:05+02:00

Commit Message:
LAB: Use friendlier names for lists

Changed paths:
    engines/lab/console.cpp
    engines/lab/lab.h
    engines/lab/processroom.cpp
    engines/lab/processroom.h
    engines/lab/resource.cpp
    engines/lab/resource.h



diff --git a/engines/lab/console.cpp b/engines/lab/console.cpp
index 31b52da..12eafd3 100644
--- a/engines/lab/console.cpp
+++ b/engines/lab/console.cpp
@@ -86,7 +86,7 @@ bool Console::Cmd_DumpSceneResources(int argc, const char **argv) {
 			debugPrintf(" (from %s to %s)", directions[rule->_param1], directions[rule->_param2]);
 		debugPrintf("\n");
 
-		Common::List<Action>::iterator action;
+		ActionList::iterator action;
 		for (action = rule->_actionList.begin(); action != rule->_actionList.end(); ++action) {
 			debugPrintf("  - %s ('%s', %d, %d, %d)\n", actionTypes[action->_actionType], action->_messages[0].c_str(), action->_param1, action->_param2, action->_param3);
 		}
@@ -110,7 +110,7 @@ bool Console::Cmd_FindAction(int argc, const char **argv) {
 		_vm->_resource->readViews(i);
 
 		for (RuleList::iterator rule = _vm->_rooms[i]._rules.begin(); rule != _vm->_rooms[i]._rules.end(); ++rule) {
-			Common::List<Action>::iterator action;
+			ActionList::iterator action;
 			for (action = rule->_actionList.begin(); action != rule->_actionList.end(); ++action) {
 				if (action->_actionType == actionId &&
 					(action->_param1 == param1 || param1 == -1) &&
diff --git a/engines/lab/lab.h b/engines/lab/lab.h
index 0a2e407..1f53f23 100644
--- a/engines/lab/lab.h
+++ b/engines/lab/lab.h
@@ -89,6 +89,9 @@ struct CrumbData {
 
 typedef CloseData *CloseDataPtr;
 typedef Common::List<Rule> RuleList;
+typedef Common::List<Action> ActionList;
+typedef Common::List<CloseData> CloseDataList;
+typedef Common::List<ViewData> ViewDataList;
 
 enum Direction {
 	kDirectionNorth,
@@ -230,7 +233,7 @@ private:
 	/**
 	 * Processes the action list.
 	 */
-	void doActions(const Common::List<Action> &actionList, CloseDataPtr *closePtrList);
+	void doActions(const ActionList &actionList, CloseDataPtr *closePtrList);
 
 	/**
 	 * Goes through the rules if an action is taken.
@@ -350,7 +353,7 @@ private:
 	 * some of the closeups have the same hit boxes, then this returns the first
 	 * occurrence of the object with the same hit box.
 	 */
-	CloseDataPtr findClosePtrMatch(CloseDataPtr closePtr, Common::List<CloseData> &list);
+	CloseDataPtr findClosePtrMatch(CloseDataPtr closePtr, CloseDataList &list);
 
 	/**
 	 * Checks if a floor has been visited.
diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp
index 1a9e7a8..4d42f96 100644
--- a/engines/lab/processroom.cpp
+++ b/engines/lab/processroom.cpp
@@ -56,9 +56,8 @@ ViewData *LabEngine::getViewData(uint16 roomNum, uint16 direction) {
 	if (_rooms[roomNum]._roomMsg.empty())
 		_resource->readViews(roomNum);
 
-	Common::List<ViewData> &views = _rooms[roomNum]._view[direction];
-
-	Common::List<ViewData>::iterator view;
+	ViewDataList &views = _rooms[roomNum]._view[direction];
+	ViewDataList::iterator view;
 
 	for (view = views.begin(); view != views.end(); ++view) {
 		if (checkConditions(view->_condition))
@@ -69,13 +68,14 @@ ViewData *LabEngine::getViewData(uint16 roomNum, uint16 direction) {
 }
 
 CloseData *LabEngine::getObject(Common::Point pos, CloseDataPtr closePtr) {
-	Common::List<CloseData> *list;
+	CloseDataList *list;
 	if (!closePtr)
 		list = &(getViewData(_roomNum, _direction)->_closeUps);
 	else
 		list = &(closePtr->_subCloseUps);
 
-	Common::List<CloseData>::iterator wrkClosePtr;
+	CloseDataList::iterator wrkClosePtr;
+
 	for (wrkClosePtr = list->begin(); wrkClosePtr != list->end(); ++wrkClosePtr) {
 		Common::Rect objRect;
 		objRect = _utils->rectScale(wrkClosePtr->_x1, wrkClosePtr->_y1, wrkClosePtr->_x2, wrkClosePtr->_y2);
@@ -86,8 +86,8 @@ CloseData *LabEngine::getObject(Common::Point pos, CloseDataPtr closePtr) {
 	return nullptr;
 }
 
-CloseDataPtr LabEngine::findClosePtrMatch(CloseDataPtr closePtr, Common::List<CloseData> &list) {
-	Common::List<CloseData>::iterator i;
+CloseDataPtr LabEngine::findClosePtrMatch(CloseDataPtr closePtr, CloseDataList &list) {
+	CloseDataList::iterator i;
 
 	for (i = list.begin(); i != list.end(); ++i) {
 		if ((closePtr->_x1 == i->_x1) && (closePtr->_x2 == i->_x2) &&
@@ -95,8 +95,7 @@ CloseDataPtr LabEngine::findClosePtrMatch(CloseDataPtr closePtr, Common::List<Cl
 			  (closePtr->_depth == i->_depth))
 			return &(*i);
 
-		CloseDataPtr resClosePtr;
-		resClosePtr = findClosePtrMatch(closePtr, i->_subCloseUps);
+		CloseDataPtr resClosePtr = findClosePtrMatch(closePtr, i->_subCloseUps);
 
 		if (resClosePtr)
 			return resClosePtr;
@@ -173,15 +172,14 @@ uint16 LabEngine::processArrow(uint16 curDirection, uint16 arrow) {
 }
 
 void LabEngine::setCurrentClose(Common::Point pos, CloseDataPtr *closePtrList, bool useAbsoluteCoords, bool next) {
-
-	Common::List<CloseData> *list;
+	CloseDataList *list;
 
 	if (!*closePtrList)
 		list = &(getViewData(_roomNum, _direction)->_closeUps);
 	else
 		list = &((*closePtrList)->_subCloseUps);
 
-	Common::List<CloseData>::iterator closePtr;
+	CloseDataList::iterator closePtr;
 	for (closePtr = list->begin(); closePtr != list->end(); ++closePtr) {
 		Common::Rect target;
 		if (!useAbsoluteCoords)
@@ -212,7 +210,7 @@ void LabEngine::setCurrentClose(Common::Point pos, CloseDataPtr *closePtrList, b
 }
 
 bool LabEngine::takeItem(Common::Point pos, CloseDataPtr *closePtrList) {
-	Common::List<CloseData> *list;
+	CloseDataList *list;
 	if (!*closePtrList) {
 		list = &(getViewData(_roomNum, _direction)->_closeUps);
 	} else if ((*closePtrList)->_closeUpType < 0) {
@@ -221,7 +219,7 @@ bool LabEngine::takeItem(Common::Point pos, CloseDataPtr *closePtrList) {
 	} else
 		list = &((*closePtrList)->_subCloseUps);
 
-	Common::List<CloseData>::iterator closePtr;
+	CloseDataList::iterator closePtr;
 	for (closePtr = list->begin(); closePtr != list->end(); ++closePtr) {
 		Common::Rect objRect;
 		objRect = _utils->rectScale(closePtr->_x1, closePtr->_y1, closePtr->_x2, closePtr->_y2);
@@ -234,8 +232,8 @@ bool LabEngine::takeItem(Common::Point pos, CloseDataPtr *closePtrList) {
 	return false;
 }
 
-void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *closePtrList) {
-	Common::List<Action>::const_iterator action;
+void LabEngine::doActions(const ActionList &actionList, CloseDataPtr *closePtrList) {
+	ActionList::const_iterator action;
 	for (action = actionList.begin(); action != actionList.end(); ++action) {
 		updateMusicAndEvents();
 
@@ -267,7 +265,6 @@ void LabEngine::doActions(const Common::List<Action> &actionList, CloseDataPtr *
 			if (!action->_messages[0].empty())
 				// Puts a file into memory
 				_graphics->loadPict(action->_messages[0]);
-
 			break;
 		
 		case kActionLoadBitmap:
diff --git a/engines/lab/processroom.h b/engines/lab/processroom.h
index 5051588..d865758 100644
--- a/engines/lab/processroom.h
+++ b/engines/lab/processroom.h
@@ -143,13 +143,13 @@ struct CloseData {
 	uint16 _depth;               // Level of the closeup.
 	Common::String _graphicName;
 	Common::String _message;
-	Common::List<CloseData> _subCloseUps;
+	CloseDataList _subCloseUps;
 };
 
 struct ViewData {
 	Common::Array<int16> _condition;
 	Common::String _graphicName;
-	Common::List<CloseData> _closeUps;
+	CloseDataList _closeUps;
 };
 
 struct Action {
@@ -165,13 +165,13 @@ struct Rule {
 	int16 _param1;
 	int16 _param2;
 	Common::Array<int16> _condition;
-	Common::List<Action> _actionList;
+	ActionList _actionList;
 };
 
 struct RoomData {
 	uint16 _doors[4];
 	byte _transitionType;
-	Common::List<ViewData> _view[4];
+	ViewDataList _view[4];
 	RuleList _rules;
 	Common::String _roomMsg;
 };
diff --git a/engines/lab/resource.cpp b/engines/lab/resource.cpp
index 985a71b..17535a7 100644
--- a/engines/lab/resource.cpp
+++ b/engines/lab/resource.cpp
@@ -253,7 +253,7 @@ void Resource::readRule(Common::File *file, RuleList &rules) {
 	}
 }
 
-void Resource::readAction(Common::File *file, Common::List<Action>& list) {
+void Resource::readAction(Common::File *file, ActionList &list) {
 	list.clear();
 
 	while (file->readByte() == 1) {
@@ -275,7 +275,7 @@ void Resource::readAction(Common::File *file, Common::List<Action>& list) {
 	}
 }
 
-void Resource::readCloseUps(uint16 depth, Common::File *file, Common::List<CloseData> &list) {
+void Resource::readCloseUps(uint16 depth, Common::File *file, CloseDataList &list) {
 	list.clear();
 	while (file->readByte() != '\0') {
 		list.push_back(CloseData());
@@ -293,7 +293,7 @@ void Resource::readCloseUps(uint16 depth, Common::File *file, Common::List<Close
 	}
 }
 
-void Resource::readView(Common::File *file, Common::List<ViewData> &list) {
+void Resource::readView(Common::File *file, ViewDataList &list) {
 	list.clear();
 	while (file->readByte() == 1) {
 		list.push_back(ViewData());
diff --git a/engines/lab/resource.h b/engines/lab/resource.h
index 7a7cfb4..307eac3 100644
--- a/engines/lab/resource.h
+++ b/engines/lab/resource.h
@@ -110,9 +110,9 @@ private:
 	Common::String readString(Common::File *file);
 	Common::Array<int16> readConditions(Common::File *file);
 	void readRule(Common::File *file, RuleList &rules);
-	void readAction(Common::File *file, Common::List<Action> &action);
-	void readCloseUps(uint16 depth, Common::File *file, Common::List<CloseData> &close);
-	void readView(Common::File *file, Common::List<ViewData> &view);
+	void readAction(Common::File *file, ActionList &action);
+	void readCloseUps(uint16 depth, Common::File *file, CloseDataList &close);
+	void readView(Common::File *file, ViewDataList &view);
 	void readStaticText();
 	Common::String translateFileName(const Common::String filename);
 


Commit: 9239f4d7741c60173ebc372f8605afbf08233545
    https://github.com/scummvm/scummvm/commit/9239f4d7741c60173ebc372f8605afbf08233545
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2015-12-25T14:12:05+02:00

Commit Message:
LAB: Use the MessageClass enum in the IntuiMessage struct

Changed paths:
    engines/lab/eventman.h



diff --git a/engines/lab/eventman.h b/engines/lab/eventman.h
index ec8f824..a6b6469 100644
--- a/engines/lab/eventman.h
+++ b/engines/lab/eventman.h
@@ -38,7 +38,7 @@ namespace Lab {
 class LabEngine;
 class Image;
 
-enum MessageClasses {
+enum MessageClass {
 	kMessageLeftClick,
 	kMessageRightClick,
 	kMessageButtonUp,
@@ -47,13 +47,12 @@ enum MessageClasses {
 };
 
 struct IntuiMessage {
-	uint32 _msgClass;
+	MessageClass _msgClass;
 	uint16 _code; // KeyCode or Button Id
 	uint16 _qualifier;
 	Common::Point _mouse;
 };
 
-
 struct Button {
 	uint16 _x, _y, _buttonId;
 	Common::KeyCode _keyEquiv; // the key which activates this button


Commit: 7f2b69b75c8e352ea06c9571992a00d5ffe7308f
    https://github.com/scummvm/scummvm/commit/7f2b69b75c8e352ea06c9571992a00d5ffe7308f
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2015-12-25T14:12:06+02:00

Commit Message:
LAB: Rename fromCrumbs() to processEvent() and simplify it a bit

Changed paths:
    engines/lab/engine.cpp
    engines/lab/eventman.h
    engines/lab/lab.h



diff --git a/engines/lab/engine.cpp b/engines/lab/engine.cpp
index c46910c..91388ea 100644
--- a/engines/lab/engine.cpp
+++ b/engines/lab/engine.cpp
@@ -498,7 +498,7 @@ void LabEngine::mainGameLoop() {
 					gotMessage = true;
 					mayShowCrumbIndicator();
 					_graphics->screenUpdate();
-					if (!fromCrumbs(kMessageButtonUp, code, 0, _event->updateAndGetMousePos(), curInv, curMsg, forceDraw, code, actionMode))
+					if (!processEvent(kMessageButtonUp, code, 0, _event->updateAndGetMousePos(), curInv, curMsg, forceDraw, code, actionMode))
 						break;
 				}
 			}
@@ -508,7 +508,7 @@ void LabEngine::mainGameLoop() {
 		} else {
 			gotMessage = true;
 			_followingCrumbs = false;
-			if (!fromCrumbs(curMsg->_msgClass, curMsg->_code, curMsg->_qualifier, curMsg->_mouse, curInv, curMsg, forceDraw, curMsg->_code, actionMode))
+			if (!processEvent(curMsg->_msgClass, curMsg->_code, curMsg->_qualifier, curMsg->_mouse, curInv, curMsg, forceDraw, curMsg->_code, actionMode))
 				break;
 		}
 	}
@@ -533,59 +533,46 @@ void LabEngine::showLab2Teaser() {
 	}
 }
 
-bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos,
+bool LabEngine::processEvent(MessageClass tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos,
 			uint16 &curInv, IntuiMessage *curMsg, bool &forceDraw, uint16 buttonId, uint16 &actionMode) {
-	uint32 msgClass = tmpClass;
+	MessageClass msgClass = tmpClass;
 	Common::Point curPos = tmpPos;
-
 	uint16 oldDirection = 0;
 	uint16 lastInv = kItemMap;
-	bool leftButtonClick = false;
-	bool rightButtonClick = false;
+
+	if (code == Common::KEYCODE_RETURN)
+		msgClass = kMessageLeftClick;
+
+	bool leftButtonClick = (msgClass == kMessageLeftClick);
+	bool rightButtonClick = (msgClass == kMessageRightClick);
 
 	_anim->_doBlack = false;
 
 	if (shouldQuit())
 		return false;
 
-	if ((msgClass == kMessageRawKey) && !_graphics->_longWinInFront) {
+	if (msgClass == kMessageRawKey && !_graphics->_longWinInFront) {
 		if (!processKey(curMsg, msgClass, qualifier, curPos, curInv, forceDraw, code))
 			return false;
-	}
-
-	leftButtonClick = (msgClass == kMessageLeftClick);
-	rightButtonClick = (msgClass == kMessageRightClick);
-
-	if (_graphics->_longWinInFront) {
-		if ((msgClass == kMessageRawKey) || (leftButtonClick || rightButtonClick)) {
-			_graphics->_longWinInFront = false;
-			_graphics->drawPanel();
-			drawRoomMessage(curInv, _closeDataPtr);
-			_graphics->screenUpdate();
-		}
-	} else if ((msgClass == kMessageButtonUp) && !_alternate) {
-		processMainButton(curInv, lastInv, oldDirection, forceDraw, buttonId, actionMode);
-	} else if ((msgClass == kMessageButtonUp) && _alternate) {
-		processAltButton(curInv, lastInv, buttonId, actionMode);
+	} else if ((msgClass == kMessageRawKey || leftButtonClick || rightButtonClick) && _graphics->_longWinInFront) {
+		_graphics->_longWinInFront = false;
+		_graphics->drawPanel();
+		drawRoomMessage(curInv, _closeDataPtr);
+		_graphics->screenUpdate();
+	} else if (msgClass == kMessageButtonUp) {
+		if (!_alternate)
+			processMainButton(curInv, lastInv, oldDirection, forceDraw, buttonId, actionMode);
+		else
+			processAltButton(curInv, lastInv, buttonId, actionMode);
 	} else if (leftButtonClick && _mainDisplay) {
 		interfaceOff();
 		_mainDisplay = true;
 
-		if (_closeDataPtr) {
-			switch (_closeDataPtr->_closeUpType) {
-			case SPECIALLOCK:
-				if (_mainDisplay)
-					_tilePuzzle->mouseCombination(curPos);
-				break;
-			case SPECIALBRICK:
-				if (_mainDisplay)
-					_tilePuzzle->mouseTile(curPos);
-				break;
-			default:
-				performAction(actionMode, curPos, curInv);
-				break;
-			}
-		} else
+		if (_closeDataPtr && _closeDataPtr->_closeUpType == SPECIALLOCK)
+			_tilePuzzle->mouseCombination(curPos);
+		else if (_closeDataPtr && _closeDataPtr->_closeUpType == SPECIALBRICK)
+			_tilePuzzle->mouseTile(curPos);
+		else
 			performAction(actionMode, curPos, curInv);
 
 		mayShowCrumbIndicator();
@@ -610,7 +597,7 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
 
 		mayShowCrumbIndicator();
 		_graphics->screenUpdate();
-	} else if (msgClass == kMessageMoveCursorToCloseup) {
+	} else if (code == Common::KEYCODE_TAB) {
 		CloseDataPtr tmpClosePtr = _closeDataPtr;
 
 		// get next close-up in list after the one pointed to by curPos
@@ -623,13 +610,8 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
 	return true;
 }
 
-bool LabEngine::processKey(IntuiMessage *curMsg, uint32 &msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code) {
-	if (code == Common::KEYCODE_RETURN) {
-		// The return key
-		msgClass = kMessageLeftClick;
-		qualifier = 0;
-		curPos = _event->getMousePos();
-	} else if ((getPlatform() == Common::kPlatformWindows) && (code == Common::KEYCODE_b)) {
+bool LabEngine::processKey(IntuiMessage *curMsg, uint32 msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code) {
+	if ((getPlatform() == Common::kPlatformWindows) && (code == Common::KEYCODE_b)) {
 		// Start bread crumbs
 		_breadCrumbs[0]._roomNum = 0;
 		_numCrumbs = 0;
@@ -697,9 +679,7 @@ bool LabEngine::processKey(IntuiMessage *curMsg, uint32 &msgClass, uint16 &quali
 
 		forceDraw = true;
 		interfaceOn();
-	} else if (code == Common::KEYCODE_TAB)
-		msgClass = kMessageMoveCursorToCloseup;
-	else if (code == Common::KEYCODE_ESCAPE)
+	} else if (code == Common::KEYCODE_ESCAPE)
 		_closeDataPtr = nullptr;
 
 	eatMessages();
@@ -734,6 +714,7 @@ void LabEngine::processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDi
 			drawStaticMessage(kTextTakeWhat + buttonId);
 		}
 		break;
+
 	case kButtonInventory:
 		eatMessages();
 
@@ -835,6 +816,7 @@ void LabEngine::processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDi
 
 		mayShowCrumbIndicator();
 		break;
+
 	case kButtonMap:
 		doUse(kItemMap);
 
diff --git a/engines/lab/eventman.h b/engines/lab/eventman.h
index a6b6469..34cd3b0 100644
--- a/engines/lab/eventman.h
+++ b/engines/lab/eventman.h
@@ -38,14 +38,6 @@ namespace Lab {
 class LabEngine;
 class Image;
 
-enum MessageClass {
-	kMessageLeftClick,
-	kMessageRightClick,
-	kMessageButtonUp,
-	kMessageRawKey,
-	kMessageMoveCursorToCloseup
-};
-
 struct IntuiMessage {
 	MessageClass _msgClass;
 	uint16 _code; // KeyCode or Button Id
diff --git a/engines/lab/lab.h b/engines/lab/lab.h
index 1f53f23..958f159 100644
--- a/engines/lab/lab.h
+++ b/engines/lab/lab.h
@@ -114,6 +114,13 @@ enum MainButton {
 	kButtonMap
 };
 
+enum MessageClass {
+	kMessageLeftClick,
+	kMessageRightClick,
+	kMessageButtonUp,
+	kMessageRawKey
+};
+
 class LabEngine : public Engine {
 private:
 	bool _interfaceOff;
@@ -366,7 +373,7 @@ private:
 	MainButton followCrumbs();
 	void freeMapData();
 	void freeScreens();
-	bool fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos,
+	bool processEvent(MessageClass tmpClass, uint16 code, uint16 qualifier, Common::Point tmpPos,
 		uint16 &curInv, IntuiMessage *curMsg, bool &forceDraw, uint16 buttonId, uint16 &actionMode);
 
 	/**
@@ -469,7 +476,7 @@ private:
 	 * Does the turn page wipe.
 	 */
 	void turnPage(bool fromLeft);
-	bool processKey(IntuiMessage *curMsg, uint32 &msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code);
+	bool processKey(IntuiMessage *curMsg, uint32 msgClass, uint16 &qualifier, Common::Point &curPos, uint16 &curInv, bool &forceDraw, uint16 code);
 	void processMainButton(uint16 &curInv, uint16 &lastInv, uint16 &oldDirection, bool &forceDraw, uint16 buttonId, uint16 &actionMode);
 	void processAltButton(uint16 &curInv, uint16 &lastInv, uint16 buttonId, uint16 &actionMode);
 	void performAction(uint16 actionMode, Common::Point curPos, uint16 &curInv);






More information about the Scummvm-git-logs mailing list