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(); }