vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Brndd
Posts: 22

vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Tue Jul 12, 2022 10:32 pm

https://github.com/brndd/vanilla-tweaks/releases

The 1.12.1 client is missing many small QoL features that more modern clients have. I found this annoying, so I created a simple patcher that modifies the executable and adds some minor tweaks. The patcher is open source and very simple. You can see all the offsets it patches in the source code.

These tweaks include (at the time of writing; see the Github repo for an up-to-date list):
  • Widescreen FoV
  • Sound in background
  • Increased sound channel count (technically you can change this with a command; this patcher changes the default so you don't have to)
  • Increased farclip max value
  • Increased grass draw distance
  • Quickloot by default (hold shift for manual loot)
  • Nameplate range increase (increased to 41 yards by default, matching the max range in the Classic and TBC Classic clients)
  • Large Address Aware patch (lets the game use up to 4GB RAM. May help with stability if you use graphical enhancements)
Let me know if you have ideas for other tweaks. The kind of things that are possible to do with this method are things like changing hardcoded values (e.g. FoV and grass render distance) and very simple changes to the game logic. My intention is to only add QoL tweaks, so I will not add anything that gives players an unfair advantage.

To use the patcher, drag WoW.exe on top of it and it'll create a WoW_patched.exe next to it. Run WoW_patched.exe instead of WoW.exe to start the game, or alternatively rename your original executable and replace it with the patched one. For advanced options, such as changing the values of some of the tweaks or disabling some patches, run the patcher from a command line and pass the --help parameter to see a list of command line parameters.

Note that since this modifies the game client it may run afoul of Warden, the client-side anticheat used on some private servers. I have played with it on Turtle WoW for a while and have had no issues, plus the other client patcher seems to be kosher on Turtle too.

User avatar
Jolikmc
Posts: 486
Location: United States
Contact:

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Jolikmc » Wed Jul 13, 2022 8:36 am

See, this is exactly what I wanted from the other topic. Full disclosure. You not only offer up these enhancements to the base client, but you actually make a point of letting people see the source code and listing exactly what sets of memory addresses get modified, where, and how. Major kudos, friend! There's just two glaring flaws.

It doesn't have a user interface.
It makes the EXE file insecure.


For most people, it's definitely going to be a case of "drag the EXE onto the patcher". Those are the instructions given in the Readme file and that will apply all the patches. However, for someone like me – someone who doesn't want "quickloot" enabled at all times – it becomes necessary to either run the patcher in a Command Prompt or make a Batch file to do what I want.

I also notice that the patched EXE file becomes modified in way that causes the file to need administrative privileges to run. Why? What, exactly, is it doing or changing, at that point? What did the patcher do to the EXE file to make it less "secure"? This doesn't set well with me.

I'm not trying to bring you down. You clearly know what you're doing and have put a lot of work into this. I'm just extremely careful about what I run on my machine and, unfortunately, no amount of "just ignore the warnings" or "it's perfectly safe to run" is going to change my mind about this one.

Edit:
I compared the differences between the modified and unmodified EXE files and jotted down all the modified values, then manually modified my own unmodified EXE file to match. I really am baffled as to why this patcher makes the EXE file insecure. The only thing it seems to do is modify 13 bytes across 8 address values and nothing more, exactly as promised. Yet, my manually-modified file doesn't require administrative privileges to run.

Any theories? Or better still, any explanations?
Not currently playing. Just skulking and snarking~

Brndd
Posts: 22

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Wed Jul 13, 2022 4:17 pm

Jolikmc wrote:
Wed Jul 13, 2022 8:36 am
It doesn't have a user interface.
It makes the EXE file insecure.


For most people, it's definitely going to be a case of "drag the EXE onto the patcher". Those are the instructions given in the Readme file and that will apply all the patches. However, for someone like me – someone who doesn't want "quickloot" enabled at all times – it becomes necessary to either run the patcher in a Command Prompt or make a Batch file to do what I want.
It is kind of annoying to create user interfaces, especially cross-platform ones, so that's why there's no UI and probably never will be. However, running the patcher from the command line isn't difficult at all. Here's a quick guide for it on Windows 10, which may be useful for other command line tools you may have to run in the future too:
  1. Put the patcher (vanilla-tweaks.exe) in the same folder as your WoW.exe.
  2. From the top left, click File -> Open Windows PowerShell
  3. In the command prompt that appears, type "van" and press tabulator; it'll autocomplete to say ".\vanilla-tweaks.exe"
  4. Type a space, then "--help" and hit enter. You'll get a list of parameters that the program takes.
  5. Run the program again, this time with "WoW.exe" as the first parameter and followed by any other parameters you want to set, separated by spaces.
Also, I'm not sure what you mean by insecure. Unless it's the next part.
Jolikmc wrote:
Wed Jul 13, 2022 8:36 am
I also notice that the patched EXE file becomes modified in way that causes the file to need administrative privileges to run. Why? What, exactly, is it doing or changing, at that point? What did the patcher do to the EXE file to make it less "secure"? This doesn't set well with me.
That's interesting. I don't actually run Windows on my machine so I never encountered this issue.

It took a little digging, but this appears to be some kind of an insane Windows security feature where any program with the word "patch" in its name has to run as administrator. You can verify this by renaming your original WoW.exe to WoW_patched.exe and observing that it now requires admin privileges to run (and then no longer requires them after you change the name back).

I've created a new release that changes the default name of the created executable to WoW_tweaked.exe. If you don't want to bother updating, you can achieve the same result by just renaming the WoW_patched.exe you already have to something else.

User avatar
Jolikmc
Posts: 486
Location: United States
Contact:

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Jolikmc » Wed Jul 13, 2022 5:02 pm

Brndd wrote:
Wed Jul 13, 2022 4:17 pm
It took a little digging, but this appears to be some kind of an insane Windows security feature where any program with the word "patch" in its name has to run as administrator. You can verify this by renaming your original WoW.exe to WoW_patched.exe and observing that it now requires admin privileges to run (and then no longer requires them after you change the name back).
That's… that's stupid. That's stupid, and I hate it. It reminds me of how on Windows XP, you couldn't run anything with the word "armageddon" in the title because of a same-named virus. Needless to say, I had a heck of a time trying to play Worms Armageddon on my old desktop…

Anyway, thank you for the instructions on how to customize the tweaker. I'm sure that will be really helpful to anyone looking to do that exact thing. And thank you for making this open source, too. For paranoid people like me, it's reassuring.
Not currently playing. Just skulking and snarking~

Brndd
Posts: 22

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Wed Jul 13, 2022 5:20 pm

Jolikmc wrote:
Wed Jul 13, 2022 5:02 pm
That's… that's stupid. That's stupid, and I hate it. It reminds me of how on Windows XP, you couldn't run anything with the word "armageddon" in the title because of a same-named virus. Needless to say, I had a heck of a time trying to play Worms Armageddon on my old desktop…
I read about it a little more after making my last post, and it's not technically a security feature as much as it's an attempt at legacy support. The vanilla client is so old that it predates User Account Control (i.e. the administrator privilege prompt), so it doesn't contain metadata for whether it actually has to run as administrator or not. If an executable doesn't have this metadata in it, Windows tries to guess if it has to run as administrator by looking if the filename contains the words "setup", "patch" or "update".

Voku
Posts: 13

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Voku » Wed Jul 13, 2022 6:21 pm

Thanks for the patch! Works great for me!
Since you asked for other ideas a feature I would like to see in this client is 144hz refreshrate. I can only choose between 60 and 75hz

Brndd
Posts: 22

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Wed Jul 13, 2022 6:58 pm

Voku wrote:
Wed Jul 13, 2022 6:21 pm
Since you asked for other ideas a feature I would like to see in this client is 144hz refreshrate. I can only choose between 60 and 75hz
Does borderless windowed mode not work for this? That's what I use, but I play using Wine so some things are different for me (for example, hardware cursor doesn't cause performance issues on Wine).

