diff --git a/.gitignore b/.gitignore index ba57c28..98a796f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ build/ cmake-build-debug/ CMakeLists.txt *.wms +*.zip diff --git a/Dockerfile b/Dockerfile index 5d746a6..20da8e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ -FROM ghcr.io/wiiu-env/devkitppc:20230621 +FROM ghcr.io/wiiu-env/devkitppc:20240423 COPY --from=ghcr.io/wiiu-env/libkernel:20230621 /artifacts $DEVKITPRO COPY --from=ghcr.io/wiiu-env/libfunctionpatcher:20230621 /artifacts $DEVKITPRO -COPY --from=ghcr.io/wiiu-env/wiiumodulesystem:20230719 /artifacts $DEVKITPRO +COPY --from=ghcr.io/wiiu-env/wiiumodulesystem:20240424 /artifacts $DEVKITPRO WORKDIR project diff --git a/source/PatchedFunctionData.cpp b/source/PatchedFunctionData.cpp index 72cbb7b..948eb46 100644 --- a/source/PatchedFunctionData.cpp +++ b/source/PatchedFunctionData.cpp @@ -232,15 +232,15 @@ void PatchedFunctionData::generateJumpToOriginal() { uint32_t jumpToAddress = this->realEffectiveFunctionAddress + 4; - this->jumpToOriginal[0] = this->replacedInstruction; - if (((uint32_t) jumpToAddress & 0x01FFFFFC) != (uint32_t) jumpToAddress) { // We need to do a long jump - this->jumpToOriginal[1] = 0x3d600000 | ((jumpToAddress >> 16) & 0x0000FFFF); // lis r11 ,0x1234 - this->jumpToOriginal[2] = 0x616b0000 | (jumpToAddress & 0x0000ffff); // ori r11 ,r11 ,0x5678 - this->jumpToOriginal[3] = 0x7d6903a6; // mtspr CTR ,r11 - this->jumpToOriginal[4] = 0x4e800420; // bctr + this->jumpToOriginal[0] = 0x3d600000 | ((jumpToAddress >> 16) & 0x0000FFFF); // lis r11 ,0x1234 + this->jumpToOriginal[1] = 0x616b0000 | (jumpToAddress & 0x0000ffff); // ori r11 ,r11 ,0x5678 + this->jumpToOriginal[2] = 0x7d6903a6; // mtspr CTR ,r11 + this->jumpToOriginal[3] = this->replacedInstruction; + this->jumpToOriginal[4] = 0x4e800420; // bctr } else { + this->jumpToOriginal[0] = this->replacedInstruction; this->jumpToOriginal[1] = 0x48000002 | (jumpToAddress & 0x01FFFFFC); } diff --git a/source/utils/globals.h b/source/utils/globals.h index 90a2b6c..002e655 100644 --- a/source/utils/globals.h +++ b/source/utils/globals.h @@ -5,7 +5,7 @@ #include #include -#define MODULE_VERSION "v0.2.2" +#define MODULE_VERSION "v0.2.3" #define MODULE_VERSION_FULL MODULE_VERSION MODULE_VERSION_EXTRA #define JUMP_HEAP_DATA_SIZE (32 * 1024)