Mono: Allow loading `mscorlib` from resources.
(cherry picked from commit b3ddf12fb1
)
This commit is contained in:
parent
e8bfc09b81
commit
518a691231
|
@ -479,6 +479,9 @@ void FileAccess::store_double(double p_dest) {
|
|||
|
||||
uint64_t FileAccess::get_modified_time(const String &p_file) {
|
||||
|
||||
if (PackedData::get_singleton() && !PackedData::get_singleton()->is_disabled() && PackedData::get_singleton()->has_path(p_file))
|
||||
return 0;
|
||||
|
||||
FileAccess *fa = create_for_path(p_file);
|
||||
ERR_FAIL_COND_V(!fa, 0);
|
||||
|
||||
|
|
|
@ -143,11 +143,10 @@ MonoAssembly *GDMonoAssembly::_preload_hook(MonoAssemblyName *aname, char **asse
|
|||
|
||||
if (has_extension ? name == "mscorlib.dll" : name == "mscorlib") {
|
||||
GDMonoAssembly **stored_assembly = GDMono::get_singleton()->get_loaded_assembly(has_extension ? name.get_basename() : name);
|
||||
if (stored_assembly)
|
||||
return (*stored_assembly)->get_assembly();
|
||||
if (stored_assembly) return (*stored_assembly)->get_assembly();
|
||||
|
||||
String path;
|
||||
GDMonoAssembly *res = NULL;
|
||||
MonoAssembly *res = NULL;
|
||||
|
||||
for (int i = 0; i < search_dirs.size(); i++) {
|
||||
const String &search_dir = search_dirs[i];
|
||||
|
@ -155,21 +154,19 @@ MonoAssembly *GDMonoAssembly::_preload_hook(MonoAssemblyName *aname, char **asse
|
|||
if (has_extension) {
|
||||
path = search_dir.plus_file(name);
|
||||
if (FileAccess::exists(path)) {
|
||||
res = _load_assembly_from(name.get_basename(), path, refonly);
|
||||
if (res != NULL)
|
||||
res = _load_assembly_from(name.get_basename(), path);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
path = search_dir.plus_file(name + ".dll");
|
||||
if (FileAccess::exists(path)) {
|
||||
res = _load_assembly_from(name, path, refonly);
|
||||
if (res != NULL)
|
||||
res = _load_assembly_from(name, path);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return res ? res->get_assembly() : NULL;
|
||||
if (res) return res;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue