• 🏆 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 16
Joined
Apr 14, 2016
Messages
382
Only casual peasants goes to third party outdated wc3 versions :ogre_hurrhurr:
Anyway, we push everyday the limits of Warcraft 3 so that's good to see, imagine then with the newer version ? ^^
So far I've noticed third party being much superior to Blizzard's implementations, but the real reason, why I am using 1.26a and making tools for it, is due to the reason, that it is the most stable patch so far and it can be extended to become much better and more powerful than the current latest patch.

The reason is simple, it is possible to add custom natives and pretty much copy every new thing that was added to the newest patch and considering that the code will allegedly be better, I think calling 1.26a outdated is straight up rude and intolerable.

Back to the topic, I dislike the newest patches and I've lost all faith I had placed in Blizzard for a long time now, therefore if I can make 1.26a better in any scenario - I will try to do that. What I mean is this, once I get a bit more experience I will start actually working on adding those custom natives I've mentioned.

TL;DR new is not always the best and in a lot of cases old can become better than new, if changed according to the needs and by a person who actually cares.
 
mlk-jr-05-1130x580.jpg

One day, i had a dream where all Wc3 players could play in the same server, where all players would be judged by their favorite game instead of what version they play.
I had a dream where Wc3 shall be in a unique version, where all maps would never need to be adapted to fit all the previous versions.
I had a dream where all wc3 players won't have to pick a side and to select a community, because they would be all gathered into one strong nation.
 
Level 16
Joined
Apr 14, 2016
Messages
382
To those who may be interested, what update I am currently planning:

1. If smartcast was not selected, Shift + Button will cause effect of smart cast and vise-versa.
2. Hero "saver", or so called autoselect (for example if unit was saved with let's say NUM9 (possibly will use this key), then on losing control, that saved unit will be instantly selected.
3. Selective smart cast on each button.
4. Possibility of dynamic control of parameters (yes, that means config editing and updating of data for .mix while in the game).

If anyone has any other feature ideas, will be glad to hear them out.
 

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
mlk-jr-05-1130x580.jpg

One day, i had a dream where all Wc3 players could play in the same server, where all players would be judged by their favorite game instead of what version they play.
I had a dream where Wc3 shall be in a unique version, where all maps would never need to be adapted to fit all the previous versions.
I had a dream where all wc3 players won't have to pick a side and to select a community, because they would be all gathered into one strong nation.

@GhostOfPast:

worst-does-all-of-this-prequel-sauron-stuff-line-up-with-lotr.jpg


One version to rule them all, one version to find them,
One version to bring them all and in microtransactions bind them
In the Land of Battle.net where the desyncs lie.



@Unryze: v1.01 is not a valid application for Windows XP
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
@GhostOfPast:

View attachment 311915

One version to rule them all, one version to find them,
One version to bring them all and in microtransactions bind them
In the Land of Battle.net where the desyncs lie.


@Unryze: v1.01 is not a valid application for Windows XP
I use libraries that are not supported by such old version of Windows, sorry, but there is nothing I can do.

You can use config.ini directly instead, as long as .mix works the tool itself is not needed. It is a GUI representation of config.ini :)
 

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
I use libraries that are not supported by such old version of Windows [..]
Ideally, one should use the same old libraries as this old version of the game already uses.
:wink:

Now, which version of DotNET would WFE v1.01.exe *really* require in order to run (since it appears that it imports the file mscoree.dll)?
[...] sorry, but there is nothing I can do.
Please have a closer look at the second release of War3loader (which is the one that runs on Windows XP) for inspiration?

[...] You can use config.ini directly instead, as long as .mix works the tool itself is not needed. It is a GUI representation of config.ini :)
I am getting an access violation error on exit.

OS: Windows XP SP3 (French)
Game version: WC3 v1.26.0.6401 (French)
conf.ini: everything set to 'no', and no other third-party mixtape file in the game's folder
 

Attachments

  • Errors.7z
    47.8 KB · Views: 348
Level 16
Joined
Apr 14, 2016
Messages
382
On the latest version of WC3, and I would love to get that camera height control to zoom out, do I have any options?
Well, if you can hook Cheat Engine or any tool like it to WC3, you can find either value itself or address containing it and you can change it.
Ideally, one should use the same old libraries as this old version of the game already uses.
:wink:
That simply cannot be done and I cannot be asked to bother about a Windows version that is so ancient that it is not supposed to exist anymore.
Now, which version of DotNET would WFE v1.01.exe *really* require in order to run (since it appears that it imports the file mscoree.dll)?
This error indicates that it is unable to use INIParser.dll, aka you either forgot to move it with rest of the files, or it is simply unable to run it, due to the libraries.
Please have a closer look at the second release of War3loader (which is the one that runs on Windows XP) for inspiration?
C# and even my C++ dll use:
C#
using IniParser;
using IniParser.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
C++
#include <Windows.h>
#include <vector>
#include <ctime>
#include <string>
using namespace std;
#include "MinHook.h"
#include "Structures.h"
#include "INIReader.h"
#include "CameraHeightH.h"

I am not sure what exactly XP does not like, but as I've mentioned I have 0 will to be bothered supporting Windows XP, sorry, but it is long past its usefulness.
I am getting an access violation error on exit.

OS: Windows XP SP3 (French)
Game version: WC3 v1.26.0.6401 (French)
conf.ini: everything set to 'no', and no other third-party mixtape file in the game's folder
If your system is unable to let either of the files to use INIParser.dll there is nothing I can do, that one uses this:
#include <algorithm>
#include <cctype>
#include <cstdlib>
#include "ini.h"
#include "INIReader.h"
and
#include <stdio.h>
#include <ctype.h>
#include <string.h>

#include "ini.h"

#if !INI_USE_STACK
#include <stdlib.h>
#endif

Pretty much if any of the libraries are not supported by Win XP there is nothing I can do.



Or well, the other way is, to make the Stand-Alone dll for Camera Height and Widescreen, which I can do, if that will suffice though.
 

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
That simply cannot be done and I cannot be asked to bother about a Windows version that is so ancient that it is not supposed to exist anymore.
... but you are bothering for a version of the game that is so ancient that it is not supposed to exist anymore, are you not?

If you choose to not support Windows XP (or any other OS Warcraft 3 was designed to run on), then you should explicitly mention it in your readme.

Now, does it really require Windows Vista to launch a GUI?

This error indicates that it is unable to use INIParser.dll, aka you either forgot to move it with rest of the files, or it is simply unable to run it, due to the libraries.
I see no mistake on my part with the files I copied in my WC3 folder.

Both WFE v1.01.exe and INIFileParser.dll require DotNET.
You could mention in your readme which version(s) of DotNET is/are required.


I am pointing out that directly modifying the file conf.ini indeed allows for some changes to take effect (note: only tested with widescreen so far).
C# and even my C++ dll use:
C#
using IniParser;
using IniParser.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
C++
#include <Windows.h>
#include <vector>
#include <ctime>
#include <string>
using namespace std;
#include "MinHook.h"
#include "Structures.h"
#include "INIReader.h"
#include "CameraHeightH.h"

I am not sure what exactly XP does not like, but as I've mentioned I have 0 will to be bothered supporting Windows XP, sorry, but it is long past its usefulness.
??

When I am referring to the second version of War3loader, I am referring to this program (version 1 and version 2) which was written by @TriggerHappy. He had 1,000,000 will to be bothered (by me) supporting Windows XP.
:wink:

If your system is unable to let either of the files to use INIParser.dll there is nothing I can do
That is why I am asking about the DotNET and Visual C++ version requirements.

I generally use VirusTotal or PeStudio to get hints and clues about exe/dll files.
btw, who is Ricky?

I think INIParser requires DotNET v2.0.50727, while WFE v1.01 requires DotNET v4.0.30319. Both are suitable for Windows XP. The compatibility problem is imho with your target OS version, since even the Visual Studio 2017 Runtime can be installed on XP.

Have you installed the optional Windows XP compatibility pack by Microsoft to your build environment for Visual Studio 2017?

Again, does it really require Windows Vista to launch a GUI?

