diff --git a/source/globals.h b/source/globals.h index c956869..509bd35 100644 --- a/source/globals.h +++ b/source/globals.h @@ -5,4 +5,6 @@ extern plugin_information_t *gPluginInformation; extern MEMHeapHandle pluginDataHeap; -extern plugin_information_on_reload_t gLinkOnReload; \ No newline at end of file +extern plugin_information_on_reload_t gLinkOnReload; +extern "C" void __init_wut(); +extern "C" void __fini_wut(); \ No newline at end of file diff --git a/source/main.cpp b/source/main.cpp index 3fe64ab..cd3d4c9 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -22,6 +22,8 @@ std::vector loadPlugins(const std::vector &pluginLi module_information_t *gModuleData = NULL; WUMS_INITIALIZE(args) { + __init_wut(); + WHBLogUdpInit(); gModuleData = args.module_information; if(gModuleData == NULL){ OSFatal("WUPS-Backend: Failed to get gModuleData pointer."); @@ -29,9 +31,12 @@ WUMS_INITIALIZE(args) { if(gModuleData->version != MODULE_INFORMATION_VERSION){ OSFatal("WUPS-Backend: The module information struct version does not match."); } + WHBLogPrintf("Init successful"); + __fini_wut(); } WUMS_APPLICATION_STARTS() { + __init_wut(); WHBLogUdpInit(); uint32_t upid = OSGetUPID(); if (upid != 2 && upid != 15) { diff --git a/source/patcher/hooks_patcher_static.cpp b/source/patcher/hooks_patcher_static.cpp index 1255eed..fc85499 100644 --- a/source/patcher/hooks_patcher_static.cpp +++ b/source/patcher/hooks_patcher_static.cpp @@ -258,6 +258,7 @@ DECL_FUNCTION(uint32_t, OSReceiveMessage, OSMessageQueue *queue, OSMessage *mess } else if (message->args[0] == 0xD1E0D1E0) { CallHook(gPluginInformation, WUPS_LOADER_HOOK_APPLICATION_END); CallHook(gPluginInformation, WUPS_LOADER_HOOK_FINI_WUT_DEVOPTAB); + __fini_wut(); //gInBackground = false; //DCFlushRange(&gInBackground,4); //unmount_sd_fat("sd");