WC3 Mod Manager v1.1.1

When updating to v1.1.1, you must also replace the DLLs!

logo.png

The easiest and most reliable way to make a mod in Warcraft III is using the "Allow Local Files" registry setting, which allows custom files in the game's install folder to be read by the game.

This project aims to make it as easy as possible to manage and play mods.

The source is available on GitLab.

Core Features
  • Mount/Unmount mod - create symbolic links in the WC3 folder to the selected mod's files
  • Toggle "Allow Local Files" - enable/disable any custom files in the WC3 folder
  • Toggle "Preferred Game Version" - switch between vanilla and expansion
Note: you will need to run the executable as an administrator for most of the functions to work properly.


v1.1.1
- Using WinAPI to create symbolic links instead of calling cmd.exe (faster)
- Compiled with MinGW 7.3.0 64bit (used MinGW 5.3.0 32bit before)

v1.1.0
- Mods are mounted by creating symbolic links, instead of by moving files
- Restoring of backups fixed
Previews
Contents

WC3 Mod Manager v1.1.1 (Binary)

Reviews
eejin
Approved! Tool works quickly and easily. Very useful for when you want to swap out mods quickly.
Level 4
Joined
Dec 17, 2010
Messages
111
This looks interesting, will it allow me to use a mpq I made that just has objects like extra shops, merc camps, and heroes (minutes triggers of course) without loading them into each new map? I like playing older standard maps with slight changes.
 
I'm not sure what you mean, but as long as your data overwrites game data there should be no problem. To actually add stuff to maps, you would have to edit the map itself.

But, again, I'm not 100% sure what you mean, so if it worked for you as an MPQ maybe it will work as local files too? Unless you're still on an older patch (before the switch to CASC), you would have to unpack the MPQ though.


Edit: I think what you mean is that you customized maps to use extra models etc. which you put into an MPQ. If you add the custom content of your MPQ as a mod in the mod manager, it should definitely work.
 
Last edited:
In the current version, when you "mount" a mod, the mod's files/assets are moved to the game folder. When you "unmount" a mod, they are moved back to the application's mods folder.
In the next version, symbolic links to the mod's files and folders will be created instead. When "unmounting", these symbolic links will be deleted. This is obviously much more efficient.

Toggling "Allow Local Files" only changes the registry setting which determines whether or not WC3 can read files in the install folder.

At the moment it's not possible to mount/enable more than one mod at a time. In the future I may implement this option. I guess then you should be able to set a priority for each mod.

edit: it's been updated
 
Last edited:
Level 4
Joined
Dec 17, 2010
Messages
111
OK I am getting around to trying this, but I am unsure how to take the files out of my map (mostly units, items, abilities, upgrades, and buffs) and put them into the correct folders or whatever... also all my models are just in war3Imported folder, do I need to somehow find folders for like 30+ models?
 
First of all I should make clear that you can't just take object data (the information contained in e.g. the unit editor, the buffs editor, etc.) out of a map and put it into the game. It's possible, but I'm not sure if there are tools that can do this. You may be able to find something here on the hive.

The reason for this is that WC3 uses human-readable files (.txt and .slk files), while maps use an entirely different format. So you would have to convert the map's data to .txt and .slk files, and then merge those files with WC3's .txt and .slk files.
If you want to have a look, you can use MPQ Editor to open maps and CascView to open WC3's data (since patch 1.30).

The resources (models, textures, etc.) you want to put into the game still need to be pointed at by the game/map.
This means you have two options:
  • Replace existing resources:
    You can give a resource the same path in your mod as a standard resource.
    For example, if you put a model in a mod in Units\Human\Footman\Footman.mdx, all footmen in WC3 will use your new model
  • Play maps that use your custom resources
    If you put a model in the mod in war3Imported\Footman.mdx, any map that uses this path will load your custom model (unless the map has an imported file with the same path).
So let's say you put the mod manager in "C:\W3MM\WC3ModManager.exe":
  • You will need to put your mod in the "mods" folder ("C:\W3MM\mods\My Mod")
  • The examples above will look like this: "C:\W3MM\mods\My Mod\Units\Human\Footman\Footman.mdx" and "C:\W3MM\mods\My Mod\war3Imported\Footman.mdx".
  • Now when you mount "My Mod" and enable Allow Local Files
    • 1) all footman units will use the model at "C:\W3MM\mods\My Mod\Units\Human\Footman\Footman.mdx"
    • 2) all maps that use a custom model located at "war3Imported\Footman.mdx" but do not have an imported file with that path, will load the file from the mod

It would be cool if I could add an automatic map-to-mod converter or something in the future. We'll see.
 
Last edited:
Level 4
Joined
Dec 17, 2010
Messages
111
Interesting. How about new units? Just make custom paths?

Also, I just checked those text files... wow how does anyone make a new unit with all that stuff fragmented all over the place? TBH opening a map and importing all object data... its slow but I could do like 100+ maps before I got all my custom units done in those text files!
 
Last edited:
Yup, you will be able to use anything in e.g. "C:\W3MM\mods\My Mod\" using the identical path after that.

Yeah doing that manually is definitely a lot of work. If done, though, you can use your new object data in both the game and the editor as if it was always there.

I know there is a custom object editor tool which can open maps and export object data to .slk, and there's also an SLK editor which can open, modify and save SLK files (maybe some other stuff like merge them, but I don't remember).
So the SLK side of things should be pretty doable semi-automatically, but I don't know if that object editor tool or any other tool handles the TXT files.
If you're gonna try anything, you should be careful about editing SLK files with an Exell-like Office program, they could save it in a way that WC3 can't read them anymore. I think MS Office is ok, but open and/or libre office aren't. You can also edit them with notepad but that's definitely not recommended :p

