diff --git a/game/missiongenerator/environmentgenerator.py b/game/missiongenerator/environmentgenerator.py index 9fbae5e4..392197f6 100644 --- a/game/missiongenerator/environmentgenerator.py +++ b/game/missiongenerator/environmentgenerator.py @@ -12,11 +12,12 @@ from game.weather.wind import WindConditions class EnvironmentGenerator: def __init__( - self, mission: Mission, conditions: Conditions, time: datetime + self, mission: Mission, conditions: Conditions, time: datetime, auto_fog: bool ) -> None: self.mission = mission self.conditions = conditions self.time = time + self.auto_fog = auto_fog def set_atmospheric(self, atmospheric: AtmosphericConditions) -> None: self.mission.weather.qnh = atmospheric.qnh.mm_hg @@ -33,6 +34,7 @@ class EnvironmentGenerator: self.mission.weather.clouds_preset = clouds.preset def set_fog(self, fog: Optional[Fog]) -> None: + self.mission.weather.auto_fog = self.auto_fog if fog is None: return self.mission.weather.fog_visibility = int(fog.visibility.meters) diff --git a/game/missiongenerator/missiongenerator.py b/game/missiongenerator/missiongenerator.py index 86cb2ba2..daa90484 100644 --- a/game/missiongenerator/missiongenerator.py +++ b/game/missiongenerator/missiongenerator.py @@ -86,7 +86,10 @@ class MissionGenerator: self.add_airfields_to_unit_map() self.initialize_registries() - EnvironmentGenerator(self.mission, self.game.conditions, self.time).generate() + auto_fog = self.game.settings.use_auto_fog + EnvironmentGenerator( + self.mission, self.game.conditions, self.time, auto_fog + ).generate() tgo_generator = TgoGenerator( self.mission, diff --git a/game/pretense/pretensemissiongenerator.py b/game/pretense/pretensemissiongenerator.py index 7c816725..cb94b898 100644 --- a/game/pretense/pretensemissiongenerator.py +++ b/game/pretense/pretensemissiongenerator.py @@ -83,7 +83,10 @@ class PretenseMissionGenerator(MissionGenerator): self.add_airfields_to_unit_map() self.initialize_registries() - EnvironmentGenerator(self.mission, self.game.conditions, self.time).generate() + auto_fog = self.game.settings.use_auto_fog + EnvironmentGenerator( + self.mission, self.game.conditions, self.time, auto_fog + ).generate() tgo_generator = PretenseTgoGenerator( self.mission, diff --git a/game/settings/settings.py b/game/settings/settings.py index f6e15893..d9c97ed9 100644 --- a/game/settings/settings.py +++ b/game/settings/settings.py @@ -1073,6 +1073,12 @@ class Settings: GAMEPLAY_SECTION, default=True, ) + use_auto_fog: bool = boolean_option( + "Use DCS' automatic fog setting", + MISSION_GENERATOR_PAGE, + GAMEPLAY_SECTION, + default=True, + ) # Performance perf_smoke_gen: bool = boolean_option( diff --git a/requirements.txt b/requirements.txt index d4bcf85d..5a471de8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,7 +33,7 @@ pluggy==1.5.0 pre-commit==3.7.1 pydantic==2.7.4 pydantic-settings==2.3.3 -pydcs @ git+https://github.com/dcs-retribution/pydcs@d227a6a81e159f0df8a31d12e8bc10ee12673c73 +pydcs @ git+https://github.com/dcs-retribution/pydcs@d4f141fb8bfa75a4e3b8280012ab46723a6b05ef pyinstaller==5.13.2 pyinstaller-hooks-contrib==2024.0 pyparsing==3.1.2