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
Jul 9, 2012
Messages
55
About "WFEGameColours.ini" ... did you intentionally disable colors for 14th and 15th Player (Player 13 and Player 14, since config started at Player 00). I've tried setting colour but it reverted to normal green hp bar.
 
Level 17
Joined
Apr 14, 2016
Messages
398
About "WFEGameColours.ini" ... did you intentionally disable colors for 14th and 15th Player (Player 13 and Player 14, since config started at Player 00). I've tried setting colour but it reverted to normal green hp bar.
I am not quite sure if I understand you, it doesn't revert anywhere, it's just overall not being used. Also there is no code in WFE that will cause it to "revert" to green, usually player 13 and 14 (even player 15) don't have CPlayerWar3 set to them, which will be fixed in 3.0.1.5, since I will be passing the colour from the unit, in case CPlayerWar3 doesn't exist.

Will upload it tomorrow most likely.
 
Level 17
Joined
Apr 14, 2016
Messages
398
WFE 3.0.1.5

1. Fixed UI Console Upper Left Menu Bar blocking upward camera movement via mouse.
Note: this was caused by the buttons having higher priority level than the bar itself, which I did to 100% nullify them being behind the bar itself, apparently it is not needed anymore.
2. Fixed Ally Skill View feature being ON by default, when no config was generated, now the default option is OFF as it was supposed to be.
3. Fixed Custom Bars Player Colour feature, now it reads ColourId from player correctly, instead of using PlayerId directly.
4. Added WFEGameColours.ini, this file allows you to change "default" player colours for the Custom Bars Player Colour feature.
5. Added Percentage option in Custom Health/Mana Text.
6. Fixed issue with Player Colours affecting Mechanical Critter in Custom Stat Bar, that was drawing owner's colour even for enemies, when it should use Neutral Passive colour instead.
 
Level 3
Joined
Mar 13, 2021
Messages
5
I get a gamecrash in 1.27b when loading a unit into a cargo unit but only after having previously loaded an unit into a cargo unit with a higher capacity than the one i'm loading an unit into now.
Steps are as simple loading an unit into cargo unit (8), unloading then loading that unit into cargo(6). Or 10 into 8, 6, etc.

And a minor issue, i get the Cargo UI for 10 units drawn incorrectly when a map triggers a cutscene if said UI had been drawn before it triggers.

I left attached a picture of the ui error and the map in question i used to test these things.

PS: thanks for the tool, it's amazing.
 

Attachments

  • ui.png
    ui.png
    1.4 MB · Views: 44
  • cargo crash, ui breakage.w3x
    16.5 KB · Views: 19
Level 4
Joined
Jul 9, 2012
Messages
55
The platform Battle.Net and the game War3 has hard-coded playable amount of multiplayer players, in this case it is 12 players. Those extra "players" are actual NPC, they are uncontrolled players for extra and given specific use.