User avatar
Piccadilly
Posts: 26

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Piccadilly » Thu Jul 14, 2022 7:10 am

How about including the disabling of WBD Cache folder generation? Would be awesome, since the server routinley requires deletion of that folder due to minor fixes and not generating it saves a lot of repetitve deletion work :)

For reference the byte patcher-post someone once posted here: byte patcher

Voku
Posts: 13

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Voku » Thu Jul 14, 2022 10:23 am

Brndd wrote:
Wed Jul 13, 2022 6:58 pm
Does borderless windowed mode not work for this? That's what I use, but I play using Wine so some things are different for me (for example, hardware cursor doesn't cause performance issues on Wine).
It doesn't seems like it works for me. Trying without bordlerless gives me a blackscreen anyways. But when I see that nvidia logo maybe it has problems with amd cards in that regard?
Image

Brndd
Posts: 22

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Fri Jul 15, 2022 9:24 am

Piccadilly wrote:
Thu Jul 14, 2022 7:10 am
How about including the disabling of WBD Cache folder generation? Would be awesome, since the server routinley requires deletion of that folder due to minor fixes and not generating it saves a lot of repetitve deletion work :)

For reference the byte patcher-post someone once posted here: byte patcher
That seems like a good idea. I'll look into it. A little concerned about side effects, but I suppose it's fine if other people have already done it.
Voku wrote:
Thu Jul 14, 2022 10:23 am
It doesn't seems like it works for me. Trying without bordlerless gives me a blackscreen anyways. But when I see that nvidia logo maybe it has problems with amd cards in that regard?
Are you sure the game isn't already running at a better refresh rate? If it's borderless windowed I think it's going to use your desktop refresh rate regardless of what it says in the menu. Anyway, I think you can also change the gxRefresh setting in Config.wtf (using a text editor) to change your refresh rate to anything you like. I can't verify this though.

