From f49efc3cc72f8e1d6441be16be1eeb8631d7d9e0 Mon Sep 17 00:00:00 2001 From: fincs Date: Fri, 12 Jun 2020 14:16:46 +0200 Subject: [PATCH] Add support for userAppInit/userAppExit (backported from libnx) --- libctru/source/system/appExit.c | 7 ++++++- libctru/source/system/appInit.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libctru/source/system/appExit.c b/libctru/source/system/appExit.c index f797e1d..9165425 100644 --- a/libctru/source/system/appExit.c +++ b/libctru/source/system/appExit.c @@ -6,7 +6,12 @@ #include <3ds/services/fs.h> #include <3ds/services/hid.h> -void __attribute__((weak)) __appExit(void) { +void __attribute__((weak)) userAppExit(void); + +void __attribute__((weak)) __appExit(void) +{ + if (&userAppExit) userAppExit(); + // Exit services archiveUnmountAll(); fsExit(); diff --git a/libctru/source/system/appInit.c b/libctru/source/system/appInit.c index 0bd3e04..47b4dbf 100644 --- a/libctru/source/system/appInit.c +++ b/libctru/source/system/appInit.c @@ -6,7 +6,10 @@ #include <3ds/services/fs.h> #include <3ds/services/hid.h> -void __attribute__((weak)) __appInit(void) { +void __attribute__((weak)) userAppInit(void); + +void __attribute__((weak)) __appInit(void) +{ // Initialize services srvInit(); aptInit(); @@ -14,4 +17,6 @@ void __attribute__((weak)) __appInit(void) { fsInit(); archiveMountSdmc(); + + if (&userAppInit) userAppInit(); }