aboutsummaryrefslogtreecommitdiff
path: root/engines/lab/processroom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lab/processroom.cpp')
-rw-r--r--engines/lab/processroom.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp
index 854c629e93..d54a7fc2fc 100644
--- a/engines/lab/processroom.cpp
+++ b/engines/lab/processroom.cpp
@@ -104,14 +104,14 @@ CloseDataPtr LabEngine::findClosePtrMatch(CloseDataPtr closePtr, CloseDataList &
return nullptr;
}
-Common::String LabEngine::getPictName(CloseDataPtr *closePtrList) {
+Common::String LabEngine::getPictName(bool useClose) {
ViewData *viewPtr = getViewData(_roomNum, _direction);
- if (*closePtrList) {
- *closePtrList = findClosePtrMatch(*closePtrList, viewPtr->_closeUps);
+ if (useClose && _closeDataPtr) {
+ _closeDataPtr = findClosePtrMatch(_closeDataPtr, viewPtr->_closeUps);
- if (*closePtrList)
- return (*closePtrList)->_graphicName;
+ if (_closeDataPtr)
+ return _closeDataPtr->_graphicName;
}
return viewPtr->_graphicName;
@@ -209,15 +209,15 @@ void LabEngine::setCurrentClose(Common::Point pos, CloseDataPtr *closePtrList, b
}
}
-bool LabEngine::takeItem(Common::Point pos, CloseDataPtr *closePtrList) {
+bool LabEngine::takeItem(Common::Point pos) {
CloseDataList *list;
- if (!*closePtrList) {
+ if (!_closeDataPtr) {
list = &(getViewData(_roomNum, _direction)->_closeUps);
- } else if ((*closePtrList)->_closeUpType < 0) {
- _conditions->inclElement(abs((*closePtrList)->_closeUpType));
+ } else if (_closeDataPtr->_closeUpType < 0) {
+ _conditions->inclElement(abs(_closeDataPtr->_closeUpType));
return true;
} else
- list = &((*closePtrList)->_subCloseUps);
+ list = &(_closeDataPtr->_subCloseUps);
CloseDataList::iterator closePtr;
for (closePtr = list->begin(); closePtr != list->end(); ++closePtr) {
@@ -274,7 +274,7 @@ void LabEngine::doActions(const ActionList &actionList) {
error("Unused opcode kActionShowBitmap has been called");
case kActionTransition:
- _graphics->doTransition((TransitionType)action->_param1, &_closeDataPtr, action->_messages[0].c_str());
+ _graphics->doTransition((TransitionType)action->_param1, action->_messages[0].c_str());
break;
case kActionNoUpdate:
@@ -287,7 +287,7 @@ void LabEngine::doActions(const ActionList &actionList) {
break;
case kActionShowCurPict: {
- Common::String test = getPictName(&_closeDataPtr);
+ Common::String test = getPictName(true);
if (test != _curFileName) {
_curFileName = test;
@@ -324,7 +324,7 @@ void LabEngine::doActions(const ActionList &actionList) {
if (action->_param1 & 0x8000) {
// This is a Wyrmkeep Windows trial version, thus stop at this
// point, since we can't check for game payment status
- _graphics->readPict(getPictName(&_closeDataPtr));
+ _graphics->readPict(getPictName(true));
GUI::MessageDialog trialMessage("This is the end of the trial version. You can play the full game using the original interpreter from Wyrmkeep");
trialMessage.runModal();
break;