bool Emu::saveState(const QString &statePath) { emsl.save = true; QByteArray data; data.reserve(10*1024*1024); QDataStream s(&data, QIODevice::WriteOnly); s.setByteOrder(QDataStream::LittleEndian); s.setFloatingPointPrecision(QDataStream::SinglePrecision); if (!saveInternal(&s)) return false; QFile file(statePath); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { emsl.error = tr("Could not open file for writing."); return false; } s.setDevice(&file); s << frame().copy(videoSrcRect().toRect()); QByteArray compressed = qCompress(data); bool ok = (file.write(compressed) == compressed.size()); file.close(); if (!ok) file.remove(); return ok; }
/** * Saves to a string. * @param data String to save to. */ void EditableMetatileHeightMaps::save(std::string& data) { SaveHelper saver(data, DataChunkIDs::metatileHeightMaps, 0); saveInternal(data); saver.finalize(); }
void Bmp::save(const std::string& fileName) { unsigned long long size = calculateSizeInBytes(width, height); if (size < MAX_BMP_SIZE_IN_BYTES) { saveInternal(fileName + ".bmp", 0, height, 0, width); } else { unsigned int numberOfPixels = static_cast<unsigned int>(sqrt((MAX_BMP_SIZE_IN_BYTES - 54L) * 8.0 / BPP)); unsigned int numberOfHorizontalTiles = static_cast<unsigned int>(ceil(static_cast<double>(width) / numberOfPixels)); unsigned int numberOfVerticalTiles = static_cast<unsigned int>(ceil(static_cast<double>(height) / numberOfPixels)); std::cout << "PixelCount: " << numberOfHorizontalTiles << ' ' << numberOfVerticalTiles << std::endl; for (unsigned int i = 0; i < numberOfVerticalTiles; ++i) { for (unsigned int j = 0; j < numberOfHorizontalTiles; ++j) { unsigned int startY = i * numberOfPixels; unsigned int startX = j * numberOfPixels; unsigned int endX = (startX + numberOfPixels < width ? startX + numberOfPixels : width); unsigned int endY = (startY + numberOfPixels < height ? startY + numberOfPixels : height); std::stringstream ss; ss << fileName << "_part_" << i << "_" << j << ".bmp"; saveInternal(ss.str(), startY, endY, startX, endX); } } } }
void KviDefaultScriptManager::save(const QString & szConfigFile) { KviConfigurationFile cfg(szConfigFile, KviConfigurationFile::Write); cfg.clear(); saveInternal(&cfg); }
void AFK_ConfigOptionBase::save(std::ostream& os) const { if (!noSave) saveInternal(os); }