diff options
Diffstat (limited to 'engines/dm/dialog.cpp')
-rw-r--r-- | engines/dm/dialog.cpp | 130 |
1 files changed, 60 insertions, 70 deletions
diff --git a/engines/dm/dialog.cpp b/engines/dm/dialog.cpp index 25ff25d4d9..c6b317c927 100644 --- a/engines/dm/dialog.cpp +++ b/engines/dm/dialog.cpp @@ -163,18 +163,11 @@ bool DialogMan::isMessageOnTwoLines(const char *str, char *part1, char *part2) { } int16 DialogMan::getChoice(uint16 choiceCount, uint16 dialogSetIndex, int16 driveType, int16 automaticChoiceIfFlopyInDrive) { - MouseInput *L1298_ps_PrimaryMouseInputBackup; - MouseInput *L1299_ps_SecondaryMouseInputBackup; - KeyboardInput *L1300_ps_PrimaryKeyboardInputBackup; - KeyboardInput *L1301_ps_SecondaryKeyboardInputBackup; - Box L1303_s_BoxB; - Box L1304_s_BoxA; - _vm->_eventMan->hideMouse(); - L1298_ps_PrimaryMouseInputBackup = _vm->_eventMan->_primaryMouseInput; - L1299_ps_SecondaryMouseInputBackup = _vm->_eventMan->_secondaryMouseInput; - L1300_ps_PrimaryKeyboardInputBackup = _vm->_eventMan->_primaryKeyboardInput; - L1301_ps_SecondaryKeyboardInputBackup = _vm->_eventMan->_secondaryKeyboardInput; + MouseInput *primaryMouseInputBackup = _vm->_eventMan->_primaryMouseInput; + MouseInput *secondaryMouseInputBackup = _vm->_eventMan->_secondaryMouseInput; + KeyboardInput *primaryKeyboardInputBackup = _vm->_eventMan->_primaryKeyboardInput; + KeyboardInput *secondaryKeyboardInputBackup = _vm->_eventMan->_secondaryKeyboardInput; _vm->_eventMan->_secondaryMouseInput = nullptr; _vm->_eventMan->_primaryKeyboardInput = nullptr; _vm->_eventMan->_secondaryKeyboardInput = nullptr; @@ -194,73 +187,70 @@ int16 DialogMan::getChoice(uint16 choiceCount, uint16 dialogSetIndex, int16 driv } } while (_selectedDialogChoice == 99); _vm->_displayMan->_useByteBoxCoordinates = false; - L1304_s_BoxA = _vm->_eventMan->_primaryMouseInput[_selectedDialogChoice - 1]._hitbox; - L1304_s_BoxA._x1 -= 3; - L1304_s_BoxA._x2 += 3; - L1304_s_BoxA._y1 -= 3; - L1304_s_BoxA._y2 += 4; + Box boxA = _vm->_eventMan->_primaryMouseInput[_selectedDialogChoice - 1]._hitbox; + boxA._x1 -= 3; + boxA._x2 += 3; + boxA._y1 -= 3; + boxA._y2 += 4; _vm->_eventMan->showMouse(); _vm->_displayMan->_drawFloorAndCeilingRequested = true; - L1303_s_BoxB._x1 = 0; - L1303_s_BoxB._y1 = 0; - L1303_s_BoxB._y2 = L1304_s_BoxA._y2 - L1304_s_BoxA._y1 + 3; - L1303_s_BoxB._x2 = L1304_s_BoxA._x2 - L1304_s_BoxA._x1 + 3; + Box boxB(0, 0, boxA._x2 - boxA._x1 + 3, boxA._y2 - boxA._y1 + 3); _vm->_displayMan->blitToBitmap(_vm->_displayMan->_bitmapScreen, _vm->_displayMan->_bitmapViewport, - L1303_s_BoxB, L1304_s_BoxA._x1, L1304_s_BoxA._y1, k160_byteWidthScreen, k160_byteWidthScreen, kM1_ColorNoTransparency, 200, 25); + boxB, boxA._x1, boxA._y1, k160_byteWidthScreen, k160_byteWidthScreen, kM1_ColorNoTransparency, 200, 25); _vm->delay(1); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._y2 = L1303_s_BoxB._y1; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k5_ColorLightBrown); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._x2 = L1303_s_BoxB._x1; - L1303_s_BoxB._y2--; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k5_ColorLightBrown); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._y2--; - L1303_s_BoxB._y1 = L1303_s_BoxB._y2; - L1303_s_BoxB._x1 -= 2; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k0_ColorBlack); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._x1 = L1303_s_BoxB._x2; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k0_ColorBlack); + boxB = boxA; + boxB._y2 = boxB._y1; + _vm->_displayMan->fillScreenBox(boxB, k5_ColorLightBrown); + boxB = boxA; + boxB._x2 = boxB._x1; + boxB._y2--; + _vm->_displayMan->fillScreenBox(boxB, k5_ColorLightBrown); + boxB = boxA; + boxB._y2--; + boxB._y1 = boxB._y2; + boxB._x1 -= 2; + _vm->_displayMan->fillScreenBox(boxB, k0_ColorBlack); + boxB = boxA; + boxB._x1 = boxB._x2; + _vm->_displayMan->fillScreenBox(boxB, k0_ColorBlack); _vm->delay(2); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._y1++; - L1303_s_BoxB._y2 = L1303_s_BoxB._y1; - L1303_s_BoxB._x2 -= 2; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k5_ColorLightBrown); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._x1++; - L1303_s_BoxB._x2 = L1303_s_BoxB._x1; - L1303_s_BoxB._y2--; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k5_ColorLightBrown); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._x2--; - L1303_s_BoxB._x1 = L1303_s_BoxB._x2; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k0_ColorBlack); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._y1 = L1303_s_BoxB._y2 = L1303_s_BoxB._y2 - 2; - L1303_s_BoxB._x1++; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k0_ColorBlack); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._y1 = L1303_s_BoxB._y2 = L1303_s_BoxB._y2 + 2; - L1303_s_BoxB._x1--; - L1303_s_BoxB._x2 += 2; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k13_ColorLightestGray); - L1303_s_BoxB = L1304_s_BoxA; - L1303_s_BoxB._x1 = L1303_s_BoxB._x2 = L1303_s_BoxB._x2 + 3; - L1303_s_BoxB._y2 += 2; - _vm->_displayMan->fillScreenBox(L1303_s_BoxB, k13_ColorLightestGray); + boxB = boxA; + boxB._y1++; + boxB._y2 = boxB._y1; + boxB._x2 -= 2; + _vm->_displayMan->fillScreenBox(boxB, k5_ColorLightBrown); + boxB = boxA; + boxB._x1++; + boxB._x2 = boxB._x1; + boxB._y2--; + _vm->_displayMan->fillScreenBox(boxB, k5_ColorLightBrown); + boxB = boxA; + boxB._x2--; + boxB._x1 = boxB._x2; + _vm->_displayMan->fillScreenBox(boxB, k0_ColorBlack); + boxB = boxA; + boxB._y1 = boxB._y2 = boxB._y2 - 2; + boxB._x1++; + _vm->_displayMan->fillScreenBox(boxB, k0_ColorBlack); + boxB = boxA; + boxB._y1 = boxB._y2 = boxB._y2 + 2; + boxB._x1--; + boxB._x2 += 2; + _vm->_displayMan->fillScreenBox(boxB, k13_ColorLightestGray); + boxB = boxA; + boxB._x1 = boxB._x2 = boxB._x2 + 3; + boxB._y2 += 2; + _vm->_displayMan->fillScreenBox(boxB, k13_ColorLightestGray); _vm->delay(2); - L1304_s_BoxA._x2 += 3; - L1304_s_BoxA._y2 += 3; + boxA._x2 += 3; + boxA._y2 += 3; _vm->_displayMan->blitToBitmap(_vm->_displayMan->_bitmapViewport, _vm->_displayMan->_bitmapScreen, - L1304_s_BoxA, 0, 0, k160_byteWidthScreen, k160_byteWidthScreen, kM1_ColorNoTransparency, 25, k200_heightScreen); + boxA, 0, 0, k160_byteWidthScreen, k160_byteWidthScreen, kM1_ColorNoTransparency, 25, k200_heightScreen); _vm->_eventMan->hideMouse(); - _vm->_eventMan->_primaryMouseInput = L1298_ps_PrimaryMouseInputBackup; - _vm->_eventMan->_secondaryMouseInput = L1299_ps_SecondaryMouseInputBackup; - _vm->_eventMan->_primaryKeyboardInput = L1300_ps_PrimaryKeyboardInputBackup; - _vm->_eventMan->_secondaryKeyboardInput = L1301_ps_SecondaryKeyboardInputBackup; + _vm->_eventMan->_primaryMouseInput = primaryMouseInputBackup; + _vm->_eventMan->_secondaryMouseInput = secondaryMouseInputBackup; + _vm->_eventMan->_primaryKeyboardInput = primaryKeyboardInputBackup; + _vm->_eventMan->_secondaryKeyboardInput = secondaryKeyboardInputBackup; _vm->_eventMan->discardAllInput(); _vm->_eventMan->showMouse(); return _selectedDialogChoice; |