User avatar
Jolikmc
Posts: 486
Location: United States
Contact:

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Jolikmc » Fri Jul 15, 2022 10:06 am

Hey, random thought. Is there any chance you might be willing to look into modifying the height of the chasecam? I notice that on shorter characters, it pretty much puts them right in the middle of the viewing area, which is less-than-ideal. I imagine it would be helpful for other characters (and players) if the camera was elevated a little so their character was "closer" to the bottom of the interface.

Cheers!
Not currently playing. Just skulking and snarking~

Subannix
Posts: 5

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Subannix » Fri Jul 15, 2022 7:40 pm

Brndd wrote:
Fri Jul 15, 2022 9:24 am
Piccadilly wrote:
Thu Jul 14, 2022 7:10 am
How about including the disabling of WBD Cache folder generation? Would be awesome, since the server routinley requires deletion of that folder due to minor fixes and not generating it saves a lot of repetitve deletion work :)

For reference the byte patcher-post someone once posted here: byte patcher
That seems like a good idea. I'll look into it. A little concerned about side effects, but I suppose it's fine if other people have already done it.
I don't recommend to use that feature on Turtle WoW, as it may or may not cause trouble due to it's custom content.
Back then when Warmode got introduced I was unable to activate it's Glyph. Tried it on different Characters, asked then GM Jecs If he could manually give me the debuff on one of my chars.

Welp, after some fiddling around it found out it was due to this.

My recommendation would be either make the WDB folder read-only or create a batch file to delete its content on startup.
del /q WDB *.wdb
start WoW.exe

User avatar
Jubabuba
Posts: 15

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Jubabuba » Sat Jul 16, 2022 12:51 am

I tried it and my fps dropped from 120 to 60-70 if I use normal client everything is fine.

User avatar
Gurky
Posts: 98

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Gurky » Sat Jul 16, 2022 1:11 am

Jubabuba wrote:
Sat Jul 16, 2022 12:51 am
I tried it and my fps dropped from 120 to 60-70 if I use normal client everything is fine.
Grass Distance and some other mods included in this might impact fps as you are loading more stuff at once than what you were with the default.

Which mods did you enable?

Brndd
Posts: 22

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Sat Jul 16, 2022 1:48 am

Jubabuba wrote:
Sat Jul 16, 2022 12:51 am
I tried it and my fps dropped from 120 to 60-70 if I use normal client everything is fine.
This patch increases the grass render distance from 70 to 300, ie. more than quadruples it. If you use a graphic mod that increases grass density beyond its normal limit, such as VanillaGraphicBoost you'll want to either decrease that or decrease the grass render distance using the patcher's command line options.