Neutral Hostile - Controlling Creeps.
Neutral Passive - Controlling Critters.
Neutral Victim - Controlling Left Player. (Multiplayer)
Neutral Extra - Empty, This "player" can be used for another uses.
what is neutral aggressive? From this post: (What's the deal with Players 13-16?)
...Neutrals from Player 13 to 16 has only Neutral Hostile/Passive/Victim/and Extra. Or is it anything neutral that're against you?
 

Attachments

  • untitled.JPG
    untitled.JPG
    31.9 KB · Views: 21
Level 1
Joined
Jul 21, 2022
Messages
2
Hi all. Unryze, that's a lot for this great work!
One thing I want to ask. Is it possible to make those indicators permanent without holding a button to show them?
It will be fantastic to assign a button to turn it off/on as mouse lock key.
1658391103151.png
 
Level 17
Joined
Apr 14, 2016
Messages
398
I get a gamecrash in 1.27b when loading a unit into a cargo unit but only after having previously loaded an unit into a cargo unit with a higher capacity than the one i'm loading an unit into now.
Steps are as simple loading an unit into cargo unit (8), unloading then loading that unit into cargo(6). Or 10 into 8, 6, etc.

And a minor issue, i get the Cargo UI for 10 units drawn incorrectly when a map triggers a cutscene if said UI had been drawn before it triggers.

I left attached a picture of the ui error and the map in question i used to test these things.

PS: thanks for the tool, it's amazing.
Hm... weird, the cargo thingy is extremely wonky, but I will try to take a look, although I am not quite sure how much I am willing to really spend on it, as it's well, barely used.

Edit: it breaks even without the cinematic, not quite sure how you determined that cutscene had anything to do with it.
Edit2: Fixed, thank you for reporting the issue.

what is neutral aggressive? From this post: (What's the deal with Players 13-16?)
...Neutrals from Player 13 to 16 has only Neutral Hostile/Passive/Victim/and Extra. Or is it anything neutral that're against you?
Players 13/14 (not 15) are pretty much nothing, and cannot be encountered normally anyways, so I don't get what you are asking or what you will even get from it.

Player neutral aggressive -> Player 12.

Hi all. Unryze, that's a lot for this great work!
One thing I want to ask. Is it possible to make those indicators permanent without holding a button to show them?
It will be fantastic to assign a button to turn it off/on as mouse lock key.
View attachment 403974
It's a very weird thing to ask, not to mention, it won't draw it on all units, only on one selected. However, if you really need such a feature, I can add it for 5$, otherwise I just don't see the appeal of it, sorry.
I don't know how to disassemble the dll ,but I thinkl I found another way.
MemHack.api + jass +mix
mix tool: GitHub - luciouskami/load-self-mix: 一个war3加载模型包和音效包的例子
Is this possible?
Again, that is MemHack, which is something VERY RARELY used on 1.27b and higher, and again, you will need to work outside of WFE and modify the UI yourself, so it's not another way, but yes, you can create your own C++ library and modify UI like my WFE does, but it won't be able to use my WFE code at all, nor can I really make functions "open", so they can be "found" and called with separate libraries, it's not what my tool is for.
 
Last edited:
Level 1
Joined
Jul 21, 2022
Messages
2
Hm... weird, the cargo thingy is extremely wonky, but I will try to take a look, although I am not quite sure how much I am willing to really spend on it, as it's well, barely used.


Players 13/14 (not 15) are not anything, and cannot be encountered normally anyways, so I don't get what you are asking or what you will even get from it.

It's a very weird thing to ask, not to mention, it won't draw it on all units, only on one selected. However, if you really need such a feature, I can add it for 5$, otherwise I just don't see the appeal of it, sorry.

Again, that is MemHack, which is something VERY RARELY used on 1.27b and higher, and again, you will need to work outside of WFE and modify the UI yourself, so it's not another way, but yes, you can create your own C++ library and modify UI like my WFE does, but it won't be able to use my WFE code at all, nor can I really make functions "open", so they can be "found" and called with separate libraries, it's not what my tool is for.
Sorry, I didn't mean "for all the units". I meant to have it visible without holding a key. I guess it is good to have a toggle key instead of holding
 
Level 17
Joined
Apr 14, 2016
Messages
398
Sorry, I didn't mean "for all the units". I meant to have it visible without holding a key. I guess it is good to have a toggle key instead of holding
Well, it's doable, though the use-case is quite questionable, since drawing all of them would make no sense, in any case, it's doable, but since it's not a feature that is of any use to majority or is of any interest to me, it will have the 5$ (now the usual) fee. ^^'
 
Level 17
Joined
Apr 14, 2016
Messages
398
WFE 3.0.1.6

1. Fixed fatal error with cargo units when entering a unit with smaller cargo count, compared to the previous cargo carrier.
2. Fixed error that caused WFE to fully break after cinematic was played. In short, the screen would be drawn fully black, and no binds/functions of WFE would respond.
 
Level 4
Joined
Jul 9, 2012
Messages
55
Players 13/14 (not 15) are pretty much nothing, and cannot be encountered normally anyways, so I don't get what you are asking or what you will even get from it.

Player neutral aggressive -> Player 12.
Can you support players 13 and 14. I play ORPGs like Gaias, a 6 Player map that has soul feature (more like pets on other RPGs), which occupies other players such that Neutrals are forced to be used such as for Defense Quests when activated.
 
Level 17
Joined
Apr 14, 2016
Messages
398
Can you support players 13 and 14. I play ORPGs like Gaias, a 6 Player map that has soul feature (more like pets on other RPGs), which occupies other players such that Neutrals are forced to be used such as for Defense Quests when activated.
Again, setting the colour is enough and it should work from the get-go in version 3.0.1.5 and higher, as I removed the dependency on CPlayerWar3. The rest I have no idea, why or how it doesn't work for someone, because it should as you can clearly see here:

pZO8BG3NwVw.jpg


Just write whichever colour you want in WFEGameColours.ini and that's about it.

Also, in 3.0.1.7 Player 13s spells will no longer be visible (as it's an enemy player, so its abilities being drawn is a bug) and the same goes to Player 15, as it's not really an ally either, however it's so far up to the users to decide, if it's not really a cheat/hack, then I will return it.
 
Last edited:
Level 2
Joined
Jul 11, 2022
Messages
5
1.Can you make "ALT+Click Item" to show how many times an item can be used ?
2.I was making a Hd-Mod for my favorite map , does WFE have any commands like "ALT+Click Skill" to show Blp path?
 
Level 17
Joined
Apr 14, 2016
Messages
398
1.Can you make "ALT+Click Item" to show how many times an item can be used ?
2.I was making a Hd-Mod for my favorite map , does WFE have any commands like "ALT+Click Skill" to show Blp path?
1. Too much spam, if you want it as a toggleable feature -> 5$ and it will be done, I don't really like it, and its use-case in WC3 is way too narrow.
2. Nope, but it's doable for Debugging, etc. Albeit, I don't really want to provide Debug openly (due to precaution concerns). In short, I can even check models, and even the textures the model uses, etc.

In short here:

Screenshot_1.png


Though, WFE is not for users to debug, albeit I do use my own tool to debug and dig further in WC3 engine, but it will most likely stay as something only I will use.
 
Last edited:
Level 17
Joined
Apr 14, 2016
Messages
398
WFE 3.0.1.7

1. Shortened the name print of heroes down to normal Name (instead of name + proper name), this should help with non-English maps that have long hero names along with long spell/item names.
2. Removed PLAYER_NEUTRAL_PASSIVE from allowed players for Ally Skill View drawing, as technically it's not an ally.
Note: in case a lot of people will want it to be returned, I will return it, however it felt as too much of a cheat to be honest.
3. Fixed fatal error with 1.27.1 (1.27b) when Movie/Cinematic finished/was skipped.
4. NEW FEATURE Unlock Frame Buffer in Display settings, this is Direct-X only and will free up reserved memory and slightly boost FPS.
Note: this will have greater effect if New/Legacy status modes are enabled, as they remove the FPS limit.
5. Refresh Rate setting in Display will now also affect Cinematic Refresh Rate.
 
Level 1
Joined
Aug 2, 2022
Messages
1
Can you fix when i click the minimap for attack and ping, then my screen follow to where i clicked minimap.
 
Level 4
Joined
Feb 22, 2022
Messages
24
WFE 3.0.1.7

1. Shortened the name print of heroes down to normal Name (instead of name + proper name), this should help with non-English maps that have long hero names along with long spell/item names.
2. Removed PLAYER_NEUTRAL_PASSIVE from allowed players for Ally Skill View drawing, as technically it's not an ally.
Note: in case a lot of people will want it to be returned, I will return it, however it felt as too much of a cheat to be honest.
3. Fixed fatal error with 1.27.1 (1.27b) when Movie/Cinematic finished/was skipped.
4. NEW FEATURE Unlock Frame Buffer in Display settings, this is Direct-X only and will free up reserved memory and slightly boost FPS.
Note: this will have greater effect if New/Legacy status modes are enabled, as they remove the FPS limit.
5. Refresh Rate setting in Display will now also affect Cinematic Refresh Rate.
Trying out this new version disabled FPS limiting for me. Is that normal ? Whatever the settings I try to set in the Display section of the WFE settings (I tried every combination possible), FPS limiting doesn't work. Unlocking the frame buffer does increase performance as announced ; but without frame rate limiting, the FPS can go up to 300 and I don't need Warcraft 3 to draw nearly 100W from my GPU :xxd:.
I have an AMD Radeon 6800XT, latest drivers (27.7.1) and Warcraft 3 1.26a. I previously used the 3.0.1.6 beta version of WFE, and frame rate limiting worked perfectly fine with the New status mode, Active in lobby and FPS Advanced Info parameters turned on. My FPS limiter was and still is set at 142 in WFE, with the refresh rate of 143.856 (identical to my screen's).
 
Level 17
Joined
Apr 14, 2016
Messages
398
Can you fix when i click the minimap for attack and ping, then my screen follow to where i clicked minimap.
As I mentioned before, it's something that cannot be fixed, and it rarely happens unless you really try to.

Trying out this new version disabled FPS limiting for me. Is that normal ? Whatever the settings I try to set in the Display section of the WFE settings (I tried every combination possible), FPS limiting doesn't work. Unlocking the frame buffer does increase performance as announced ; but without frame rate limiting, the FPS can go up to 300 and I don't need Warcraft 3 to draw nearly 100W from my GPU :xxd:.
I have an AMD Radeon 6800XT, latest drivers (27.7.1) and Warcraft 3 1.26a. I previously used the 3.0.1.6 beta version of WFE, and frame rate limiting worked perfectly fine with the New status mode, Active in lobby and FPS Advanced Info parameters turned on. My FPS limiter was and still is set at 142 in WFE, with the refresh rate of 143.856 (identical to my screen's).
Set Unlock Frame Buffer to Off and that's about it, the rest was and still is the same. After saving the options, you need to re-launch WC3. Also, really, 2022 and we are talking about wattage usage? Jesus Christ.
 
Level 4
Joined
Feb 22, 2022
Messages
24
As I mentioned before, it's something that cannot be fixed, and it rarely happens unless you really try to.


Set Unlock Frame Buffer to Off and that's about it, the rest was and still is the same. After saving the options, you need to re-launch WC3. Also, really, 2022 and we are talking about wattage usage? Jesus Christ.
As I said, I did that already. Turning that new option off and keeping the same settings I used in 3.0.1.6 does not allow the framerate limiter to work anymore, the framerate remains uncapped, whatever the settings I set in WFE configuration. I have closed and relaunched Warcraft 3 between each and every setting change, because I know that the Display settings need a game restart to take effect.

And I don't see how being in 2022 is relevant to being concerned with power consumption ; if anything, it's because we're in 2022 that we should be more conscious of uneeded power usage, shouldn't it? Also, War 3 at 140 FPS and a good zoom-out uses 50W of my GPU, so doubling that needlessly has a cost both in money and in heat generation that I'd rather not pay.
 
Level 17
Joined
Apr 14, 2016
Messages
398
As I said, I did that already. Turning that new option off and keeping the same settings I used in 3.0.1.6 does not allow the framerate limiter to work anymore, the framerate remains uncapped, whatever the settings I set in WFE configuration. I have closed and relaunched Warcraft 3 between each and every setting change, because I know that the Display settings need a game restart to take effect.

First of all, there you go, 3.0.1.5 - 3.0.1.7 were acting the same way, the code for the FPS lock/unlock was NOT changed only a NEW feature was added:

v3.0.1.5
WFE_3.0.1.5.png

v3.0.1.6
WFE_3.0.1.6.png

v3.0.1.7
WFE_3.0.1.7.png

So I have no clue what you are talking about, unless you were testing 1.27b that has enforced VSync, then yeah it will be scaling towards the monitor's refresh rate.

And I don't see how being in 2022 is relevant to being concerned with power consumption ; if anything, it's because we're in 2022 that we should be more conscious of uneeded power usage, shouldn't it? Also, War 3 at 140 FPS and a good zoom-out uses 50W of my GPU, so doubling that needlessly has a cost both in money and in heat generation that I'd rather not pay.
So about power usage, talking about 2022 - is that CPUs/GPUs are more than optimised to not consume too much, and by that mindset, you shouldn't play any modern game then, if 50w is a concern for you for Pete's sake. You can use Camera and leave the fps locked then, no?

But here you go, the usage comparison, nowhere near 2x wattage increase, enjoy:

Idle:
PowerIdle.png

Without WFE:

CPU:
PowerUsage_CPU.png

GPU:
PowerUsage_GPU.png

Power:
PowerWC3.png

With WFE:

CPU:
PowerUsage_CPU_WFE.png

GPU:
PowerUsage_GPU.png

Power:
PowerWC3_WFE.png

I honestly can't believe I have to do all of this to get my point across, you are not in 1995 or 2005 where power supplies were an issue or when electricity was scarce/unstable. That's why I said, being pesky about power usage in 2022 - is just a joke, considering the fact any other demanding game is eating performance well beyond WC3 no matter how much suped it will get.

So please, for the love of god, if you honestly have issues with 15-20w increase over default, then just don't use FPS unlocker, period. As for "heat" this 15-20w increase is around 3-4 degrees at best, so yet again, I am simply baffled to even point this out.

I hoped you were able to understand this much on your own, but I guess I was wrong. And yes, I am being quite rude, because of the sheer weirdness of the issue being brought up, as it's not even funny to dissect and explain.
 

Attachments

  • PowerUsage_GPU_WFE.png
    PowerUsage_GPU_WFE.png
    1.4 MB · Views: 55
Level 8
Joined
Sep 16, 2016
Messages
227
First of all, there you go, 3.0.1.5 - 3.0.1.7 were acting the same way, the code for the FPS lock/unlock was NOT changed only a NEW feature was added:

v3.0.1.5
View attachment 404634

v3.0.1.6
View attachment 404635

v3.0.1.7
View attachment 404636

So I have no clue what you are talking about, unless you were testing 1.27b that has enforced VSync, then yeah it will be scaling towards the monitor's refresh rate.


So about power usage, talking about 2022 - is that CPUs/GPUs are more than optimised to not consume too much, and by that mindset, you shouldn't play any modern game then, if 50w is a concern for you for Pete's sake. You can use Camera and leave the fps locked then, no?

But here you go, the usage comparison, nowhere near 2x wattage increase, enjoy:

Idle:
View attachment 404637

Without WFE:

CPU:
View attachment 404639

GPU:
View attachment 404641

Power:
View attachment 404643

With WFE:

CPU:
View attachment 404640

GPU:
View attachment 404641

Power:
View attachment 404644

I honestly can't believe I have to do all of this to get my point across, you are not in 1995 or 2005 where power supplies were an issue or when electricity was scarce/unstable. That's why I said, being pesky about power usage in 2022 - is just a joke, considering the fact any other demanding game is eating performance well beyond WC3 no matter how much suped it will get.

So please, for the love of god, if you honestly have issues with 15-20w increase over default, then just don't use FPS unlocker, period. As for "heat" this 15-20w increase is around 3-4 degrees at best, so yet again, I am simply baffled to even point this out.

I hoped you were able to understand this much on your own, but I guess I was wrong. And yes, I am being quite rude, because of the sheer weirdness of the issue being brought up, as it's not even funny to dissect and explain.
Dedication, props to you
 
Level 4
Joined
Feb 22, 2022
Messages
24
First of all, there you go, 3.0.1.5 - 3.0.1.7 were acting the same way, the code for the FPS lock/unlock was NOT changed only a NEW feature was added:

v3.0.1.5
View attachment 404634

v3.0.1.6
View attachment 404635

v3.0.1.7
View attachment 404636

So I have no clue what you are talking about, unless you were testing 1.27b that has enforced VSync, then yeah it will be scaling towards the monitor's refresh rate.


So about power usage, talking about 2022 - is that CPUs/GPUs are more than optimised to not consume too much, and by that mindset, you shouldn't play any modern game then, if 50w is a concern for you for Pete's sake. You can use Camera and leave the fps locked then, no?

But here you go, the usage comparison, nowhere near 2x wattage increase, enjoy:

Idle:
View attachment 404637

Without WFE:

CPU:
View attachment 404639

GPU:
View attachment 404641

Power:
View attachment 404643

With WFE:

CPU:
View attachment 404640

GPU:
View attachment 404641

Power:
View attachment 404644

I honestly can't believe I have to do all of this to get my point across, you are not in 1995 or 2005 where power supplies were an issue or when electricity was scarce/unstable. That's why I said, being pesky about power usage in 2022 - is just a joke, considering the fact any other demanding game is eating performance well beyond WC3 no matter how much suped it will get.

So please, for the love of god, if you honestly have issues with 15-20w increase over default, then just don't use FPS unlocker, period. As for "heat" this 15-20w increase is around 3-4 degrees at best, so yet again, I am simply baffled to even point this out.

I hoped you were able to understand this much on your own, but I guess I was wrong. And yes, I am being quite rude, because of the sheer weirdness of the issue being brought up, as it's not even funny to dissect and explain.
I didn't want to start a debate about power usage, I just wanted to report that I can't limit my FPS anymore and to try to find a solution to that. But as always you provided me with a detailed answer, so thank you that, even if I disagree on some part of the topic.

I don't understand from your first pictures concerning the Display settings how these very settings could limit my FPS to 144 on my PC and how they don't on yours, since your FPS counter is showing 286 FPS with those Display settings (so the FPS isn't being limited in your picture, while the same settings did limit FPS on my PC).
I don't have any driver-level settings enforced for War 3 either, but I did upgrade the graphics drivers from AMD since I last launched War 3 with WFE 3.0.1.6.
So the only two possibilities that come to my mind are 1) the latest drivers from AMD are causing an issue that prevents framerate limiting with WFE (on my PC at least) ; or 2) the latest WFE version has introduced a bug that prevents FPS limiting from working correctly, at least on my rig. If anyone else has that same problem, knowing it could help us understand the issue. I'll downgrade my graphics drivers in two weeks after I return from holidays, then I'll be able to see if the drivers are the source of the problem.
 
Level 17
Joined
Apr 14, 2016
Messages
398
I didn't want to start a debate about power usage, I just wanted to report that I can't limit my FPS anymore and to try to find a solution to that. But as always you provided me with a detailed answer, so thank you that, even if I disagree on some part of the topic.

I don't understand from your first pictures concerning the Display settings how these very settings could limit my FPS to 144 on my PC and how they don't on yours, since your FPS counter is showing 286 FPS with those Display settings (so the FPS isn't being limited in your picture, while the same settings did limit FPS on my PC).
I don't have any driver-level settings enforced for War 3 either, but I did upgrade the graphics drivers from AMD since I last launched War 3 with WFE 3.0.1.6.
So the only two possibilities that come to my mind are 1) the latest drivers from AMD are causing an issue that prevents framerate limiting with WFE (on my PC at least) ; or 2) the latest WFE version has introduced a bug that prevents FPS limiting from working correctly, at least on my rig. If anyone else has that same problem, knowing it could help us understand the issue. I'll downgrade my graphics drivers in two weeks after I return from holidays, then I'll be able to see if the drivers are the source of the problem.
Your drivers should not have any effect on it, and no, on 1.26a, the fps is not really locked to specific value, sadly. So you most likely simply were lucky. I am still trying to find how to physically make an actual frame limiter like on Reforged.

Hence why I have 200+ fps, as that is how it should normally be.

All-in-all it would be better if setting a limit would actually force the limit, perhaps at some point I will actually be able to find it, for now it’s just fps unlocker.
 
Level 17
Joined
Apr 14, 2016
Messages
398
View attachment 404809
i got that error messege in ydwe wc3 if using WFEDll.mix from WFE 3.0.1.8
Em, no idea why I should even care about YDWE though and what you want me to do about it. I updated detour libraries to 4.0.1. it works fine everywhere else. Question is, if it's War3Plugin having problems, shouldn't you ask about it from YDWE makers, since it's clearly issue on their side?

I will check if I still have the older Detour library, in the worst case it will just stay as is, as YDWE is clearly not something I need/should support anyways.

Edit: tested with YDWE launcher that I have, and it's all fine. Here you go:

With Injector:
Screenshot_YDWE_1.png

With .mix:
Screenshot_YDWE_Mix.png

So, yet again, I have no clue what you did or how you did it, but clearly it's working just fine.
 
Last edited:
Level 2
Joined
Jun 18, 2020
Messages
3
Hotkey
WFE treat shift + left mouse button as XButton1 and shift + right mouse button as XButton2

Localisation
HEALTH and MANA text are always lowercase
 
Last edited:
Level 2
Joined
Sep 10, 2020
Messages
13
using wfe on game that have image pop up (like title feature) (large image shown up cover all screen)

like this game : jbr1.w3x

will make it game create multiverse (have warning desync!!)

2 player have diffrent experience in their respective desktop

same like multiverse
 
Level 17
Joined
Apr 14, 2016
Messages
398
using wfe on game that have image pop up (like title feature) (large image shown up cover all screen)

like this game : jbr1.w3x

will make it game create multiverse (have warning desync!!)

2 player have diffrent experience in their respective desktop

same like multiverse
Host-bot message treats any "local" action (in this case ShowInterface function hook) as "unhandled" action, this shouldn't cause desyncs anyways, unless you are doing something extremely wrong, which I can't really cure. That is used to know when to refresh the Enhanced UI. I will check the map later, but in any case, there are no desyncs caused by WFE.

I guess I really have to use multi-window yet again, to prove this wrong, urgh.

Edit:
1662718686994.png


Yeah, I won't even bother with it, anything DzAPI related has nothing to do with WFE and this map can only be launched on M16 (JNLauncher) or NetEase (the origin of DzAPI, etc).

This is what is being mentioned (image, which is actually a cinematic):
1662718778094.png


Example of it being used:
call CinematicFadeBJ(bj_CINEFADETYPE_FADEOUTIN, 2, "war3mapImported\\EMIRIASelectImage.blp", 100.00, 100.00, 100.00, 0)

Original function:

1662718885193.png


Here is proof that there is no desync, simple, yet fast test:

Code:

1662718981098.png


"Gameplay" - Start of cinematic:

1662719088235.png


End of cinematic:

1662719097914.png


Map for testing:

In short, something else is causing it, or there are some compatibility issues for some reason for you, I do not know and honestly I do NOT want to know, as these platforms are unstable overall and have other weird issues that appear with AntiHack that I recently have made for one specific map.


Hotkey
WFE treat shift + left mouse button as XButton1 and shift + right mouse button as XButton2

Localisation
HEALTH and MANA text are always lowercase

Hotkey: yep, a weird issue, fixed. Hopefully nothing else will break from the fix... :/

Localisation: fixed.

Will add you to the list of contributors for the bug report. :)

All the changes will be pushed to 3.0.1.9, which I will release soon.
 

Attachments

  • WorldEditTestMap.w3x
    96.7 KB · Views: 18
Last edited:
Level 17
Joined
Apr 14, 2016
Messages
398
WFE 3.0.1.9

Hiveworkshop: WFE - Warcraft Feature Extender
Github: Releases · UnryzeC/WFE-Release

Changelog:

1. Slightly increased the width of Level Frame in Custom Stat Bar and its background texture.
2. NEW FEATURE Handle Counter, as stated, it's a feature that counts all and any handles generated by game, i.e. units/doodads/destructables, etc.
3. NEW COMMAND @handlecounter this enables/disables handle counter frame.
4. Fixed "Health Bar" option button, as it was no longer clickable due to some weird error.
5. Fixed Custom Indicators being drawn over invisible/units in fog.
6. WFE specific frames are now in the scope of search of the function GetFrameByName in MemoryHack:
1) WFEUIBlackBar -> Black Bar underneath lower part of the GameUI Console.
2) WFEHPText -> CTextFrame, which is custom Health Text underneath Portrait.
3) WFEMPText -> CTextFrame, which is custom Health Text underneath HPText.
4) WFEHandleCounterBackDrop -> CBackdropFrame of Handle Counter.
5) WFEHandleCounterTextFrame -> CTextFrame of Handle Counter.
7. Fixed Attack Speed negative value calculations, the resulting data was partially incorrect.
8. @learn command will now print "Error" if no ability was learnt.
9. Fixed XButton1 being treated as Shift + Left Mouse Button and XButton2 being treated as Shift + Right Mouse Button. (Thanks sotzaii_shuen)
10. Fixed localisation case issue for Health/Mana print. (Thanks sotzaii_shuen)
11. NEW COMMAND @gethandles - prints total handle count.
12. NEW COMMAND @printhandles - prints extended handle count data, i.e. count of each unique type separately and total result at the end.
13. NEW COMMAND @printterraindata - prints Terrain Memory Usage information to TerrainMemory.txt.
Note: the data seems to be either in bits, or it's a total count of vertices, not entirely sure.

