Merge remote-tracking branch 'remotes/dcs-retribution/dcs-retribution/dev' into pretense-generator

This commit is contained in:
MetalStormGhost
2024-05-03 11:19:48 +03:00
151 changed files with 13076 additions and 6698 deletions

View File

@@ -109,7 +109,7 @@ class QLiberationWindow(QMainWindow):
if last_save_file:
logging.info("Loading last saved game : " + str(last_save_file))
game = persistency.load_game(last_save_file)
self.migrate_game(game, last_save_file)
game = self.migrate_game(game, last_save_file)
self.onGameGenerated(game)
self.updateWindowTitle(last_save_file if game else None)
else:
@@ -342,7 +342,7 @@ class QLiberationWindow(QMainWindow):
)
if file is not None and file[0] != "":
game = persistency.load_game(file[0])
self.migrate_game(game, file[0])
game = self.migrate_game(game, file[0])
GameUpdateSignal.get_instance().game_loaded.emit(game)
self.updateWindowTitle(file[0])
@@ -350,15 +350,23 @@ class QLiberationWindow(QMainWindow):
def migrate_game(self, game, path):
if game:
is_liberation = ".liberation" in path
Migrator(game, is_liberation)
try:
Migrator(game, is_liberation)
return game
except Exception:
self.incompatible_save_popup(path)
else:
relative_path = Path(path)
QMessageBox.critical(
self,
"Incompatible save",
"Incompatible save file detected, please report the issue on GitHub or Discord.\n"
f"Make sure to include the campaign that fails to load, i.e.:\n\n{relative_path}",
)
self.incompatible_save_popup(path)
return None
def incompatible_save_popup(self, path):
relative_path = Path(path)
QMessageBox.critical(
self,
"Incompatible save",
"Incompatible save file detected, please report the issue on GitHub or Discord.\n"
f"Make sure to include the campaign that fails to load, i.e.:\n\n{relative_path}",
)
def saveGame(self):
logging.info("Saving game")