MCPcopy Create free account
hub / github.com/OpenRCT2/OpenRCT2 / Save

Method Save

src/openrct2/command_line/sprite/SpriteFile.cpp:98–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

96 }
97
98 bool SpriteFile::Save(const utf8* path)
99 {
100 try
101 {
102 FileStream stream(path, FileMode::write);
103 stream.Write(&Header, sizeof(G1Header));
104
105 if (Header.numEntries > 0)
106 {
107 ScopedRelativeSpriteFile scopedRelative(*this);
108
109 for (const auto& entry : Entries)
110 {
111 StoredG1Element entry32bit{};
112
113 entry32bit.offset = static_cast<uint32_t>(reinterpret_cast<uintptr_t>(const_cast<uint8_t*>(entry.offset)));
114 entry32bit.width = entry.width;
115 entry32bit.height = entry.height;
116 entry32bit.xOffset = entry.xOffset;
117 entry32bit.yOffset = entry.yOffset;
118 entry32bit.flags = entry.flags;
119 entry32bit.zoomedOffset = entry.zoomedOffset;
120
121 stream.Write(&entry32bit, sizeof(entry32bit));
122 }
123 stream.Write(Data.data(), Header.totalSize);
124 }
125 return true;
126 }
127 catch (IOException&)
128 {
129 return false;
130 }
131 }
132
133} // namespace OpenRCT2::CommandLine::Sprite

Callers 3

createFunction · 0.45
buildFunction · 0.45
appendFunction · 0.45

Calls 2

WriteMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected