From 12853feec3ab2855d8faeb1b7a432460a0e6b989 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Tue, 11 Sep 2018 03:35:52 +0300 Subject: [PATCH] updated version check --- __init__.py | 16 ++++++++++++---- resources/cau_groundobjects.p | Bin 15162 -> 18580 bytes userdata/persistency.py | 7 ++----- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/__init__.py b/__init__.py index 0b199404..c26285f9 100755 --- a/__init__.py +++ b/__init__.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import os +import re import sys import dcs import logging @@ -33,13 +34,19 @@ def proceed_to_main_menu(game: Game): def is_version_compatible(save_version): - current_version = VERSION_STRING.split(".") - save_version = save_version.split(".") + current_version_components = re.split(r"[\._]", VERSION_STRING) + save_version_components = re.split(r"[\._]", save_version) if "--ignore-save" in sys.argv: return False - if current_version[:2] == save_version[:2]: + if current_version_components == save_version_components: + return True + + if save_version == "1.4_rc1": + return False + + if current_version_components[:2] == save_version_components[:2]: return True return False @@ -80,9 +87,10 @@ try: new_game_menu = ui.newgamemenu.NewGameMenu(w, start_new_game) new_game_menu.display() else: + game.settings.version = VERSION_STRING proceed_to_main_menu(game) except Exception as e: - print(e) + logging.exception(e) ui.corruptedsavemenu.CorruptedSaveMenu(w).display() w.run() diff --git a/resources/cau_groundobjects.p b/resources/cau_groundobjects.p index 54012b234c00f1914abf4c6f96fb2ca2c9547d01..d13e22c5e212aba99870c7d9a898a024ec765819 100644 GIT binary patch delta 7642 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 XboTZ*_w9Dn%q{F8=1ik*Ng4Ye062%G delta 4527 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 K6*)0Y(*FUr`!fpw diff --git a/userdata/persistency.py b/userdata/persistency.py index 7746b087..175fef5c 100644 --- a/userdata/persistency.py +++ b/userdata/persistency.py @@ -44,11 +44,8 @@ def restore_game(): if not _save_file_exists(): return None - try: - with open(_save_file(), "rb") as f: - return pickle.load(f) - except Exception as e: - raise e + with open(_save_file(), "rb") as f: + return pickle.load(f) def save_game(game) -> bool: