void Helper::updateOperationTime() { // return; int quarters = getQuarters(); if (++quarters > 4) { int operationHours = getOperationTime(); eepromHelper.WriteInt(0, ++operationHours); eepromHelper.WriteSingleValue(30, 1); // reset quarters } else { eepromHelper.WriteSingleValue(30, quarters); } }
bool LabEngine::saveGame(int slot, const Common::String desc) { Common::String fileName = generateSaveFileName(slot); Common::SaveFileManager *saveFileManager = _system->getSavefileManager(); Common::OutSaveFile *file = saveFileManager->openForSaving(fileName); if (!file) return false; // Load scene pic _graphics->readPict(getPictName(false)); writeSaveGameHeader(file, desc); file->writeUint16LE(_roomNum); file->writeUint16LE(getDirection()); file->writeUint16LE(getQuarters()); // Conditions for (int i = 0; i < _conditions->_lastElement / (8 * 2); i++) file->writeUint16LE(_conditions->_array[i]); // Rooms found for (int i = 0; i < _roomsFound->_lastElement / (8 * 2); i++) file->writeUint16LE(_roomsFound->_array[i]); _specialLocks->save(file); // Breadcrumbs for (uint i = 0; i < MAX_CRUMBS; i++) { file->writeUint16LE(_breadCrumbs[i]._crumbRoomNum); file->writeUint16LE(_breadCrumbs[i]._crumbDirection); } file->flush(); file->finalize(); delete file; _mainDisplay = true; _alternate = false; _event->simulateEvent(); _graphics->screenUpdate(); return true; }