From f3f6fae798b45f44d3bb7d27eb7798bb0dae4c87 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sun, 8 May 2022 19:37:46 +0200 Subject: [PATCH] Use the latest libfunctionpatcher --- Dockerfile | 6 +++--- src/main.cpp | 13 ++++++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index c5a094f..8db2d18 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ -FROM wiiuenv/devkitppc:20220303 +FROM wiiuenv/devkitppc:20220507 -COPY --from=wiiuenv/libfunctionpatcher:20220211 /artifacts $DEVKITPRO -COPY --from=wiiuenv/wiiumodulesystem:20220204 /artifacts $DEVKITPRO +COPY --from=wiiuenv/libfunctionpatcher:20220507 /artifacts $DEVKITPRO +COPY --from=wiiuenv/wiiumodulesystem:20220507 /artifacts $DEVKITPRO COPY --from=wiiuenv/libromfs_wiiu:20220414 /artifacts $DEVKITPRO COPY --from=wiiuenv/libcontentredirection:20220414 /artifacts $DEVKITPRO diff --git a/src/main.cpp b/src/main.cpp index 454bef7..b4629f7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -10,9 +10,16 @@ WUMS_USE_WUT_DEVOPTAB(); WUMS_INITIALIZE() { initLogging(); DEBUG_FUNCTION_LINE("Patch functions"); - // we only patch static functions, we don't need re-patch them at every launch - FunctionPatcherPatchFunction(fs_file_function_replacements, fs_file_function_replacements_size); - FunctionPatcherPatchFunction(fs_dir_function_replacements, fs_dir_function_replacements_size); + for (uint32_t i = 0; i < fs_file_function_replacements_size; i++) { + if (!FunctionPatcherPatchFunction(&fs_file_function_replacements[i], nullptr)) { + OSFatal("homebrew_content_redirection: Failed to patch function"); + } + } + for (uint32_t i = 0; i < fs_dir_function_replacements_size; i++) { + if (!FunctionPatcherPatchFunction(&fs_dir_function_replacements[i], nullptr)) { + OSFatal("homebrew_content_redirection: Failed to patch function"); + } + } DEBUG_FUNCTION_LINE("Patch functions finished"); deinitLogging(); }