Or well, the other way is, to make the Stand-Alone dll for Camera Height and Widescreen, which I can do, if that will suffice though.
Standalone mix files could indeed be nice.


I am guessing you are reusing some already well-known third-party code designed for v1.26a. This is because the camera zoom does not work with the RoC campaign, just like with the mix file Camera Hack.mixtape (CRC32: FB05A915). This code is not by @karaulov afaik.

I can confirm that proper widescreen works for RoC and TFT. Is this code yours?

If anyone has any other feature ideas, will be glad to hear them out.
Maybe I could point you to several additions. But since you do not seem to be keen on supporting Windows XP, I may not benefit from them in the end.

[...] that one uses this:
#include <algorithm>
#include <cctype>
#include <cstdlib>
#include "ini.h"
#include "INIReader.h"
and
#include <stdio.h>
#include <ctype.h>
#include <string.h>

#include "ini.h"

#if !INI_USE_STACK
#include <stdlib.h>
#endif
Not sure I could do anything with this, but thanks anyway.

I think calling 1.26a outdated is straight up rude and intolerable.
I think calling Windows XP a Windows version that is so ancient that it is not supposed to exist anymore and is long past its usefulness, is straight up rude and intolerable.
:ogre_hurrhurr:
 

Attachments

  • Camera Hack.rar
    3.8 KB · Views: 376
Level 16
Joined
Apr 14, 2016
Messages
382
... but you are bothering for a version of the game that is so ancient that it is not supposed to exist anymore, are you not?
One thing is the game I care about, the other is obsolete OS.

If you choose to not support Windows XP (or any other OS Warcraft 3 was designed to run on), then you should explicitly mention it in your readme.
I do not consider anyone using XP, sorry, I just don't care as I've stated.

Now, does it really require Windows Vista to launch a GUI?
It uses NetFramework 4.5, using VS 2017, there is no option for that in C# as it cares pretty much only about for what CPU and what Net Framework you target.
Also, I see no mistake on my part with the files I copied in my WC3 folder.
Then either you don't have Net Framework 4.5 or it is not supported by Windows XP, not sure.
Both WFE v1.01.exe and INIFileParser.dll make use of DotNET.
You could mention in your readme which version(s) of DotNET is/are required.
This I do agree on, forgot to add it, will do so in the future.
I am pointing out that directly modifying the file conf.ini indeed allows for some changes to take effect (note: only tested with widescreen so far).??
Now that is strange. WFE.dll (.mix) uses windows 10 SDK and Windows 10 as target platform, this makes it all the more confusing.
When I am referring to the second version of War3loader, I am referring to this program (version 1 and version 2) which was written by @TriggerHappy. He had 1,000,000 will to be bothered (by me) supporting Windows XP.
:wink:
Cool, but I am not him.
That is why I am asking about the DotNET and Visual C++ version requirements.

I generally use VirusTotal or PeStudio to get hints and clues about exe/dll files.
btw, who is Ricky?
Ricky? Possibly the person who originally made INIFileParser, I am not sure myself.