Example of printhandles information:

1662803435170.png


Example of Terrain Memory Information:

1662803464746.png
 
Level 2
Joined
Jun 18, 2020
Messages
3
hotkey issue still persists

set item slot 1 (numpad7) to XButton1
set item slot 2 (numpad8) to XButton2

press shift + left mouse click will trigger item slot 1
press shift + right mouse click will trigger item slot 2
 
Level 17
Joined
Apr 14, 2016
Messages
398
hotkey issue still persists

set item slot 1 (numpad7) to XButton1
set item slot 2 (numpad8) to XButton2

press shift + left mouse click will trigger item slot 1
press shift + right mouse click will trigger item slot 2
Yep, will re-check it again, thanks.

Edit: fixed, will upload hotfix soon. So, yeah, the game actually handles SHIFT + L/Rbutton as XButtons for some reason, so I "patched" that out, this game sometimes makes me sick with its shennanigans.
 
Last edited:
Level 17
Joined
Apr 14, 2016
Messages
398
WFE 3.1.0.10

1. Re-fixed XButton1 being treated as Shift + Left Mouse Button and XButton2 being treated as Shift + Right Mouse Button. (Thanks sotzaii_shuen)
2. @printhandles - command has been enhanced, now it will also write, by how much each and total handles have increased over previous data.
Example: CUnit: typeId = +w3u | Count 60 (+60)
 
