• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

WFE - Warcraft Feature Extender

Warning!
This only works with Warcraft 3 TFT patch 1.24e/1.26a/1.27a/1.27b/1.28f!


All versions are available on Github

How to use:


1. Extract all files to desired folder:
210222-380cecde0b251130e8e976af71027c4e.png

Note: I strongly advice to extract WFE to a SEPARATE folder, as it prevents any possible collisions with other applications that may read/access any of the WFE files.
Example: When WFE is in root Warcraft 3 folder, test commands won't work as for some reason Localisation and TestCommands are being accessed by it, probably as the game tries to read any .ini files, hence creating the issue.

2. Launch WFE.exe and choose desired parameters and click Save:

1) Default config settings are saved in WFEConfigBase.ini
210221-300b2470250743197de8de5834415544.png

If WFEConfig.ini is not present, WFE will use it as a main config file instead.

2) If WFEConfig.ini is present or Save button was used to create WFEConfig.ini, then all the new parameters will be written to it.
210223-a99c940babd310a2006152c8d8384ee8.png


3. Setting up Path to the Game:

1) Patches below 1.28.
210226-92c0c0f91f88f605c4bd21034aaf1a46.png

2) Patches above 1.27b.
210227-1ae41e6606465a84a81344c64e6fcc58.png

3) For EuroBattle.net/w3l.exe using platform.
210228-dfd8c8290d8c33c94cafcf94764c5464.png

Note: this is not mandatory, if you don't want to use WFE.exe as a launcher, as you can simply inject/use auto-injector to activate WFE library instead.

4. Setting up Injector.

Note: do not let the name scare you, as WFE.exe needs to know what game to find and inject library to. This is an important step, so please read carefully!

4.1 Configuring Process Name:

1) For versions below 1.28, leave the name as is, aka war3.exe.
210224-bbb548483893d504bf16ace19a8c70cd.png

2) For version above 1.27b, write Warcraft III.exe instead of war3.exe.
210225-038df7d1e6de97348e213869a41cdf88.png


4.2 Additional Libraries:
210229-d6286a9cd59ed7cfb45ed61b01761616.png


WFE will load from the specified folder any .dll/.mix files and inject them along the main library, this allows to de-clutter root Warcraft III folder, and well, load things in a simpler manner overall.

Note: this is not a mandatory option and you do not have to set a path inside of the WFE folder, but it's just easier and "more robust" to do so.

4.3 Auto Injector:

When this option is enabled, it will use Delay (ms) time to re-scan processes until war3.exe/Warcraft III is found (based on the input Process Name). When found, if it did NOT inject main library to it yet, it will use the DLL Name to find main library (default: WFEDll.dll) and load it along with anything specified in the Additional Libraries if "Load Additional Libraries" option was selected.

4.4 Auto-Inject:

This is only relevant if you are using "Launch" button, as it will automatically inject main library, without needing to do an extra click on "Inject" button.

5. Launching the game.

5.1 Classic Method:

If Auto Injector IS NOT enabled:
1) Simply launch the game as usual and use "Inject" button.

If Auto Injector is enabled:
1) Simply launch the game as usual.
Note: as mentioned in Auto Injector, WFE.exe will inject the library itself.

5.2 Launch Method:

If Auto-Inject IS NOT enabled:
1) Click on "Launch" button.
This will launch the game from the specified path in the Game Path.

2) Click "Inject" button.
This will inject main library to the specified Process from Process Name.

If Auto-Inject IS enabled:
1) Click on "Launch" button.
This will launch the game from the specified path in the Game Path.
Auto-Inject will inject main library to the specified Process from Process Name on its own.

6. Updating Settings:

1) Select/Change any necessary parameters in the program.
2) Click Save.
This will update data in config and in-game.
You don't have to click Inject again.

NOTE: I strongly advice NOT using this method, as it's outdated and may NOT work 100% properly as the method above.

1. Extract all files to the MAIN folder of Warcraft 3.
2. Launch WFE.exe and choose parameters you desire and then push Okay to save changes to conf.ini or simply edit conf.ini directly.
3. Launch Warcraft 3 and enjoy!

What can this resource do:

0. Live updating options, without the need of relaunching the game!
1. Possibility of adding your own language to language.xml.
2. Autocast (hold the button and it will repeat itself).
3. Smartcast setting for every single button separately.
4. FPS limit removal (contains two options).
5. Hotkey setting for abilities/items and combination hotkeys!
6. Camera 360 degree incline control with mouse wheel (Hotkey can be added).
7. Camera height control with CTRL hotkey + mouse wheel (Hotkey can be changed).
8. Camera rotation control with ALT hotkey + mouse wheel (Hotkey can be changed).
9. Camera step setting for Camera modifications mentioned above.
10. Mouse lock.
11. Widescreen support.
12. BLP 512x512 limit removal.
13. Single Player pause removal.
14. Delay setting for Single Player/LAN/Battle.net.
15. Delay setting for game start for LAN.
16. Map size limit removal. (Removes map size restriction for online hosting/joining).
17. Detailed information of movement speed and attack speed.
18. HP/MP regeneration display (only displays yours and allies).
19. Right mouse button click repeater (delay can be set in option "Action").
20. Enforce Hotkey option. (This overrides default WC3 hotkeys).
21. Manabar.
22. Healthbar colour control (Your/Ally/Enemy/Neutral).
23. Display/Hide all UI.

Credits:

Creator/Developer:
Unryze (me) - creating and maintaining WFE.

Special thanks to:
Karaul0v - for the initial tool called Quickcast, from which everything started and for helping me with many questions that I had.
ENAleksey - for RenderEdge source code, from which I've taken many ideas and also for assisting me on some issues.

Testers:
Andutrache
Yeran
quq_CCCP
Tomoya...Aki
JackFastGame
Ham5terzilla
Karolson
MalcolmRU
Bergi_Bear
VladBmw530
Dam3w
S_Prince_A
GoodlyHero
ThisName232
Падиниц
AshtonLee
Artwork_DT
Vinsera
ingamero

