Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions dcs/mission.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,9 @@ def loaddict(fname: str, mizfile: zipfile.ZipFile, reserved_files: List[str]) ->

imp_mission = mission_dict["mission"]

# required modules
self.requiredModules = imp_mission.get("requiredModules", None)
Comment thread
332fg-raven marked this conversation as resolved.
Outdated

# import translations
self.translation = Translation(self)
translation_dict = dictionary_dict["dictionary"]
Expand Down Expand Up @@ -2006,6 +2009,7 @@ def dict(self):
"Month": self.start_time.month,
"Day": self.start_time.day
}
m["requiredModules"] = self.requiredModules
if self.random_weather:
self.weather.random(self.start_time, self.terrain)
m["groundControl"] = self.groundControl.dict()
Expand Down
Binary file added tests/missions/Mission_with_required_modules.miz
Binary file not shown.
12 changes: 12 additions & 0 deletions tests/test_mission.py
Original file line number Diff line number Diff line change
Expand Up @@ -872,3 +872,15 @@ def preset_preserved(group: dcs.unitgroup.StaticGroup,

static_groups = m2.coalition["blue"].countries["USA"].static_group
self.assertTrue(any(preset_preserved(g, 3) for g in static_groups))

def test_smoke_required_modules(self) -> None:
mizname = "missions/Mission_with_required_modules.miz"
m = dcs.mission.Mission()
m.load_file(mizname)
self.assertTrue(len(m.requiredModules.keys()) == 1)
Comment thread
332fg-raven marked this conversation as resolved.
Outdated

saved_miz = "missions/Mission_with_required_modules_saved.miz"
m.save(saved_miz)
m2 = dcs.mission.Mission()
m2.load_file(saved_miz)
self.assertTrue(len(m2.requiredModules.keys()) == 1)