diff options
author | Strangerke | 2012-12-30 18:51:47 +0100 |
---|---|---|
committer | Strangerke | 2012-12-30 18:51:47 +0100 |
commit | 3629fd80837035f01dbc475593d97593adee7461 (patch) | |
tree | 7697644135c491fd7d55352addebd2972465d610 | |
parent | ad360142c11b4f700b0bbf74d68cdaa9708fd9f1 (diff) | |
download | scummvm-rg350-3629fd80837035f01dbc475593d97593adee7461.tar.gz scummvm-rg350-3629fd80837035f01dbc475593d97593adee7461.tar.bz2 scummvm-rg350-3629fd80837035f01dbc475593d97593adee7461.zip |
HOPKINS: More renaming, some refactoring in DialogsManager
-rw-r--r-- | engines/hopkins/dialogs.cpp | 559 | ||||
-rw-r--r-- | engines/hopkins/events.cpp | 4 | ||||
-rw-r--r-- | engines/hopkins/globals.cpp | 16 | ||||
-rw-r--r-- | engines/hopkins/globals.h | 16 | ||||
-rw-r--r-- | engines/hopkins/graphics.cpp | 4 | ||||
-rw-r--r-- | engines/hopkins/graphics.h | 2 | ||||
-rw-r--r-- | engines/hopkins/objects.cpp | 18 |
7 files changed, 309 insertions, 310 deletions
diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp index 2899cb030f..c5126527d2 100644 --- a/engines/hopkins/dialogs.cpp +++ b/engines/hopkins/dialogs.cpp @@ -189,99 +189,101 @@ void DialogsManager::showOptionsDialog() { if (mousePos.x >= _vm->_graphicsManager.ofscroll + 355 && mousePos.y > 285 && mousePos.x <= _vm->_graphicsManager.ofscroll + 490 && mousePos.y <= 310) doneFlag = true; if (mousePos.x >= _vm->_graphicsManager.ofscroll + 300 && mousePos.y > 194 && mousePos.x <= _vm->_graphicsManager.ofscroll + 358 && mousePos.y <= 219) { - switch (_vm->_graphicsManager.SPEED_SCROLL) { + switch (_vm->_graphicsManager._scrollSpeed) { case 1: - _vm->_graphicsManager.SPEED_SCROLL = 2; + _vm->_graphicsManager._scrollSpeed = 2; break; case 2: - _vm->_graphicsManager.SPEED_SCROLL = 4; + _vm->_graphicsManager._scrollSpeed = 4; break; case 4: - _vm->_graphicsManager.SPEED_SCROLL = 8; + _vm->_graphicsManager._scrollSpeed = 8; break; case 8: - _vm->_graphicsManager.SPEED_SCROLL = 16; + _vm->_graphicsManager._scrollSpeed = 16; break; case 16: - _vm->_graphicsManager.SPEED_SCROLL = 32; + _vm->_graphicsManager._scrollSpeed = 32; break; case 32: - _vm->_graphicsManager.SPEED_SCROLL = 48; + _vm->_graphicsManager._scrollSpeed = 48; break; case 48: - _vm->_graphicsManager.SPEED_SCROLL = 64; + _vm->_graphicsManager._scrollSpeed = 64; break; case 64: - _vm->_graphicsManager.SPEED_SCROLL = 128; + _vm->_graphicsManager._scrollSpeed = 128; break; case 128: - _vm->_graphicsManager.SPEED_SCROLL = 160; + _vm->_graphicsManager._scrollSpeed = 160; break; case 160: - _vm->_graphicsManager.SPEED_SCROLL = 320; + _vm->_graphicsManager._scrollSpeed = 320; break; case 320: - _vm->_graphicsManager.SPEED_SCROLL = 1; + _vm->_graphicsManager._scrollSpeed = 1; break; } } - if (mousePos.x >= _vm->_graphicsManager.ofscroll + 348 && mousePos.y > 248 && mousePos.x <= _vm->_graphicsManager.ofscroll + 394 && mousePos.y <= 273) - _vm->_globals._speed = 2; - if (mousePos.x >= _vm->_graphicsManager.ofscroll + 300 && mousePos.y > 221 && mousePos.x <= _vm->_graphicsManager.ofscroll + 358 && mousePos.y <= 246) - _vm->_globals.SVGA = 2; + // Values are blocked, thus handling the zone is useless + //if (mousePos.x >= _vm->_graphicsManager.ofscroll + 348 && mousePos.y > 248 && mousePos.x <= _vm->_graphicsManager.ofscroll + 394 && mousePos.y <= 273) + // _vm->_globals._speed = 2; + //if (mousePos.x >= _vm->_graphicsManager.ofscroll + 300 && mousePos.y > 221 && mousePos.x <= _vm->_graphicsManager.ofscroll + 358 && mousePos.y <= 246) + // _vm->_globals.SVGA = 2; + if (mousePos.x < _vm->_graphicsManager.ofscroll + 165 || mousePos.x > _vm->_graphicsManager.ofscroll + 496 || (uint)(mousePos.y - 107) > 211) doneFlag = true; } if (_vm->_graphicsManager.MANU_SCROLL) - _vm->_globals.opt_scrtype = 1; + _vm->_globals._menuScrollType = 1; else - _vm->_globals.opt_scrtype = 2; + _vm->_globals._menuScrollType = 2; if (_vm->_globals._speed == 1) - _vm->_globals.opt_vitesse = 6; + _vm->_globals._menuSpeed = 6; else if (_vm->_globals._speed == 2) - _vm->_globals.opt_vitesse = 5; + _vm->_globals._menuSpeed = 5; else if (_vm->_globals._speed == 3) - _vm->_globals.opt_vitesse = 4; + _vm->_globals._menuSpeed = 4; - _vm->_globals.opt_txt = !_vm->_soundManager._textOffFl ? 7 : 8; - _vm->_globals.opt_voice = !_vm->_soundManager._voiceOffFl ? 7 : 8; - _vm->_globals.opt_sound = !_vm->_soundManager._soundOffFl ? 7 : 8; - _vm->_globals.opt_music = !_vm->_soundManager._musicOffFl ? 7 : 8; + _vm->_globals._menuTextOff = !_vm->_soundManager._textOffFl ? 7 : 8; + _vm->_globals._menuVoiceOff = !_vm->_soundManager._voiceOffFl ? 7 : 8; + _vm->_globals._menuSoundOff = !_vm->_soundManager._soundOffFl ? 7 : 8; + _vm->_globals._menuMusicOff = !_vm->_soundManager._musicOffFl ? 7 : 8; if (_vm->_globals.SVGA == 1) - _vm->_globals.opt_anm = 10; + _vm->_globals._menuDisplayType = 10; else if (_vm->_globals.SVGA == 2) - _vm->_globals.opt_anm = 9; + _vm->_globals._menuDisplayType = 9; else if (_vm->_globals.SVGA == 3) - _vm->_globals.opt_anm = 11; - - if (_vm->_graphicsManager.SPEED_SCROLL == 1) - _vm->_globals.opt_scrspeed = 12; - else if (_vm->_graphicsManager.SPEED_SCROLL == 2) - _vm->_globals.opt_scrspeed = 13; - else if (_vm->_graphicsManager.SPEED_SCROLL == 4) - _vm->_globals.opt_scrspeed = 14; - else if (_vm->_graphicsManager.SPEED_SCROLL == 8) - _vm->_globals.opt_scrspeed = 15; - else if (_vm->_graphicsManager.SPEED_SCROLL == 16) - _vm->_globals.opt_scrspeed = 16; - else if (_vm->_graphicsManager.SPEED_SCROLL == 32) - _vm->_globals.opt_scrspeed = 17; - else if (_vm->_graphicsManager.SPEED_SCROLL == 48) - _vm->_globals.opt_scrspeed = 18; - else if (_vm->_graphicsManager.SPEED_SCROLL == 64) - _vm->_globals.opt_scrspeed = 19; - else if (_vm->_graphicsManager.SPEED_SCROLL == 128) - _vm->_globals.opt_scrspeed = 20; - else if (_vm->_graphicsManager.SPEED_SCROLL == 160) - _vm->_globals.opt_scrspeed = 21; - else if (_vm->_graphicsManager.SPEED_SCROLL == 320) - _vm->_globals.opt_scrspeed = 22; - else if (_vm->_graphicsManager.SPEED_SCROLL == 640) - _vm->_globals.opt_scrspeed = 23; + _vm->_globals._menuDisplayType = 11; + + if (_vm->_graphicsManager._scrollSpeed == 1) + _vm->_globals._menuScrollSpeed = 12; + else if (_vm->_graphicsManager._scrollSpeed == 2) + _vm->_globals._menuScrollSpeed = 13; + else if (_vm->_graphicsManager._scrollSpeed == 4) + _vm->_globals._menuScrollSpeed = 14; + else if (_vm->_graphicsManager._scrollSpeed == 8) + _vm->_globals._menuScrollSpeed = 15; + else if (_vm->_graphicsManager._scrollSpeed == 16) + _vm->_globals._menuScrollSpeed = 16; + else if (_vm->_graphicsManager._scrollSpeed == 32) + _vm->_globals._menuScrollSpeed = 17; + else if (_vm->_graphicsManager._scrollSpeed == 48) + _vm->_globals._menuScrollSpeed = 18; + else if (_vm->_graphicsManager._scrollSpeed == 64) + _vm->_globals._menuScrollSpeed = 19; + else if (_vm->_graphicsManager._scrollSpeed == 128) + _vm->_globals._menuScrollSpeed = 20; + else if (_vm->_graphicsManager._scrollSpeed == 160) + _vm->_globals._menuScrollSpeed = 21; + else if (_vm->_graphicsManager._scrollSpeed == 320) + _vm->_globals._menuScrollSpeed = 22; + else if (_vm->_graphicsManager._scrollSpeed == 640) + _vm->_globals._menuScrollSpeed = 23; _vm->_eventsManager.VBL(); } while (!doneFlag); @@ -296,214 +298,216 @@ void DialogsManager::showOptionsDialog() { } void DialogsManager::showInventory() { - if (!_removeInventFl && !_inventDisplayedFl && !_vm->_globals._disableInventFl) { - _vm->_graphicsManager.no_scroll = 1; - _vm->_objectsManager.FLAG_VISIBLE_EFFACE = 4; - _vm->_objectsManager._visibleFl = false; - for (int v1 = 0; v1 <= 1; v1++) { - inventAnim(); - _vm->_eventsManager.getMouseX(); - _vm->_eventsManager.getMouseY(); - _vm->_eventsManager.VBL(); - } - _vm->_dialogsManager._inventWin1 = g_PTRNUL; + if (_removeInventFl || _inventDisplayedFl || _vm->_globals._disableInventFl) + return; + + _vm->_graphicsManager.no_scroll = 1; + _vm->_objectsManager.FLAG_VISIBLE_EFFACE = 4; + _vm->_objectsManager._visibleFl = false; + for (int v1 = 0; v1 <= 1; v1++) { + inventAnim(); + _vm->_eventsManager.getMouseX(); + _vm->_eventsManager.getMouseY(); + _vm->_eventsManager.VBL(); + } + _vm->_dialogsManager._inventWin1 = g_PTRNUL; LABEL_7: - _vm->_eventsManager._curMouseButton = 0; - _vm->_eventsManager._mouseButton = 0; - _vm->_globals._disableInventFl = true; - _vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100); - - switch (_vm->_globals._language) { - case LANG_EN: - _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "INVENTAN.SPR"); - break; - case LANG_FR: - _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "INVENTFR.SPR"); - break; - case LANG_SP: - _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "INVENTES.SPR"); - break; - } + _vm->_eventsManager._curMouseButton = 0; + _vm->_eventsManager._mouseButton = 0; + _vm->_globals._disableInventFl = true; + _vm->_graphicsManager.SETCOLOR4(251, 100, 100, 100); - Common::File f; - if (!f.open(_vm->_globals._curFilename)) - error("Error opening file - %s", _vm->_globals._curFilename.c_str()); - - size_t filesize = f.size(); - _vm->_dialogsManager._inventWin1 = _vm->_globals.allocMemory(filesize); - _vm->_fileManager.readStream(f, _vm->_dialogsManager._inventWin1, filesize); - f.close(); - - _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "INVENT2.SPR"); - _inventBuf2 = _vm->_fileManager.loadFile(_vm->_globals._curFilename); - - int v19 = _inventX = _vm->_graphicsManager.ofscroll + 152; - _inventY = 114; - int v18 = _inventWidth = _vm->_objectsManager.getWidth(_vm->_dialogsManager._inventWin1, 0); - int v17 = _inventHeight = _vm->_objectsManager.getHeight(_vm->_dialogsManager._inventWin1, 0); - - _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_dialogsManager._inventWin1, - v19 + 300, 414, 0, 0, 0, 0); - int v15 = 0; - int v4 = 0; - for (int v14 = 1; v14 <= 5; v14++) { - int v16 = 0; - for (int v5 = 1; v5 <= 6; v5++) { - ++v4; - int v6 = _vm->_globals._inventory[v4]; - if (v6 && v4 <= 29) { - byte *v7 = _vm->_objectsManager.CAPTURE_OBJET(v6, 0); - _vm->_graphicsManager.Restore_Mem(_vm->_graphicsManager._vesaBuffer, v7, v19 + v16 + 6, - v15 + 120, _vm->_globals._objectWidth, _vm->_globals._objectHeight); - _vm->_globals.freeMemory(v7); - } - v16 += 54; - }; - v15 += 38; - } - _vm->_graphicsManager.Capture_Mem(_vm->_graphicsManager._vesaBuffer, _vm->_dialogsManager._inventWin1, _inventX, _inventY, _inventWidth, _inventHeight); - _vm->_eventsManager._curMouseButton = 0; - bool v20 = false; - int v13 = 0; - - // Main loop to select an inventory item - while (!_vm->shouldQuit()) { - // Turn on drawing the inventory dialog in the event manager - _inventDisplayedFl = true; - - int v8 = _vm->_eventsManager.getMouseX(); - int v9 = _vm->_eventsManager.getMouseY(); - int v12 = _vm->_eventsManager.getMouseButton(); - int v10 = v13; - int v11 = _vm->_linesManager.ZONE_OBJET(v8, v9); - v13 = v11; - if (v11 != v10) - _vm->_objectsManager.initBorder(v11); - if (_vm->_eventsManager._mouseCursorId != 16) { - if ((uint16)(_vm->_eventsManager._mouseCursorId - 1) > 1u) { - if (_vm->_eventsManager._mouseCursorId != 3) { - if (v12 == 2) { - _vm->_objectsManager.OBJETPLUS(v13); - if (_vm->_eventsManager._mouseCursorId != 23) - _vm->_eventsManager.changeMouseCursor(_vm->_eventsManager._mouseCursorId); - } + switch (_vm->_globals._language) { + case LANG_EN: + _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "INVENTAN.SPR"); + break; + case LANG_FR: + _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "INVENTFR.SPR"); + break; + case LANG_SP: + _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "INVENTES.SPR"); + break; + } + + Common::File f; + if (!f.open(_vm->_globals._curFilename)) + error("Error opening file - %s", _vm->_globals._curFilename.c_str()); + + size_t filesize = f.size(); + _vm->_dialogsManager._inventWin1 = _vm->_globals.allocMemory(filesize); + _vm->_fileManager.readStream(f, _vm->_dialogsManager._inventWin1, filesize); + f.close(); + + _vm->_fileManager.constructFilename(_vm->_globals.HOPSYSTEM, "INVENT2.SPR"); + _inventBuf2 = _vm->_fileManager.loadFile(_vm->_globals._curFilename); + + int v19 = _inventX = _vm->_graphicsManager.ofscroll + 152; + _inventY = 114; + int v18 = _inventWidth = _vm->_objectsManager.getWidth(_vm->_dialogsManager._inventWin1, 0); + int v17 = _inventHeight = _vm->_objectsManager.getHeight(_vm->_dialogsManager._inventWin1, 0); + + _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_dialogsManager._inventWin1, + v19 + 300, 414, 0, 0, 0, 0); + int v15 = 0; + int v4 = 0; + for (int v14 = 1; v14 <= 5; v14++) { + int v16 = 0; + for (int v5 = 1; v5 <= 6; v5++) { + ++v4; + int v6 = _vm->_globals._inventory[v4]; + if (v6 && v4 <= 29) { + byte *v7 = _vm->_objectsManager.CAPTURE_OBJET(v6, 0); + _vm->_graphicsManager.Restore_Mem(_vm->_graphicsManager._vesaBuffer, v7, v19 + v16 + 6, + v15 + 120, _vm->_globals._objectWidth, _vm->_globals._objectHeight); + _vm->_globals.freeMemory(v7); + } + v16 += 54; + }; + v15 += 38; + } + _vm->_graphicsManager.Capture_Mem(_vm->_graphicsManager._vesaBuffer, _vm->_dialogsManager._inventWin1, _inventX, _inventY, _inventWidth, _inventHeight); + _vm->_eventsManager._curMouseButton = 0; + bool v20 = false; + int v13 = 0; + + // Main loop to select an inventory item + while (!_vm->shouldQuit()) { + // Turn on drawing the inventory dialog in the event manager + _inventDisplayedFl = true; + + int v8 = _vm->_eventsManager.getMouseX(); + int v9 = _vm->_eventsManager.getMouseY(); + int v12 = _vm->_eventsManager.getMouseButton(); + int v10 = v13; + int v11 = _vm->_linesManager.ZONE_OBJET(v8, v9); + v13 = v11; + if (v11 != v10) + _vm->_objectsManager.initBorder(v11); + if (_vm->_eventsManager._mouseCursorId != 16) { + if ((uint16)(_vm->_eventsManager._mouseCursorId - 1) > 1u) { + if (_vm->_eventsManager._mouseCursorId != 3) { + if (v12 == 2) { + _vm->_objectsManager.OBJETPLUS(v13); + if (_vm->_eventsManager._mouseCursorId != 23) + _vm->_eventsManager.changeMouseCursor(_vm->_eventsManager._mouseCursorId); } } } - if (v12 == 1) { - if (_vm->_eventsManager._mouseCursorId == 1 || _vm->_eventsManager._mouseCursorId == 16 || !_vm->_eventsManager._mouseCursorId || (uint16)(_vm->_eventsManager._mouseCursorId - 2) <= 1u) - break; - v9 = v13; - _vm->_objectsManager.VALID_OBJET(_vm->_globals._inventory[v13]); - if (_vm->_eventsManager._mouseCursorId == 8) - v20 = true; - if (!v20) { - _vm->_scriptManager.TRAVAILOBJET = true; - _vm->_globals._saveData->data[svField3] = _vm->_globals._curObjectIndex; - _vm->_globals._saveData->data[svField8] = _vm->_globals._inventory[v13]; - _vm->_globals._saveData->data[svField9] = _vm->_eventsManager._mouseCursorId; - _vm->_objectsManager.OPTI_OBJET(); - _vm->_scriptManager.TRAVAILOBJET = false; - - if (_vm->_soundManager._voiceOffFl) { - do - _vm->_eventsManager.VBL(); - while (!_vm->_globals._exitId && _vm->_eventsManager.getMouseButton() != 1); - _vm->_fontManager.hideText(9); - } - if (_vm->_globals._exitId) { - if (_vm->_globals._exitId == 2) - v20 = true; - _vm->_globals._exitId = 0; - if (!v20) { - _inventBuf2 = _vm->_globals.freeMemory(_inventBuf2); - _vm->_dialogsManager._inventWin1 = _vm->_globals.freeMemory(_vm->_dialogsManager._inventWin1); - goto LABEL_7; - } - } else if (!v20) { - _inventDisplayedFl = true; + } + if (v12 == 1) { + if (_vm->_eventsManager._mouseCursorId == 1 || _vm->_eventsManager._mouseCursorId == 16 || !_vm->_eventsManager._mouseCursorId || (uint16)(_vm->_eventsManager._mouseCursorId - 2) <= 1u) + break; + v9 = v13; + _vm->_objectsManager.VALID_OBJET(_vm->_globals._inventory[v13]); + if (_vm->_eventsManager._mouseCursorId == 8) + v20 = true; + if (!v20) { + _vm->_scriptManager.TRAVAILOBJET = true; + _vm->_globals._saveData->data[svField3] = _vm->_globals._curObjectIndex; + _vm->_globals._saveData->data[svField8] = _vm->_globals._inventory[v13]; + _vm->_globals._saveData->data[svField9] = _vm->_eventsManager._mouseCursorId; + _vm->_objectsManager.OPTI_OBJET(); + _vm->_scriptManager.TRAVAILOBJET = false; + + if (_vm->_soundManager._voiceOffFl) { + do + _vm->_eventsManager.VBL(); + while (!_vm->_globals._exitId && _vm->_eventsManager.getMouseButton() != 1); + _vm->_fontManager.hideText(9); + } + if (_vm->_globals._exitId) { + if (_vm->_globals._exitId == 2) + v20 = true; + _vm->_globals._exitId = 0; + if (!v20) { + _inventBuf2 = _vm->_globals.freeMemory(_inventBuf2); + _vm->_dialogsManager._inventWin1 = _vm->_globals.freeMemory(_vm->_dialogsManager._inventWin1); + goto LABEL_7; } + } else if (!v20) { + _inventDisplayedFl = true; } } - if (_removeInventFl) - v20 = true; - if (v20) - break; - _vm->_eventsManager.VBL(); - if ((uint16)(_vm->_globals._screenId - 35) <= 5u) - _vm->_objectsManager.SPECIAL_JEU(); } - _vm->_fontManager.hideText(9); - if (_inventDisplayedFl) { - _inventDisplayedFl = false; - _vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, v19, 114, v18, v17, _vm->_graphicsManager._vesaBuffer, v19, 114); - _vm->_graphicsManager.Ajoute_Segment_Vesa(v19, 114, v19 + v18, v18 + 114); - _vm->_objectsManager.BOBTOUS = true; - } - - _vm->_dialogsManager._inventWin1 = _vm->_globals.freeMemory(_vm->_dialogsManager._inventWin1); - _inventBuf2 = _vm->_globals.freeMemory(_inventBuf2); - - if (_vm->_eventsManager._mouseCursorId == 1) - showOptionsDialog(); - else if (_vm->_eventsManager._mouseCursorId == 3) - _vm->_dialogsManager.showLoadGame(); - else if (_vm->_eventsManager._mouseCursorId == 2) - _vm->_dialogsManager.showSaveGame(); - - _vm->_eventsManager._mouseCursorId = 4; - _vm->_eventsManager.changeMouseCursor(4); - _vm->_objectsManager._oldBorderPos = Common::Point(0, 0); - _vm->_objectsManager._borderPos = Common::Point(0, 0); - _vm->_globals._disableInventFl = false; - _vm->_graphicsManager.no_scroll = 0; + if (_removeInventFl) + v20 = true; + if (v20) + break; + _vm->_eventsManager.VBL(); + if ((uint16)(_vm->_globals._screenId - 35) <= 5u) + _vm->_objectsManager.SPECIAL_JEU(); } + _vm->_fontManager.hideText(9); + if (_inventDisplayedFl) { + _inventDisplayedFl = false; + _vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, v19, 114, v18, v17, _vm->_graphicsManager._vesaBuffer, v19, 114); + _vm->_graphicsManager.Ajoute_Segment_Vesa(v19, 114, v19 + v18, v18 + 114); + _vm->_objectsManager.BOBTOUS = true; + } + + _vm->_dialogsManager._inventWin1 = _vm->_globals.freeMemory(_vm->_dialogsManager._inventWin1); + _inventBuf2 = _vm->_globals.freeMemory(_inventBuf2); + + if (_vm->_eventsManager._mouseCursorId == 1) + showOptionsDialog(); + else if (_vm->_eventsManager._mouseCursorId == 3) + _vm->_dialogsManager.showLoadGame(); + else if (_vm->_eventsManager._mouseCursorId == 2) + _vm->_dialogsManager.showSaveGame(); + + _vm->_eventsManager._mouseCursorId = 4; + _vm->_eventsManager.changeMouseCursor(4); + _vm->_objectsManager._oldBorderPos = Common::Point(0, 0); + _vm->_objectsManager._borderPos = Common::Point(0, 0); + _vm->_globals._disableInventFl = false; + _vm->_graphicsManager.no_scroll = 0; } /** * Inventory Animations */ void DialogsManager::inventAnim() { - if (!_vm->_globals._disableInventFl) { - if (_vm->_objectsManager.FLAG_VISIBLE_EFFACE && !_vm->_objectsManager._visibleFl) { - _vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, _vm->_objectsManager.I_old_x, 27, 48, 38, - _vm->_graphicsManager._vesaBuffer, _vm->_objectsManager.I_old_x, 27); - _vm->_graphicsManager.Ajoute_Segment_Vesa(_vm->_objectsManager.I_old_x, 27, _vm->_objectsManager.I_old_x + 48, 65); - --_vm->_objectsManager.FLAG_VISIBLE_EFFACE; - } + if (_vm->_globals._disableInventFl) + return; + + if (_vm->_objectsManager.FLAG_VISIBLE_EFFACE && !_vm->_objectsManager._visibleFl) { + _vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, _vm->_objectsManager.I_old_x, 27, 48, 38, + _vm->_graphicsManager._vesaBuffer, _vm->_objectsManager.I_old_x, 27); + _vm->_graphicsManager.Ajoute_Segment_Vesa(_vm->_objectsManager.I_old_x, 27, _vm->_objectsManager.I_old_x + 48, 65); + --_vm->_objectsManager.FLAG_VISIBLE_EFFACE; + } - if (_vm->_objectsManager._visibleFl) { - if (_vm->_objectsManager.I_old_x <= 1) - _vm->_objectsManager.I_old_x = 2; - _vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, _vm->_objectsManager.I_old_x, 27, 48, 38, - _vm->_graphicsManager._vesaBuffer, _vm->_objectsManager.I_old_x, 27); - - _vm->_graphicsManager.Ajoute_Segment_Vesa(_vm->_objectsManager.I_old_x, 27, _vm->_objectsManager.I_old_x + 48, 65); - int v0 = _vm->_graphicsManager.ofscroll + 2; - int v1 = _vm->_graphicsManager.ofscroll + 2; - _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.ICONE, v1 + 300, 327, 0); - _vm->_graphicsManager.Ajoute_Segment_Vesa(v1, 27, v1 + 45, 62); - _vm->_objectsManager.I_old_x = v0; - } + if (_vm->_objectsManager._visibleFl) { + if (_vm->_objectsManager.I_old_x <= 1) + _vm->_objectsManager.I_old_x = 2; + _vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, _vm->_objectsManager.I_old_x, 27, 48, 38, + _vm->_graphicsManager._vesaBuffer, _vm->_objectsManager.I_old_x, 27); + + _vm->_graphicsManager.Ajoute_Segment_Vesa(_vm->_objectsManager.I_old_x, 27, _vm->_objectsManager.I_old_x + 48, 65); + int v0 = _vm->_graphicsManager.ofscroll + 2; + int v1 = _vm->_graphicsManager.ofscroll + 2; + _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.ICONE, v1 + 300, 327, 0); + _vm->_graphicsManager.Ajoute_Segment_Vesa(v1, 27, v1 + 45, 62); + _vm->_objectsManager.I_old_x = v0; + } - if (_vm->_globals._saveData->data[svField357] == 1) { - if (_vm->_globals._saveData->data[svField353] == 1) - _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_globals.TETE, 832, 325, 0, 0, 0, 0); - if (_vm->_globals._saveData->data[svField355] == 1) - _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_globals.TETE, 866, 325, 1, 0, 0, 0); - _vm->_graphicsManager.Ajoute_Segment_Vesa(532, 25, 560, 60); - _vm->_graphicsManager.Ajoute_Segment_Vesa(566, 25, 594, 60); - } - if (_vm->_globals._saveData->data[svField356] == 1) { + if (_vm->_globals._saveData->data[svField357] == 1) { + if (_vm->_globals._saveData->data[svField353] == 1) _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_globals.TETE, 832, 325, 0, 0, 0, 0); - _vm->_graphicsManager.Ajoute_Segment_Vesa(532, 25, 560, 60); - } + if (_vm->_globals._saveData->data[svField355] == 1) + _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_globals.TETE, 866, 325, 1, 0, 0, 0); + _vm->_graphicsManager.Ajoute_Segment_Vesa(532, 25, 560, 60); + _vm->_graphicsManager.Ajoute_Segment_Vesa(566, 25, 594, 60); + } + if (_vm->_globals._saveData->data[svField356] == 1) { + _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_globals.TETE, 832, 325, 0, 0, 0, 0); + _vm->_graphicsManager.Ajoute_Segment_Vesa(532, 25, 560, 60); + } - if (_vm->_globals._saveData->data[svField354] == 1) { - _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_globals.TETE, 832, 325, 0, 0, 0, 0); - _vm->_graphicsManager.Ajoute_Segment_Vesa(532, 25, 560, 60); - } + if (_vm->_globals._saveData->data[svField354] == 1) { + _vm->_graphicsManager.Affiche_Perfect(_vm->_graphicsManager._vesaBuffer, _vm->_globals.TETE, 832, 325, 0, 0, 0, 0); + _vm->_graphicsManager.Ajoute_Segment_Vesa(532, 25, 560, 60); } } @@ -514,39 +518,38 @@ void DialogsManager::testDialogOpening() { if (_vm->_globals.PLAN_FLAG) _vm->_eventsManager._gameKey = KEY_NONE; - if (_vm->_eventsManager._gameKey != KEY_NONE) { - if (!_inventFl) { - DIALOG_KEY key = _vm->_eventsManager._gameKey; - _vm->_eventsManager._gameKey = KEY_NONE; - _inventFl = true; + if ((_vm->_eventsManager._gameKey == KEY_NONE) || _inventFl) + return; - switch (key) { - case KEY_INVENTORY: - _vm->_dialogsManager.showInventory(); - break; - case KEY_OPTIONS: - _vm->_graphicsManager.no_scroll = 1; - _vm->_dialogsManager.showOptionsDialog(); - _vm->_graphicsManager.no_scroll = 0; - break; - case KEY_LOAD: - _vm->_graphicsManager.no_scroll = 1; - _vm->_dialogsManager.showLoadGame(); - _vm->_graphicsManager.no_scroll = 0; - break; - case KEY_SAVE: - _vm->_graphicsManager.no_scroll = 1; - _vm->_dialogsManager.showSaveGame(); - _vm->_graphicsManager.no_scroll = 0; - break; - default: - break; - } + DIALOG_KEY key = _vm->_eventsManager._gameKey; + _vm->_eventsManager._gameKey = KEY_NONE; + _inventFl = true; - _inventFl = false; - _vm->_eventsManager._gameKey = KEY_NONE; - } + switch (key) { + case KEY_INVENTORY: + _vm->_dialogsManager.showInventory(); + break; + case KEY_OPTIONS: + _vm->_graphicsManager.no_scroll = 1; + _vm->_dialogsManager.showOptionsDialog(); + _vm->_graphicsManager.no_scroll = 0; + break; + case KEY_LOAD: + _vm->_graphicsManager.no_scroll = 1; + _vm->_dialogsManager.showLoadGame(); + _vm->_graphicsManager.no_scroll = 0; + break; + case KEY_SAVE: + _vm->_graphicsManager.no_scroll = 1; + _vm->_dialogsManager.showSaveGame(); + _vm->_graphicsManager.no_scroll = 0; + break; + default: + break; } + + _inventFl = false; + _vm->_eventsManager._gameKey = KEY_NONE; } /** @@ -558,11 +561,9 @@ void DialogsManager::showLoadGame() { _vm->_eventsManager.VBL(); showSaveLoad(2); do { - do { - slotNumber = searchSavegames(); - _vm->_eventsManager.VBL(); - } while (_vm->_eventsManager.getMouseButton() != 1); - } while (!slotNumber); + slotNumber = searchSavegames(); + _vm->_eventsManager.VBL(); + } while (!_vm->shouldQuit() && (!slotNumber || _vm->_eventsManager.getMouseButton() != 1)); _vm->_objectsManager.SL_FLAG = false; _vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, _vm->_eventsManager._startPos.x + 183, 60, 274, 353, _vm->_graphicsManager._vesaBuffer, _vm->_eventsManager._startPos.x + 183, 60); _vm->_graphicsManager.Ajoute_Segment_Vesa(_vm->_eventsManager._startPos.x + 183, 60, 457, 413); @@ -590,11 +591,9 @@ void DialogsManager::showSaveGame() { showSaveLoad(1); do { - do { - slotNumber = searchSavegames(); - _vm->_eventsManager.VBL(); - } while (!_vm->shouldQuit() && _vm->_eventsManager.getMouseButton() != 1); - } while (!_vm->shouldQuit() && !slotNumber); + slotNumber = searchSavegames(); + _vm->_eventsManager.VBL(); + } while (!_vm->shouldQuit() && (!slotNumber || _vm->_eventsManager.getMouseButton() != 1)); _vm->_objectsManager.SL_FLAG = false; _vm->_graphicsManager.SCOPY(_vm->_graphicsManager._vesaScreen, _vm->_eventsManager._startPos.x + 183, 60, 274, 353, _vm->_graphicsManager._vesaBuffer, _vm->_eventsManager._startPos.x + 183, 60); diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp index 702da52a42..e76d71d62b 100644 --- a/engines/hopkins/events.cpp +++ b/engines/hopkins/events.cpp @@ -436,9 +436,9 @@ LABEL_65: } else { if (_vm->_graphicsManager.no_scroll != 2) { if (getMouseX() > _vm->_graphicsManager.SCROLL + 620) - _vm->_graphicsManager.SCROLL += _vm->_graphicsManager.SPEED_SCROLL; + _vm->_graphicsManager.SCROLL += _vm->_graphicsManager._scrollSpeed; if (getMouseX() < _vm->_graphicsManager.SCROLL + 10) - _vm->_graphicsManager.SCROLL -= _vm->_graphicsManager.SPEED_SCROLL; + _vm->_graphicsManager.SCROLL -= _vm->_graphicsManager._scrollSpeed; } if (_vm->_graphicsManager.SCROLL < 0) _vm->_graphicsManager.SCROLL = 0; diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp index bc22e42fb5..b33651fc16 100644 --- a/engines/hopkins/globals.cpp +++ b/engines/hopkins/globals.cpp @@ -156,14 +156,14 @@ Globals::Globals() { Max_Propre = 0; fmusic = 0; NBBLOC = 0; - opt_scrtype = 0; - opt_scrspeed = 0; - opt_vitesse = 0; - opt_sound = 0; - opt_voice = 0; - opt_music = 0; - opt_txt = 0; - opt_anm = 0; + _menuScrollType = 0; + _menuScrollSpeed = 0; + _menuSpeed = 0; + _menuSoundOff = 0; + _menuVoiceOff = 0; + _menuMusicOff = 0; + _menuTextOff = 0; + _menuDisplayType = 0; NBTRI = 0; AFFLI = false; AFFIVBL = false; diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h index af039bdf1f..b6b1a9a513 100644 --- a/engines/hopkins/globals.h +++ b/engines/hopkins/globals.h @@ -415,14 +415,14 @@ public: bool NO_VISU; byte *OPTION_SPR; bool _optionDialogFl; - int opt_anm; - int opt_vitesse; - int opt_scrtype; - int opt_scrspeed; - int opt_sound; - int opt_voice; - int opt_music; - int opt_txt; + int _menuDisplayType; + int _menuSpeed; + int _menuScrollType; + int _menuScrollSpeed; + int _menuSoundOff; + int _menuVoiceOff; + int _menuMusicOff; + int _menuTextOff; int NBTRI; bool AFFLI; // CHECKME: Useless variable? bool AFFIVBL; // CHECKME: Useless variable? diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp index 455c3c41b9..abe2abe85b 100644 --- a/engines/hopkins/graphics.cpp +++ b/engines/hopkins/graphics.cpp @@ -89,10 +89,10 @@ void GraphicsManager::setParent(HopkinsEngine *vm) { MANU_SCROLL = true; else MANU_SCROLL = false; - SPEED_SCROLL = 16; + _scrollSpeed = 16; } else { MANU_SCROLL = false; - SPEED_SCROLL = 32; + _scrollSpeed = 32; } } diff --git a/engines/hopkins/graphics.h b/engines/hopkins/graphics.h index 1ad0fae97c..e239344b46 100644 --- a/engines/hopkins/graphics.h +++ b/engines/hopkins/graphics.h @@ -74,7 +74,7 @@ public: bool DOUBLE_ECRAN; int OLD_SCROLL; bool MANU_SCROLL; - int SPEED_SCROLL; + int _scrollSpeed; int _lineNbr2; int Agr_x, Agr_y; int Agr_Flag_x, Agr_Flag_y; diff --git a/engines/hopkins/objects.cpp b/engines/hopkins/objects.cpp index 81b68c8207..cc52a17eb4 100644 --- a/engines/hopkins/objects.cpp +++ b/engines/hopkins/objects.cpp @@ -488,19 +488,19 @@ void ObjectsManager::displaySprite() { _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.OPTION_SPR, _vm->_eventsManager._startPos.x + 464, 407, 0); _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.OPTION_SPR, - _vm->_eventsManager._startPos.x + 657, 556, _vm->_globals.opt_vitesse); + _vm->_eventsManager._startPos.x + 657, 556, _vm->_globals._menuSpeed); _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.OPTION_SPR, - _vm->_eventsManager._startPos.x + 731, 495, _vm->_globals.opt_txt); + _vm->_eventsManager._startPos.x + 731, 495, _vm->_globals._menuTextOff); _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.OPTION_SPR, - _vm->_eventsManager._startPos.x + 731, 468, _vm->_globals.opt_voice); + _vm->_eventsManager._startPos.x + 731, 468, _vm->_globals._menuVoiceOff); _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.OPTION_SPR, - _vm->_eventsManager._startPos.x + 731, 441, _vm->_globals.opt_sound); + _vm->_eventsManager._startPos.x + 731, 441, _vm->_globals._menuSoundOff); _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.OPTION_SPR, - _vm->_eventsManager._startPos.x + 731, 414, _vm->_globals.opt_music); + _vm->_eventsManager._startPos.x + 731, 414, _vm->_globals._menuMusicOff); _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.OPTION_SPR, - _vm->_eventsManager._startPos.x + 600, 522, _vm->_globals.opt_anm); + _vm->_eventsManager._startPos.x + 600, 522, _vm->_globals._menuDisplayType); _vm->_graphicsManager.Sprite_Vesa(_vm->_graphicsManager._vesaBuffer, _vm->_globals.OPTION_SPR, - _vm->_eventsManager._startPos.x + 611, 502, _vm->_globals.opt_scrspeed); + _vm->_eventsManager._startPos.x + 611, 502, _vm->_globals._menuScrollSpeed); _vm->_graphicsManager.Ajoute_Segment_Vesa(_vm->_eventsManager._startPos.x + 164, 107, _vm->_eventsManager._startPos.x + 498, 320); } @@ -2676,7 +2676,7 @@ LABEL_64: if (v5 > 160) { _vm->_graphicsManager.no_scroll = 2; do { - _vm->_graphicsManager.SCROLL -= _vm->_graphicsManager.SPEED_SCROLL; + _vm->_graphicsManager.SCROLL -= _vm->_graphicsManager._scrollSpeed; if (_vm->_graphicsManager.SCROLL < 0) { _vm->_graphicsManager.SCROLL = 0; v1 = 1; @@ -2694,7 +2694,7 @@ LABEL_64: } } else { do { - _vm->_graphicsManager.SCROLL += _vm->_graphicsManager.SPEED_SCROLL; + _vm->_graphicsManager.SCROLL += _vm->_graphicsManager._scrollSpeed; if (_vm->_graphicsManager.SCROLL < 0) { _vm->_graphicsManager.SCROLL = 0; v1 = 1; |