Translators:
Moon (Swedish)
DSY (German)
Artwork_DT (Vietnamese)
EdgarL (Chinese)
까끼꾸 (Korean)
leyki (Spanish)



Contacts:

Discord: unryze
VK: https://vk.com/unryze/
VK Group: https://vk.com/unryzeworkshop/

Want to donate?

Paypal: https://paypal.me/Unryze/
Contents

WFE - Warcraft Feature Extender (Binary)

Reviews
eejin
A useful tool for removing some of the limits of 1.26 and adding nice features. Ideally the tool would be updated to support the newest patches, but is still useful nonetheless.
Level 4
Joined
Sep 27, 2014
Messages
47
So I tested 2.27 abit and ran into some issues

  1. When I enable auto-inject for WFEDll.dll and press launch, it crashes WFE, but launches wc3. I assumed that WFE didn't work at that point so I didn't try to create a game to try anything out. Luckily I have Visual Studio 2019 installed so it was able to "debug" it and it gave me this error message:
    Although it seems like its not all that helpful of a message :/
    Screenshot_3.png

    When I disable auto-inject for WFEDll.dll and enable auto-inject with war3.exe it works just fine
    In 2.26 auto-inject was enabled for WFEDll.dll without issues.
    EDIT: I also looked at the FAQ and installed the vc_redist.x86.exe linked in there and that didn't make a difference

  2. Nothing prints in game when I use the test commands. The test command themselves work, just no confirmation that something happened.

    If you need my config files, let me know.
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
So I tested 2.27 abit and ran into some issues

  1. When I enable auto-inject for WFEDll.dll and press launch, it crashes WFE, but launches wc3. I assumed that WFE didn't work at that point so I didn't try to create a game to try anything out. Luckily I have Visual Studio 2019 installed so it was able to "debug" it and it gave me this error message:
    Although it seems like its not all that helpful of a message :/
    View attachment 390066
    When I disable auto-inject for WFEDll.dll and enable auto-inject with war3.exe it works just fine
    In 2.26 auto-inject was enabled for WFEDll.dll without issues.
    EDIT: I also looked at the FAQ and installed the vc_redist.x86.exe linked in there and that didn't make a difference

  2. Nothing prints in game when I use the test commands. The test command themselves work, just no confirmation that something happened.

    If you need my config files, let me know.
1. Just in case re-download WFE, perhaps there was such a bug, but I have uploaded a newer version already. As you can see it doesn't crash:
No_Crash.png

2. If you are missing file TestCommands.ini that is logical that it fails to print information, since I did not add any default text, so please check if you got rid of that file. ^^
Though I found another issue:
Screenshot_1.png
 
Level 4
Joined
Sep 27, 2014
Messages
47
Unfortunately, what you suggested above did not work.

However, after more testing I figured out the issue
In the previous version I was using w3l.exe to launch wc3 (the launcher thingy that comes with the eurobattle.net files), and it worked fine then.

In 2.27, I did the same and it crashes WFE. When changing it to war3.exe it works, but I don't know if there's any differences (like connection-wise to eurobattlenet or if gproxy is affected now) EDIT: Actually just tested it some more and I can't login to eurobattlenet anymore without using w3l.exe

Regarding the test commands, I did not delete any files when I downloaded it, it was a fresh download. Even in this re-download, it still does not print....
 
Level 16
Joined
Apr 14, 2016
Messages
382
Unfortunately, what you suggested above did not work.

However, after more testing I figured out the issue
In the previous version I was using w3l.exe to launch wc3 (the launcher thingy that comes with the eurobattle.net files), and it worked fine then.

In 2.27, I did the same and it crashes WFE. When changing it to war3.exe it works, but I don't know if there's any differences (like connection-wise to eurobattlenet or if gproxy is affected now) EDIT: Actually just tested it some more and I can't login to eurobattlenet anymore without using w3l.exe
Change the war3.exe to w3l.exe I guess, I have no clue what the Battle.net launchers, etc are doing and to be honest, it's not like I really care about them... It's just annoyance beyond annoyance to deal with to be honest.

EDIT: actually, I have to fix this function anyways, as it doesn't currently take the value from the checkbox... urgh...
EDIT2: Seems like it's fixed, I asked a friend of mine to send w3l.exe, no crashes found and works fine. As for the crash, there was 1 error in the process seek, which was not nulling the size of the found process, hence it was trying to attach itself to the latest Process, which is not good. :D
EDIT3: w3l.exe is a launcher, so essentially you were launching a launcher from launcher -> which is not going to work, so in this case you have to use auto injector or inject after a manual launch, there is no way around it.
EDIT4: w3l.exe crash/not injecting fixed, made a roundabout fix, but as long as it works, it's fine I guess.

Will update the version after some additional tests.

Regarding the test commands, I did not delete any files when I downloaded it, it was a fresh download. Even in this re-download, it still does not print....
Again, I can't really answer this, since I showed you above it prints just fine, sadly I am not a seer and I cannot guess abnormalities on other PCs, not to mention if everything else works fine it makes even less sense. Unless your system fails to read UTF-8 fails for some reason?
 
Last edited:
Level 4
Joined
Sep 27, 2014
Messages
47
you were launching a launcher from launcher
Ah that makes sense XD
I'm curious to know why it worked in the previous version... maybe because it was injecting it to the window name? rather than a process?

Change the war3.exe to w3l.exe I guess
I did try changing it to w3l.exe and Warcraft III.exe (since Warcraft III.exe is what shows up in task manager) but as you mentioned, it wasn't working. I'd assume that if it was working, I would be able to launch with w3l and then have it look for Warcraft III.exe?
EDIT4: w3l.exe crash/not injecting fixed, made a roundabout fix, but as long as it works, it's fine I guess.

Will update the version after some additional tests.

Looking forward to testing it myself as well once you update it =]
 
