MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / FromJson

Method FromJson

Source/Parameters.cpp:61–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59}
60
61bool sFodderParameters::FromJson(const std::string& pJson) {
62 Json LoadedData;
63
64 try {
65 LoadedData = Json::parse(pJson);
66 }
67 catch (std::exception Exception) {
68 std::cout << "SaveGame JSON Parsing Error: " << Exception.what() << "\n";
69 return false;
70 }
71
72 mSkipService = LoadedData["mSkipService"];
73 mSkipBriefing = LoadedData["mSkipBriefing"];
74 mSkipIntro = LoadedData["mSkipIntro"];
75 mSkipRecruit = LoadedData["mSkipToMission"];
76 mMissionNumber = LoadedData["mMissionNumber"];
77 mPhaseNumber = LoadedData["mPhaseNumber"];
78 mWindowMode = LoadedData["mWindowMode"];
79 mRandom = LoadedData["mRandom"];
80 mDefaultPlatform = LoadedData["mDefaultPlatform"];
81 mCampaignName = LoadedData["mCampaignName"];
82 mUnitTesting = LoadedData["mUnitTesting"];
83 mSinglePhase = LoadedData["mSinglePhase"];
84
85 // Max Sprites
86 {
87 if (LoadedData.count("mSpritesMax") > 0)
88 mSpritesMax = LoadedData["mSpritesMax"];
89 else
90 mSpritesMax = 45; // The original engine limit
91
92 if (mSpritesMax < 16)
93 mSpritesMax = 16;
94 }
95
96 // Max Spawned
97 {
98 if (LoadedData.count("mSpawnEnemyMax") > 0)
99 mSpawnEnemyMax = LoadedData["mSpawnEnemyMax"];
100 else
101 mSpawnEnemyMax = 0x0A; // The original engine limit
102 }
103
104 if (LoadedData.count("mCheatsEnabled") > 0)
105 mCheatsEnabled = LoadedData["mCheatsEnabled"];
106 else
107 mCheatsEnabled = false;
108
109 if (LoadedData.count("mIntegerScaling") > 0) {
110 mIntegerScaling = LoadedData["mIntegerScaling"];
111 }
112
113 return true;
114}
115
116void sFodderParameters::PrepareOptions() {
117

Callers

nothing calls this directly

Calls 3

parseFunction · 0.85
whatMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected