forked from Hay1tsme/segatools
unityhook: check for new entrypoint
The new entrypoint has been introduced in UnityDoorstop 4.1.0, which is used by BepInEx 5.4.23. This commit check for new entrypoint to support new version of BepInEx.
This commit is contained in:
parent
25e954fb55
commit
00b3d5b7bb
@ -118,9 +118,19 @@ void doorstop_invoke(void* domain) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *desc = mono_method_desc_new("*:Main", FALSE);
|
// BepInEx 5.4.23 has upgrade its doorstop version,
|
||||||
|
// which forces entrypoint to Doorstop.Entrypoint:Start
|
||||||
|
|
||||||
|
void *desc = mono_method_desc_new("Doorstop.Entrypoint:Start", TRUE);
|
||||||
void *method = mono_method_desc_search_in_image(desc, image);
|
void *method = mono_method_desc_search_in_image(desc, image);
|
||||||
|
|
||||||
|
if (!method) {
|
||||||
|
// Fallback to old entrypoint definition.
|
||||||
|
|
||||||
|
desc = mono_method_desc_new("*:Main", FALSE);
|
||||||
|
method = mono_method_desc_search_in_image(desc, image);
|
||||||
|
}
|
||||||
|
|
||||||
if (!method) {
|
if (!method) {
|
||||||
dprintf("Unity: Assembly does not have a valid entrypoint.\n");
|
dprintf("Unity: Assembly does not have a valid entrypoint.\n");
|
||||||
free(dll_path);
|
free(dll_path);
|
||||||
|
Loading…
Reference in New Issue
Block a user