actors | ||
asm | ||
assets | ||
bin | ||
data | ||
doxygen | ||
include | ||
levels | ||
lib | ||
rsp | ||
sound | ||
src | ||
text | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.gitattributes | ||
.gitignore | ||
assets.json | ||
CHANGES | ||
charmap.txt | ||
charmap_menu.txt | ||
create_res.sh | ||
diff.py | ||
diff_settings.py | ||
Dockerfile | ||
Doxyfile | ||
extract_assets.py | ||
first-diff.py | ||
format.sh | ||
icon.rc | ||
icon.res | ||
Jenkinsfile | ||
Makefile | ||
Makefile.split | ||
README.md | ||
rename_sym.sh | ||
sm64.eu.sha1 | ||
sm64.jp.sha1 | ||
sm64.ld | ||
sm64.sh.sha1 | ||
sm64.us.sha1 | ||
star.ico | ||
undefined_syms.txt |
Super Mario 64 Plus
Super Mario 64 Plus is a fork of sm64-port that focuses on customizability and aims to add features that not only fix some of the issues found in the base game but also enhance the gameplay overall with extra options.
These features include (but not limited to):
- More responsive controls
- Improved camera
- Extended moveset
- The ability to continue the level after getting a star
- Optional extra modes
- 60FPS support via interpolation
- Various bug fixes
Download the launcher from MFGG: https://www.mfgg.net/?act=resdb¶m=02&c=2&id=38190
If you need support, please head to the Super Mario Flashback official Discord server: http://discord.mors-games.com/
This repo does not include all the assets necessary for compiling the game. A prior copy of the game is required to extract the assets. Binaries of the game itself will not be distributed for this very reason.
You can also build the game manually if you prefer to do so, or if you're not on a Windows platform. To do that, follow the instructions below.
Features that might get added in the future:
- Discord Rich Presence support
- Smoother vertical camera movement
- Rumble
- Odyssey-like rolling
- Custom texture pack support
- Full OpenGL and SDL support
FAQ
Q: I can't build. I'm getting an error!
A: You can try a few things. Try reinstalling MSYS2 and deleting the SM64Plus folder first. Disabling your antivirus could help as well. If all else fails, just restart your computer. If those don't help, you can ask for help on the Discord server.
Q: I could build, but the game doesn't launch.
A: It seems like reinstalling MSYS2 and deleting the SM64Plus folder fixes the issues for most people. Disabling your antivirus could also help in some cases. If all else fails, you can try the old "restarting your computer" trick.
If you're still stuck after trying all that, you can post your error to the #help-me channel of the Discord server.
Q: The game is running too fast!
A: You can try to limit the game's FPS using Nvidia's control panel or other 3rd party tools. Make sure that you limit the "sm64.us.f3dex2e.exe"'s frame rate, and not the launcher.
Q: My controller doesn't work in the game. What do I do?
A: The game itself doesn't have support for DirectInput controllers yet. You can add it to your Steam library, which seems to make most controllers work. You can also use a tool like DS4Windows, BetterJoyForCemu, or 360ce depending on your controller.
Q: Can I use mods with this? What about Render96?
A: There's no official support for mods for other PC port forks, and there (most likely) will never be unfortunately. This includes Render96 too, there are no current plans for adding support for it here.
Q: Can I have a logo of the game?
A: Sure. Shoutouts to @Benial for doing such a good job with it.
Q: Is there Linux or Mac support?
A: Nope. It might get Linux support in the future, but not yet.
Q: Is your game safe?
A: Yeah. If your antivirus is giving you any warnings, it's most likely false. You especially shouldn't trust Chrome on this kind of stuff.
Q: Will Nintendo take this game down?
A: https://twitter.com/OfficialMFGG/status/1121019925521489920
Changelog
v1.0.1 (06/04/2021):
Launcher:
- Disabled DirectInput support because the game itself doesn't support it yet, which causes confusion.
- Made it possible to reload all settings from the presets menu.
- Made it possible to build the game while MSYS2 is installed on a different location.
- Made keyboard configuration less cumbersome.
- Made the wording during the initial setup a bit clearer.
Game itself:
- Fixed certain enemies (like Pokeys and Goomba triplets) not spawning when the draw distance is disabled.
- Fixed King Whomp's collisions not unloading after his defeat.
- Did other minor fixes.
v1.0.0 (05/04/2021)
- Initial release.
Manual Building
Windows
- Install and update MSYS2, following the directions listed on https://www.msys2.org/.
- Launch MSYS2 MinGW and install required packages depending on your machine (do NOT launch "MSYS2 MSYS"):
- 64-bit: Launch "MSYS2 MinGW 64-bit" and install:
pacman -S git make python3 mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2 mingw-w64-x86_64-glew
- 32-bit (untested, but should also work on 64-bit machines): Launch "MSYS2 MinGW 32-bit" and install:
pacman -S git make python3 mingw-w64-i686-gcc mingw-w64-i686-SDL2 mingw-w64-i686-glew
- Do not install
gcc
.
- Clone the repo with
git clone https://github.com/MorsGames/sm64-port.git
, then enter it withcd sm64-port
. - Place a Super Mario 64 ROM called
baserom.us.z64
into the project folder for asset extraction. - Run
make
to build. You can add-j4
to improve build speed (hardware dependent based on the amount of CPU cores available). - The executable binary will be located at
build/us_pc/sm64.us.f3dex2e.exe
.
Linux (Untested!)
- Install prerequisites (Ubuntu) with
sudo apt install -y git build-essential pkg-config libusb-1.0-0-dev libsdl2-dev
. - Clone the repo with
git clone https://github.com/MorsGames/sm64-port.git
. - Place a Super Mario 64 ROM called
baserom.us.z64
into the project folder for asset extraction. - Run
make
to build. You can add-j4
to improve build speed (hardware dependent based on the amount of CPU cores available). - The executable binary will be located at
build/us_pc/sm64.us.f3dex2e
.
Additional options
- You can target OpenGL by using
make ENABLE_OPENGL=1
. CURRENTLY NONFUNCTIONAL DUE TO ISSUES WITH SDL! Help is needed to fix this!
Credits.
- Mors: Most new things you see here.
- Benial: Logo.
- sm64-port Team: The port that was used as a base for this project.
- A bunch of clever folks: The original decompilation used for the port.
- Emil: The original 60FPS patch.
- Kaze Emanuar: Providing certain bug fixes.
Parts of sm64ex were also used as a reference for this project.
Special thanks to Superstarxalien, Benial, Triforce141, MrMovie, and Shubs for testing and feedback.
Please let me know if I'm forgetting to credit you.