A fork of sm64-port that focuses on QoL improvements and customizability.
Find a file
2021-04-06 23:44:44 +03:00
actors Refresh 10.1 2020-06-17 22:14:59 -04:00
asm Refresh 12 2020-09-20 11:15:47 -04:00
assets Refresh 3 2019-11-03 14:36:27 -05:00
bin Refresh 10 2020-06-02 12:44:34 -04:00
data Refresh 10 2020-06-02 12:44:34 -04:00
doxygen init2 2019-08-25 00:46:40 -04:00
include First public release 2021-04-05 01:25:50 +03:00
levels A ton of fixes and changes 2021-04-03 00:02:58 +03:00
lib Refresh 12 2020-09-20 11:15:47 -04:00
rsp Refresh 10 2020-06-02 12:44:34 -04:00
sound Refresh 10 2020-06-02 12:44:34 -04:00
src v1.0.1 Update 2021-04-06 02:35:33 +03:00
text Attempting to update to the latest version of the port 2021-03-18 19:37:19 +03:00
tools Merge branch 'master' of https://github.com/MorsGames/sm64-port 2021-03-18 19:41:27 +03:00
.clang-format Refresh 1 2019-09-01 15:50:50 -04:00
.clang-tidy Refresh 1 2019-09-01 15:50:50 -04:00
.gitattributes Refresh 1 2019-09-01 15:50:50 -04:00
.gitignore Port initial commit 2020-06-18 11:58:18 +02:00
assets.json Refresh 10.1 2020-06-17 22:14:59 -04:00
CHANGES Refresh 12 2020-09-20 11:15:47 -04:00
charmap.txt refresh 5 2020-01-03 10:38:57 -05:00
charmap_menu.txt refresh 5 2020-01-03 10:38:57 -05:00
create_res.sh Some additions, mostly camera 2021-03-30 01:36:16 +03:00
diff.py Refresh 12 2020-09-20 11:15:47 -04:00
diff_settings.py Refresh 8 2020-04-03 14:57:26 -04:00
Dockerfile Update Dockerfile for default build (#12) 2021-02-03 01:50:41 -08:00
Doxyfile refresh 4 2019-12-01 21:52:53 -05:00
extract_assets.py Add support for BSD 2020-07-17 20:05:33 +02:00
first-diff.py Refresh 10 2020-06-02 12:44:34 -04:00
format.sh init2 2019-08-25 00:46:40 -04:00
icon.rc Tons of new things, but mostly a revamp of the stay in level setting 2021-03-31 05:32:05 +03:00
icon.res Some additions, mostly camera 2021-03-30 01:36:16 +03:00
Jenkinsfile refresh 6 2020-02-03 00:51:26 -05:00
Makefile Small fixes to the HUD 2021-03-31 11:56:28 +03:00
Makefile.split Refresh 10 2020-06-02 12:44:34 -04:00
README.md FAQ changes and other minor improvements to readme 2021-04-06 23:44:44 +03:00
rename_sym.sh Refresh 7 2020-03-01 22:42:52 -05:00
sm64.eu.sha1 init2 2019-08-25 00:46:40 -04:00
sm64.jp.sha1 init2 2019-08-25 00:46:40 -04:00
sm64.ld Refresh 12 2020-09-20 11:15:47 -04:00
sm64.sh.sha1 Refresh 7 2020-03-01 22:42:52 -05:00
sm64.us.sha1 init2 2019-08-25 00:46:40 -04:00
star.ico Some additions, mostly camera 2021-03-30 01:36:16 +03:00
undefined_syms.txt Refresh 8 2020-04-03 14:57:26 -04:00

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&param=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

  1. Install and update MSYS2, following the directions listed on https://www.msys2.org/.
  2. 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.
  1. Clone the repo with git clone https://github.com/MorsGames/sm64-port.git, then enter it with cd sm64-port.
  2. Place a Super Mario 64 ROM called baserom.us.z64 into the project folder for asset extraction.
  3. Run make to build. You can add -j4 to improve build speed (hardware dependent based on the amount of CPU cores available).
  4. The executable binary will be located at build/us_pc/sm64.us.f3dex2e.exe.

Linux (Untested!)

  1. Install prerequisites (Ubuntu) with sudo apt install -y git build-essential pkg-config libusb-1.0-0-dev libsdl2-dev.
  2. Clone the repo with git clone https://github.com/MorsGames/sm64-port.git.
  3. Place a Super Mario 64 ROM called baserom.us.z64 into the project folder for asset extraction.
  4. Run make to build. You can add -j4 to improve build speed (hardware dependent based on the amount of CPU cores available).
  5. 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.