diff options
author | Willem Jan Palenstijn | 2015-12-26 14:01:45 +0100 |
---|---|---|
committer | Willem Jan Palenstijn | 2015-12-26 14:04:39 +0100 |
commit | e3ce65cce86c9ae82e00d215cc9f59c5386633c6 (patch) | |
tree | 1a1186f596f1ac26befecd4d78efd3703f1d93d2 /engines/lab | |
parent | 6daf92cbf41bb152c77312b692474fb44b5a7aee (diff) | |
download | scummvm-rg350-e3ce65cce86c9ae82e00d215cc9f59c5386633c6.tar.gz scummvm-rg350-e3ce65cce86c9ae82e00d215cc9f59c5386633c6.tar.bz2 scummvm-rg350-e3ce65cce86c9ae82e00d215cc9f59c5386633c6.zip |
LAB: Reduce passing around of pointers to the near-global _closeDataPtr
Diffstat (limited to 'engines/lab')
-rw-r--r-- | engines/lab/engine.cpp | 10 | ||||
-rw-r--r-- | engines/lab/lab.h | 6 | ||||
-rw-r--r-- | engines/lab/processroom.cpp | 36 |
3 files changed, 26 insertions, 26 deletions
diff --git a/engines/lab/engine.cpp b/engines/lab/engine.cpp index b88a00024f..8c95f9631f 100644 --- a/engines/lab/engine.cpp +++ b/engines/lab/engine.cpp @@ -952,13 +952,13 @@ void LabEngine::performAction(uint16 actionMode, Common::Point curPos, uint16 &c switch (actionMode) { case 0: // Take something. - if (doActionRule(curPos, actionMode, _roomNum, &_closeDataPtr)) + if (doActionRule(curPos, actionMode, _roomNum)) _curFileName = _newFileName; else if (takeItem(curPos, &_closeDataPtr)) drawStaticMessage(kTextTakeItem); - else if (doActionRule(curPos, kRuleActionTakeDef, _roomNum, &_closeDataPtr)) + else if (doActionRule(curPos, kRuleActionTakeDef, _roomNum)) _curFileName = _newFileName; - else if (doActionRule(curPos, kRuleActionTake, 0, &_closeDataPtr)) + else if (doActionRule(curPos, kRuleActionTake, 0)) _curFileName = _newFileName; else if (curPos.y < (_utils->vgaScaleY(149) + _utils->svgaCord(2))) drawStaticMessage(kTextNothing); @@ -969,9 +969,9 @@ void LabEngine::performAction(uint16 actionMode, Common::Point curPos, uint16 &c case 2: case 3: // Manipulate an object, Open up a "door" or Close a "door" - if (doActionRule(curPos, actionMode, _roomNum, &_closeDataPtr)) + if (doActionRule(curPos, actionMode, _roomNum)) _curFileName = _newFileName; - else if (!doActionRule(curPos, actionMode, 0, &_closeDataPtr)) { + else if (!doActionRule(curPos, actionMode, 0)) { if (curPos.y < (_utils->vgaScaleY(149) + _utils->svgaCord(2))) drawStaticMessage(kTextNothing); } diff --git a/engines/lab/lab.h b/engines/lab/lab.h index 9a6ddc98c2..f0849f2ed3 100644 --- a/engines/lab/lab.h +++ b/engines/lab/lab.h @@ -245,12 +245,12 @@ private: /** * Goes through the rules if an action is taken. */ - bool doActionRule(Common::Point pos, int16 action, int16 roomNum, CloseDataPtr *closePtrList); + bool doActionRule(Common::Point pos, int16 action, int16 roomNum); /** * Does the work for doActionRule. */ - bool doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closePtr, CloseDataPtr *setCloseList, bool allowDefaults); + bool doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closePtr, bool allowDefaults); /** * Checks whether the close up is one of the special case closeups. @@ -290,7 +290,7 @@ private: /** * Does the work for doActionRule. */ - bool doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr closePtr, CloseDataPtr *setCloseList, bool allowDefaults); + bool doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr closePtr, bool allowDefaults); /** * Goes through the rules if the user tries to operate an item on an object. diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp index a7a1ee01ed..9db9dbb697 100644 --- a/engines/lab/processroom.cpp +++ b/engines/lab/processroom.cpp @@ -486,7 +486,7 @@ void LabEngine::doActions(const ActionList &actionList, CloseDataPtr *closePtrLi } } -bool LabEngine::doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closePtr, CloseDataPtr *setCloseList, bool allowDefaults) { +bool LabEngine::doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closePtr, bool allowDefaults) { action++; if (closePtr) { @@ -504,7 +504,7 @@ bool LabEngine::doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closeP ((rule->_param2 == 0) && allowDefaults)) || ((action == 1) && (rule->_param2 == -closePtr->_closeUpType))) { if (checkConditions(rule->_condition)) { - doActions(rule->_actionList, setCloseList); + doActions(rule->_actionList, &_closeDataPtr); return true; } } @@ -515,27 +515,27 @@ bool LabEngine::doActionRuleSub(int16 action, int16 roomNum, CloseDataPtr closeP return false; } -bool LabEngine::doActionRule(Common::Point pos, int16 action, int16 roomNum, CloseDataPtr *closePtrList) { +bool LabEngine::doActionRule(Common::Point pos, int16 action, int16 roomNum) { if (roomNum) _newFileName = NOFILE; else _newFileName = _curFileName; - CloseDataPtr curClosePtr = getObject(pos, *closePtrList); + CloseDataPtr curClosePtr = getObject(pos, _closeDataPtr); - if (doActionRuleSub(action, roomNum, curClosePtr, closePtrList, false)) + if (doActionRuleSub(action, roomNum, curClosePtr, false)) return true; - else if (doActionRuleSub(action, roomNum, *closePtrList, closePtrList, false)) + else if (doActionRuleSub(action, roomNum, _closeDataPtr, false)) return true; - else if (doActionRuleSub(action, roomNum, curClosePtr, closePtrList, true)) + else if (doActionRuleSub(action, roomNum, curClosePtr, true)) return true; - else if (doActionRuleSub(action, roomNum, *closePtrList, closePtrList, true)) + else if (doActionRuleSub(action, roomNum, _closeDataPtr, true)) return true; return false; } -bool LabEngine::doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr closePtr, CloseDataPtr *setCloseList, bool allowDefaults) { +bool LabEngine::doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr closePtr, bool allowDefaults) { if (closePtr) if (closePtr->_closeUpType > 0) { RuleList *rules = &(_rooms[roomNum]._rules); @@ -550,7 +550,7 @@ bool LabEngine::doOperateRuleSub(int16 itemNum, int16 roomNum, CloseDataPtr clos ((rule->_param1 == itemNum) || ((rule->_param1 == 0) && allowDefaults)) && ((rule->_param2 == closePtr->_closeUpType) || ((rule->_param2 == 0) && allowDefaults))) { if (checkConditions(rule->_condition)) { - doActions(rule->_actionList, setCloseList); + doActions(rule->_actionList, &_closeDataPtr); return true; } } @@ -564,24 +564,24 @@ bool LabEngine::doOperateRule(Common::Point pos, int16 ItemNum) { _newFileName = NOFILE; CloseDataPtr closePtr = getObject(pos, _closeDataPtr); - if (doOperateRuleSub(ItemNum, _roomNum, closePtr, &_closeDataPtr, false)) + if (doOperateRuleSub(ItemNum, _roomNum, closePtr, false)) return true; - else if (doOperateRuleSub(ItemNum, _roomNum, _closeDataPtr, &_closeDataPtr, false)) + else if (doOperateRuleSub(ItemNum, _roomNum, _closeDataPtr, false)) return true; - else if (doOperateRuleSub(ItemNum, _roomNum, closePtr, &_closeDataPtr, true)) + else if (doOperateRuleSub(ItemNum, _roomNum, closePtr, true)) return true; - else if (doOperateRuleSub(ItemNum, _roomNum, _closeDataPtr, &_closeDataPtr, true)) + else if (doOperateRuleSub(ItemNum, _roomNum, _closeDataPtr, true)) return true; else { _newFileName = _curFileName; - if (doOperateRuleSub(ItemNum, 0, closePtr, &_closeDataPtr, false)) + if (doOperateRuleSub(ItemNum, 0, closePtr, false)) return true; - else if (doOperateRuleSub(ItemNum, 0, _closeDataPtr, &_closeDataPtr, false)) + else if (doOperateRuleSub(ItemNum, 0, _closeDataPtr, false)) return true; - else if (doOperateRuleSub(ItemNum, 0, closePtr, &_closeDataPtr, true)) + else if (doOperateRuleSub(ItemNum, 0, closePtr, true)) return true; - else if (doOperateRuleSub(ItemNum, 0, _closeDataPtr, &_closeDataPtr, true)) + else if (doOperateRuleSub(ItemNum, 0, _closeDataPtr, true)) return true; } |