MCPcopy Create free account
hub / github.com/defold/defold / WrapArchiveBuffer

Function WrapArchiveBuffer

engine/resource/src/resource_archive.cpp:151–174  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

149 }
150
151 Result WrapArchiveBuffer(const void* index_buffer, uint32_t index_buffer_size, bool mem_mapped_index,
152 const void* resource_data, uint32_t resource_data_size, bool mem_mapped_data,
153 HArchiveIndexContainer* archive)
154 {
155 *archive = new ArchiveIndexContainer;
156 (*archive)->m_IsMemMapped = mem_mapped_index;
157 ArchiveIndex* a = (ArchiveIndex*) index_buffer;
158 uint32_t version = dmEndian::ToNetwork(a->m_Version);
159 if (version != VERSION)
160 {
161 dmLogError("Archive version differs. Expected %d, but it was %d", VERSION, version);
162 return RESULT_VERSION_MISMATCH;
163 }
164
165 (*archive)->m_ArchiveFileIndex = new ArchiveFileIndex;
166 (*archive)->m_ArchiveFileIndex->m_ResourceData = (uint8_t*)resource_data;
167 (*archive)->m_ArchiveFileIndex->m_ResourceSize = resource_data_size;
168 (*archive)->m_ArchiveFileIndex->m_IsMemMapped = mem_mapped_data;
169
170 (*archive)->m_ArchiveIndex = a;
171 (*archive)->m_ArchiveIndexSize = index_buffer_size;
172
173 return RESULT_OK;
174 }
175
176 static void DeleteArchiveFileIndex(ArchiveFileIndex* afi)
177 {

Callers 5

CreateArchiveFunction · 0.85
MountArchiveInternalFunction · 0.85
MountArchiveInternalFunction · 0.85
TESTFunction · 0.85
TEST_FFunction · 0.85

Calls 1

ToNetworkFunction · 0.85

Tested by 2

TESTFunction · 0.68
TEST_FFunction · 0.68