Open Soromeister opened 2 years ago
Try disabling the sound in background patch and let me know if this still happens.
edit: On second thought, that patch should not cause anything like this -- I believe I checked all the relevant code paths and it's purely sound-related stuff. The only other thing I can think of is the executable name, as GPU drivers sometimes apply optimizations based on the process name. Try backing up your existing WoW.exe and then renaming WoW_tweaked.exe to WoW.exe.
I'm having the same issue.
I disabled all settings in CMD, and the issue still exists :O
vanilla-tweaks.exe -o WoW_tweaked.exe --no-quickloot --no-soundchannels --no-fov --no-farclip --no-frilldistance --no-nameplatedistance --no-largeaddressaware --no-sound-in-background WoW.exe
Furthermore, the issue only happens when the game is fullscreen, or the windowed game is very close to the full size of the screen. If I have the game windowed and at about 85% size of the screen its fine...
Renaming the exe is sadly not an option as the game will reject the login due to "corrupted files".
Sorry for the multiple posts, I'm writing these as I am testing some stuff.
I don't normally use Windows for anything programming related, but looks like there is a diff tool on Windows called fc
.
I ran it to compare the two exe files, here is the ouput
fc /B WoW.exe WoW_tweaked.exe
Comparing files WoW.exe and WOW_TWEAKED.EXE
FC: no differences encountered
The /B
flag is apparently for comparing binary files.
Note that I turned off all tweaks as per above post, and indeed the binary seems to be unmodified (which I guess is good).
This makes your theory about GPU drivers somewhat more likely.
EDIT: Indeed when renaming the tweaked file to WoW.exe, the problem goes away (and the server doesn't complain at login since the files are the same).
Its funny that it seems to check some kind of hash of the WoW.exe
file, even if that's not the file being executed... if we can circumvent that, as in make it generate the hash off of a different file, that might solve the problem.
Solved it I think!
At 0045DF30
in WoW.exe it seems to do the checksum change. The line is Followed by some stuff about a ChecksumExecutables.cpp, so I think I'm right on the money here.
The original content is
00 00 00 00 57 6F 57 2E 65 78 65 00 00 00 00 00
which reads as ����WoW.exe�����
(� being often displayed as a .
in hex readers I think...)
Changing this to below value (which is ����WoW2.exe����
)
00 00 00 00 57 6F 57 32 2E 65 78 65 00 00 00 00
solved the issue for me.
Note that you your backup unmodified WoW.exe has to be renamed to WoW2.exe for this.
Seeing as they apparently use this as an anti-cheat, it surprised me how easy it was to circumvent...
It probably isn't meant to be an anticheat but rather just a general integrity check for file corruption. I suspect it would be enough to compute CRC for the executable after we apply the patches and then patch that in somewhere.
I'll try and get around to looking into this Soon™, but I've been quite busy (and also lazy) the past couple of months. In the mean time you may be able to work around this by adding the tweaked executable into your GPU drivers somewhere and making sure it uses the same driver profile as WoW.exe does. I don't really remember how that works because it's been some years since I last had to deal with GPU drivers on Windows.
This should be part of the patcher itself. I have reported as an issue to be integrated in a later release of this patcher.
I took a look at this a couple of days ago and it isn't going to be as easy to fix as I had hoped. The checksum verification described by @derpda above probably has something to do with updating the game, and the checksum it compares against is loaded at runtime (maybe sent by server, I didn't check), so patching it statically isn't trivial.
Testing this on Turtle WoW, I'm not having any trouble connecting to the server and playing the game when WoW_tweaked.exe is renamed to WoW.exe. Perhaps the error only happens when there is a patch to be downloaded?
Reproductible:
Requirements:
Steps:
The other patcher listed on the Turtle-WoW forums work fine when doing this (source code is also there in the forum post), although it's not as detailed as this one here.
My WoW Vanilla client
config.wtf
: