* Saves the selected save. */
| 161 | * Saves the selected save. |
| 162 | */ |
| 163 | void ListSaveState::saveGame() |
| 164 | { |
| 165 | _game->getSavedGame()->setName(_edtSave->getText()); |
| 166 | std::string oldFilename, newFilename; |
| 167 | newFilename = CrossPlatform::sanitizeFilename(Language::wstrToFs(_edtSave->getText())); |
| 168 | if (_selectedRow > 0) |
| 169 | { |
| 170 | oldFilename = _saves[_selectedRow - 1].fileName; |
| 171 | if (oldFilename != newFilename + ".sav") |
| 172 | { |
| 173 | while (CrossPlatform::fileExists(Options::getUserFolder() + newFilename + ".sav")) |
| 174 | { |
| 175 | newFilename += "_"; |
| 176 | } |
| 177 | std::string oldPath = Options::getUserFolder() + oldFilename; |
| 178 | std::string newPath = Options::getUserFolder() + newFilename + ".sav"; |
| 179 | CrossPlatform::moveFile(oldPath, newPath); |
| 180 | } |
| 181 | } |
| 182 | else |
| 183 | { |
| 184 | while (CrossPlatform::fileExists(Options::getUserFolder() + newFilename + ".sav")) |
| 185 | { |
| 186 | newFilename += "_"; |
| 187 | } |
| 188 | } |
| 189 | newFilename += ".sav"; |
| 190 | _game->pushState(new SaveGameState(_game, _origin, newFilename)); |
| 191 | } |
| 192 | |
| 193 | } |
nothing calls this directly
no test coverage detected