AM2R-Community-Developers / AM2RLauncher

Host respository for the AM2RLauncher.
GNU General Public License v3.0
343 stars 19 forks source link

AM2RLauncher

A front-end application that simplifies installing the latest AM2R-Community-Updates, creating APKs for Android use, as well as Mods for AM2R. It supports Windows (x86/x64) as well as Linux (x64).

What is this?

AM2R (Another Metroid 2 Remake) is a fan-made remake of Metroid II: Return of Samus in the style of Metroid: Zero Mission. It was released in 2016 by DoctorM64 and his team, and very soon after, has received a DMCA letter from Nintendo.
A few years after, multiple members of the community managed to reverse engineer the game and published unofficial updates, dubbed the AM2R-Community-Updates. Those fixed bugs and added new features like widescreen, added content planned by the original devs before they were struck down, and ported it to other platforms.

The AM2RLauncher lets you conveniently play those Community-Updates, automatically receive updates, install AM2R mods and create APKs to play on your phone.
No copyrighted files are shipped, you need to provide your own copy of AM2R_11!

For further questions regarding AM2R see this FAQ.
For further questions regarding the AM2RLauncher see this Wiki.
For further communication, you can reach us on Discord, Matrix, or GitHub issues.

Downloads

GitHub release (latest by date) Flathub AUR version
Downloads can be found at the Release Page.

For all Linux users, a Flatpak is available and can be installed with all above dependencies bundled. This method is the recommended way for Steam Deck users.

Arch Linux

For Arch Linux users an AUR Package also exists. Install it with makepkg -si or use your favourite AUR helper.

NixOS

The launcher has also been packaged for NixOS. It can be run with nix run nixpkgs#am2rlauncher.

Dependencies

Windows needs the .NET Framework 4.8 runtime installed.
Linux needs the following dependencies installed:

As well as these dependencies to run AM2R:

Optionally, for APK creation any Java runtime is needed.

For more detailed instructions check out the installation process wiki page.

Configuration and Data Files

The AM2RLauncher stores its files in the following places:

The AM2RLauncher data can get quite big, so if you wish to change where it stores it, you can do so with the AM2RLAUNCHERDATA environment variable (i.e $env:AM2RLAUNCHERDATA="D:\MyLauncherData" or AM2RLAUNCHERDATA="/mnt/bigDrive/launcherData"). Data files are different for each OS, you cannot mix and match them!

If you wish to redistribute the AM2RLauncher to some Linux distro, you can use the NoAutoUpdate configuration, in order to build the AM2RLauncher with the auto-updating features disabled. Further assets (.desktop file, icon, appdata) can also be found in this directory: ./AM2RLauncher/distribution/linux.

Contributing

Contributions of any kind are always welcome! Here's possible methods on how you can contribute:

Compiling Instructions:

Dependencies

For compiling for Windows .Net Framework 4.8 SDK is needed. For Linux and Mac .Net Core 5.0 SDK or later is needed.

Windows Instructions

Open the solution with Visual Studio 2019.
Alternatively, build via dotnet build / the buildAll batch file.

Linux Instructions

In order to build for linux, use dotnet publish AM2RLauncher.Gtk -p:PublishSingleFile=true -p:DebugType=embedded -c release -r ubuntu.18.04-x64 --no-self-contained, MonoDevelop sadly doesn't work.
You have to specify it to build for Ubuntu, even on non-Ubuntu distros, because one of our Dependencies, libgit2sharp fails on the linux-x64 RID.

Arch Linux

An am2rlauncher-git AUR Package also exists.

NixOS

On NixOS, the am2rlauncher package can be used for installation.

Mac Instructions

You can open the solution with Visual Studio for Mac, but it likely will crash after compliation. Use dotnet publish AM2RLauncher.Mac -c release instead.
Note that Mac is currently unsupported. We will try to answer questions, but cannot guarantee to fix issues with Mac.