MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / importOptions

Function importOptions

src/OpenLoco/src/S5/S5Options.cpp:21–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19 }
20
21 OpenLoco::Scenario::Options importOptions(const S5::Options& src)
22 {
23 OpenLoco::Scenario::Options dst{};
24 dst.editorStep = static_cast<EditorController::Step>(src.editorStep);
25 dst.difficulty = src.difficulty;
26 dst.scenarioStartYear = src.scenarioStartYear;
27 dst.scenarioFlags = static_cast<Scenario::ScenarioFlags>(src.scenarioFlags);
28 dst.madeAnyChanges = src.madeAnyChanges;
29 for (auto i = 0U; i < std::size(src.landDistributionPatterns); i++)
30 {
31 dst.landDistributionPatterns[i] = static_cast<Scenario::LandDistributionPattern>(src.landDistributionPatterns[i]);
32 }
33 std::ranges::copy(src.scenarioName, dst.scenarioName);
34 std::ranges::copy(src.scenarioDetails, dst.scenarioDetails);
35 dst.scenarioText = src.scenarioText;
36 dst.numberOfForests = src.numberOfForests;
37 dst.minForestRadius = src.minForestRadius;
38 dst.maxForestRadius = src.maxForestRadius;
39 dst.minForestDensity = src.minForestDensity;
40 dst.maxForestDensity = src.maxForestDensity;
41 dst.numberRandomTrees = src.numberRandomTrees;
42 dst.minAltitudeForTrees = src.minAltitudeForTrees;
43 dst.maxAltitudeForTrees = src.maxAltitudeForTrees;
44 dst.minLandHeight = src.minLandHeight;
45 dst.topographyStyle = static_cast<Scenario::TopographyStyle>(src.topographyStyle);
46 dst.hillDensity = src.hillDensity;
47 dst.numberOfTowns = src.numberOfTowns;
48 dst.maxTownSize = src.maxTownSize;
49 dst.numberOfIndustries = src.numberOfIndustries;
50 std::memcpy(dst.preview, src.preview, sizeof(src.preview));
51 dst.maxCompetingCompanies = src.maxCompetingCompanies;
52 dst.competitorStartDelay = src.competitorStartDelay;
53 dst.objective = importObjective(src.objective);
54 dst.objectiveDeliveredCargo = src.objectiveDeliveredCargo;
55 dst.currency = src.currency;
56
57 dst.generator = static_cast<Scenario::LandGeneratorType>(src.generator);
58 dst.numTerrainSmoothingPasses = src.numTerrainSmoothingPasses;
59 dst.numRiverbeds = src.numRiverbeds;
60 dst.minRiverWidth = src.minRiverWidth;
61 dst.maxRiverWidth = src.maxRiverWidth;
62 dst.riverbankWidth = src.riverbankWidth;
63 dst.riverMeanderRate = src.riverMeanderRate;
64
65 return dst;
66 }
67
68 static S5::Objective exportObjective(const OpenLoco::Scenario::Objective& src)
69 {

Callers 2

importSaveToGameStateFunction · 0.85
readScenarioOptionsFunction · 0.85

Calls 1

importObjectiveFunction · 0.85

Tested by

no test coverage detected