You might also want to see if you can find any tools which can export/import object data (maybe the one I mentioned). It might be faster than doing it with the world editor.

Maybe one of these links could be useful: SLK Edit - Object Editor - W3x2Lni
 
Last edited:
Level 13
Joined
Jun 23, 2009
Messages
298
I know there is a custom object editor tool which can open maps and export object data to .slk, and there's also an SLK editor which can open, modify and save SLK files (maybe some other stuff like merge them, but I don't remember).
So the SLK side of things should be pretty doable semi-automatically, but I don't know if that object editor tool or any other tool handles the TXT files.
If you're gonna try anything, you should be careful about editing SLK files with an Exell-like Office program, they could save it in a way that WC3 can't read them anymore. I think MS Office is ok, but open and/or libre office aren't. You can also edit them with notepad but that's definitely not recommended :p

You might also want to see if you can find any tools which can export/import object data (maybe the one I mentioned). It might be faster than doing it with the world editor.

Late response, but Widgetizer does both SLK and TXT from object data with no hassle (if it still works, but why shouldn't it).

About this tool here, it's pretty nice, good job :)
 
Level 13
Joined
Jun 23, 2009
Messages
298
Right, I forgot about that one. Too bad the source isn't available, I'd really like to add some import/convert tools at some point.
Yeah, that's a shame, that thing could break at any time and there would be no fix, if you ever make a replacement I'd be glad to try it out.
Thanks!
I'm working on an update but it's taking a lot longer than expected :(
If I had just a nitpick on how your mod manager works is that the main folder of Wc3 gets full of symlinks, which is whatever as long as it works, but I was wondering why you weren't using the "war3mod.mpq" folder instead.
 
Yeah I was thinking of making the symlinks hidden (optionally), maybe some sort of clean tool in case something goes wrong.

I didn't know about this war3mod.mpq though.
So if I create a folder with that name the game will read those files regardless of the registry setting?
That would be cool, then maybe you really just need to create one symlink with that name to the mod's folder.

Edit: Wow, thanks, that works :D That makes things way simpler and even faster (though kinda makes this tool somewhat less useful, and part of the update ive been working on is obsolete :p).
Can't believe I never knew about this.
 
Last edited:
Glad it's useful! :D

I'm not sure, but I think it should work with a symbolic link.
Next version will include the option to add a mod as a symlink (so you can choose between move, copy and symlink).

In the future I may add the possibility to add a mod in any location without copying/moving/symlinking at all (by saving the path somewhere), but I'm not sure if it's necessary.
I will probably add it once I need to store any meta data for mods. Then it's just a matter of also storing the path in the meta data.
 
Last edited:
Level 5
Joined
Jul 17, 2013
Messages
126
The difference is that this one works with 1.30+ and I can even use it on battle.net. I am making Czech language pack right now, based on the 1.26 version and it works great.
 
Level 26
Joined
Feb 2, 2006
Messages
1,504
Can you adapt this tool to the latest version of Warcraft III? The folder of the World Editor is now "C:\Program Files\Warcraft III\x86_64" for me.
Btw. where do I have to place my files when using "Allow Local Files"? In the directory "C:\Program Files\Warcraft III\x86_64" it does not seem to work.
 
Last edited:
Can you adapt this tool to the latest version of Warcraft III? The folder of the World Editor is now "C:\Program Files\Warcraft III\x86_64" for me.
Btw. where do I have to place my files when using "Allow Local Files"? In the directory "C:\Program Files\Warcraft III\x86_64" it does not seem to work.
I'd like to update this at some point, but don't know if/when I will.
 
Level 18
Joined
Feb 25, 2013
Messages
322
The new paths, required since 32.6 are: Warcraft III\_retail_\ and Warcraft III\_ptr_\

Also CASC has been in use since 1.30.0, not only since reforged; it makes no difference as local files are still mostly the same.

This path change is instead caused by the Container system announced with 1.32.6 PTR
 
Last edited:
Level 13
Joined
Jun 23, 2009
Messages
298
If anybody's interested in using this tool but wonders if it works on a specific version worry not, this is still a fine tool that works on every version of Warcraft III because it creates links of the mounted mod's files/folders into Warcraft III's base directory and it's the game itself that looks for files it can load in that folder, although the actual base directory and the tool's functionalities might change depending on the game version it's used for.

Quick explanation on how to use this tool to mount mods with all versions of Warcraft III:
  • Versions that use MPQs: "Warcraft III Folder" in "Settings" = base game folder, game and World Editor can be started directly from WC3 Mod Manager's dedicated buttons.
  • Pre-Reforged CASC versions: "Warcraft III Folder" in "Settings" = base game folder (the one with "Warcraft III Launcher.exe", NOT the "x86" or "x86_64" folders), WC3 Mod Manager cannot however run the game or World Editor by itself because the binaries were moved in these versions
  • Reforged Retail: "Warcraft III Folder" in "Settings" = base game folder\_retail_, as above WC3 Mod Manager cannot run the executables by itself
  • Reforged PTR: "Warcraft III Folder" in "Settings" = base game folder\_ptr_, as above WC3 Mod Manager cannot run the executables by itself
Ah, and don't forget to always have "Allow Local Files" active in the tool itself, depending on the version and on how your install is set up it might not actually be necessary but it doesn't hurt to have that active either way.
 
Last edited:
Top