Last edited:
Level 17
Joined
Apr 14, 2016
Messages
398
WFE 3.1.2.35

Hiveworkshop: WFE - Warcraft Feature Extender
Github: Releases · UnryzeC/WFE-Release

Changelog:

1. All Frame-related code has been refactored and re-optimised.
Note: this could lead to some specific function causing fatal error, if it happens, it will be fixed, however most likely that won't happen.
2. Increased the width of Handle Counter frame, since it was a bit too small for screen sizes below mine.
3. Fixed Multiboard Display/Suppress issue within WFE frame control.
4. Multiboard now has smart position, and won't be "jumping" from one position to another whenever it's redrawn/updated via BJ functions.
5. Multiboard Displace option replaced with Leaderboard (now you can hide/show) Leaderboard.
6. HP/HP and Cooldown Label priorities reduced from 10000 to 5000, now Cursor should be above them.
7. Feature Hero Overhead Tip now properly works, it won't hide ALL overhead tips, but only on heroes, as it was supposed to.
8. @copy command will no longer change the player owner of the newly created unit to the command issuer, the original owning player will stay its owner.
 
Level 6
Joined
Sep 9, 2015
Messages
136
Do you have any plan to make a Upgraded Interface for ultrawide 21:9 monitor? Then in 21:9 ratio UI, icon,... will "square" too (like current Upgraded Interface work in 16:9 monitor).
 
