Libsm64: Mario 64 as a library for use in external game engines
Libsm64 is a software library that allows developers to integrate Super Mario 64's movement and rendering code into external game engines. It requires users to provide their own official ROM file to extract necessary assets for legal and functional reasons.
Why it matters
It enables modders and indie developers to leverage high-quality legacy game mechanics in modern projects, bridging the gap between classic emulation and contemporary game development.
The purpose of this project is to provide a clean interface to the movement and rendering code which was reversed from SM64 by the SM64 decompilation project , so that Mario can be dropped in to existing game engines or other systems with minimal effort. This project produces a shared library file containing mostly code from the decompilation project, and loads an official SM64 ROM at runtime to get Mario's texture and animation data, so any project which makes use of this library must ask the user to provide a ROM for asset extraction.
The entire external-facing API of the shared library can be found in libsm64.h . Any client project making use of the library must only include that header and load the library. There's a minimal example project under the test directory as well, demonstrating usage of the library.
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in