A few minor bug fixes with area expansion.
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
// Save system
|
||||
|
||||
const string SAVE_FILE_PATH = "save.dat";
|
||||
const string SAVE_BACKUP_SUFFIX = "_robust";
|
||||
const string SAVE_ENCRYPTION_KEY = "draugnorak_save_v1";
|
||||
const int SAVE_VERSION = 1;
|
||||
|
||||
@@ -17,38 +16,21 @@ string decrypt_save_data(const string&in encryptedData) {
|
||||
return string_aes_decrypt(encryptedData, SAVE_ENCRYPTION_KEY);
|
||||
}
|
||||
|
||||
bool save_robust_data(const string&in filename, const string&in data) {
|
||||
bool save_data(const string&in filename, const string&in data) {
|
||||
if (data.length() == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
string backupPath = filename + SAVE_BACKUP_SUFFIX;
|
||||
if (file_exists(filename)) {
|
||||
if (!file_copy(filename, backupPath, true)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
file tmp;
|
||||
if (!tmp.open(filename, "wb")) {
|
||||
if (file_exists(backupPath)) {
|
||||
file_copy(backupPath, filename, true);
|
||||
file_delete(backupPath);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (tmp.write(data) < data.length()) {
|
||||
tmp.close();
|
||||
if (file_exists(backupPath)) {
|
||||
file_copy(backupPath, filename, true);
|
||||
file_delete(backupPath);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
tmp.close();
|
||||
file_delete(backupPath);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -310,7 +292,7 @@ bool save_game_state() {
|
||||
|
||||
string rawData = saveData.serialize();
|
||||
string encryptedData = encrypt_save_data(rawData);
|
||||
return save_robust_data(SAVE_FILE_PATH, encryptedData);
|
||||
return save_data(SAVE_FILE_PATH, encryptedData);
|
||||
}
|
||||
|
||||
bool load_game_state() {
|
||||
|
||||
Reference in New Issue
Block a user