From bc3b6315c344647e5c5d4f25e4da43ff55e33fe3 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 18 Feb 2023 18:06:49 +0100 Subject: [PATCH] Add support for RL_GetPathOfRunningExecutable, bump API version to 2 --- Dockerfile | 4 ++-- src/RPXLoading.cpp | 14 +++++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 24bb612..8a29a8d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM wiiuenv/devkitppc:20221228 -COPY --from=wiiuenv/librpxloader:20220903 /artifacts $DEVKITPRO -COPY --from=wiiuenv/libfunctionpatcher:20230106 /artifacts $DEVKITPRO +COPY --from=wiiuenv/librpxloader:20230218 /artifacts $DEVKITPRO +COPY --from=wiiuenv/libfunctionpatcher:20230108 /artifacts $DEVKITPRO COPY --from=wiiuenv/wiiumodulesystem:20230106 /artifacts $DEVKITPRO COPY --from=wiiuenv/libwuhbutils:20220904 /artifacts $DEVKITPRO COPY --from=wiiuenv/libcontentredirection:20221010 /artifacts $DEVKITPRO diff --git a/src/RPXLoading.cpp b/src/RPXLoading.cpp index b93a81c..49e5291 100644 --- a/src/RPXLoading.cpp +++ b/src/RPXLoading.cpp @@ -381,10 +381,21 @@ RPXLoaderStatus RL_GetVersion(RPXLoaderVersion *outVersion) { if (!outVersion) { return RPX_LOADER_RESULT_INVALID_ARGUMENT; } - *outVersion = 1; + *outVersion = 2; return RPX_LOADER_RESULT_SUCCESS; } +RPXLoaderStatus RL_GetPathOfRunningExecutable(char *outBuffer, uint32_t outSize) { + if (outBuffer == nullptr || outSize == 0) { + return RPX_LOADER_RESULT_INVALID_ARGUMENT; + } + if (strlen(gReplacementInfo.lastFileLoaded) > 0) { + strncpy(outBuffer, gReplacementInfo.lastFileLoaded, outSize - 1); + return RPX_LOADER_RESULT_SUCCESS; + } + + return RPX_LOADER_RESULT_NOT_AVAILABLE; +} WUMS_EXPORT_FUNCTION(RL_PrepareLaunchFromSD); WUMS_EXPORT_FUNCTION(RL_LaunchPreparedHomebrew); @@ -394,3 +405,4 @@ WUMS_EXPORT_FUNCTION(RL_GetVersion); WUMS_EXPORT_FUNCTION(RL_EnableContentRedirection); WUMS_EXPORT_FUNCTION(RL_DisableContentRedirection); WUMS_EXPORT_FUNCTION(RL_UnmountCurrentRunningBundle); +WUMS_EXPORT_FUNCTION(RL_GetPathOfRunningExecutable);