Level 16
Joined
Apr 14, 2016
Messages
382
Ah that makes sense XD
I'm curious to know why it worked in the previous version... maybe because it was injecting it to the window name? rather than a process?
Yep, it was waiting for a real Warcraft 3 window, which is not created by w3l.exe, but war3.exe only.

I did try changing it to w3l.exe and Warcraft III.exe (since Warcraft III.exe is what shows up in task manager) but as you mentioned, it wasn't working. I'd assume that if it was working, I would be able to launch with w3l and then have it look for Warcraft III.exe?
Nope, you will be able to use w3l.exe from WFE.exe as you did before, so no need to worry about that.

Looking forward to testing it myself as well once you update it =]
Version will be up now.

WFE 2.27 Update 1

1. Fixed ALT + Click issue with Resource Bar, where it would react as if mouse is over it, when it's not.
2. Fixed WFE.exe fatal error when w3l.exe was launched instead of war3.exe.
3. Fixed QuickMessage printing gibberish instead of actual text (forgot to add .c_str( ) to string :\).
 
Level 4
Joined
Sep 27, 2014
Messages
47
I'm sorry to say, but I still can't seem to get it working :/

Screenshot_3.png


I even tried to have auto-inject disabled (both toggled off), it still crashes
I also tried putting the w3l and its dll's inside of a library and launch war3 instead, but it gives a different error.
Also, opening wc3 manually and then clicking on inject doesn't seem to inject at all...
I also tried downloading a fresh install of eurobattlenet from here: How to install Warcraft III - Eurobattle.net WiKi (mirror 2)
I don't use the eurobattlenet client installer/launcher as it messed with some files in a previous PC, I just use gproxydll.mix to connect to the eurobattlenet realm and launch with the w3l.

I'm kinda at a loss on what else i can try, I also don't want to continue bothering you X_X
Let me know if you want to meet up on Discord or something to continue testing/debugging or if I should stick with 2.26 since that is working for me
 
Level 16
Joined
Apr 14, 2016
Messages
382
I'm sorry to say, but I still can't seem to get it working :/

View attachment 390403

I even tried to have auto-inject disabled (both toggled off), it still crashes
I also tried putting the w3l and its dll's inside of a library and launch war3 instead, but it gives a different error.
Also, opening wc3 manually and then clicking on inject doesn't seem to inject at all...
I also tried downloading a fresh install of eurobattlenet from here: How to install Warcraft III - Eurobattle.net WiKi (mirror 2)
I don't use the eurobattlenet client installer/launcher as it messed with some files in a previous PC, I just use gproxydll.mix to connect to the eurobattlenet realm and launch with the w3l.

I'm kinda at a loss on what else i can try, I also don't want to continue bothering you X_X
Let me know if you want to meet up on Discord or something to continue testing/debugging or if I should stick with 2.26 since that is working for me
Well, I checked it and the process name is Warcraft III.exe instead of war3.exe, hence you can just use that. I will set the name by default to NULL and make it search war3.exe / Warcraft III if no name was specified. I forgot that they changed process name, though I have no clue why it crashes for you, since it shouldn't even attempt process injection...
Edit: I do not get a crash when using their w3l + auto injector on 1.28f.
Screenshot_3.png

Note: w3l and .dll should be in the WC3 folder, those are independent.
In any case, will check and fix it.
 
Last edited:
Level 4
Joined
Sep 27, 2014
Messages
47
Yes I make sure I re download wfe every time before re trying a test. I almost want to say that somehow the changes didn't get updated on hive, but I double checked the change log to make sure your update 1 was added and it was.

Note: w3l and .dll should be in the WC3 folder, those are independent.
Yes I've kept them in both places, it was just experimenting a "work around" but in the end it didn't work.

I did also try searching for Warcraft III.exe, that also crashes wfe

I put the injection delay really high and there seemed to be 0 delay between launching and when it crashes.