Level 17
Joined
Apr 14, 2016
Messages
398
Do you have any plan to make a Upgraded Interface for ultrawide 21:9 monitor? Then in 21:9 ratio UI, icon,... will "square" too (like current Upgraded Interface work in 16:9 monitor).
In short, 1 : 1 copy of what reforged did, dunno, so far I prefer how I did it.

The biggest issue is how long it takes to eyeball it all, and I don't really feel like spending my time on that, considering I am actively working on another pretty big project, aka UjAPI which is pretty much loaded with new natives, etc...
 
Level 6
Joined
Sep 9, 2015
Messages
136
In short, 1 : 1 copy of what reforged did, dunno, so far I prefer how I did it.

The biggest issue is how long it takes to eyeball it all, and I don't really feel like spending my time on that, considering I am actively working on another pretty big project, aka UjAPI which is pretty much loaded with new natives, etc...
I mean create a new one for 21:9, not a re-write, old Upgraded Interface still in WFE and user can choose 1 of 2.
I just think make a copy of the code of the current Upgraded Interface, then tweak the parameters to make it work perfectly for the 21:9 aspect ratio. But that's just my speculation, it's probably not as simple as I thought, but much more complicated. Because if it was easy you would have done it already, because I remember you used a 21:9 monitor.
 
Last edited:
Level 17
Joined
Apr 14, 2016
Messages
398
I mean create a new one for 21:9, not a re-write, old Upgraded Interface still in WFE and user can choose 1 of 2.
I just think make a copy of the code of the current Upgraded Interface, then tweak the parameters to make it work perfectly for the 21:9 aspect ratio. But that's just my speculation, it's probably not as simple as I thought, but much more complicated. Because if it was easy you would have done it already, because I remember you used a 21:9 monitor.
It's not as simple to do, and it's a lot of code to re-adjust again, if someone really wants it -> I guess for around 15$ sure. It's quite exhausting doing things, that are not entirely useful, and when you barely have time for it to begin with. :D
 
Top