LAB: Turned another if chain into switch

This commit is contained in:
Eugene Sandulenko 2015-12-14 10:28:12 +01:00 committed by Willem Jan Palenstijn
parent 1120958dac
commit cbf4c876e5

View file

@ -709,7 +709,14 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
_graphics->screenUpdate(); _graphics->screenUpdate();
} }
} else if ((msgClass == BUTTONUP) && !_alternate) { } else if ((msgClass == BUTTONUP) && !_alternate) {
if (buttonId <= 5) { uint16 newDir;
switch (buttonId) {
case 0:
case 1:
case 2:
case 3:
case 4:
if ((actionMode == 4) && (buttonId == 4) && _closeDataPtr) { if ((actionMode == 4) && (buttonId == 4) && _closeDataPtr) {
doMainView(&_closeDataPtr); doMainView(&_closeDataPtr);
@ -717,7 +724,18 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
wrkClosePtr = nullptr; wrkClosePtr = nullptr;
_closeDataPtr = nullptr; _closeDataPtr = nullptr;
mayShowCrumbIndicator(); mayShowCrumbIndicator();
} else if (buttonId == 5) { } else {
uint16 oldActionMode = actionMode;
actionMode = buttonId;
if (oldActionMode < 5)
perFlipButton(oldActionMode);
perFlipButton(actionMode);
drawStaticMessage(kTextTakeWhat + buttonId);
}
break;
case 5:
eatMessages(); eatMessages();
_alternate = true; _alternate = true;
@ -737,26 +755,19 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
drawRoomMessage(curInv, _closeDataPtr); drawRoomMessage(curInv, _closeDataPtr);
mayShowCrumbIndicator(); mayShowCrumbIndicator();
} else { break;
uint16 oldActionMode = actionMode;
actionMode = buttonId;
if (oldActionMode < 5) case 9:
perFlipButton(oldActionMode);
perFlipButton(actionMode);
drawStaticMessage(kTextTakeWhat + buttonId);
}
} else if (buttonId == 9) {
doUse(kItemMap); doUse(kItemMap);
mayShowCrumbIndicator(); mayShowCrumbIndicator();
} else if (buttonId >= 6) { break;
case 6:
case 8:
// Arrow Buttons // Arrow Buttons
_closeDataPtr = nullptr; _closeDataPtr = nullptr;
wrkClosePtr = nullptr; wrkClosePtr = nullptr;
if ((buttonId == 6) || (buttonId == 8)) {
if (buttonId == 6) if (buttonId == 6)
drawStaticMessage(kTextTurnLeft); drawStaticMessage(kTextTurnLeft);
else else
@ -766,14 +777,18 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
oldDirection = _direction; oldDirection = _direction;
uint16 newDir = processArrow(_direction, buttonId - 6); newDir = processArrow(_direction, buttonId - 6);
doTurn(_direction, newDir, &_closeDataPtr); doTurn(_direction, newDir, &_closeDataPtr);
_anim->_doBlack = true; _anim->_doBlack = true;
_direction = newDir; _direction = newDir;
forceDraw = true; forceDraw = true;
mayShowCrumbIndicator(); mayShowCrumbIndicator();
} else if (buttonId == 7) { break;
case 7:
_closeDataPtr = nullptr;
wrkClosePtr = nullptr;
uint16 oldRoomNum = _roomNum; uint16 oldRoomNum = _roomNum;
if (doGoForward(&_closeDataPtr)) { if (doGoForward(&_closeDataPtr)) {
@ -835,7 +850,7 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
} }
mayShowCrumbIndicator(); mayShowCrumbIndicator();
} break;
} }
_graphics->screenUpdate(); _graphics->screenUpdate();
} else if ((msgClass == BUTTONUP) && _alternate) { } else if ((msgClass == BUTTONUP) && _alternate) {