Could there be something possibly saved on my PC that is causing a mix? Something in the registry, maybe having two versions of wfe? (Although as I understand this is a standalone programs that should not affect each two versions... I don't have them open at the same time either lol)
 
Level 16
Joined
Apr 14, 2016
Messages
382
Yes I make sure I re download wfe every time before re trying a test. I almost want to say that somehow the changes didn't get updated on hive, but I double checked the change log to make sure your update 1 was added and it was.


Yes I've kept them in both places, it was just experimenting a "work around" but in the end it didn't work.

I did also try searching for Warcraft III.exe, that also crashes wfe

I put the injection delay really high and there seemed to be 0 delay between launching and when it crashes.

Could there be something possibly saved on my PC that is causing a mix? Something in the registry, maybe having two versions of wfe? (Although as I understand this is a standalone programs that should not affect each two versions... I don't have them open at the same time either lol)
Well, I actually was able to replicate the crash, your luck is astronomically high, as it only happens when Auto Injector collides with launcher and tries to inject to w3l window before Launcher has a chance to do its thing, in any case it will be fixed, since I have fully rewritten Launch and Auto Injector options to use async thread and async timer with waiting until the process is gone. Meaning launch will pause Auto Injector until WC3 is closed and Launcher won't work until Auto Injector is done.

Will upload the version tomorrow morning or perhaps today later at night, but hopefully this is the last time I have to do it, as it's really beyond annoying to fix.
Edit: Also had to re-write Hide to Tray logic (back to original). Shouldn't have touched it. :D

Edit2: Version updated:

1. Fixed PrintTextToScreen function, TlsValue offset was modified on patches 1.28a+ apparently, so IsGame check was not working properly... :\
2. Reworked WFE.exe Launch, Inject and Auto Injector functions to be dependent on each other.
*Meaning Auto Injector will turn off until game launched via it is closed and Launch button will not launch game while it had injection via Injector or Auto Injector.
Note: do not mix and match these options anyways, since there is no point. Meaning either use Launch button or Auto Injector option.
3. Restored re-creation of child object in WFE.exe, which was responsible for re-drawing buttons/labels, etc.
Note: This was done due to the child object breaking if it sat in Tray for too long... :/
 
Last edited:
Level 1
Joined
Nov 30, 2021
Messages
1
Well, I actually was able to replicate the crash, your luck is astronomically high, as it only happens when Auto Injector collides with launcher and tries to inject to w3l window before Launcher has a chance to do its thing, in any case it will be fixed, since I have fully rewritten Launch and Auto Injector options to use async thread and async timer with waiting until the process is gone. Meaning launch will pause Auto Injector until WC3 is closed and Launcher won't work until Auto Injector is done.

Will upload the version tomorrow morning or perhaps today later at night, but hopefully this is the last time I have to do it, as it's really beyond annoying to fix.
Edit: Also had to re-write Hide to Tray logic (back to original). Shouldn't have touched it. :D

Edit2: Version updated:

1. Fixed PrintTextToScreen function, TlsValue offset was modified on patches 1.28a+ apparently, so IsGame check was not working properly... :\
2. Reworked WFE.exe Launch, Inject and Auto Injector functions to be dependent on each other.
*Meaning Auto Injector will turn off until game launched via it is closed and Launch button will not launch game while it had injection via Injector or Auto Injector.
Note: do not mix and match these options anyways, since there is no point. Meaning either use Launch button or Auto Injector option.
3. Restored re-creation of child object in WFE.exe, which was responsible for re-drawing buttons/labels, etc.
Note: This was done due to the child object breaking if it sat in Tray for too long... :/
Hi, Can you help me please ? I have a problem. When I open WFE, have a error : " The application was unable to start correctly (0x000007b). Click OK to close the application ". I tried many ways to fix it as Youtube instructed but it still don't work.Do you have a solution? Thank you so much !
 
Level 16
Joined
Apr 14, 2016
Messages
382
Hi, Can you help me please ? I have a problem. When I open WFE, have a error : " The application was unable to start correctly (0x000007b). Click OK to close the application ". I tried many ways to fix it as Youtube instructed but it still don't work.Do you have a solution? Thank you so much !
Hello there, we have already talked on Discord, so I will repeat the solution here.

Download x86: vc_redist.x86.exe from Latest supported Visual C++ Redistributable downloads

This is in case someone else will have the same issue.
 
Level 16
Joined
Apr 14, 2016
Messages
382
Very weird, 2.27 version seems like doesn't work with WC3 of 1.26a version, at least for me. Checked with 2.21 version and it worked, which is... very confusing.
2.21 had less configurations, also have you checked the FAQ on how to use the tool? And which of the ways you tried to use?

And I test everything on 1.26a, so it physically cannot not work on 1.26a. ^^

It would also help, if you share your config, so I can take a look and point any issues with it.
 
Level 2
Joined
Sep 10, 2020
Messages
13
hii i want to ask something, how to remove fps limit on warcraft 3 M16 version (korean w3), i try use NEW / LEGACY, buy my fps still stuck at 60,

and another problem is i need to rename "wfedll.DLL" into "wfedll.MIX" to make wfe work @Unryze
 
Level 16
Joined
Apr 14, 2016
Messages
382
hii i want to ask something, how to remove fps limit on warcraft 3 M16 version (korean w3), i try use NEW / LEGACY, buy my fps still stuck at 60,

and another problem is i need to rename "wfedll.DLL" into "wfedll.MIX" to make wfe work @Unryze
.mix forces WC3 to pre-load it automatically, please read FAQ with 2nd method, it explains how to make WFE inject the dll or how to make it even automatically inject it.

Also-also M16 uses 1.28f that has built-in VSync enabled, hence why it's stuck on 60 FPS. I am not really keen on trying to fix it, as that patch is really unstable. And I am surprised as to why it's used... I guess it's due to less cheats/hacks available for it. In any case, it can be fixed, but I am not willing to invest my time on it. Sorry.

After some maps use WFE tool, the screen will become white
Please send me the map, also if you use opengl - that could be the reason, I strongly advice against opengl (it's 2022 already, let it be deprecated and just use normal DX8).
 
Level 2
Joined
Sep 10, 2020
Messages
13
.mix forces WC3 to pre-load it automatically, please read FAQ with 2nd method, it explains how to make WFE inject the dll or how to make it even automatically inject it.

Also-also M16 uses 1.28f that has built-in VSync enabled, hence why it's stuck on 60 FPS. I am not really keen on trying to fix it, as that patch is really unstable. And I am surprised as to why it's used... I guess it's due to less cheats/hacks available for it. In any case, it can be fixed, but I am not willing to invest my time on it. Sorry.


Please send me the map, also if you use opengl - that could be the reason, I strongly advice against opengl (it's 2022 already, let it be deprecated and just use normal DX8).
thank you for respond, how about warcraft 3 v1.28 from eurobattle.net ? it have same problem stuck at 60 fps on mine, is it unable to unlimit it ?
 
Level 1
Joined
Jul 18, 2020
Messages
1
I have an error with hotkeys. When I try to install any of the hotkeys, it is selected as Page Down. Up to this point, I got an error when I tried to install any hotkey.
 
Level 16
Joined
Apr 14, 2016
Messages
382
thank you for respond, how about warcraft 3 v1.28 from eurobattle.net ? it have same problem stuck at 60 fps on mine, is it unable to unlimit it ?
"Also-also M16 uses 1.28f that has built-in VSync enabled, hence why it's stuck on 60 FPS. I am not really keen on trying to fix it, as that patch is really unstable. And I am surprised as to why it's used... I guess it's due to less cheats/hacks available for it. In any case, it can be fixed, but I am not willing to invest my time on it. Sorry."

It's not M16 that enforces VSync it's the game itself having it.

I have an error with hotkeys. When I try to install any of the hotkeys, it is selected as Page Down. Up to this point, I got an error when I tried to install any hotkey.
This is an anomaly that is most likely caused either by a meddling software or straight up Windows corruption, as I have yet to encounter this issue myself or anyone else to report it. But I do believe we've talked about this through VK. In any case, I will take a look again and perhaps find a solution to fix the anomaly.
 
Level 3
Joined
Jan 9, 2022
Messages
10
Hello, thank you for creating this program.
It's working normally, but sometimes...
When enabling autocast and using skills, the target unit is selected.
1.27 1.28 version. The same problem occurs.
Warcraft must be restarted to return to normal.
Many people have the same problem,
I don't know why this problem is happening.
 
Level 16
Joined
Apr 14, 2016
Messages
382
Hello, thank you for creating this program.
It's working normally, but sometimes...
When enabling autocast and using skills, the target unit is selected.
1.27 1.28 version. The same problem occurs.
Warcraft must be restarted to return to normal.
Many people have the same problem,
I don't know why this problem is happening.
Clicking multiple buttons could cause it, but restart if the game shouldn’t be needed, just restating the map should be enough. I no longer can re-create this issue, so make sure to use 2.27. If you find a way how to replicate this issue, I will take a look, but I can’t fix something I cannot test myself, you know?
 
Level 3
Joined
Jan 9, 2022
Messages
10
Clicking multiple buttons could cause it, but restart if the game shouldn’t be needed, just restating the map should be enough. I no longer can re-create this issue, so make sure to use 2.27. If you find a way how to replicate this issue, I will take a look, but I can’t fix something I cannot test myself, you know?

I'm using the program version 2.27.
1.27 1.28f version is Warcraft.
I hope it can be fixed. Thank you!
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
WFE 2.27 Update 4

Google Drive: https://drive.google.com/file/d/1zxh56__ZTaqpe6BxEJEpKBVFjfpAWkX6/view?usp=sharing
Yandex Disk: WFE v2.27_4.zip

Changelog:

1. Added hook for jShowInterface, Custom UI is forcefully updated whenever this function is envoked to restore UI to whichever settings were chosen.
2. Added hook for jEnableUserControl, Custom UI is forcefully updated whenever this function is envoked to restore UI to whichever settings were chosen.
3. Added hook for jEnableUserUI, Custom UI is forcefully updated whenever this function is envoked to restore UI to whichever settings were chosen.
4. FPS Unlocker now should instantly update Warcraft 3 registry values for Refresh Rate and Max FPS.
5. FPS Unlocker can now be deactivated while game is running, either switch to "Off" mode or disable "Display" button.
6. @NoCooldown test command now stores all casted spells (only unique values), instead of trying to clear them midfway (as some spells with no cooldown were breaking the iterator).
This should prevent all known causes of NoColdown mode breaking or not working.
7. Fixed Hotkeys not working with spellbooks that had Aowk typeid buttons, as they would "lose" their ID while active, hence breaking the check.
8. Smartcast reworked yet again, loss of control should be totally fixed now whenever multiple keys/buttons are pressed at the same time.
Note: this is caused by button mashing, which was annoying to track, but now even this shouldn't cause any issues... <_>"
9. Fixed launcher option for separate stand-alone launcher-apps like w3l.exe/JNLoader.exe and such, WFE should automatically recognise when a launcher file was used instead of the game directly.
10. Lazy Mode added for Process Name, WFE will now guess between war3.exe and Warcraft III.exe, meaning you can now leave it empty or even set it to a totally wrong name.
11. NumPad9 is no longer reserved for WFE Save/Update data from config, now it uses a deprecated key as default, to avoid possible conflicts.
12. WFE launch/inject collision/rare exception error fixed, now WFE shouldn't crash.
 
Level 16
Joined
Apr 14, 2016
Messages
382
WFE 3.0.0.1 has been uploaded.

All versions have been also uploaded here: Releases · UnryzeC/WFE-Release and will be updated there from now on, instead of Yandex Disk and Google Drive.

WFE 3.0.0.0

1. Internal code update, de-coded a lot of internal frame functions, along with creation of pretty much every single one...
2. Usage of FDF/TOC files removed, as all of the settings can be handled directly instead.
3. CooldownUI code fully reworked, it will use even less CPU/RAM.
4. CooldownUI no longer uses CSimpleTextFrame, instead it uses CTextFrame like HP/MP label.
5. CooldownUI CTextFrames now are drawn OVER the cooldown indicator (hurray, I finally did it...).
6. CooldownUI no longer draws floats when below 10, now it will draw floats when cooldown is less than 1. "Example: 9.5 now is 9, and 0.5 will remain as 0.5, etc."
This should remove sort of unnecessary precision.
7. NEW Feature CooldownUI now allows you to override cooldown indicator with the one in WFEMPQ.mpq "WFEModels\\CooldownUI\\Model.mdx", this option is toggleable, meaning original map indicator won't be lost.
You can freely edit cooldown indicator to any way you want, WFE will be shipped with original and Alternate versions, which you can interchange by naming the one you like into Model.mdx.
8. NEW Mana Bar now has new field: Mana Text Colour, this will edit the colour of mana labels instead of the static colour that was chosen by me.
9. HP/MP draw code filly re-written and optimised further, it will use even less CPU/RAM.
10. Chinese language added, thanks to EdgarL from Discord.
11. NEW Feature WFE can now inject to multiple Warcraft 3 windows, this is mostly for those who use MultiLoader. :)
This also means, that Update button will send updates to ALL windows that were injected.
12. NEW Feature WFE now has Version Checker and Auto Updater, it's currently experimental, but once finished you won't need to "hunt" for new versions.
13. Auto Update feature can be disabled, by default it is Active, if you don't want to check for updates or you want to manually choose when to update, just disable this option.

WFE 3.0.0.1

1. Fixed weird interaction with patch 1.28.5, that would break WFE Launcher if there was War3.exe present along with Warcraft III.exe.
2. Solved Unhandled Exception error when WFEUpdater is used, since it is trying to update itself while being open.
 
Last edited:
Level 4
Joined
Feb 22, 2022
Messages
23
Hi Unryze,

I've just created a Hive account to be able to post here. First, thanks a lot for creating and maintaining this tool for War3 Classic. I've been playing War3 for the past 20 years and I don't want to switch to Reforged, and WFE has made my experience so much more enjoyable !

Unfortunately, I've had a bug preventing me from using WFE for about 2 months or so. I have tried changing my War3 version to 1.26a, 1.27a and 1.27b, and the problem persists. I tried using WFE 2.26, 2.27 (all versions published here), and now 3.0.0.0 and 3.0.0.1, but the problem persists still.
I do not know why this problem starting arising. It started while I was using WFE 2.27 on War3 1.26a.

Here are the details :

1. When WFE injects WFEDI.dll, the War3 custom maps lobby becomes bugged. Any map I select in the maps list has its player count changed to four players, whatever the actual number of players in the map might be. For instance, 2-player, 6-player and 12-player maps are all appearing as 4-player maps in the lobby, as soon as the dll is injected and I select a map.
2. When the selected map has Forces set up, they are also changed, each player being placed in thier own individual force.
3. If I try to play a map with the dll injected and the lobby bugged as a result, the map loads, but is unplayable : the visible map boundaries are reduced towards the center of the map (but the AI can still path and go outside that visible game area), the 4 players are placed at new locations randomly within this new game area, and AI players give up after two or three minutes of gameplay. Moreover, neutral buildings and units are repositioned at random in the new game area, including if that means colliding with doodads.
4. When I start War3.exe without WFE, map players appear correctly in the game lobby and maps work as expected.
5. I have tried deleting my War 3 registry entries, it didn't change anything.
6. I have tried deleting my WFEConfig.ini to reset WFE's settings, to no avail.
7. I have tried injecting the dll with all WFE settings deactivated and no custom key set up, but that didn't prevent the bug from happening. This probably means that it isn't a specific user-toggleable parameter that creates this bug.
8. If I start War3 without WFE, launch a new game normally and inject WFE while the game is running, WFE works perfectly at first, but War3 crashes after a few minutes.

I hope you'll be able to help me understand this issue and correct it !
 
Level 16
Joined
Apr 14, 2016
Messages
382
Hi Unryze,

I've just created a Hive account to be able to post here. First, thanks a lot for creating and maintaining this tool for War3 Classic. I've been playing War3 for the past 20 years and I don't want to switch to Reforged, and WFE has made my experience so much more enjoyable !

Unfortunately, I've had a bug preventing me from using WFE for about 2 months or so. I have tried changing my War3 version to 1.26a, 1.27a and 1.27b, and the problem persists. I tried using WFE 2.26, 2.27 (all versions published here), and now 3.0.0.0 and 3.0.0.1, but the problem persists still.
I do not know why this problem starting arising. It started while I was using WFE 2.27 on War3 1.26a.

Here are the details :

1. When WFE injects WFEDI.dll, the War3 custom maps lobby becomes bugged. Any map I select in the maps list has its player count changed to four players, whatever the actual number of players in the map might be. For instance, 2-player, 6-player and 12-player maps are all appearing as 4-player maps in the lobby, as soon as the dll is injected and I select a map.
2. When the selected map has Forces set up, they are also changed, each player being placed in thier own individual force.
3. If I try to play a map with the dll injected and the lobby bugged as a result, the map loads, but is unplayable : the visible map boundaries are reduced towards the center of the map (but the AI can still path and go outside that visible game area), the 4 players are placed at new locations randomly within this new game area, and AI players give up after two or three minutes of gameplay. Moreover, neutral buildings and units are repositioned at random in the new game area, including if that means colliding with doodads.
4. When I start War3.exe without WFE, map players appear correctly in the game lobby and maps work as expected.
5. I have tried deleting my War 3 registry entries, it didn't change anything.
6. I have tried deleting my WFEConfig.ini to reset WFE's settings, to no avail.
7. I have tried injecting the dll with all WFE settings deactivated and no custom key set up, but that didn't prevent the bug from happening. This probably means that it isn't a specific user-toggleable parameter that creates this bug.
8. If I start War3 without WFE, launch a new game normally and inject WFE while the game is running, WFE works perfectly at first, but War3 crashes after a few minutes.

I hope you'll be able to help me understand this issue and correct it !
WFE does not modify any map information at all, the only things it really affects are in-game features, as you can see all maps are fine:
Screenshot_1.png


Not to mention, if such an error existed at any point, it would have surfaced ages ago, but it simply cannot be caused by it. Please make sure your Warcraft 3 folder is not filled with unnecessary files and in case you do have Libraries folder selected in WFE you do NOT have any .mix/.dlls in there like TFTLocal or such. If you have Discord, it would be much easier to talk and perhaps find a reason to the issue you are having. Also-also TFTLocal has this feature that edits map's player count, so perhaps you have it being loaded somewhere?

Seeing as the bug "appeared" 2 month ago, I really need you to see if you have changed/added any file in Warcraft 3 folder (even in Redist\Miles), since this is a very weird issue that cannot even be caused by WFE at all. :<

As for the crash, please send me .txt files from Errors folder, that will pretty much tell me what crashed and what modules were active within that timeframe.

So preferably your Warcraft 3 folder should look something like this:
Screenshot_2.png


And Redist\miles should be like this:
Screenshot_3.png
 
Last edited:
Level 4
Joined
Feb 22, 2022
Messages
23
Thanks a lot ! By asking me to use a blank-slate war3 installation to bug-check, you made me find the culprit. It was a map script file saved in the root folder of my War3 directory. It is named "war3map.j", and contains just a vjass script saved by the world editor for a map. I have no idea why it made WFE bug, but removing it from the root and placing it elsewhere has removed the bug and I can now enjoy War3 in full zoomed-out 3440x1440p glory with unlock FPS.
 
Level 2
Joined
Dec 3, 2019
Messages
11
1. "Auto-inject" and "Inject" do not working with process name "Warcraft_III_-_MultiWindow.exe"


2. Camera ALT+MWheel, Ctrl+MWheel, Shift+MWheelis not working? Working Ctrl+Num0 only
Win 7 + 1.26 (Full original)
 

Attachments

  • Warcraft_III_-_MultiWindow.zip
    13.1 KB · Views: 11
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
Thanks a lot ! By asking me to use a blank-slate war3 installation to bug-check, you made me find the culprit. It was a map script file saved in the root folder of my War3 directory. It is named "war3map.j", and contains just a vjass script saved by the world editor for a map. I have no idea why it made WFE bug, but removing it from the root and placing it elsewhere has removed the bug and I can now enjoy War3 in full zoomed-out 3440x1440p glory with unlock FPS.
Well, technically it should have bugged with and without WFE, so I am not quite sure. However, glad it got fixed for you.
You are more than welcome!
1. "Auto-inject" and "Inject" do not working with process name "Warcraft_III_-_MultiWindow.exe"


2. Camera ALT+MWheel, Ctrl+MWheel, Shift+MWheelis not working? Working Ctrl+Num0 only
Win 7 + 1.26 (Full original)
1. Simple change name in the Process Name to: Warcraft_III_-_MultiWindow.exe or even better, launch it with WFE and it will achieve the same result.

Edit: it works though?

Screenshot_5.png

Screenshot_4.png


I am really puzzled as what you have to do, to make the tool simply not work, when under NORMAL circumstances it has never failed me once? :/

2. You need to enable option Camera Steps first, and if the map is forcing its camera data, use NUM0 (or remap the key) to unlock camera. This feature is called "Override Camera",
which also existed long-long time ago.~

Also I would still suggest using KLoader over the "Warcraft_III_-_MultiWindow.exe", since it doesn't modify process name (and there really is no need for that).
 
Last edited:
Level 2
Joined
Dec 3, 2019
Messages
11
1. With KLoader_w3l is working, with Warcraft_III_-_MultiWindow.exe is not (Inject or launch). Maybe my Win7 is not perfect
2.
"Camera Steps" is working, screen with peon's back:
hEpi4tr.png


Ctrl +Num0 is working with all except cam distance.
Maybe it is better to restore distance too.

FarZ and FogZ =10000 is nice. Dreamed about this feature sometime.
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
1. With KLoader_w3l is working, with Warcraft_III_-_MultiWindow.exe is not (Inject or launch). Maybe my Win7 is not perfect
2.
"Camera Steps" is working, screen with peon's back:
hEpi4tr.png


Ctrl +Num0 is working with all except cam distance.
Maybe it is better to restore distance too.

FarZ and FogZ =10000 is nice. Dreamed about this feature sometime.
Make sure to use 3.0.0.1, I have re-tested it multiple times, it works on both Kloader and MultiWindow.
Camera distance is managed by just CTRL + Mousewheel (unless you changed the additional hotkey), there is nothing that should prevent it from working, you can also use CTRL with + or - to achieve the same result.

What do you mean by restore camera distance? >_>
 
Level 16
Joined
Apr 14, 2016
Messages
382
Ctrl + Num0 = dist 1650
That hotkey only returns base value, meaning the function works. Use NUM0 itself to override camera controls, meaning the map is forcing camera height.

2. You need to enable option Camera Steps first, and if the map is forcing its camera data, use NUM0 (or remap the key) to unlock camera. This feature is called "Override Camera",
which also existed long-long time ago.~

Meaning you press NUM0 ONCE and it will allow you to modify any camera value and ignore whatever map is trying to force, which is explained in the FAQ.

Edit: ah, now I understand what you mean, your wording made it seem like the overall Camera Distance function was not working, not the "restoration", though it was never meant for it. Simply put, it was only meant (and intended) to restore rotations, etc, since you can really screw them up, but camera distance? Heck, it should be quite easy to adjust however you feel like it and resetting that along with everything = more issues than solutions.
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
WFE 3.0.0.2 uploaded.

1. Fixed wrong scaling of Item Cooldown Frames, this was a bug from a long time ago if you were to hide indicator and display it again.
Note: this surfaced as I am "catching and editing the indicator as it is created, hence this issue surfaced."
2. WFEUpdater modified and some minor tweaks were done (hopefully for the last time).
Note: this means you need to re-download 3.0.0.2 from scratch, so it can be updated.
3. WFEUpdater will now state "No updates available" if there are no pending updates or if you have no internet connection. WFEApp will do so only if you have no internet connection, so there is less spam.
4. NEW Feature you can now ALT + Click on xp bar, to print your current hero's level, his minimum and maximum experience and how much % is left until level up.
Example: "Zann the Defender (Paladin) >> lvl: 2 | xp: 400/500 (80%)"
5. Fixed fatal error due to custom TextTag creation, after code optimisation and removal of a "stapled-code" (aka something that shouldn't work was working), the swapped code was going too far within pointers, hence creating fatal error.

Example of new feature:

Screenshot_6.png


P.S. the reason why 254/500 is 18% is simple, as in reality it is 54/300 (as level 1 is 0/200) -> hence level 2 is 0/300. So the actual calculation is always this:
Current XP - Max XP of previous level / Max XP of current level - Max XP of previous level. Yet another voodoo type of calculations, yay...
 
Last edited:
Level 4
Joined
Feb 22, 2022
Messages
23
Weirdly enough, Windows Defender (on Win 10) has just detected WFEApp as a trojan when I tried to extract it from the .zip archive downloaded from the Hive. It's the first time this has happened.

Here's the antivirus report :

Detected: Trojan:Win32/Wacatac.B!ml
Date: 27/02/2022 22:00
Details: This program is dangerous and executes commands from an attacker.
Affected items:
file: C:\Users\(redacted)\AppData\Local\Temp\7zE487BE2F1\WFEApp.exe


Also, WFE 3.0.0.1 has acted weirdly today for me : it started to eat up 70-85% of my CPU (an R9 5900X) after I had spent a while in-game. This happened on two different occasions today (separated by a restart of WFE and a restart of War3), I have no idea why. It didn't cause any crash, it just ate my CPU. It never happened with previous versions.
 
Level 16
Joined
Apr 14, 2016
Messages
382
Weirdly enough, Windows Defender (on Win 10) has just detected WFEApp as a trojan when I tried to extract it from the .zip archive downloaded from the Hive. It's the first time this has happened.

Here's the antivirus report :

Detected: Trojan:Win32/Wacatac.B!ml
Date: 27/02/2022 22:00
Details: This program is dangerous and executes commands from an attacker.
Affected items:
file: C:\Users\(redacted)\AppData\Local\Temp\7zE487BE2F1\WFEApp.exe


Also, WFE 3.0.0.1 has acted weirdly today for me : it started to eat up 70-85% of my CPU (an R9 5900X) after I had spent a while in-game. This happened on two different occasions today (separated by a restart of WFE and a restart of War3), I have no idea why. It didn't cause any crash, it just ate my CPU. It never happened with previous versions.
The false-positive is going to last awhile I guess, there is nothing I can do about it, thanks to Microsoft and likes of it for that.

As for high CPU usage, I couldn’t emulate it, but another person reported that it happened due to WC3 Reforged while having Auto Injector turned On, so turn it off while you are not using Warcraft 3 that is actually supported by WFE. Apart from it, I am not quite sure what could even eat CPU like that at all.

The possible cause could be the non-restricted List of processes as opposed to window searches, but even so, until someone can pinpoint when it starts and how it starts I can’t really fix it. But, once a reason is narrowed down, if should be quite easy.

Edit: found the error, for some reason "Contains" functions does not recognize the added process... urgh... so it keeps adding them indefinitely.
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
WFE 3.0.0.3

1. Fixed and Reworked Auto Injector, for some reason Contains function was not properly distinguishing between processes in a list, so it was indefinitely adding them to the list, while also trying to inject WFEDll.dll.
Explanation: This is the most likely cause of the high CPU usage by WFEApp.exe, since having a process added each 100ms until all Warcraft 3 are off is really-really problematic as the number gets higher and higher.
Note to self: never rely on C# libraries and logic in a C++/CLI environment. And never-ever-ever use it again, either use C++ (ImGUI and alike) or straight up C#...
 
Level 2
Joined
Dec 15, 2021
Messages
4
hi unryze , i can t open 3.0+ wfe versions i mean there is no error or smth when i click wfe exe nothing happens older versions works only happens on 3.0+ usually it was my AV that preventing but i gave permission same as others still not works , so any idea what could cause ?
 
Level 16
Joined
Apr 14, 2016
Messages
382
hi unryze , i can t open 3.0+ wfe versions i mean there is no error or smth when i click wfe exe nothing happens older versions works only happens on 3.0+ usually it was my AV that preventing but i gave permission same as others still not works , so any idea what could cause ?
Make sure all files are present, and it's extracted to a separate folder to prevent it from "layering", then check if you have .NET Framework 4.7 or higher. Though the only reason for it not to open at all, would be Antivirus nuking the .exe or some files are missing for some reason, sadly I cannot guess what exactly causes it, but on Win10 with .NET Framework 4.7 it works without issues, even if you have no internet at any point the updater will just skip the check and launch the application.

In the worst case you can just keep using older .exe (albeit some features won't be available for modification), but that's the best alternative there is.
 
Level 2
Joined
Sep 10, 2020
Messages
13
is fps limit seems not working?, i'm using v1.26a with status New, i'm trying Legacy but its not working

my fps goes to 1k+ on loby and it drain more electricity
 
Level 4
Joined
Feb 22, 2022
Messages
23
is fps limit seems not working?, i'm using v1.26a with status New, i'm trying Legacy but its not working

my fps goes to 1k+ on loby and it drain more electricity
FPS going over 1000 in the lobby happens on my rig too, but once I'm in a game, the limit I've set is enforced. To be precise, my limit is set at 140, and the FPS I get in-game revolves around the 135 mark ; but it's still technically working (and more than well enough). I've used the same game version as you with version 3.0.0.3, and it worked flawlessly. As does 1.27b.
 
Level 16
Joined
Apr 14, 2016
Messages
382
is fps limit seems not working?, i'm using v1.26a with status New, i'm trying Legacy but its not working

my fps goes to 1k+ on loby and it drain more electricity
It removes the limit, but yeah, I couldn't find a way to specifically lock it to a chosen value.
Also FPS limit can be disabled when you are in lobby and it does NOT do anything if Warcraft 3 window is not focused.

Also, "draining more electricity" are we in 1990? Even on full-blast WC3 can barely add ~5 watts overall, and no one really forces you to use it, if you care about saving 3$ per month at best, just don't use it?

FPS going over 1000 in the lobby happens on my rig too, but once I'm in a game, the limit I've set is enforced. To be precise, my limit is set at 140, and the FPS I get in-game revolves around the 135 mark ; but it's still technically working (and more than well enough). I've used the same game version as you with version 3.0.0.3, and it worked flawlessly. As does 1.27b.
1.27b has VSync in-game, so it tries to limit FPS whatever maximum your screen is.

Though, again, I could make an update and remove the limiter in the main-menu, since it does not really do any good, but again the "logic" of "too much power consumption" is straight up laughable. However, again, now that this topic is brought up I might use a bit more time and make it selectable: aka Full/Game Only or something like that.

Edit: New option will be called "Active in Lobby" with options on/off by default it will be off.

Edit2: feature was implemented, it will be available from 3.0.0.5 and so on.
 
Last edited:
Level 4
Joined
Feb 22, 2022
Messages
23
Thanks for the feature update.
For your info Unryze, on the main menu with patch 1.26a (so, without vsync in the menu), my FPS usually varied from 1200 to 1700 FPS, which drained about 110-130W on my 6800XT at 3440x1440. Which is quite a lot (but then again, so is 1200+FPS), although thankfully I don't linger very long in the main menu. It also created a lot of coil whine due to the very high framerate.

In-game, GPU power usage goes back down to 40W with a 140FPS limit in WFE. And now that I play with 1.27b, with the vsync in the main menu, power usage is back down to 35W in the lobby since the FPS doesn't go crazy high anymore. Your new feature might save up a few watts here and there for people playing with versions earlier than 1.27 !
 
Top