void Menu::loadMenuSelect(uint16 item) { // Selecting twice the same item loads it if (item == _vm->_state->getMenuSaveLoadSelectedItem()) { loadMenuLoad(); return; } _vm->_state->setMenuSaveLoadSelectedItem(item); int16 page = _vm->_state->getMenuSaveLoadCurrentPage(); uint16 index = page * 7 + item; assert(index < _saveLoadFiles.size()); Common::String filename = _saveLoadFiles[index]; // Extract the age to load from the savegame GameState *gameState = new GameState(_vm); gameState->load(filename); _saveLoadAgeName = getAgeLabel(gameState); delete gameState; // Extract the thumbnail from the save Common::InSaveFile *save = _vm->getSaveFileManager()->openForLoading(filename); saveGameReadThumbnail(save); delete save; }
void Menu::loadMenuSelect(uint16 item) { // Selecting twice the same item loads it if (item == _vm->_state->getMenuSaveLoadSelectedItem()) { loadMenuLoad(); return; } _vm->_state->setMenuSaveLoadSelectedItem(item); int16 page = _vm->_state->getMenuSaveLoadCurrentPage(); uint16 index = page * 7 + item; assert(index < _saveLoadFiles.size()); Common::String filename = _saveLoadFiles[index]; // Extract the age to load from the savegame GameState *gameState = new GameState(_vm); gameState->load(filename); // Update the age name _saveLoadAgeName = getAgeLabel(gameState); // Update the save thumbnail if (_saveLoadSpotItem) _saveLoadSpotItem->updateData(gameState->getSaveThumbnail()); delete gameState; }