A few minor bug fixes with area expansion.

This commit is contained in:
Storm Dragon
2026-01-17 23:44:10 -05:00
parent ff9aa00590
commit 764eab45e4
7 changed files with 109 additions and 166 deletions

View File

@@ -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() {