• Are you planning to upload your awesome tool to Hive? Please review the rules here.
    July 9, 2018: The rules for the Tool Section have been revised. Please be sure to read the revisions.

Warsmash Mod Engine (Alpha)

This bundle is marked as approved. It works and satisfies the submission rules.
This is the first binary distribution of the Warsmash Mod Engine for Warcraft III. In this Alpha version, you should expect that most likely nothing will work. You need to be ready to laugh at bugs. That is the way to enjoy this current build. If you manage to get into a single player game and have a good time, please post back here and leave a comment because that means you have already exceeded my expectations.

Warsmash is a Warcraft III modding project that aspires to eventually make Warcraft III modding easier by providing a replacement component for the game program that can be more easily modified -- while still requiring the Blizzard Warcraft III game and assets to be installed on the computer only from Blizzard. In short, buy Warcraft III from Blizzard, and then you can begin to use this mod engine with it.
This is not an anti-Reforged product. I had many amazing conversations with Kam while those guys were making Reforged, and I submitted bug reports to them and was treated with great kindness and got the impression that they were working hard. I posted about the idea of Warsmash here on the Hive in 2016 before Reforged was invented. I have had longer than the Reforged team had to do what I am doing, and I have achieved less, because I am a hobbyist. It is wrong to look at the matter in any way other than this, and when I suggest anything to the contrary I am most likely only doing so for comedic value or to help stimulate Reforged's growth.

Project Setup:
I have only tested this binary distribution with the English Warcraft III edition, Patch 1.22. Based on my tests, this program should be able to function if you reconfigure warsmash.ini to point to your Reforged installation, however when you do so, some of the features of this program will be missing.

For Patch 1.22 or similar patches, unzip the contents of Warsmash.zip and create a folder as a subdirectory of your Warcraft III installation, like this:

Then, inside this Warsmash folder, you should see the Warsmash EXE as well as the necessary files.
It should look like this:

If you double-click on this EXE, then this should launch the Warcraft III game using the Warsmash Mod Engine (so a lot of the features that are not Warsmash-supported yet will be disabled, but you should be able to click around and maybe even have some fun!). For many users the game will not launch at this time, because your hardware is not supported, so do not be surprised if it does not work. However, when that happens, feel free to report back here and discuss the nature of the problem. Most likely I will very soon publish a build of this tool that has improved error logging support.

Command-Line Options
At the time of writing, Warsmash supports two possible command line arguments. You can make a shortcut to Warsmash and either of these arguments to your shortcut:
-loadfile <name>
The "loadfile" argument searches within the Warsmash game data, and not in any maps folder yet, so it is best if you test with builtin maps. One example would be "-loadfile (2)bootybay.w3m" that should work regardless of your Warcraft III version, for example. It should also load map files from the "Warsmash" folder in your game install if you are using the default configuration suggested above.
The "windowed" argument currently fights with the mouse capture system and can create nuisances that squash the render window and crash the game because it cannot process having a pixel height of 0 for the game window. When I settle on what the best bug tracker should be for this project, we can add that to the list of known bugs.

Open Source
Most of the entire point of Warsmash is to be an open source project. If you would like to build Warsmash yourself from source, you can download all of the necessary files at this location:
Warsmash is a Gradle Java project, which means that some of the dependencies are not included in the repo above, and instead they are downloaded as a part of the build process from their respective online locations.

The source code of the Warsmash EXE that I have included in this binary build for ease of use is here:
(This is a very tiny do-nothing program that launches Java, as well as forwarding the -loadfile style arguments to the Java program.)

Warsmash Mod Engine (Alpha) (Binary)

A very cool project that shows a lot of promise. Launching it is kind of inconvenient as you have to obtain the Warcraft 1.22 game data files from somewhere. I think it would really help in adoption if you'd make it default to loading data from the...


Tool Reviewer
Level 27
Apr 19, 2008

Here is the download for the Fel Orc Adventure map that I posted videos of myself playing on this engine a few times. I just played the map and was able to collect all 6 Fat Lewt items in about 30 minutes in my adventure. I launched the game by using this binary build, as well as the command line command:

.\Warsmash.exe -loadfile Maps\UndergroundFelOrcAdventure.w3x

In order for this to work, I created a custom folder inside the Warsmash folder called Maps, so this was basically at the location:


Here is a video of today's adventure in Warsmash:

I had to work really hard because there is currently no way to heal or revive my heroes, but I wanted Gor'thok to survive until the end, so I exploited kiting mechanics that do not work the same yet as in the base Warcraft III game, because the Warsmash kiting is simpler and creeps who attack one of my units will keep trying to attack that unit forever, so I was able to use this to keep Gor'thok alive all the way until the end to make sure that I had all the Fat Lewts collected at one time.


Tool Reviewer
Level 27
Apr 19, 2008
Amazing what you have achieved :)
Thanks! But to me what I aspire to achieve in the future is a bit more amazing, since for most people the bundle here will probably still have a lot of issues when they try to use it. There is a lot of work to do for this project that I am aspiring towards, so this bundle only contains a binary snapshot of the current repo that I have been working on for the purposes of letting people tinker with it and get a general concept of what I am trying to achieve even if it is still under construction.


Tool Moderator
Level 10
Mar 6, 2017
A very cool project that shows a lot of promise. Launching it is kind of inconvenient as you have to obtain the Warcraft 1.22 game data files from somewhere. I think it would really help in adoption if you'd make it default to loading data from the WC3 Reforged game files. Right now you have to manually set that in a text file and I didn't manage to make it work.

It's missing a lot of functionality compared to WC3, but a lot of work has already been done too. The thing I missed most was drag selecting units. I'm looking forward to seeing more of the progress you are making and what kind of impact an open source WC3 will have on the community.


Tool Reviewer
Level 27
Apr 19, 2008
Launching it is kind of inconvenient as you have to obtain the Warcraft 1.22 game data files from somewhere.
You can make it run with Reforged, but I just did not bother because then the unit shadows and some of the sounds do not load because I do not support them yet. I just tested with this same binary alpha build and unzipped it into my Reforged folder:


Then after this, I replaced my "warsmash.ini" to have these contents that specify to use the Reforged installation:
Path02="C:\Users\MyUsername\Documents\Warcraft III\Maps"

You will have to change the INI config sample above since Reforged is not a self-contained product and uses My Documents, and currently this configuration wants to know the location of your Maps directory (the one provided uses the sample username "MyUsername" and needs to be changed).

Once I have this data configuration specified, I click the Warsmash EXE that I have located as follows (NOTE: It will not work if you put inside 2 folders instead of inside 1 folder due to the contents of the INI)


After I do this, the EXE will launch me to a menu that loads the legacy game client's menu definitions but from the Reforged installation. This looks about the same as with Patch 1.22, but it has the Korean note on the upper left, and it has the Reign of Chaos version button on the upper right.


Also, there is some bug with the Reforged support, so if you click the Campaign button to play campaign missions it will crash. So to get around this, you want to launch your maps with -loadfile from the command line instead. I think that this can be fixed later, though.

Actually, I thought about this a bit more, and you probably do not want to do the above process unless you recompile the engine with MAX_PLAYERS=28 instead of MAX_PLAYERS=16. Maybe later we can change that constant to be a config value, or based on map save version.

Edit 2:
Here's a test image from a sourcecode mod to support Reforged campaign data. Apparently Reforged still includes all the metadata to build the old campaign UI, except that they are unified together so that the RoC/TFT distinction is gone. [Dropdown for Difficulty is missing because the Warsmash FDF parser does not support dropdowns -- not because it is missing in Reforged]
Last edited: