LAB: Simplify fromCrumbs()

This commit is contained in:
Filippos Karapetis 2015-12-13 16:59:52 +02:00 committed by Willem Jan Palenstijn
parent 577b60d785
commit 0dcfd74b84

View file

@ -588,24 +588,26 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
_anim->_doBlack = false; _anim->_doBlack = false;
if ((msgClass == RAWKEY) && (!_graphics->_longWinInFront)) { if ((msgClass == RAWKEY) && (!_graphics->_longWinInFront)) {
byte codeLower = tolower(code);
if (code == 13) { if (code == 13) {
// The return key // The return key
msgClass = MOUSEBUTTONS; msgClass = MOUSEBUTTONS;
qualifier = IEQUALIFIER_LEFTBUTTON; qualifier = IEQUALIFIER_LEFTBUTTON;
curPos = _event->getMousePos(); curPos = _event->getMousePos();
} else if (getPlatform() == Common::kPlatformWindows && (code == 'b' || code == 'B')) { } else if (getPlatform() == Common::kPlatformWindows && codeLower == 'b') {
// Start bread crumbs // Start bread crumbs
_breadCrumbs[0]._roomNum = 0; _breadCrumbs[0]._roomNum = 0;
_numCrumbs = 0; _numCrumbs = 0;
_droppingCrumbs = true; _droppingCrumbs = true;
mayShowCrumbIndicator(); mayShowCrumbIndicator();
_graphics->screenUpdate(); _graphics->screenUpdate();
} else if (code == 'f' || code == 'F' || code == 'r' || code == 'R') { } else if (codeLower == 'f' || codeLower == 'r') {
// Follow bread crumbs // Follow bread crumbs
if (_droppingCrumbs) { if (_droppingCrumbs) {
if (_numCrumbs > 0) { if (_numCrumbs > 0) {
_followingCrumbs = true; _followingCrumbs = true;
_followCrumbsFast = (code == 'r' || code == 'R'); _followCrumbsFast = (codeLower == 'r');
_isCrumbTurning = false; _isCrumbTurning = false;
_isCrumbWaiting = false; _isCrumbWaiting = false;
uint32 t = g_system->getMillis(); uint32 t = g_system->getMillis();
@ -634,11 +636,10 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
_graphics->screenUpdate(); _graphics->screenUpdate();
} }
} }
} else if ((code == 315) || (code == 'x') || (code == 'X') || (code == 'q') || (code == 'Q')) { } else if (code == 315 || codeLower == 'x' || codeLower == 'q') {
// Quit? // Quit?
_graphics->_doNotDrawMessage = false; _graphics->_doNotDrawMessage = false;
_graphics->drawMessage("Do you want to quit? (Y/N)"); _graphics->drawMessage("Do you want to quit? (Y/N)");
doit = false;
eatMessages(); eatMessages();
interfaceOff(); interfaceOff();
@ -653,9 +654,10 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
_anim->diffNextFrame(); _anim->diffNextFrame();
} else { } else {
if (curMsg->_msgClass == RAWKEY) { if (curMsg->_msgClass == RAWKEY) {
if ((curMsg->_code == 'Y') || (curMsg->_code == 'y') || (curMsg->_code == 'Q') || (curMsg->_code == 'q')) { codeLower = tolower(curMsg->_code);
doit = true; if (codeLower == 'y' || codeLower == 'q') {
break; _anim->stopDiff();
return false;
} else if (curMsg->_code < 128) { } else if (curMsg->_code < 128) {
break; break;
} }
@ -665,13 +667,8 @@ bool LabEngine::fromCrumbs(uint32 tmpClass, uint16 code, uint16 qualifier, Commo
} }
} }
if (doit) { forceDraw = true;
_anim->stopDiff(); interfaceOn();
return false;
} else {
forceDraw = true;
interfaceOn();
}
} else if (code == 9) { } else if (code == 9) {
// TAB key // TAB key
msgClass = DELTAMOVE; msgClass = DELTAMOVE;