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.
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.
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:
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.
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.)