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

Function AddBuiltinMount

engine/resource/src/resource.cpp:173–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171}
172
173static Result AddBuiltinMount(HFactory factory, NewFactoryParams* params)
174{
175 dmResourceProvider::HArchiveInternal internal = 0;
176 dmResourceProvider::Result result;
177 result = dmResourceProviderArchive::CreateArchive( (uint8_t*)params->m_ArchiveManifest.m_Data, params->m_ArchiveManifest.m_Size,
178 (uint8_t*)params->m_ArchiveIndex.m_Data, params->m_ArchiveIndex.m_Size,
179 (uint8_t*)params->m_ArchiveData.m_Data, params->m_ArchiveData.m_Size,
180 &internal);
181 if (dmResourceProvider::RESULT_OK != result)
182 {
183 internal = 0;
184 dmLogError("Failed to create in-memory archive from builtin project: %d", result);
185 return RESULT_INVAL;
186 }
187
188 dmResourceProvider::HArchiveLoader loader = dmResourceProvider::FindLoaderByName(dmHashString64("archive"));
189 result = dmResourceProvider::CreateMount(loader, internal, &factory->m_BuiltinMount);
190
191 if (dmResourceProvider::RESULT_OK != result)
192 {
193 factory->m_BuiltinMount = 0;
194 dmLogError("Failed to mount builtin archive: %d", result);
195 return RESULT_NOT_LOADED;
196 }
197
198 dmResourceMounts::AddMount(factory->m_Mounts, dmHashString64("_builtin"), factory->m_BuiltinMount, -5);
199 return RESULT_OK;
200}
201
202HFactory NewFactory(NewFactoryParams* params, const char* uri)
203{

Callers 1

NewFactoryFunction · 0.85

Calls 4

CreateArchiveFunction · 0.85
FindLoaderByNameFunction · 0.85
CreateMountFunction · 0.85
AddMountFunction · 0.85

Tested by

no test coverage detected