Syriinge is a framework and API for injecting C++ code into Super Smash Bros. Brawl at runtime via plugin loading. Plugins are built into Nintendo Relocatable Module (.rel) files and loaded by Syriinge. Syriinge itself is loaded via gecko codes, which can be found in Syringe.asm
and is a standard GCTRM assembly file.
In order to build the project, the user should satisfy the following requirements:
devkitPro/msys2/usr/bin
in their system path
Following these steps will produce a .rel
file to place on your SD card inside the module
folder.
git clone --recursive https://github.com/Sammi-Husky/Syriinge.git
cd Syriinge
make
sy_core.rel
to your mod/modpack's module
folderSyringe.asm
to your build's source files and .include
it at the top of RSBE01.txt
plugins
inside your /pf
folder. (create this directory if it doesn't exist)Syriinge on it's own does not do anything meaningful. Syriinge simply provides an API for hooking and injecting C++ code into the game at runtime. You'll need to download or create plugins to add custom functionality to your game. To see example plugins, refer to this repository.
For creating your own plugins, you may find the Template Repository helpful.
This project makes use of the work of several other open-source projects:
OpenRVL, an open source reimplementation of the Revolution SDK
BrawlHeaders, an open source collaborative repository for Brawl header files
elf2rel, a utility for converting .elf
files to .rel
files while linking them against a symbol map.
The code contained in this repository, not including the external libraries, is licensed under the MIT license. For more information, see the file LICENSE
on the root of the repository.
For license information on the external libraries / repositories used by this project, please see the respective project's repository listed in the CREDITS
section.