Compiling Majora's Mask Randomizer - isghj5/mm-rando GitHub Wiki

Majora Mask Randomizer is a C#/.NET application that compiles to Windows, well it compiles to Linux too but the UI is broken.

Compiling MMR isn't that complicated, some projects fails to give you any info and use convoluted build scripts or require so many dependencies its a pain to setup, but MMR isn't too bad.

  1. Download the project's code from Github
  2. Install prerequisites
  3. Compile the project

Download the project

The whole project is on Github, A website that allows multiple developers to host, share, and work on code together. The project can be downloaded to your local machine to work on with by either cloning a copy of the repo for yourself, or if you just want to build without making changes, you can just pull the online version to your own machine.

Starting on this page: https://github.com/ZoeyZolotova/mm-rando/

To Create your own fork, in the top right corner is the fork button.

To Download either your fork or Zoey's main version, use the green button on the top right of the webpage to get the link to clone the git repository.

If you download the code as a zip, extract the zip to wherever you want to work on it.

If you want git to work with this repo, you need to install git for windows and then clone the repository with the link provided. With gitbash you just type git clone <link> and it should create a new folder called mm-rando with the whole project's code. If your internet sucks and you want it to download faster, add --depth=10 to reduce how much of the older history of the project to download.

If you wanted to compile a specific branch, you need to fetch all branches for the project with git fetch then checkout the branch with git checkout <branchname>. If there are changed files you didn't want to save and git wont let you check out another branch use git reset --hard to delete all changes, or if you aren't sure if you want the changes or not but want to leave the problem for the future, use git stash to shove the changes under the rug for later availability.

If you made a fork, or you want to download an build someone else's branch, you need to add the repo of the other user with git remote add <username> <.git link> the same link you got when you cloned the repo above. The username can be whatever you want, zoey can be z, or upstream, short makes it easier to type. To see their work, you need to fetch their branch info with git fetch <username> and finally check out the branch you want with git checkout <username> <branch name> which should both checkout the branch, link it to their branch so git pull will be able to update it later, and switch you to it so you can build/edit

Install Prerequisites

MMR has two software frameworks:
.NET Framework Dev Pack (SDK)
https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-developer-pack-offline-installer
.NET CORE SDK
https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.201-windows-x64-installer

or if you are using the newer un-released content, you need just dotnet 5 instead: https://dotnet.microsoft.com/download/dotnet/5.0

You want the versions that work with your specific computer that you wish to compile with.

And you want a compiler that can compile C#/.NET programs. Microsoft wants you to buy the expensive Visual Studio, the free version called "VS community edition" works fine if you cannot afford the full program. When installing VS, it will offer you many additional downloads, you want .NET Desktop development the rest are optional and shouldn't be needed for this project.

Do not use VSCode or VSCodium for this project, it takes 10x as much effort and if you can figure that out this whole guide is pointless for you.

It might be possible to compile this project in another IDE that supports C# and .NET, like eclipse, but I haven't tried.

Compile the project

Navigate to the location on your computer where you placed/cloned the project.

With Visual Studio, you should be able to just open the .sln file, select the target MMR.UI set the build type to Release unless you actually want to use the debugger, and hit the green arrow at the top of the program to compile, if any additional requirements are needed VS automatically downloads them for you normally.

Troubleshooting:

If you have questions or issues, please post in the discord: https://discord.gg/8qbreUM in the #dev-talk channel

If you don't get a response, ping Zoey directly after at least 48 hours (She's active in dicsord but also busy irl, she might have seen your question but was too busy to respond and forgot to get back to you)

⚠️ **GitHub.com Fallback** ⚠️