-
Active Member
Vanilla 1.12 & TBC 2.4.3 - Permanent FoV fix (patched WoW.exe)
As many of you probably already know the field of view in Vanilla and TBC is different than WotLK and all other expansions past WotLK (image representing what I mean here).
First of all, most of the credit goes to namreeb: thanks to the memory addresses he posted here I managed to patch WoW.exe for both Vanilla and TBC, thus making the FoV change permanent so that it no longer gets reset on /reload and disconnects like it did with memory edits.
The FoV value is set to 1.925, which should be similar to the one used in WotLK+.
Here are the patched executables:
WoW.exe - Vanilla 1.12.1 - FoV @1.925
WoW.exe - Vanilla 1.12.1 - FoV @2.0
WoW.exe - Vanilla 1.12.1 - FoV @2.1
WoW.exe - TBC 2.4.3 - FoV @1.925
WoW.exe - TBC 2.4.3 - FoV @2.0
WoW.exe - TBC 2.4.3 - FoV @2.1
Virustotal scans:
WoW.exe - Vanilla 1.12.1 - FoV @1.925
WoW.exe - Vanilla 1.12.1 - FoV @2.0
WoW.exe - Vanilla 1.12.1 - FoV @2.1
WoW.exe - TBC 2.4.3 - FoV @1.925
WoW.exe - TBC 2.4.3 - FoV @2.0
WoW.exe - TBC 2.4.3 - FoV @2.1
For anyone who is interested in the explanation on how I did it, here it is:
All I used was Cheat Engine and an hex editor (I used HxD). I already knew the memory address I wanted to patch so that made things easier.
I started WoW.exe normally (there is no need to login), then attached Cheat Engine to it and manually added the address 0x8089B4 for Vanilla or 0x8B5A04 for TBC.
Then I changed the value type to float, and the address was shown to hold a value of ~1.57, which is the default FoV in Vanilla and TBC.
I then changed the value type to array of bytes and the value shown was now DB 0F C9 3F E6 F1 47 40 00 00 (which I assume is the hex representation of 1.57, however it does not seem to be equal to 1.57, maybe only part of it represents the float value? If you know more about this feel free to shed some light).
After changing the value type back to float and changing it to the desired value (in my case 1.925) I changed back the value type to array of bytes once more, and it now reported a value of 66 66 F6 3F E6 F1 47 40 00 00.
The last step is opening WoW.exe in an hex editor and looking for the hex values DB 0F C9 3F E6 F1 47 40 00 00 and replacing them with 66 66 F6 3F E6 F1 47 40 00 00.
That's all, I hope this has been useful!
Last edited by Nikk0z; 10-05-2017 at 03:36 PM.
Reason: Added executables with 2.0 and 2.1 FoV values
-
Post Thanks / Like - 6 Thanks
-
If all you're using CheatEngine for is the float to hexadecimal conversion, just an FYI that I use this site for that: Floating Point to Hex Converter
-
-
Member
Nice one! However I do have a few questions though.
1) Any chance you have tested this on Kronos 1.12.1? I'm curious if their warden will detect it and auto-ban you.
2) Does this WoW.exe contain the 256 sound channel modification/fix? From this one: GitHub - Doctorbeefy/Wow.exe-256-Sound: Allows 256 sound channels
Thanks in advance!
EDIT:
Originally Posted by
Nikk0z
For anyone who is interested in the explanation on how I did it, here it is:
All I used was Cheat Engine and an hex editor (I used HxD). I already knew the memory address I wanted to patch so that made things easier.
I started WoW.exe normally (there is no need to login), then attached Cheat Engine to it and manually added the address 0x8089B4 for Vanilla or 0x8B5A04 for TBC.
Then I changed the value type to float, and the address was shown to hold a value of ~1.57, which is the default FoV in Vanilla and TBC.
I then changed the value type to array of bytes and the value shown was now DB 0F C9 3F E6 F1 47 40 00 00 (which I assume is the hex representation of 1.57, however it does not seem to be equal to 1.57, maybe only part of it represents the float value? If you know more about this feel free to shed some light).
After changing the value type back to float and changing it to the desired value (in my case 1.925) I changed back the value type to array of bytes once more, and it now reported a value of 66 66 F6 3F E6 F1 47 40 00 00.
The last step is opening WoW.exe in an hex editor and looking for the hex values DB 0F C9 3F E6 F1 47 40 00 00 and replacing them with 66 66 F6 3F E6 F1 47 40 00 00.
I managed to do it myself by following your last step. So basically what I did was downloading the client with the sound channel modification and then added the FOV modification into it.
It all seems to work as intended and so far there has been no issues on Kronos
Cheers!
Last edited by AG007; 05-01-2017 at 07:40 PM.
-
Active Member
Glad to know that you managed to make it work. I'll still answer your questions, if someone else is wondering.
Originally Posted by
AG007
1) I haven't tested this on Kronos, the only realms I tested this on are Elysium (Vanilla) and Hellfire (TBC), and neither got me auto-banned, although I heard Hellfire doesn't have Warden implemented. I honestly can't say if this can get picked up by Warden or not though, I have no knowledge about it. Maybe namreeb could give a more in depth answer about that?
2) No, it doesn't. No other modifications have been implemented except for the one described in the OP.
-
Member
Any screenshots of what this looks like?
I know what FOV does in a first person game, but fail to see how this would be beneficial in a third person game where we can spin the camera?
Is it just increasing the view distance of the camera or is it doing something more complex?
-
Active Member
Well, I would say that other than increasing the view distance it also increases (or decreases, depending on the value) the camera's angle of view. For some screenshots check out this thread on the Elysium forums:
Will FoV fix for 1.12 clients be allowed on Elysium? - General Discussion - Elysium Project
-
Member
Any fix for the OS X client? I edited the hex value as shown in your last step but it had no effect.
-
Active Member
Well, I don't have any Mac OS X devices to test this with but I'm assuming it would work the same way. I'll see if I can manage to get a Hackintosh VM going and take a look.
EDIT: I got an Hackintosh VM up and running, however I can't actually test the game since 3D acceleration is not supported while emulating Mac OS X. I was able to patch the .app executable (World of Warcraft.app/Contents/MacOS/World of Warcraft) by opening it with 0xED. I'm assuming that's the same thing you did though. If that's not working my guess would be that the Mac executable is coded differently (kinda weird though, since the hex values I replaced on the Windows executable are still there); you'll need to do some snooping around with Cheat Engine to get the fix working on mac, refer to this thread (FoV in wow) for some useful info.
Last edited by Nikk0z; 07-17-2017 at 07:12 AM.
-
Banned
what exactly doees this do ? is it banable ?
-
Active Member
Originally Posted by
Ockrail
what exactly doees this do ?
It fixes the Vanilla/TBC field of view value, which was thought for 4:3 and 5:4 aspect ratio monitors, by changing it to one which is more suited for 16:9 modern monitors. Similar changes were made by Blizzard in WotLK. This should explain it clearly enough.
Originally Posted by
Ockrail
is it banable ?
Well, technically this is a client modification, so yes. However I believe this can only get you banned if a server implements a Warden check for the FoV value, which is unheard of.
-
Active Member
Beware though as you will get a nasty crash if you use this, step to reproduce:
1) Have all horde FPs
2) Talk to Michael Garrett in Undercity and made him shows the FP
3) Do the same with Burning Steppes FlightMaster
either of them will trigger a crash, tested on Nostalrius, Elysium and the latest Light's Hope Vanilla core...
No issues with the original exe...
EDIT: It was some new update from the Light's Hope core that caused the crash, sorry for the false alarm
Last edited by marcelo_20xx; 10-29-2017 at 02:33 PM.
-
Member
Originally Posted by
Ockrail
what exactly doees this do ? is it banable ?
Playing on Lightshope for 5 month. Everything is alright.
-
Member
great stuff keep up the good work
-
Member
how do i reset this so i get back to my normal settings?