300 is a rather arbitrarily picked value; I picked one where the grass renders far enough that it's not immediately obvious where it ends, while also making sure that performance doesn't get completely destroyed with the max frilldensity setting that can be selected in video options using the "Environment Detail" slider (or using the /console frilldensity command).

However, the performance impact obviously varies from one computer to another. Mine is very powerful, so I still got about 200-300 FPS with the grass distance tweak. On lower-end hardware the value may still be too high even if grass density isn't increased past its limits.

Saurug
Posts: 7

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Saurug » Sat Jul 16, 2022 2:43 am

Could you confirm the 41 yards range on nameplates? I'm measuring around 35 which is definitely an improvement, but 41 would be perfect.

Brndd
Posts: 22

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Sat Jul 16, 2022 8:48 pm

Saurug wrote:
Sat Jul 16, 2022 2:43 am
Could you confirm the 41 yards range on nameplates? I'm measuring around 35 which is definitely an improvement, but 41 would be perfect.
I verified it using the .distance command of MaNGOS on a locally hosted server. 35 sounds like your measurement is edge-to-edge rather than point-to-point. Either way, if it feels too short, you can adjust it using command-line parameters.

Saurug
Posts: 7

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Saurug » Sat Jul 16, 2022 10:25 pm

Thanks!

User avatar
Hubertus
Posts: 11
Location: Germany

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Hubertus » Sun Jul 17, 2022 11:13 am

Thank you, especially for the Linux version!
"Deutscher Wein ist was für Intellektuelle." - Hubertus
"German wine is for intellectuals." - Hubertus

User avatar
Texhnolyze
Posts: 7

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Texhnolyze » Mon Jul 25, 2022 11:02 pm

Can you please update this to the latest Turtle WoW version?

Or ar there other ways to increase FoV and grass distance without this?

Edit: It still works, after all. I only needed to repatch the WoW.exe to the vanilla-tweaks.exe. It's all good now. satisfied_turtle_head

Brndd
Posts: 22

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Tue Jul 26, 2022 1:11 pm

I pushed a new version that adds the option to patch max camera distance (disabled by default) and reverts the quickloot patch to the old, more reliable method that unfortunately doesn't support pickpocketing. The alternative method which does support pickpocketing (but has a tendency to occasionally not work) can be enabled with the --alternative-quickloot parameter.
Texhnolyze wrote:
Mon Jul 25, 2022 11:02 pm
Can you please update this to the latest Turtle WoW version?

Or ar there other ways to increase FoV and grass distance without this?

Edit: It still works, after all. I only needed to repatch the WoW.exe to the vanilla-tweaks.exe. It's all good now. satisfied_turtle_head
Yeah, no updates to the patcher are necessary for the new Turtle WoW version. Just run the patcher again on the WoW.exe from the new update.

Tristfrukt
Posts: 8

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Tristfrukt » Wed Aug 03, 2022 10:44 am

Hey. Great tweak! Really loving it. :)
I cannot get the frilldistance to work. Im using the command /console frilldistance xx to change it but nothing happens. Distance is same no matter what value i put in.

What am i doing wrong? :)
Thanks

Brndd
Posts: 22

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Brndd » Tue Aug 09, 2022 10:37 pm

Tristfrukt wrote:
Wed Aug 03, 2022 10:44 am
Hey. Great tweak! Really loving it. :)
I cannot get the frilldistance to work. Im using the command /console frilldistance xx to change it but nothing happens. Distance is same no matter what value i put in.

What am i doing wrong? :)
Thanks
Frilldistance is sadly hardcoded in vanilla. You'll have to change it using the patcher's command line parameter with e.g. --frilldistance 200. By default it's set to 300.

edit: I should also say, in v1.5.0 I changed quickloot again, so the above message about the alternate quickloot option is no longer relevant. Quickloot should now work reliably for all types of looting, but let me know if you find situations where it doesn't.

