Source code for AM2R 1.5.2+ Multitroid, free of copyrighted assets and trademarks.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Go to file
milesthenerd c150277dc2
Increased sleep margin
5 years ago
.github/ISSUE_TEMPLATE Initial code population 5 years ago
Configs Increased sleep margin 5 years ago
background Fixed massive buffer size when updating vital arrays 5 years ago
datafiles Reverted ipaddress.txt 5 years ago
fonts Fixed massive buffer size when updating vital arrays 5 years ago
objects Hopefully fixed the Queen's phase sync when fighting a second time 5 years ago
rooms Added Queen health sync and much more 5 years ago
scripts Hopefully fixed the Queen's phase sync when fighting a second time 5 years ago
sound Fixed massive buffer size when updating vital arrays 5 years ago
sprites Fixed massive buffer size when updating vital arrays 5 years ago
timelines Fixed massive buffer size when updating vital arrays 5 years ago
.gitignore Merge branch 'dev' into main 5 years ago
AM2R.project.gmx Updated datafile structure 5 years ago
CONTRIBUTING.md Initial code population 5 years ago
LICENSE Update LICENSE 5 years ago
README.md Update readme 5 years ago
gdsync.txt Initial code population 5 years ago

README.md

AM2R-Community-Updates

Co-op Changes

The source code here has the same requirements as the original repo in order for it to work. Only the code and my changes have been included. Also, the string compression scripts are by Homunculus: https://marketplace.yoyogames.com/assets/4560/strict

Currently syncs all items, metroids, events, and power-ups.

Currently, pressing F1 will make an attempt to connect to the server. F2 will disconnect from the server. F3 will show the current random seed.

Put the ip of the server you want to connect to into the ipaddress.txt. The server operates on port 64198 and cannot be changed at the moment.

The server can be found here: https://github.com/lassiterm/AM2R-Server

The adjusted patcher for the AM2R mod can be found here: https://github.com/lassiterm/AM2R-Autopatcher

To-do List

  • Save syncing
  • Message that tells you what power-up has been obtained
  • More definitive player data tracking by the server - kinda done but not quite
  • Other things I haven't thought of yet, so if you have any ideas or suggestions, let me know in the AM2R Discord Server

What is this?

The source code for the AM2R Community Updates 1.5.x branch, free of copyrighted assets and trademarks. If you have not played the AM2R Community Updates before, this will be of no use to you!

This source code is based on AM2Rrc by YellowAfterlife. It could be considered a fork.

If you are looking for a playable build of the game, please download the AM2RLauncher to install the latest update.

This source code does not contain any copyrighted assets or trademarks - in fact, it does not contain any assets at all, just like the AM2Rrc repository.

Assets must be extracted from your copy of the AM2R Community Updates using GMXDataSync in order to compile this project properly.

Furthermore, there are two paid shader assets included in the Community Updates: Pixelated Pope's Retro Palette Swapper and PixHammer's GameBoy Shader. We do not curently have permission to distribute either of these assets, so they are excluded from this repository. You will need to replace them with default shader code in order for the project to compile.

Finally, we have excluded the datafiles and changelog from this repository to further enforce the removal of trademarks.

License

Please read our license before distributing, modifying, contributing to, or otherwise interacting with this project.

Contributing

Please read our Contribution Guidelines before opening any issues or creating pull requests.

Additionally, it would be most helpful if you joined the Official AM2R Discord Server if you plan on contributing to the project.

Known issues

The vast majority of this source code is undocumented, as it is based on a bytecode reconstruction.

The default language files will display three empty fields when loaded due to recent name changes. This will be a non-issue once 1.5.3 releases.

Reordering assets created before the Community Updates began can have consequences throughout the entire project because of magic numbers: references to assets by numeric ID instead of name. Changing asset order will cause magic number references throughout the source code to begin referencing incorrect assets. Because of this, pull requests that attempt to reorganize assets will be denied.

Much of this code is messy, uses unusual solutions, and does not hold to our established formatting style - this is a result of AM2R's reconstruction and nature as a learning project passed down to multiple lead developers.

Requirements

GameMaker: Studio 1.4.1763 - the IDE for editing and compiling this project.

GMXDataSync - a utility created by YellowAfterlife to populate project files with matching game assets.

A copy of the latest release build of the AM2R Community Updates, which can be installed via the AM2RLauncher.

Installation

This repository, being based on YellowAfterlife's source reconstruction, is installed in a very similar fashion. Please refer to his installation instructions here, but replace 1.1's data.win with the latest Community Update AM2R.exe.

Afterwards, replace the two blank shader assets with default GM:S shader skeletons or your own copy of each shader, as well as the accompanying script files for the Retro Palette Swapper: pal_swap_init_system and pal_swap_set.

Finally, you will need to install modifiers.ini as well as the lang and mods folders as datafiles within the GM:S project. The default ones do not contain the actual assets and are merely references. These can be copied over from your AM2R_15_2 folder.