diff --git a/nx/source/runtime/init.c b/nx/source/runtime/init.c index aef7211b..e729c5ce 100644 --- a/nx/source/runtime/init.c +++ b/nx/source/runtime/init.c @@ -84,6 +84,8 @@ void __attribute__((weak)) __libnx_initheap(void) fake_heap_end = (char*)addr + size; } +void __attribute__((weak)) userAppInit(void); + void __attribute__((weak)) __appInit(void) { Result rc; @@ -114,10 +116,15 @@ void __attribute__((weak)) __appInit(void) fatalSimple(MAKERESULT(Module_Libnx, LibnxError_InitFail_FS)); fsdevMountSdmc(); + + if (&userAppInit) userAppInit(); } +void __attribute__((weak)) userAppExit(void); + void __attribute__((weak)) __appExit(void) { + if (&userAppExit) userAppExit(); // Cleanup default services. fsdevUnmountAll(); fsExit();