Ssddx
Posts: 1

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Ssddx » Sat Aug 13, 2022 3:12 pm

@Brndd
Hello!!!
There is one more serious limitation of this 1.12.1 client
If you limit your WoW.exe with 60fps its works fines
but if you remove fps limit CTM (Click To Move) feature stop working

Shadowdna
Posts: 3

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Shadowdna » Tue Aug 16, 2022 2:33 pm

I cannot figure out for the life of me how to install. I downloaded the zip but I do not see the patcher file. I have the main file Vanilla-Tweaks-Master.zip then I open it to the main folder then again then I see .github, src and some other ones, but no patcher file. Am I missing something?

User avatar
Thol
Posts: 187

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Thol » Tue Aug 16, 2022 4:31 pm

Download this: https://github.com/brndd/vanilla-tweaks/releases
Image
Extract it
You'll get a file called vanilla-tweaks.exe
Move it to your Turtle WoW folder
Grab your WoW.exe and drag it on top of vanilla-tweaks.exe
It'll create WoW_tweaked.exe. use this to launch the game
Image
You'll have to repatch after each update.

Shadowdna
Posts: 3

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Shadowdna » Tue Aug 16, 2022 8:02 pm

You are the best, thank you!

Ashkir
Posts: 27

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Ashkir » Sun Aug 28, 2022 1:04 am

Thank you!

Elonamusk
Posts: 2

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Elonamusk » Sun Aug 28, 2022 4:34 am

I downloaded the linux version on my steam deck, put it in my twow folder and ran it, but nothing seems to have happened. Is that normal?

User avatar
Mrrosh
Posts: 48
Location: Romania
Contact:

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Mrrosh » Sun Aug 28, 2022 7:59 am

Elonamusk wrote:
Sun Aug 28, 2022 4:34 am
I downloaded the linux version on my steam deck, put it in my twow folder and ran it, but nothing seems to have happened. Is that normal?
Have you read the instructions? It says to drag and drop your wow.exe over the patcher.

Saintys
Posts: 1

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Saintys » Tue Sep 27, 2022 3:24 pm

Is there anyway to edit permantently the grass value? Cause I love the distance and the autoloot feature, but it's always needed when I open the .exe again to tweak the environtment value in video settings back to the higher vanilla value due to lag, it's too much grass xD

User avatar
Wh0pp
Posts: 1

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Wh0pp » Tue Sep 27, 2022 6:02 pm

Saintys wrote:
Tue Sep 27, 2022 3:24 pm
Is there anyway to edit permantently the grass value? Cause I love the distance and the autoloot feature, but it's always needed when I open the .exe again to tweak the environtment value in video settings back to the higher vanilla value due to lag, it's too much grass xD
Check out the ReadMe on the project's GitHub page. Running the tool from the command line with --help will list all available tweaks that can be configured and/or disabled. For grass, the following are available--
--frilldistance <FRILLDISTANCE>
Frilldistance (grass render distance) value. Default game value is 70

[default: 300]
--no-frilldistance
If set, do not patch frilldistance
Below is an example using --no-frilldistance to disable the grass tweak entirely.

Code: Select all

.\vanilla-tweaks.exe --no-frilldistance wow.exe
Image
smiling_turtle

Bubzwarr
Posts: 1

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Bubzwarr » Sun Oct 30, 2022 5:07 am

Hi, is it possible for you to make a version of this tweak program that will fix the FoV for ultrawide resolutions? My resolution is 3840x1600 and the FoV feels a bit off.

User avatar
Redmagejoe
Posts: 1125

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Redmagejoe » Sun Oct 30, 2022 5:13 am

There's already an official version of this you can find at https://github.com/slowtorta/turtlewow-improved-fov

It has the FOV, increased RAM usage cap, and sound playing when in background tweaks applied.

User avatar
Ingameacc12345
Posts: 265
Location: Darkshore

Re: vanilla-tweaks — patch the executable for FoV, grass distance, sound in background & more

Post by Ingameacc12345 » Thu Jan 26, 2023 3:22 pm

This is THE best patcher for Turtle WoW executable. Thank you for maintaining it, please keep at it! <3

Post Reply