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

Method ToJson

Source/GameData.cpp:258–306  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

256}
257
258std::string sGameRecorded::ToJson() {
259 auto now = std::chrono::system_clock::now();
260 auto in_time_t = std::chrono::system_clock::to_time_t(now);
261
262 Json Save;
263
264 Save["SaveVersion"] = mVersion;
265
266 Save["Timestamp"] = in_time_t;
267 Save["Seed1"] = mSeed[0];
268 Save["Seed2"] = mSeed[1];
269 Save["Seed3"] = mSeed[2];
270 Save["Seed4"] = mSeed[3];
271 Save["InputTicks"] = mInputTicks;
272 Save["mEngineTicks"] = mEngineTicks;
273
274 Save["mParams"] = mParams->ToJson();
275 Save["mPlatform"] = mRecordedPlatform;
276
277 for (auto& Event : mEvents) {
278 Json JsonHero;
279
280 JsonHero["1"] = Event.first;
281 JsonHero["2"] = Event.second.mButton;
282 JsonHero["3"] = Event.second.mButtonCount;
283 JsonHero["4"] = Event.second.mPosition.mX;
284 JsonHero["5"] = Event.second.mPosition.mY;
285 JsonHero["6"] = Event.second.mType;
286
287 Save["mEvents"].push_back(JsonHero);
288 }
289
290 for (auto& State : mState) {
291 Json JsonHero;
292
293 JsonHero["1"] = State.first;
294 JsonHero["2"] = State.second.mInputMouseX;
295 JsonHero["3"] = State.second.mInputMouseY;
296 JsonHero["4"] = State.second.mMouseButtonStatus;
297
298 Save["mStates"].push_back(JsonHero);
299 }
300
301 for (auto& val : mVideoTicks) {
302 Save["mVideoTicks"].push_back(val);
303 }
304
305 return Save.dump(-1);
306}
307
308bool sGameRecorded::FromJson(const std::string& pJson) {
309 Json LoadedData;

Callers 1

Game_SaveMethod · 0.45

Calls 3

dumpMethod · 0.80
getNameMethod · 0.80
push_backMethod · 0.45

Tested by

no test coverage detected