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

Method overrideGame

game/state/savemanager.cpp:195–219  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

193}
194
195bool SaveManager::overrideGame(const SaveMetadata &metadata, const UString &newName,
196 const sp<GameState> gameState) const
197{
198 SaveMetadata updatedMetadata(newName, metadata.getFile(), time(nullptr), metadata.getType(),
199 gameState);
200 bool result = saveGame(updatedMetadata, gameState);
201 if (result && newName != metadata.getName())
202 {
203 // if renamed file move to path with new name
204 UString newFile;
205 if (findFreePath(newFile, newName))
206 {
207 try
208 {
209 fs::rename(metadata.getFile(), newFile);
210 }
211 catch (fs::filesystem_error &error)
212 {
213 LogWarning("Error while removing renamed save: \"%s\"", error.what());
214 }
215 }
216 }
217
218 return result;
219}
220
221bool SaveManager::saveGame(const SaveMetadata &metadata, const sp<GameState> gameState) const
222{

Callers 1

tryToSaveGameMethod · 0.80

Calls 2

getTypeMethod · 0.45
getNameMethod · 0.45

Tested by

no test coverage detected