mirror of
https://github.com/wiiu-env/WiiUPluginLoaderBackend.git
synced 2024-11-25 06:06:53 +01:00
Don't clear the .bss section anymore, call the wut init functions only once, except the devop one
This commit is contained in:
parent
2b517b5699
commit
42866ffbac
@ -157,6 +157,9 @@ void PluginManagement::callInitHooks(plugin_information_t *pluginInformation) {
|
||||
CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_KERNEL);
|
||||
CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_OVERLAY);
|
||||
CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_PLUGIN);
|
||||
CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_WUT_MALLOC);
|
||||
CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_WUT_NEWLIB);
|
||||
CallHook(pluginInformation, WUPS_LOADER_HOOK_INIT_WUT_STDCPP);
|
||||
DEBUG_FUNCTION_LINE("Done calling init hooks");
|
||||
}
|
||||
|
||||
@ -168,11 +171,8 @@ void PluginManagement::PatchFunctionsAndCallHooks(plugin_information_t *gPluginI
|
||||
DCFlushRange((void *) 0x00800000, 0x00800000);
|
||||
ICInvalidateRange((void *) 0x00800000, 0x00800000);
|
||||
|
||||
CallHook(gPluginInformation, WUPS_LOADER_HOOK_INIT_WUT_DEVOPTAB);
|
||||
for (int32_t plugin_index = 0; plugin_index < gPluginInformation->number_used_plugins; plugin_index++) {
|
||||
CallHookEx(gPluginInformation, WUPS_LOADER_HOOK_INIT_WUT_MALLOC, plugin_index);
|
||||
CallHookEx(gPluginInformation, WUPS_LOADER_HOOK_INIT_WUT_NEWLIB, plugin_index);
|
||||
CallHookEx(gPluginInformation, WUPS_LOADER_HOOK_INIT_WUT_STDCPP, plugin_index);
|
||||
CallHookEx(gPluginInformation, WUPS_LOADER_HOOK_INIT_WUT_DEVOPTAB, plugin_index);
|
||||
CallHookEx(gPluginInformation, WUPS_LOADER_HOOK_APPLICATION_START, plugin_index);
|
||||
new_PatchInvidualMethodHooks(&(gPluginInformation->plugin_data[plugin_index].info));
|
||||
CallHookEx(gPluginInformation, WUPS_LOADER_HOOK_FUNCTIONS_PATCHED, plugin_index);
|
||||
|
@ -140,7 +140,7 @@ WUMS_APPLICATION_STARTS() {
|
||||
if (pluginDataHeap != NULL) {
|
||||
std::vector<PluginContainer> plugins = PluginContainerPersistence::loadPlugins(gPluginInformation);
|
||||
PluginManagement::doRelocations(plugins, gPluginInformation->trampolines, DYN_LINK_TRAMPOLIN_LIST_LENGTH);
|
||||
PluginManagement::memsetBSS(plugins);
|
||||
// PluginManagement::memsetBSS(plugins);
|
||||
|
||||
DCFlushRange((void *) 0x00800000, 0x00800000);
|
||||
ICInvalidateRange((void *) 0x00800000, 0x00800000);
|
||||
|
@ -266,7 +266,7 @@ DECL(uint32_t, OSReceiveMessage, OSMessageQueue *queue, OSMessage *message, uint
|
||||
CallHook(gPluginInformation, WUPS_LOADER_HOOK_ACQUIRED_FOREGROUND);
|
||||
} else if (message->args[0] == 0xD1E0D1E0) {
|
||||
CallHook(gPluginInformation, WUPS_LOADER_HOOK_APPLICATION_END);
|
||||
//CallHook(gPluginInformation, WUPS_LOADER_HOOK_FINI_WUT_DEVOPTAB);
|
||||
CallHook(gPluginInformation, WUPS_LOADER_HOOK_FINI_WUT_DEVOPTAB);
|
||||
//gInBackground = false;
|
||||
//DCFlushRange(&gInBackground,4);
|
||||
//unmount_sd_fat("sd");
|
||||
|
Loading…
Reference in New Issue
Block a user