mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 21:07:42 +00:00
Various bug fixes
This commit is contained in:
@@ -22,11 +22,15 @@ CFactoryFnReturn CResFactory::BuildSync(const SObjectTag& tag, const CVParamTran
|
||||
if (size)
|
||||
ret = x5c_factoryMgr.MakeObjectFromMemory(tag, std::move(data), size,
|
||||
x4_loader.GetResourceCompression(tag), xfer, selfRef);
|
||||
else
|
||||
ret = std::make_unique<TObjOwnerDerivedFromIObjUntyped>(nullptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (auto rp = x4_loader.LoadNewResourceSync(tag, nullptr))
|
||||
ret = x5c_factoryMgr.MakeObject(tag, *rp, xfer, selfRef);
|
||||
else
|
||||
ret = std::make_unique<TObjOwnerDerivedFromIObjUntyped>(nullptr);
|
||||
}
|
||||
Log.report(logvisor::Warning, "sync-built %.4s %08X", tag.type.getChars(), tag.id.Value());
|
||||
return ret;
|
||||
@@ -74,6 +78,10 @@ void CResFactory::BuildAsync(const SObjectTag& tag, const CVParamTransfer& xfer,
|
||||
data.x8_dvdReq = x4_loader.LoadResourceAsync(tag, data.x10_loadBuffer.get());
|
||||
AddToLoadList(std::move(data));
|
||||
}
|
||||
else
|
||||
{
|
||||
*target = std::make_unique<TObjOwnerDerivedFromIObjUntyped>(nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user