Libsm64是一个开源项目,将《超级马里奥64》的运动和渲染代码通过SM64反编译项目的逆向工程成果封装为共享库[1]。该项目为开发者提供了清晰的API接口,使其能够将马里奥角色集成到现有游戏引擎或系统中[1]。
项目支持广泛的平台和语言绑定[1]。开发者可通过Rust、Odin和C#绑定使用该库,同时还提供了面向主流游戏引擎的集成方案,包括Unity插件、Godot附加组件、Game Maker 8扩展以及Unity MelonLoader模组和BepInEx插件[1]。此外,项目还包含Blender附加组件,支持在三维建模软件中使用相关功能[1]。
Libsm64的部署和编译相对灵活[1]。开发者可通过运行make命令进行构建,并支持通过设置LIBSM64_MUSL=1标志来编译支持musl libc的版本[1]。项目依赖SDL2和GLEW库,在Ubuntu系统上对应的包名为libsdl2-dev和libglew-dev[1]。此外,项目还支持WebAssembly编译,开发者可通过emmake make CC=emcc命令生成相应对象[1]。
使用该库的前置要求是在项目根目录放置名为baserom.us.z64的《超级马里奥64》美版ROM文件[1]。运行时系统将加载此官方ROM以获取纹理和动画数据[1]。
Libsm64 is an open-source project that extracts the movement and rendering code from Super Mario 64—reverse-engineered through the SM64 decompilation initiative—and packages it as a shared library for integration into external game engines and systems.[1] The project provides a clean API interface that enables developers to embed the Mario character into existing platforms without reimplementing core gameplay mechanics.[1]
The library supports bindings and plugins across multiple programming languages and game engines, including Rust, Odin, Unity, Godot, Game Maker, and Blender.[1] It also offers specialized extensions such as MelonLoader and BepInEx mods for Unity, as well as C# bindings for broader compatibility.[1] At runtime, the library loads texture and animation data from an official Super Mario 64 US ROM file, which must be placed in the repository root directory as baserom.us.z64.[1]
Building the library requires SDL2 and GLEW dependencies (libsdl2-dev and libglew-dev on Ubuntu) and is accomplished by running make.[1] For specialized builds, developers can enable musl libc support with the LIBSM64_MUSL=1 flag, or compile to WebAssembly using emmake make CC=emcc.[1]