mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
18ff480c07 | ||
|
|
19fd79c25c | ||
|
|
f992310a36 | ||
|
|
edcadde368 |
@@ -1,3 +1,11 @@
|
|||||||
|
# Retribution v1.3.1
|
||||||
|
#### Note: Re-save your missions in DCS' Mission Editor to avoid possible crashes due to datalink (usually the case when F-16C blk50s are used) when hosting missions on a dedicated server.
|
||||||
|
|
||||||
|
## Fixes
|
||||||
|
* **[UX]** Fix save-compatibility issue
|
||||||
|
* **[UX]** Avoid crash on startup due to incompatible save
|
||||||
|
|
||||||
|
|
||||||
# Retribution v1.3.0
|
# Retribution v1.3.0
|
||||||
#### Note: Re-save your missions in DCS' Mission Editor to avoid possible crashes due to datalink (usually the case when F-16C blk50s are used) when hosting missions on a dedicated server.
|
#### Note: Re-save your missions in DCS' Mission Editor to avoid possible crashes due to datalink (usually the case when F-16C blk50s are used) when hosting missions on a dedicated server.
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,10 @@
|
|||||||
# -- Project information -----------------------------------------------------
|
# -- Project information -----------------------------------------------------
|
||||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
||||||
|
|
||||||
project = "DCS Liberation"
|
project = "DCS Retribution"
|
||||||
copyright = "2023, DCS Liberation Team"
|
copyright = "2023, DCS Retribution Team"
|
||||||
author = "DCS Liberation Team"
|
author = "DCS Retribution Team"
|
||||||
release = "7.0.0"
|
release = "1.3.1"
|
||||||
|
|
||||||
# -- General configuration ---------------------------------------------------
|
# -- General configuration ---------------------------------------------------
|
||||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ class Migrator:
|
|||||||
try_set_attr(f, "tacan")
|
try_set_attr(f, "tacan")
|
||||||
try_set_attr(f, "tcn_name")
|
try_set_attr(f, "tcn_name")
|
||||||
try_set_attr(f, "fuel", f.unit_type.max_fuel)
|
try_set_attr(f, "fuel", f.unit_type.max_fuel)
|
||||||
|
try_set_attr(f, "plane_altitude_offset", 0)
|
||||||
if f.package in f.squadron.coalition.ato.packages:
|
if f.package in f.squadron.coalition.ato.packages:
|
||||||
self._update_flight_plan(f)
|
self._update_flight_plan(f)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from pathlib import Path
|
|||||||
|
|
||||||
MAJOR_VERSION = 1
|
MAJOR_VERSION = 1
|
||||||
MINOR_VERSION = 3
|
MINOR_VERSION = 3
|
||||||
MICRO_VERSION = 0
|
MICRO_VERSION = 1
|
||||||
|
|
||||||
|
|
||||||
def _optional_build_id_component(path: Path) -> str | None:
|
def _optional_build_id_component(path: Path) -> str | None:
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ class QLiberationWindow(QMainWindow):
|
|||||||
if last_save_file:
|
if last_save_file:
|
||||||
logging.info("Loading last saved game : " + str(last_save_file))
|
logging.info("Loading last saved game : " + str(last_save_file))
|
||||||
game = persistency.load_game(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.onGameGenerated(game)
|
||||||
self.updateWindowTitle(last_save_file if game else None)
|
self.updateWindowTitle(last_save_file if game else None)
|
||||||
else:
|
else:
|
||||||
@@ -316,7 +316,7 @@ class QLiberationWindow(QMainWindow):
|
|||||||
)
|
)
|
||||||
if file is not None and file[0] != "":
|
if file is not None and file[0] != "":
|
||||||
game = persistency.load_game(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)
|
GameUpdateSignal.get_instance().game_loaded.emit(game)
|
||||||
|
|
||||||
self.updateWindowTitle(file[0])
|
self.updateWindowTitle(file[0])
|
||||||
@@ -324,15 +324,23 @@ class QLiberationWindow(QMainWindow):
|
|||||||
def migrate_game(self, game, path):
|
def migrate_game(self, game, path):
|
||||||
if game:
|
if game:
|
||||||
is_liberation = ".liberation" in path
|
is_liberation = ".liberation" in path
|
||||||
Migrator(game, is_liberation)
|
try:
|
||||||
|
Migrator(game, is_liberation)
|
||||||
|
return game
|
||||||
|
except Exception:
|
||||||
|
self.incompatible_save_popup(path)
|
||||||
else:
|
else:
|
||||||
relative_path = Path(path)
|
self.incompatible_save_popup(path)
|
||||||
QMessageBox.critical(
|
return None
|
||||||
self,
|
|
||||||
"Incompatible save",
|
def incompatible_save_popup(self, path):
|
||||||
"Incompatible save file detected, please report the issue on GitHub or Discord.\n"
|
relative_path = Path(path)
|
||||||
f"Make sure to include the campaign that fails to load, i.e.:\n\n{relative_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):
|
def saveGame(self):
|
||||||
logging.info("Saving game")
|
logging.info("Saving game")
|
||||||
|
|||||||
Reference in New Issue
Block a user