I think INIParser requires DotNET v2.0.50727, while WFE v1.01 requires DotNET v4.0.30319. Both are suitable for Windows XP. The compatibility problem is imho with your target OS version, since even the Visual Studio 2017 Runtime can be installed on XP.
As mentioned before, it is 4.5 not 4.0 and it is on C#, dunno what can cause problems with XP.
Have you installed the optional Windows XP compatibility pack by Microsoft to your build environment for Visual Studio 2017?
Yes, as Vista / 8 / 8.1 and 10 SDKs.
Again, does it really require Windows Vista to launch a GUI?
Of course no, but as I said, XP is just too old to be of any use.
Standalone mix files could indeed be nice.
Will make it tomorrow maybe.
I am guessing you are reusing some already well-known third-party code designed for v1.26a. This is because the camera zoom does not work with the RoC campaign, just like with the mix file Camera Hack.mixtape (CRC32: FB05A915). This code is not by @karaulov afaik.
Nope, the code is his and is utilizing address that is TFT specific, to be fair I've remade a bit, but I've yet to find address that will suit both or address of the value itself.
I can confirm that proper widescreen works for RoC and TFT. Is this code yours?
Most of it is from Karaul0v, I've modified it a bit, most of the code for this feature is pretty much the same.
Maybe I could point you to several additions. But since you do not seem to be keen on supporting Windows XP, I may not benefit from them in the end.
You are correct, I do not consider XP worth caring at all, I will however test NetFramework 4.0 for a change, if it supports everything and XP additionally, I will use it instead (4.5 got selected automatically).
Not sure I could do anything with this, but thanks anyway.
Well it was mostly to explain what is used, so in case you had any issues with any of those mentioned, it would indicate the issue.
I think calling Windows XP a Windows version that is so ancient that it is not supposed to exist anymore and is long past its usefulness, is straight up rude and intolerable.
:ogre_hurrhurr:
An OS that is restricted to x86 (there is somewhere a x64 version but I've heard it was unstable), with a limit of 4 GB (3.5 to be precise) of RAM and outdated APIs, etc... and not to mention that Blizzard also abandoned this ancient OS does indicate that it is time to let it dust and use either the well-rounded Windows 7 or like me a Windows 10, which I adore a lot.

As for your XP, in order to support it with C# How can I run C# application on XP - CodeProject

Basically I have to install VS2010, sorry, not happening.

P.S. added a ReadMe, thank you.
 
Last edited:

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
Only casual peasants goes to third party outdated wc3 versions :ogre_hurrhurr:
Anyway, we push everyday the limits of Warcraft 3 so that's good to see, imagine then with the newer version ? ^^
One thing is the game I care about, the other is obsolete OS.
Regarding WC3, Blizzard officially dropped support for Windows XP and Windows Vista soon after v1.29.0 was released. It is most certainly possible to extend the prior versions of the game with additional features, without experiencing all the drawbacks of the current official versions of WC3 (borched audio, desyncs...)

So far I've noticed third party being much superior to Blizzard's implementations, but the real reason, why I am using 1.26a and making tools for it, is due to the reason, that it is the most stable patch so far and it can be extended to become much better and more powerful than the current latest patch.
Maybe you will be interested in the way KeeperFX manages to fix and update the legacy code of Dungeon Keeper?

I use libraries that are not supported by such old version of Windows, sorry, but there is nothing I can do.
This error indicates that it is unable to use INIParser.dll, aka you either forgot to move it with rest of the files, or it is simply unable to run it, due to the libraries.
If your system is unable to let either of the files to use INIParser.dll there is nothing I can do
Pretty much if any of the libraries are not supported by Win XP there is nothing I can do.
I think INIParser requires DotNET v2.0.50727, while WFE v1.01 requires DotNET v4.0.30319. Both are suitable for Windows XP. The compatibility problem is imho with your target OS version, since even the Visual Studio 2017 Runtime can be installed on XP.
This is why I say INIFileParser.dll 2.5.2.0 requires DotNET v2.0.50727:

inifileparser_strings.jpg

Its SubsystemVersion is 4.0.
So you do care about Windows 98 after all? Cool...
:wink:

Or well, the other way is, to make the Stand-Alone dll for Camera Height and Widescreen, which I can do, if that will suffice though.
Will make it tomorrow maybe.
Thank you.

I already have mixtape files for these two (and more!). They work on Windows XP and do not create any issue on exit. The Camera height hack could be improved though, to also support the RoC campaign.

What I am interested in are separate mix files for everything else that your tool does.

I do not consider anyone using XP, sorry, I just don't care as I've stated.
*cough!*

It uses NetFramework 4.5, using VS 2017, there is no option for that in C# as it cares pretty much only about for what CPU and what Net Framework you target.
Then either you don't have Net Framework 4.5 or it is not supported by Windows XP, not sure.
I think INIParser requires DotNET v2.0.50727, while WFE v1.01 requires DotNET v4.0.30319. Both are suitable for Windows XP. The compatibility problem is imho with your target OS version, since even the Visual Studio 2017 Runtime can be installed on XP.
This is why I say WFE v1.01.exe requires DotNET v4.0.30319. I also already noticed the 15.8 string related to Visual Studio 2017

wfe101_strings.jpg

Unfortunately, its SubsystemVersion is 6.0.


Fyi, both the VS2017 Runtime and DotNET 4.0 can be installed and work on Windows XP.
Unfortunately, DotNET 4.5 and above can not be installed on that OS, per Microsoft's decision (note: shame on them!)

Now that is strange. WFE.dll (.mix) uses windows 10 SDK and Windows 10 as target platform, this makes it all the more confusing.
OSVersion and SubsystemVersion for WFEDll.mix both read 6.0, which means Vista to me.

Ricky? Possibly the person who originally made INIFileParser, I am not sure myself.
Source code by rickyah:
rickyah/ini-parser

Maybe you should also mention it in your readme. Damn, there are so many things you should mention in your readme...
As mentioned before, it is 4.5 not 4.0 and it is on C#, dunno what can cause problems with XP.
Yes, as Vista / 8 / 8.1 and 10 SDKs.
Please see above.

Of course no, but as I said, XP is just too old to be of any use.
I very strongly disagree with you on that point.
:grin:

Nope, the code is his and is utilizing address that is TFT specific, to be fair I've remade a bit, but I've yet to find address that will suit both or address of the value itself.
I do not think that the Camera hack code was created by @karaulov. I personally would have said Sosha, but I myself re not very sure of it. Maybe someone can help with this?

Could you please document your changes somewhere?

Most of it is from Karaul0v, I've modified it a bit, most of the code for this feature is pretty much the same.
Likewise, could you too please document your changes somewhere?

Also, is this other piece of code related to the Widescreen Fix v1.20c by @ENAleksey?

You are correct, I do not consider XP worth caring at all, I will however test NetFramework 4.0 for a change, if it supports everything and XP additionally, I will use it instead (4.5 got selected automatically).
Thank you.

I understand that WFE v1.01.exe is just a GUI used to edit a text file (conf.ini) and that's it. I can use Notepad for that.

An OS that is restricted to x86 (there is somewhere a x64 version but I've heard it was unstable), with a limit of 4 GB (3.5 to be precise) of RAM and outdated APIs, etc... and not to mention that Blizzard also abandoned this ancient OS does indicate that it is time to let it dust and use either the well-rounded Windows 7 or like me a Windows 10, which I adore a lot.
There are both x86 and x64 (sort of) versions of Windows XP as you have already pointed out, just like there are 32-bit and 64-bit versions of Windows 10 and of every other Microsoft OS in-between. Windows XP x64 was not targeting the average consumer, especially since 64-bit apps were not a thing back then during the early to mid 2000s. And even when Vista and 7 were released, 64-bit apps were not that desirable.

It is still possible to install the Visual C++ 2017 Runtime on Windows XP. AS for DotNET, the final version supported for XP is v4.0.30319

Officially, the final version of WC3 supporting Windows XP is v1.29.0. Vista support was dropped soon after (both 32-bit and 64-bit versions) because Blizzard goofed with their build process, and they were not even aware about it! So they prefered to declare Vista as unsupported as well, instead of fixing their build process for it. No kidding.
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
Blizzard officially dropped support for Windows XP and Windows Vista soon after v1.29.0 was released. It is most certainly possible to extend the prior versions of the game with additional features, without experiencing all the drawbacks of the official versions of WC3 (borched aud and update the legacy code of Dungeon Keeper?
Please learn to read, I am requoting myself:

"An OS that is restricted to x86 (there is somewhere a x64 version but I've heard it was unstable), with a limit of 4 GB (3.5 to be precise) of RAM and outdated APIs, etc... and not to mention that Blizzard also abandoned this ancient OS does indicate that it is time to let it dust and use either the well-rounded Windows 7 or like me a Windows 10, which I adore a lot.

As for your XP, in order to support it with C# How can I run C# application on XP - CodeProject

Basically I have to install VS2010, sorry, not happening.

P.S. added a ReadMe, thank you."

WFE.exe is not made on C++, it is C#.
This is why I say INIFileParser.dll 2.5.2.0 requires DotNET v2.0.50727:

View attachment 312014
Blizzard officially dropped support for Windows XP and Windows Vista soon after v1.29.0 was released. It is most certainly possible to extend the prior versions of the game with additional features, without experiencing all the drawbacks of the current official versions of WC3 (borched audio, desyncs...)
This literally says nothing about why XP should matter at all.
Maybe you will be interested in the way KeeperFX manages to fix and update the legacy code of Dungeon Keeper?
No I am not interested in wasting my time, as I've mentioned C# is NOT compilable for XP if VS is higher than 2010.
This is why I say INIFileParser.dll 2.5.2.0 requires DotNET v2.0.50727:

View attachment 312014

Its SubsystemVersion is 4.0.
So you do care about Windows 98 after all? Cool...
:wink:
Are you perhaps on drugs? I've literally said, that IniParser is by Ricky in previous answer, and for your information it is on C not even on C++.
Thank you.

I already have mixtape files for these two (and more!). They work on Windows XP and do not create any issue on exit. The Camera height hack could be improved though, to also support the RoC campaign.

What I am interested in are separate mix files for everything else that your tool does.
Cool, then just use it, my tool uses TFT address that keeps Camera Height value and I repeat again that code is by Karaul0v.

*cough!*

This is why I say WFE v1.01.exe requires DotNET v4.0.30319. I also already noticed the 15.8 string related to Visual Studio 2017

View attachment 312015

Unfortunately, its SubsystemVersion is 6.0.


Fyi, both the VS2017 Runtime and DotNET 4.0 can be installed and work on Windows XP.
Unfortunately, DotNET 4.5 and above can not be installed on that OS, per Microsoft's decision (note: shame on them!)
Do it yourself and show me the result, a tool that is complied on VS2017 using C#, I am too tired to keep answering to you, I am not your employee and I will do things that are REASONABLE and not ON DEMAND of those who use OBSOLETE OS.
OSVersion and SubsystemVersion for WFEDll.mix both read 6.0, which means Vista to me.
Source code by rickyah:
rickyah/ini-parser

Maybe you should also mention it in your readme. Damn, there are so many things you should mention in your readme...
Why do you care about such things? What to mention is up to me and it has 0 to absolutely NO merit to anyone. You want a readme that suits you? Write it yourself then.
Please see above.


I very strongly disagree with you on that point.
:grin:
Cool, keep it your way, the answer is still no.


I do not think that the Camera hack code was created by @karaulov. I personally would have said Sosha, but I myself re not very sure of it. Maybe someone can help with this?

Could you please document your changes somewhere?
How about no?


Likewise, could you too please document your changes somewhere?

Also, is this other piece of code related to the Widescreen Fix v1.20c by @ENAleksey?


Thank you.
Wrong again.

I understand that WFE v1.01.exe is just a GUI used to edit a text file (conf.ini) and that's it. I can use Notepad for that.


There are both x86 and x64 (sort of) versions of Windows XP as you have already pointed out, just like there are 32-bit and 64-bit versions of Windows 10 and of every other Microsoft OS in-between. Windows XP x64 was not targeting the average consumer, especially since 64-bit apps were not a thing back then during the early to mid 2000s. And even when Vista and 7 were released, 64-bit apps were not that desirable.

It is still possible to install the Visual C++ 2017 Runtime on Windows XP. AS for DotNET, the final version supported for XP is v4.0.30319

Officially, the final version of WC3 supporting Windows XP is v1.29.0. Vista support was dropped soon after (both 32-bit and 64-bit versions) because Blizzard goofed with their build process, and they were not even aware about it! So they prefered to declare Vista as unsupported as well, instead of fixing their build process for it. No kidding.

Its Subsystem version is 4.0.
So you do care about Windows 98 after all? Cool...
:wink:

It is still possible to install the Visual C++ 2017 Runtime on Windows XP. AS for DotNET, the final version supported for XP is v4.0.30319
I repeat for 5th time, WFE is C# and not C++.

Officially, the final version of WC3 supporting Windows XP is v1.29.0. Vista support was dropped soon after (both 32-bit and 64-bit versions) because Blizzard goofed with their build process, and they were not even aware about it! So they prefered to declare Vista as unsupported as well, instead of fixing their build process for it. No kidding.
This simply has nothing to do with this, obsolete OSes are obsolete for a reason, for the same reason VS ALSO dropped support for XP on C# and same goes to Net Frameworks HIGHER than 4.0, that is it.
 
Last edited:

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
Please learn to read
I can read, thanks for your concern. But I have to admit that reading your previous answer is indeed difficult. In it, you are making quotes within quotes. Plus, your answers do not exactly match the quotes. These answers also are out-of context imho. And last but not least, you are concatenating two different sentences from me and turn them into one which hardly makes sense:
Blizzard officially dropped support for Windows XP and Windows Vista soon after v1.29.0 was released. It is most certainly possible to extend the prior versions of the game with additional features, without experiencing all the drawbacks of the current official versions of WC3 (borched audio, desyncs...)
... and
Maybe you will be interested in the way KeeperFX manages to fix and update the legacy code of Dungeon Keeper?
... now become when you "cite" them:
Blizzard officially dropped support for Windows XP and Windows Vista soon after v1.29.0 was released. It is most certainly possible to extend the prior versions of the game with additional features, without experiencing all the drawbacks of the official versions of WC3 (borched aud and update the legacy code of Dungeon Keeper?
... which is imho very confusing in more than one way for *any* reader.

Are you using translation software by chance? That may explain things.


Because quotes within quotes are difficult to properly format as answers, I will mainly make cut and pastes of your answers from your previous post, for clarity's sake.
I am requoting myself:

"An OS that is restricted to x86 (there is somewhere a x64 version but I've heard it was unstable), with a limit of 4 GB (3.5 to be precise) of RAM and outdated APIs, etc... and not to mention that Blizzard also abandoned this ancient OS does indicate that it is time to let it dust and use either the well-rounded Windows 7 or like me a Windows 10, which I adore a lot.
As a reminder, Warcraft 3 is a 32-bit program, written with and for older APIs too, and for older OSes. Also, v1.26 can not address more than 2GB of memory.

C# is NOT compilable for XP if VS is higher than 2010.
As for your XP, in order to support it with C# How can I run C# application on XP - CodeProject

Basically I have to install VS2010, sorry, not happening.
Windows XP is not "my" XP.

Regarding C#, please see below and tell me what you think.

Do it yourself and show me the result, a tool that is complied on VS2017 using C#, I am too tired to keep answering to you, [...] I will do things that are REASONABLE and not ON DEMAND of those who use OBSOLETE OS.
When typing the words "VS2017 using dotnet 4.0" in DuckDuckGo, here are the first two links I am getting:
- Missing .NET Framework 4.0 in Visual Studio 2017 Prerequisites when publishing
- VS2017 and .net versions

Admittedly, it seems that Microsoft does not want to make things easy on the developer. When visiting the archive of previous DotNET versions, this is what I am getting:
.NET download archives for Linux, macOS, and Windows

It may be worth mentioning here that DotNET 4.0 comes in two separate installers for the end-user:
- the (main) .NET Framework 4 Client Profile
- the (optional) .NET Framework 4 Extended (which nobody ever installs because imho nobody cares about such software)

I am not your employee
In a previous post, you have written "If anyone has any other feature ideas, will be glad to hear them out."

Also, the feedback I am providing you is free of charge. Lucky you.
:xxd:


Since you are the one who proposed it, I am still interested in testing your code as independent mix files. This might allow me to find out which part of the WFEDll.mix file is responsible for the crash on exit on my French version of Windows XP.

Out of curiosity, are you using a hacked game.dll? For the record, mine has a SHA-1 that is C5D8624B67129DD156BFBB64734F94C84D828605

(note: about giving proper credits)

Why do you care about such things? What to mention is up to me and it has 0 to absolutely NO merit to anyone. You want a readme that suits you? Write it yourself then.
Your submission is still pending. It must comply with the Hive's rules, which explicitly say that credit must be given where credit is due. Please read our Submission rules.

Cool, keep it your way, the answer is still no.
I am guessing we both agree to disagree about the usefulness of Windows XP.
I am also guessing this may also apply to any other OS or software that you do not know / use?

How about no?
So @karaulov provides you some code, you say you modified it, and when I am asking you to please document your changes somewhere, your answer is... no?

I suppose that you also have no intention to document the changes you have made to the widescreen code either (which is, if I understand correctly, not related to the Widescreen Fix 1.2.0c by @ENAleksey, considering that your answer to this one is "Wrong again").

I hope you will still get lots more help from lots more people.

This literally says nothing about why XP should matter at all.
For starters, Warcraft 3 was designed with W9x OSes in mind (and boy, it painfully shows!). I trust that v1.26a can still be installed on W98SE / Millenium / Windows 2000 / Windows XP (and on some older Macs too!), because the switch to Visual C++ 2013 (and Direct3D9 btw) was made with v1.27a.

Because v1.26a does not require an internet connection in order to play, it means that the game is installed on more computers (PC or Mac) one would expect (nor care about in your case).

(note: referring to KeeperFX)

No I am not interested in wasting my time
So you are not interested in the way enthusiast developers manage to progressively fix and update a great 1997 video game, all without breaking the playability of it and without the source code?

You do not seem to want to learn from the experience of other fellow enthusiast developers who want to keep vintage video games alive on modern OSes...

Are you perhaps on drugs?
I am not on drugs. But maybe you can tell me how it feels to be? Just curious...

I've literally said, that IniParser is by Ricky in previous answer, and for your information it is on C not even on C++.
No you did not. I have asked you who Ricky is, based on the strings I discovered in INIFileParser.dll 2.5.2.0. You answer was "Ricky? Possibly the person who originally made INIFileParser, I am not sure myself." Meaning you did not really have a clue who Ricky was. Afer doing a bit of research, I was able to provide a link to rickyah's GitHub for his ini parser, something you did not do. And yet, it was easy to find.

The description of the INI parser reads as follows:
"A .NET, Mono and Unity3d compatible(*) library for reading/writing INI data from IO streams, file streams, and strings written in C#. [...]
(*) This library is 100% .NET code and does not have any dependencies on Windows API calls in order to be portable."

(note: about other mixtape files I use with v1.26a, and more specifically the Camera hack one)

Cool, then just use it, my tool uses TFT address that keeps Camera Height value and I repeat
again that code is by Karaul0v.
Maybe he will want to enlighten us about it?

The Camera hack code provided to you by @karaulov has the same shortcoming than the one from the mixtape file I already know and use and have provided in a previous post: it does not work on the RoC campaign. Just saying.

I repeat for 5th time, WFE is C# and not C++.
This one comes as your answer to the information that it is still possible to install the Visual C++ 2017 Runtime on Windows XP. Fyi, I updated yesterday my VC++ 2017 Runtime to the latest v14.16.27012.6 release.

This is to emphasize the fact that Windows XP is not as unsupported by Microsoft as you think (please see below)

This simply has nothing to do with this, obsolete OSes are obsolete for a reason, for the same reason VS ALSO dropped support for XP on C# and same goes to Net Frameworks HIGHER than 4.0, that is it.
The decision to drop OS support and/or to not support features from OS to OS is about time and money.

Not allowing the DotNET 4.5 Runtime (and above) to install on Windows XP was one of the ways to encourage developers to migrate to Windows Vista and promote this OS. It is not the first time Microsoft uses such tactics, and sadly it will not be the last.

Of course the fun thing is, even the latest Visual C++ Runtime can still be installed on XP. Oh well...


Maybe you are unaware that the POSReady 2009 version of Windows XP is still updated monthly as of this writing with new features (TLS 1.1 / 1.2 support system wide), minor enhancements (time zone updates) and security fixes for Windows and/or DotNET (and/or Office 2003 and 2007), all of which being supposedly EoL (which is, of course, not true). The updates are still served through Windows Update, but you can also download them directly from the Microsoft Update Catalog, which I encourage you to browse. Again, just saying.

Fyi:
POSReady 2009 updates ported to Windows XP SP3 ENU

Ain't it great to learn new things everyday?
:xxd:

(rotfl, now I am so very much off-topic here. But in all honesty, it was worth it)
 
Last edited:
Level 3
Joined
Feb 28, 2012
Messages
19
Just thought i would drop by to say my 2 cents @pyf :
1. Windows XP is a deprecated as it can be;
2. Every developer chooses which platforms/windows versions to support that is a developer choice not a user choice;
3. If you want one for Rain of Chaos or Windows XP you are more than welcome to code it yourself, otherwise stop whining about no XP/RoC support, no one is required to do anything for you specifically, Unryze just coded the tool and is sharing it with the WC3 Hive community out of kindness, he is not to blame for the for the fact that you want to stick to an ancient OS, either upgrade to a recent OS (like Windows 7 or 10) or shut it, nobody cares if you use the program or not.
4. Unryze keeps telling you that you need C# distributable which doesn't work on Windows XP but you keep insisting you can install C++ Redistributable, i guess you can read but not understand what is being said to you, probably English is not your first language.
 
Level 16
Joined
Apr 14, 2016
Messages
382
Do you have any intention of updating it to function with the newest Warcraft 3 version? Once you do it can be reviewed for approval. Refer to the tool submission rules or contact me if you need any clarification.
Sadly that would take quite a lot of time, unless someone has gathered all addresses then I can make it read version and use addresses based on that.

Another issue is, that .mix does not work on patches higher than 1.28.5.

Meaning I will have to write an injector, or well, somehow attach it via WFE.exe to WC3, which I actually should do.

All-in-all patches constantly change data, I won’t be able to singlehandedly update the tool every time, thus I used the most stable patch for it.

Once I finish with other things I work on, I will at the very least upload an update with much better smartcast.
 

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
For the record, there is a development thread about WFE on XGM.guru:
WFE - Warcraft Feature Extender - WarCraft 3 / Модмейкинг - XGM: eXtreme Gamedev & Modmaking


There are many things amiss with what I have read in the thread on THW. like for example:
Another issue is, that .mix does not work on patches higher than 1.28.5.
... or:
Just thought i would drop by to say my 2 cents @pyf :
1. Windows XP is a deprecated as it can be;
2. Every developer chooses which platforms/windows versions to support that is a developer choice not a user choice;
3. If you want one for Rain of Chaos or Windows XP you are more than welcome to code it yourself, otherwise stop whining about no XP/RoC support, no one is required to do anything for you specifically, Unryze just coded the tool and is sharing it with the WC3 Hive community out of kindness, he is not to blame for the for the fact that you want to stick to an ancient OS, either upgrade to a recent OS (like Windows 7 or 10) or shut it, nobody cares if you use the program or not.
4. Unryze keeps telling you that you need C# distributable which doesn't work on Windows XP but you keep insisting you can install C++ Redistributable, i guess you can read but not understand what is being said to you, probably English is not your first language.
All the mess will be sorted out in due time.
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
Would be funnier to call it WIFE.
Warcraft Impeccable Feature Extender or something

Just because it sounds funny.
Dammit, missed my opportunity, it actually does sound funny :3

A WIFE who disapproves of newer versions?
Well, you can really see in what state the newer patches are, so... And to be fair, just adding one additional version = scan over 80+ addresses and find them somehow. Considering the newest patch is encrypted, yeah, good luck with disassembling it, it denies IDA, at least for me.

Anyways, there is some good news for XP users, mainly for @pyf, as I have switched from C# to CLR, now WFE supports Window versions from 95 up to Windows 10, I've also removed dependency on INIParser.dll, so again @pyf won't nag me about credits.

So, sadly, after spending a ton of time on actually trying to scan the 1.30.2 I gave up, so I will have to announce, that I won't be even trying to support newest versions, unless someone is willing to give give me a hand with all the addresses, etc. That means, that the resource will get denied from approval, but oh well.
 
Level 16
Joined
Apr 14, 2016
Messages
382
Ahh, so your WiFE doesn't approve of you inviting other versions over to stay! Is she jealous?
This joke is already dead, if you have the will, to decrypt newest patch and provide me with all the addresses or provide me a .idb file - be my guest. Figure out how "smart" your answer is considering all of that, I will leave you with it.

However you should not expect someone, who faced all the "amazing" stuff from newest patches to spend a ton of time, just to please minority, that is not even being appreciative, a small FYI.
 
Level 1
Joined
Jul 19, 2019
Messages
1
This joke is already dead, if you have the will, to decrypt newest patch and provide me with all the addresses or provide me a .idb file - be my guest. Figure out how "smart" your answer is considering all of that, I will leave you with it.

However you should not expect someone, who faced all the "amazing" stuff from newest patches to spend a ton of time, just to please minority, that is not even being appreciative, a small FYI.

Unryze i wanna contact you to get something, How can i?
 
Level 16
Joined
Apr 14, 2016
Messages
382
Apologies for the double post!

Tool has been updated to current latest version 2.10.

Changelog:

0. Added ability to add languages via language.xml.
1. Fully remade design.
2. Added Smartcast option for each button separately.
3. Added self-cast hotkey setting.
4. Added auto-cast on/off hotkey setting.
5. Added spellbook button mode setting.
6. Added ability learn list button mode setting.
7. Added update data hotkey setting.
8. Added window/fullscreen mode switch hotkey setting.
9. Added mouselock mode hotkey setting.
10. Added single player pause mode hotkey setting.
11. Added UI mode hotkey setting.
12. Added clear messages hotkey setting.
13. Added camera override hotkey setting.
14. Added restore camera hotkey setting.
15. Added additional hotkey setting for camera incline control.
16. Added additional hotkey setting for camera height control.
17. Added additional hotkey setting for camera rotation control.
18. Added save unit hotkey setting.
19. Added autoselect saved unit hotkey setting.
20. Added deselect all units (Clear UI) hotkey setting.
21. Added destination selection for Quick Messages.
22. Added FPS Unlock modes: off/legacy/new.
23. Added health bar colour control: your/ally/enemy/neutral.
24. Fully rewritten code for additional performance.
25. More code optimization to decrease CPU usage.
26. Added show/hide UI option with hotkey.

As for version support, still only 1.26a, making any sort of programs on latest patch is not easy, nor feasible, especially since the patches are quite frequent, so, sorry about that.
 
Level 20
Joined
Apr 12, 2018
Messages
494
You probably already know this by the nature of this program, but Windows Defender considers the dll a Trojan.

And that's beside the fact I had to read the whole feedback section and find out how much people just bagged on this before Reforged came out.
 
Level 16
Joined
Apr 14, 2016
Messages
382
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.
I am atm adding 1.27a support, I could add support up to 1.28.5 if there are people willing to help with offset hunt, as for the latest patch, as IDA can't disassemble, neither can Ghydra, thus I can't really hunt for offsets :c

You probably already know this by the nature of this program, but Windows Defender considers the dll a Trojan.

And that's beside the fact I had to read the whole feedback section and find out how much people just bagged on this before Reforged came out.
Yeah, sadly new type of Trojan Johnnie or something added 8 ticks to dll on Virus total, but that is still 10/72 that flag it as malicious, sadly I can't find the code that causes the flags to go off, if I had a way to find it, would fix it.

Also new version will have a "launcher" with launch options.
 
Level 23
Joined
Jul 26, 2008
Messages
1,305
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.
upload_2020-8-1_21-14-21.png


@eejin, what is the basis for approving this tool if the author has said it will not support recent versions? Other resources on hive have to abide by this rule. I am not sure why you are making an exception here. Many people make resources on older versions, and that is fine, but they work on recent patches of Wc3.
 
Level 16
Joined
Apr 14, 2016
Messages
382
View attachment 361089

@eejin, what is the basis for approving this tool if the author has said it will not support recent versions? Other resources on hive have to abide by this rule. I am not sure why you are making an exception here. Many people make resources on older versions, and that is fine, but they work on recent patches of Wc3.
I did mention above the reasons for it, so if anyone is willing to help with disassembly, then I can do it, without the tools how do I support the latest patch at all? This is not a simple tool that is really easy to add support for patches, since each patch will require about 100 offsets... and since the patches are coming out 1-2 month, there is simply not a chance to do so...

Question is, why must the tools support the latest patch, I don't see any point in that >_>"
 
Level 20
Joined
Apr 12, 2018
Messages
494
View attachment 361089

@eejin, what is the basis for approving this tool if the author has said it will not support recent versions? Other resources on hive have to abide by this rule. I am not sure why you are making an exception here. Many people make resources on older versions, and that is fine, but they work on recent patches of Wc3.
You mean other than the fact that 1. a lot of the functions in this don't apply to later patches (and therefore there isn't an actual use for them in the current patch) and 2. even if you did use this on the latest patch you're risking your account getting banned from the server.
 
  • Like
Reactions: pyf
Level 16
Joined
Apr 14, 2016
Messages
382
WFE updated to version 2.11.

Changelog:

1. Updated code for FPS cap removal.
2. Added test commands, they only work if you are alone in the game, since they will cause desync otherwise.
Command list:

When unit is selected:
@Level X ( sets level of selected hero to X, where X is any number )
@str X ( sets strength of selected hero to X, where X is any number )
@agi X ( sets agility of selected hero to X, where X is any number )
@Int X ( sets intelligence of selected hero to X, where X is any number )
@stats X ( sets all stats of selected hero to X, where X is any number )
@hp X ( sets health points of selected unit to X, where X is any number )
@mp X ( sets mana points of selected unit to X, where X is any number )
@hpreg X ( sets health regeneration of selected unit to X, where X is any number )
@mpreg X ( sets mana regeneration of selected unit to X, where X is any number )
@attack X ( sets attack of selected unit to X, where X is any number )
@Range X ( sets attack range of selected unit to X, where X is any number )
@armour X ( sets armour of selected unit to X, where X is any number )
@setas X ( sets attack speed of selected unit to X, where X is any number )
@owner X ( sets owning player of selected unit to X, where X is any number from 0 to 15 )
@learn XXXX ( adds ability with rawcode XXXX to selected unit )
@unlearn XXXX ( removes ability with rawcode XXXX from selected unit )
@scale X ( sets scale of selected unit to X, where X is any number )
@panim X ( plays animation of selected unit with index X, where X is any number )
@setms ( sets movement speed of selected unit, where X is any number, note, the maximum movement speed is 522! )
@cd ( resets cooldown of all abilities of selected unit )
@removeunit ( removes selected unit )
@teleport ( teleports selected unit to mouse coordinates )
@location ( prints to screen units coordinates )
@copy ( creates unit of the same id as selected unit )
@invul ( adds invulnerability to selected unit )
@uninvul ( removes invulnerability from selected unit )
@HeaL ( fully recovers health of selected unit )
@restore ( fully recovers mana of selected unit )
@id ( prints to screen rawcode of selected unit )
@ms ( prints to screen movement speed of selected unit )
@pause ( pauses selected unit )
@unpause ( unpauses selected unit )
@dropitems ( drops all items from selected unit )
@copyitems ( creates a copy of all items of selected unit around him )

Without selected unit:

With/Without unit selected:
@share X ( shares control of player with id X, where X is a number from 0 to 15 )
@unshare X ( unshares control of player with id X, where X is a number from 0 to 15 )
@createunit XXXX ( creates unit with rawcode XXXX on mouse coordinates )
@createitem XXXX ( creates item with rawcode XXXX on mouse coordinates )
@ReS ( gives 10000000 gold and lumber )
@showmap ( removes fog and fog mask from the map )
@hidemap ( applies fog and fog mask to the map )
@nobounds ( removes camera boundary )
@defbounds ( tries to recover removed camera boundary | not fully implemented )
@checkaxis ( prints to screen mouse coordinates: X/Y/Z )

3. Added commands /mute all.
4. Fixed bug with ALT being undetected with Quick Messages.
5. Fixed fatal error with Manabar, if EnablePreSelect had second parameter (boolean ui) as false.
6. Warcraft 3 window will no longer be reactivated if you are in main menu (to lower CPU/GPU stress).
Meaning if you have option "Disable Pause" enabled it will only work when you are actually in game.
7. Fixed fatal error with some items (i.e. when item had no cooldown or broken rawcode ability), thanks to Klaus Valentine | VK for reporting it.
8. Additional code changes for performance improvement.
9. All tests commands that used camera coordinates now use mouse instead.
10. Removed only allied unit "save" for quickcast, since it was conflicting with @share test command.
Meaning even if you try to use an ability from an enemy in test mode, it will work as if that unit belongs to you.
11. Yet another code rewrite to fix World Editor fatal error, World Editor crashes if you do CreateThread from its process.
12. WFEDll.dll will now automatically fully unload itself, if load failed.
13. Changed button layouts.
14. Added Launcher menu button with settings.
15. Added Launch button, that takes Game Path to the game and launches it.
16. Added Launch Argument section, allows you to set arguments like -window -opengl and so on.
17. Added Main Window Name section for Inject button to narrow down the search of the process.
18. Added Window Name section for Inject button to narrow down the search of the process.
19. Added Autoinject checkbox that determines if the dll should be autoinjected on Launch button click or no.
20. Added 1.27a support, although two options are not supported in this patch:
1) LAN game start delay.
2) Gamestate check for window unfolding when map is loading.
21. Even more code improvements, for both .exe and .dll.
22. WFE.exe UI has been slightly updated.
 
Last edited:
Level 2
Joined
Sep 10, 2020
Messages
13
unfortunately there's some map have protection for this program

is it possible to bypass those protection ? i really appriciate it if with the new version, you can make it undetected

if you want the map with those protection, i can give the link to you @Unryze
 

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
(note: with my emphasis added in bold)


unfortunately there's some map have protection for this program

is it possible to bypass those protection ? i really appriciate it if with the new version, you can make it undetected

if you want the map with those protection, i can give the link to you @Unryze
@ThisName232 : Site Rules
10. Global Laws
- Any discussions about illegal activities/products is prohibited. This includes piracy and drugs.

20. Removal of / Circumventing Map Protection
- The topic of removing or circumventing map protection is not permitted.

That being said, seeing how some things are unfolding (or maybe are stagnating, or simply getting ignored, even by the Hive moderators/administration afaik) elsewhere on THW, it is my own personal opinion that these Rules might be considered by some as being both obsolete and irrelevant.


You probably already know this by the nature of this program, but Windows Defender considers the dll a Trojan. [...]
Yeah, sadly new type of Trojan Johnnie or something added 8 ticks to dll on Virus total, but that is still 10/72 that flag it as malicious, sadly I can't find the code that causes the flags to go off, if I had a way to find it, would fix it.
The results of any scan on VirusTotal have to be taken with a grain of salt. or two.

It is clearly stated in their faq that they may use beta versions of the signatures, and/or that the detection engines may be set up with parameters the average user hardly ever configures that way on his computer.

For analysis purposes, one may use PeStudio, and/or run the software in a sandbox, or in a Virtual Machine. But because some software may behave differently in a VM, the ultimate (and best) testing ground is on a separate computer freshly installed.

View attachment 361089

@eejin, what is the basis for approving this tool if the author has said it will not support recent versions? Other resources on hive have to abide by this rule. I am not sure why you are making an exception here. Many people make resources on older versions, and that is fine, but they work on recent patches of Wc3.
I did mention above the reasons for it, so if anyone is willing to help with disassembly, then I can do it, without the tools how do I support the latest patch at all? This is not a simple tool that is really easy to add support for patches, since each patch will require about 100 offsets... and since the patches are coming out 1-2 month, there is simply not a chance to do so...

Question is, why must the tools support the latest patch, I don't see any point in that >_>"
@tulee: he has written his intention of doing so. Therefore the 'moral contract' is fullfilled imho.

Moreover, the full v1.27a digital version of WC3 is freely downloadable from Blizzard's own servers, for those who want it, without the need of a Battle.net account. Therefore, it makes this version an official one, and it is imho as legit as the current 1.32.8 / 1.32.9 PTR are. For some reason, it would seem that the Hive administration has not written anything official regarding the availability of this free full 1.27a download for everybody.
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
unfortunately there's some map have protection for this program

is it possible to bypass those protection ? i really appriciate it if with the new version, you can make it undetected

if you want the map with those protection, i can give the link to you @Unryze
If map has my AntiHack and they have added a MinHook function detection, there is nothing I can do, unless I somehow manage to spoof the memory or protect it from Warcraft 3 itself detecting it, which is not in my interest.

sometimes when i type word with /r (text) or /f w (text) or /w (nick) (text)

my warcraft 3 force closing
My tool does not react to /r /w /f, there is if ( MSG[0] == '/' ) detection, followed by separation of the text and checking for payload, so I do not know why your WC3 crashes.


WFE 2.12:

1. Added Swedish translation (Thanks Moon).
2. Added Select Saved Unit option with configurable hotkey.
3. Removed constant Mouse Position update, should fix issues on some PCs with lagging mouse while alt-tabbed.
4. Now RMC and SmartCast update Mouse Position when called.
5. Additional optimisations to Window Proc function, to lessen the strain.
6. Small code optimisation to gain that sweet 0.05% performance boost.
7. Camera Override now also hooks SetCameraPosition function.
8. Camera Override now also hooks SetCameraQuickPosition function.
9. Camera Override now also hooks PanCameraTo function.
10. Camera Override now also hooks PanCameraToTimed function.
11. Camera Override now also hooks PanCameraToWithZ function.
12. Camera Override now also hooks PanCameraToTimedWithZ function.
13. Removed Detours Library dependency.
14. Removal of Detours Library also removed Wacatac detection, for some reason.
15. Fixed and issue with not being able to toggle Widescreen if it was initially off.
16. Added FarZ value configuration, as all other options can be changed while in-game.

Hotfix:

1. Fixed RMC system working when Warcraft III was not a Foreground Window.
2. Fixed Fatal Error when using Config Update button, while being in game menu.

Hotfix 2:

1. Fixed Fatal Error caused by using Build based ability of all 4 races.
2. Fixed Fatal Error caused by using 'Asel' based ability (aka unit sell button).


Edit:

sometimes when i type word with /r (text) or /f w (text) or /w (nick) (text)

my warcraft 3 force closing
You were right about fatal error, which apparently happens even without invoking the / command, the error is with buffer overflow with std::transform failing on too many of the special characters.
This will be fixed in a future update, thanks for the report will include your nickname in Credits, it will appear once I update the .exe.
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
WFE 2.13:

1. Fixed fatal error by std::transform with texts containing too much special characters, thanks to ThisName232 (from Hive) for reporting it.
2. Added Additional Libraries Path option to WFE Launcher, will cause WFE.exe to load any .dll or .mix file in selected folder to Warcraft 3.
Default library is set to WFE.exe path in folder Libraries.
3. Added @model command, that allows you to switch selected unit's model to inputted one.
Example: @model units\\human\\Footman\\Footman.mdl, will turn selected unit to corresponding model, you can input model path with \ or \\.
4. Added @portrait command, that allows you to switch all of the units with same Id as selected unit's portrait to inputted one.
Example: @portrait units\\human\\Footman\\Footman_portrait.mdl, will turn selected unit to corresponding portrait, you can input model path with \ or \\.
5. Improved Window Mode toggle to remember previous position of the Window, when toggling to Windowed Mode.
6. Window Mode no longer reacts if game was started in full-screen, it needs Warcraft 3 to be started in windowed mode to allow toggling!
7. Fully rewritten Game Start Delay, now it hooks original function along with 3 additional offsets, hence allowing this feature to work on 1.27a as well.
8. Added IsGameLoading support for 1.27a, now both patches have exactly same features.
9. Added missing offsets for Widescreen and Healtbar for most of the old patches.
10. WFE now supports Widescreen on these patches: 1.23a, 1.24a, 1.24b, 1.24c, 1.24d, 1.24e, 1.25a, 1.25b, 1.26a, 1.27a, 1.27b, 1.28a, 1.28b, 1.28c, 1.28e, 1.28f.
11. Fixed wrong offset for PressButton on 1.27a.
12. Added full 1.27b support.

WFE 2.14

1. Added full 1.28f support (1.28.5).
 
Level 16
Joined
Apr 14, 2016
Messages
382
WFE 2.13:

1. Fixed fatal error by std::transform with texts containing too much special characters, thanks to ThisName232 (from Hive) for reporting it.
2. Added Additional Libraries Path option to WFE Launcher, will cause WFE.exe to load any .dll or .mix file in selected folder to Warcraft 3.
Default library is set to WFE.exe path in folder Libraries.
3. Added @model command, that allows you to switch selected unit's model to inputted one.
Example: @model units\\human\\Footman\\Footman.mdl, will turn selected unit to corresponding model, you can input model path with \ or \\.
4. Added @portrait command, that allows you to switch all of the units with same Id as selected unit's portrait to inputted one.
Example: @portrait units\\human\\Footman\\Footman_portrait.mdl, will turn selected unit to corresponding portrait, you can input model path with \ or \\.
5. Improved Window Mode toggle to remember previous position of the Window, when toggling to Windowed Mode.
6. Window Mode no longer reacts if game was started in full-screen, it needs Warcraft 3 to be started in windowed mode to allow toggling!
7. Fully rewritten Game Start Delay, now it hooks original function along with 3 additional offsets, hence allowing this feature to work on 1.27a as well.
8. Added IsGameLoading support for 1.27a, now both patches have exactly same features.
9. Added missing offsets for Widescreen and Healtbar for most of the old patches.
10. WFE now supports Widescreen on these patches: 1.23a, 1.24a, 1.24b, 1.24c, 1.24d, 1.24e, 1.25a, 1.25b, 1.26a, 1.27a, 1.27b, 1.28a, 1.28b, 1.28c, 1.28e, 1.28f.
11. Fixed wrong offset for PressButton on 1.27a.
12. Added full 1.27b support.

WFE 2.14

1. Added full 1.28f support (1.28.5).


WFE v2.15:

1. Added full 1.24e support (1.24.4).
2. Fixed issue with Warcraft 3 Path Setting in WFE.exe giving error, if path was empty.
3. Added @version command to display Warcraft 3 full version in chat (i.e. 1.24.4.6338) etc...

WFE v2.16:

Hiveworkshop: WFE - Warcraft Feature Extender
Google Drive: https://drive.google.com/file/d/1YNgFsbhjwFgV-CXOP_oGf8OjvXWah4Fh/view?usp=sharing
Yandex Disk: WFE v2.16.zip

Changelog:

1. Improved HideInterface function, now TimeOfDayIndicator will no longer randomly appear, when UI is hidden.
2. Returned Mouse Binding options for Smartcast.
3. Autocast added to XButton1 and XButton2 mouse hotkeys, this works separate from normal Hotkeys, hence it has separate delay control!
4. Added Mouse Autocast Delay setting to WFE.exe.
5. Swedish translation fixed, thanks @DSY (Discord).
6. German translation added, thanks @DSY (Discord).

Also added Google Drive and Yandex Disk urls with all versions!

Google: WFE – Google Диск
Yandex: WFE
 
Last edited:
Level 16
Joined
Apr 14, 2016
Messages
382
WFE v2.17 (experimental):

1. Manabar is now toggleable while in-game.
2. Minhook was switched for Detours, due to the versatility of Detours, this didn't cause Windows Defender to detect it as a hack.
3. Added UI Cooldown Drawing option.
4. Added setting of Cooldown Text colour.
5. Added setting of Cooldown Shadow colour.
6. Added setting of Cooldown Display Minutes option.
7. Added setting of Show Indicator to Cooldown UI option. (this will hide Cooldown Indicator if unticked, this does not affect drawn text on button).
8. Fixed fatal error with WFE.exe if you launched Warcraft 3 too fast or it failed to inject .dll.
9. Fixed Unhandled Exception if path to Additional Libraries folder does not exist.
10. Fixed issue with Manashield and Immolation type spells, where you couldn't disable them if it had cooldown. (experimental)
11. Fixed silent crashes of Warcraft 3 with functions that were not Detoured, and WFE tried to undetour them on Warcraft III application exit.
12. Re-fixed Smartcast and Quick RMC UI Blocker, this should prevent both from accessing Minimap Buttons and Command Buttons (aka abilities) from being clicked by them.


WFE 2.17 hotfix (experimental)

1. Re-Re-fixed Smartcast and Quick RMC UI Blocker, now it is using OnMouseEnter and OnMouseExit to determine that button is not UI Button, no more pixel checks!
2. Fixed error in configuration read of Show UI Indicator, now it saves/loads it properly for WFE.exe.
 
Last edited:

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
WFE 2.13:

10. WFE now supports Widescreen on these patches: 1.23a, 1.24a, 1.24b, 1.24c, 1.24d, 1.24e, 1.25a, 1.25b, 1.26a, 1.27a, 1.27b, 1.28a, 1.28b, 1.28c, 1.28e, 1.28f.
[...]
12. Added full 1.27b support.

WFE 2.14

1. Added full 1.28f support (1.28.5).

WFE v2.15:

1. Added full 1.24e support (1.24.4).

Out of curiosity, do you have any plans to implement widescreen support for versions of the game <1.23a? Those who use ReplayKit might be interested by such a feature, which would allow them to play historical maps/campaigns, plus watch historical replays (with zoom in / zoom out) like they have never experienced them before afaik.
 
Level 5
Joined
Jul 27, 2013
Messages
115
Great tool! However, my game crashes on exit every time with 2.17 (both with and without hotfix). It also sometimes freezes (also on exit), causing me to have to restart my computer because task manager refuses to kill it, for some reason.

The message it displays when crashing is along the lines of "access violation exception: instruction at (some address) tried to access memory at (the same address) - the memory could not be written".

Do you have any idea what the issue might be?
 
Level 16
Joined
Apr 14, 2016
Messages
382
WFE 2.17 (hotfix 2)

1. Fixed wrong offset for gO_CHAT_SEND_MESSAGE on patch 1.28.5, which caused the game to fatal error while playing online.
2. Added Version Information to WFEDLL.dll, this is purely for easier spotting of which version was used (was not implemented before).
3. Added my Discord tag to Credits section, for those who wish to contact me.
4. Fixed missing resetting of RMC delay, hence why the setting wasn't working and RMD was on 0ms delay always.

Out of curiosity, do you have any plans to implement widescreen support for versions of the game <1.23a? Those who use ReplayKit might be interested by such a feature, which would allow them to play historical maps/campaigns, plus watch historical replays (with zoom in / zoom out) like they have never experienced them before afaik.
if you or someone else sends me game.dll and storm.dll of version that needs to be supported - sure. Since it's not that hard, just takes time to decompile with IDA.
Great tool! However, my game crashes on exit every time with 2.17 (both with and without hotfix). It also sometimes freezes (also on exit), causing me to have to restart my computer because task manager refuses to kill it, for some reason.

The message it displays when crashing is along the lines of "access violation exception: instruction at (some address) tried to access memory at (the same address) - the memory could not be written".

Do you have any idea what the issue might be?
That is really weird, can you tell me what version of Warcraft 3 you use and please attach error log txt file, it is in Errors folder in Warcraft III folder. Also it's even more weird that it causes your PC to freeze... Anyhow, please attach crash log, so I can check what is happening on a failing offset.
 
Last edited:
Level 5
Joined
Jul 27, 2013
Messages
115
That is really weird, can you tell me what version of Warcraft 3 you use and please attach error log txt file, it is in Errors folder in Warcraft III folder. Also it's even more weird that it causes your PC to freeze... Anyhow, please attach crash log, so I can check what is happening on a failing offset.

Since the game crashes reliably on exit, I have attached multiple error logs for multiple crashes, hope this helps. They all seem to contain more or less the same error, however.
I am using Warcraft 3 version 1.26a.

Thank you for taking the time to help me!
 

Attachments

  • Errors.rar
    3 MB · Views: 126
Level 16
Joined
Apr 14, 2016
Messages
382
Extremely useful tool. Thanks for making and updating it!
You are welcome, and thanks for helping with tests on 1.28.5!

Since the game crashes reliably on exit, I have attached multiple error logs for multiple crashes, hope this helps. They all seem to contain more or less the same error, however.
I am using Warcraft 3 version 1.26a.

Thank you for taking the time to help me!
Open regedit.exe (aka registry editor) go to Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers and find war.exe, there will be an entry like "IgnoreFreeLibrary<Game.dll>", remove this whole entry, and it should be fine.

You are welcome, also if this does not help (though it will, but just in case), just contact me in Discord: Unryze#4087, so I can check it further.
 

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
[...] Those who use ReplayKit might be interested by such a feature [...]
if you or someone else sends me game.dll and storm.dll of version that needs to be supported - sure. Since it's not that hard, just takes time to decompile with IDA.
Thank you.

Installing ReplayKit would provide you with all the files you need, because it is a version downgrader for gamers as well.

ReplayKit v1.28


The version of its executable file to be run depends on your installed version of the game.
ReplayKit v1.28 - Browse /Old Releases at SourceForge.net
For WC3 v1.28.5, please use v1.28 of the exe
For WC3 v1.27b, please use 1.27 of the exe
For WC3 v1.27a (which is the one Blizzard still provides as a full offline download standalone installer version), please use v1.25 of the exe.

Regarding its companion file ReplayKitPatch.mpq (which is to be copied in your WC3 folder), I suggest using version 5 with WC3 v1.27a or v1.27b.
 
Level 16
Joined
Apr 14, 2016
Messages
382
WFE 2.18:

1. Restored OnMouseEnter and OnMouseExit events, were disabled for other tests, forgot to re-enable them.
2. Added IsCommandButton check to RMC, so it no longer triggers on items/abilities.
3. Re-implemented TerminateThread, to prevent fatal errors on exit, if WFE was used as .mix.
4. Added Unit Stock Recharge to Cooldown UI feature.
5. Added Item Stock Recharge to Cooldown UI feature.
6. Fixed broken widescreen support for patches 1.23a, 1.24a, 1.24b, 1.24c, 1.24d, 1.25a, 1.25b, 1.28a, 1.28b, 1.28c, 1.28e.
This happened due to code modification in latest hotfixes.
7. Added Widescreen support for patches 1.10a, 1.11a, 1.12a, 1.13a, 1.13b, 1.14a, 1.14b, 1.15a, 1.16a, 1.17a, 1.18a, 1.19a, 1.19b, 1.20e, 1.21a, 1.21b, 1.22a.

Thank you.

Installing ReplayKit would provide you with all the files you need, because it is a version downgrader for gamers as well.

ReplayKit v1.28


The version of its executable file to be run depends on your installed version of the game.
ReplayKit v1.28 - Browse /Old Releases at SourceForge.net
For WC3 v1.28.5, please use v1.28 of the exe
For WC3 v1.27b, please use 1.27 of the exe
For WC3 v1.27a (which is the one Blizzard still provides as a full offline download standalone installer version), please use v1.25 of the exe.

Regarding its companion file ReplayKitPatch.mpq (which is to be copied in your WC3 folder), I suggest using version 5 with WC3 v1.27a or v1.27b.
Will take a look tomorrow, too tired today, since I spent 6 hours surfing in pseudocode to find where and how Stock Cooldown was stored, which I did find...

Edit: Done
unknown.png
unknown.png


Edit2:

Some errors were spotted, so current changelog for upcoming hotfix is as follows:


WFE 2.18 (hotfix)

1. All WFE System Hotkeys will no longer trigger, while chat is open.
2. Smartcast no longer will trigger while game is in main menu, etc.
3. Fully rewritten Cooldown Display system, now it is accurate for items/units as well. (Was capped at 2 minutes at a time before).
4. Manabar code rewritten, now Manabar will also be drawn when mouse is over unit.
5. Hugely condensed code in GetButtonCooldown, though how much it will improve performance is hard to determine.
 
Last edited:
Level 2
Joined
Nov 4, 2020
Messages
8
hotkey for "clear msgs" still not working
the only working key is backspace, even if u change key in settings
 
Top