MCPcopy Create free account
hub / github.com/OpenApoc/OpenApoc / serializeManifest

Method serializeManifest

game/state/savemanager.cpp:377–406  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

375}
376
377bool SaveMetadata::serializeManifest(SerializationArchive *archive) const
378{
379 auto root = archive->newRoot("", saveManifestName.c_str());
380 if (!root)
381 {
382 return false;
383 }
384 auto nameNode = root->addNode("name");
385 nameNode->setValue(this->getName());
386
387 auto difficultyNode = root->addNode("difficulty");
388 difficultyNode->setValue(this->getDifficulty());
389
390 auto savedateNode = root->addNode("save_date");
391 savedateNode->setValue(std::to_string(time(nullptr)));
392
393 auto gameTicksNode = root->addNode("game_ticks");
394 gameTicksNode->setValue(std::to_string(getGameTicks()));
395
396 auto versionNode = root->addNode("game_version");
397 versionNode->setValue(OPENAPOC_VERSION);
398
399 if (this->type != SaveType::Manual)
400 {
401 auto typeNode = root->addNode("type");
402 typeNode->setValue(Strings::fromInteger(static_cast<unsigned>(this->type)));
403 }
404
405 return true;
406}
407
408time_t SaveMetadata::getCreationDate() const { return creationDate; }
409

Callers 1

saveGameMethod · 0.45

Calls 4

newRootMethod · 0.80
addNodeMethod · 0.80
setValueMethod · 0.45
getNameMethod · 0.45

Tested by

no test coverage detected