sm64dx is a community-driven decompilation of Super Mario 64 covering five regional releases. Contributions of all kinds are welcome — from labeling variables and documenting structs to matching functions and fixing bugs. The project is maintained through GitHub pull requests and coordinated on Discord.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Project516/sm64dx/llms.txt
Use this file to discover all available pages before exploring further.
Before you start
For small fixes, you can open a pull request directly. For larger or architectural changes, open an issue first so the team can discuss the approach before you invest time implementing it.Join the official Discord at discord.gg/DuYH3Fh to ask questions, coordinate with other contributors, and stay up to date with project decisions.
Contribution workflow
Create a feature branch
Always work on a dedicated branch rather than committing directly to
main. Use a descriptive name that reflects the scope of your change:Make your changes
Edit source files under Build artifacts are written to the
src/, include/, enhancements/, or wherever your change applies. Refer to the code style guide for formatting rules and naming conventions.Build the project to verify your changes compile and, where applicable, produce a matching ROM:build/ directory.Run clang-format
Run the project’s formatting script before committing. This applies the You can also format individual files:Pull requests that do not pass formatting checks will be asked to reformat before merging.
.clang-format rules to all C source files in src/, lib/src/, and enhancements/:Open a pull request
Push your branch and open a pull request against the main branch. Include a clear description of what you changed and why. Reference any related issues with
Closes #<number> or Relates to #<number>.For labeling and documentation PRs, see the FAQ for guidance on what to include.