diff options
Diffstat (limited to 'Patcher.cpp')
-rw-r--r-- | Patcher.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Patcher.cpp b/Patcher.cpp index d8328f6..d3200fd 100644 --- a/Patcher.cpp +++ b/Patcher.cpp @@ -52,6 +52,40 @@ int main(int argc, char** argv) for (size_t i = 0; i < 22; ++i) wow_exe << static_cast<char>(0x90); + // mouse flickering and camera snapping issue when mouse has high report rate + // credits to bonbigz + { + wow_exe.clear(); + wow_exe.seekg(0); + wow_exe.seekp(0x369A2F); + for (char b : { 0x8B, 0x15, 0xF8, 0x13, 0xD4, 0x00, 0x8B, 0x1D, 0xFC, 0x13, 0xD4, 0x00 }) + wow_exe << b; + + wow_exe.clear(); + wow_exe.seekg(0); + wow_exe.seekp(0x369A2C); + for (char b : { 0xE9, 0x71, 0xF0, 0x0B, 0x00 }) + wow_exe << b; + + wow_exe.clear(); + wow_exe.seekg(0); + wow_exe.seekp(0x428AA2); + for (char b : { 0x8D, 0x4D, 0xF0, 0x51, 0x57, 0xFF, 0x15, 0xDC, 0xF5, 0x9D, 0x00, 0x8B, 0x45, 0xF0, 0x8B, 0x15, 0xF8, 0x13, 0xD4, 0x00, 0xE9, 0x7A, 0x0F, 0xF4, 0xFF }) + wow_exe << b; + + wow_exe.clear(); + wow_exe.seekg(0); + wow_exe.seekp(0x3691B0); + for (char b : { 0x55, 0x89, 0xE5, 0x8B, 0x05, 0xFC, 0x13, 0xD4, 0x00, 0x8B, 0x0D, 0xF8, 0x13, 0xD4, 0x00, 0xEB, 0xC2, 0x7D, 0x03, 0x83, 0xC1, 0x01, 0x83, 0xC0, 0x32, 0x83, 0xC1, 0x32, 0x3B, 0x0D, 0xEC, 0xBC, 0xCA, 0x00, 0x7E, 0x03, 0x83, 0xE9, 0x01, 0x3B, 0x05, 0xF0, 0xBC, 0xCA, 0x00, 0x7E, 0x03, 0x83, 0xE8, 0x01, 0x83, 0xE9, 0x32, 0x83, 0xE8, 0x32, 0x89, 0x0D, 0xF8, 0x13, 0xD4, 0x00, 0x89, 0x05, 0xFC, 0x13, 0xD4, 0x00, 0x89, 0xEC, 0x5D, 0xE9, 0xB4, 0xF7, 0xFF, 0xFF }) + wow_exe << b; + + wow_exe.clear(); + wow_exe.seekg(0); + wow_exe.seekp(0x369183); + for (char b : { 0x83, 0xF8, 0x32, 0x7D, 0x03, 0x83, 0xC0, 0x01, 0x83, 0xF9, 0x32, 0xEB, 0x31 }) + wow_exe << b; + } + std::cout << "World of Warcraft exe has been patched!\n"; return 0; } |