Skip to content
Zakary Boven edited this page Sep 19, 2023 · 5 revisions

Welcome to the Warcraft Legacies wiki. It contains guidance on contributing changes to the map, as well as explanations of some of the more esoteric Warcraft III mechanics.

Getting started

  1. Clone the main branch of the repository to your local machine.
  2. Run the WarcraftLegacies.Launcher project from Visual Studio or Jetbrains Rider using the WarcraftLegacies: Test launch setting.
  3. You should get an error saying it can't find your Warcraft 3 path. Navigate to src\WarcraftLegacies.Launcher\ and open appsettings.{YOURUSERNAME}.json. Change the Warcraft3ExecutablePath setting to wherever your Warcraft 3 executable is, then repeat step 2. It should now launch.

Contribution workflow

Follow these steps to contribute changes to the Warcraft Legacies project. This section assumes that you have not contributed before.

  1. Use Github Desktop, Visual Studio, or Jetbrains Rider to clone the repository at https://github.com/AzerothWarsLR/WarcraftLegacies
  2. Pull the main branch
  3. Make a local new branch based on main
  4. Run the Launcher: WarcraftLegacies: Convert MapData to W3X launch configuration
  5. Make the changes you want to make using either Visual Studio or the World Editor
  6. If you used the World Editor to make any changes, run the Launcher: WarcraftLegacies: Convert W3X to MapData launch configuration
  7. Commit your changes to your local branch
  8. Ensure that your local branch is up to-do-date with main; if it's not, merge main into your local branch
  9. Push your changes
  10. Navigate back to https://github.com/AzerothWarsLR/WarcraftLegacies
  11. Make a Pull Request from your branch to either dev or main. See our https://github.com/AzerothWarsLR/WarcraftLegacies/wiki/Branching-and-merging-strategy to determine which

Editing object data

Warcraft Legacies uses a custom build system; map files are stored as .json instead of binaries, which makes editing object data and committing it a little complicated. Here's how you can do it:

  1. Clone the repository to your local machine.
  2. Run the WarcraftLegacies.Launcher project from Visual Studio using the WarcraftLegacies: MapData to W3X launch etting.
  3. Check the maps folder; you should have a new folder called WarcraftLegacies.w3x.
  4. Open WarcraftLegacies.w3x using the Warcraft 3 World Editor.
  5. Make any changes you want to make in the Editor, then save the map.
  6. Using Visual Studio, run WarcraftLegacies: W3X to MapData.
  7. Your changes should now be reflected in the mapdata\WarcraftLegacies folder. These changes can be committed back to version control.

Code Documentation

  • There is no documentation specific to this project, but attempts have been made to keep the code readable, and there are plenty of explanatory comments.
  • You will also need to understand the Warcraft 3 API. Unfortunately documentation is scarce, but method signatures can be found here. I recommend using Hive Workshop Discord or forum if you need more information.