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

Function prepareHeader

src/OpenLoco/src/S5/S5.cpp:64–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62 }
63
64 static Header prepareHeader(SaveFlags flags, size_t numPackedObjects)
65 {
66 Header result;
67 std::memset(&result, 0, sizeof(result));
68
69 result.type = S5Type::savedGame;
70 if (hasSaveFlags(flags, SaveFlags::landscape))
71 {
72 result.type = S5Type::landscape;
73 }
74 if (hasSaveFlags(flags, SaveFlags::scenario))
75 {
76 result.type = S5Type::scenario;
77 }
78
79 result.numPackedObjects = static_cast<uint16_t>(numPackedObjects);
80 result.version = kCurrentVersion;
81 result.magic = kMagicNumber;
82
83 if (hasSaveFlags(flags, SaveFlags::raw))
84 {
85 result.flags |= HeaderFlags::isRaw;
86 }
87 if (hasSaveFlags(flags, SaveFlags::dump))
88 {
89 result.flags |= HeaderFlags::isDump;
90 }
91 if (!hasSaveFlags(flags, SaveFlags::scenario)
92 && !hasSaveFlags(flags, SaveFlags::raw)
93 && !hasSaveFlags(flags, SaveFlags::dump))
94 {
95 result.flags |= HeaderFlags::hasSaveDetails;
96 }
97
98 return result;
99 }
100
101 // 0x004471A4
102 static std::unique_ptr<SaveDetails> prepareSaveDetails(OpenLoco::GameState& gameState)

Callers 1

prepareGameStateFunction · 0.85

Calls 1

hasSaveFlagsFunction · 0.85

Tested by

no test coverage detected