Remember how cool smlinux was? It's now time to bring it back (kinda).
In short, smbuilder (stylized as all lowercase) is your swiss-army-knife rust crate that provides an interface for the compilation, management and modification of various ports within the family of ports of Super Mario 64 to the PC.
It aims to support:
- An interface for compiling the PC ports (running the C compiler, configuring options, etc.)
- DynOS Datapacks (for ports that support it such as sm64ex-coop and Render96ex)
- Applying mods and add-ons (patches, texture packs, etc.)
- Scripts to be ran post-build
- A build spec in yaml for reproducible builds
One of the project's goals is to also reach near feature-parity to sm64pcBuilder2 on Windows, so unix-like platform users can experience the same features as with that app, under a freedom-respecting (open source) license, too.
This project is licensed under the Mozilla Public License version 2.0. You can view the full license in the LICENSE.md
file in the root of the project.
The only working implementation of it as of now is the CLI found in the root of the project. One must manually write a spec as opposed to having one generated by some tool.
You must:
- Create a directory
- write an
smbuilder.yaml
with it
before issuing path/to/smbuilder-cli path/to/folder
to start the build. Do expect bugs, because this is incomplete software.
Completed | Task | Priority |
---|---|---|
yes | redo errors | High |
no | redo documentation | Low |
no | implement patches | High |
no | implement uninstallation of add-ons (patches, packs etc.) | Medium |
no | write examples | Low |