Find a file
fgsfds 1873f7aba5 game now uses non-working directory paths by default
saves by default go into XDG_DATA_HOME/sm64pc

external data is read from the executable directory, if it's not found there on Unix systems the game will attempt to read it from some paths like /usr/local/share/sm64pc

both save data and readonly data fall back to other options in case of a problem

behavior can be overridden by specifying --datapath and --savepath on the CLI

both of those will expand the exclamation point ('!') to the executable path, e. g. --savepath '!/save'
2020-05-25 07:19:35 +03:00
.github/ISSUE_TEMPLATE Update issue templates 2020-05-07 20:46:35 +02:00
actors Added compile-time optional Koopa shorts fix 2020-05-16 09:40:33 -03:00
asm Refresh 8 2020-04-03 14:57:26 -04:00
assets Refresh 3 2019-11-03 14:36:27 -05:00
bin Merge pull request #179 from dernett/fix-fullscreen-text 2020-05-19 03:19:37 +03:00
data Revert "Fixes billboarding-related problems" 2020-05-17 03:29:19 -03:00
doxygen init2 2019-08-25 00:46:40 -04:00
enhancements Remove patch as functionality has been merged 2020-05-14 14:57:47 -03:00
include add option to load textures from external files 2020-05-25 04:22:03 +03:00
levels Removed majority of TARGET_N64 logic from code 2020-05-13 07:57:25 -04:00
lib clean up some toolchain compatibility fixes 2020-05-19 22:22:52 +03:00
sound merge PC port onto the decompile 2020-05-07 20:21:22 +02:00
src game now uses non-working directory paths by default 2020-05-25 07:19:35 +03:00
text refresh 6 2020-02-03 00:51:26 -05:00
tools add option to load textures from external files 2020-05-25 04:22:03 +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 Support for text-based savefiles 2020-05-18 17:44:21 +09:00
asmdiff.jp.sh merge PC port onto the decompile 2020-05-07 20:21:22 +02:00
asmdiff.us.sh init2 2019-08-25 00:46:40 -04:00
assets.json Refresh 8 2020-04-03 14:57:26 -04:00
build.sh Added flag to support only text-based savefiles 2020-05-18 17:46:50 +09:00
c2obj.py correct line endings 2020-05-16 07:36:28 +03:00
CHANGES Refresh 8 2020-04-03 14:57:26 -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
diff.py Refresh 8 2020-04-03 14:57:26 -04:00
diff_settings.py Refresh 8 2020-04-03 14:57:26 -04:00
Dockerfile Fix emsdk install and PATH update 2020-05-10 20:18:04 -07:00
Doxyfile refresh 4 2019-12-01 21:52:53 -05:00
extract_assets.py Better way to detect mingw-w64; fix bettercamera for mingw.org; close 2020-05-15 00:26:56 +08:00
first-diff.py Refresh 8 2020-04-03 14:57:26 -04:00
format.sh init2 2019-08-25 00:46:40 -04:00
Jenkinsfile refresh 6 2020-02-03 00:51:26 -05:00
Makefile game now uses non-working directory paths by default 2020-05-25 07:19:35 +03:00
Makefile.split add option to load textures from external files 2020-05-25 04:22:03 +03:00
obj2c.py correct line endings 2020-05-16 07:36:28 +03:00
pisetup.sh Update to pisetup.sh 2020-05-13 11:35:22 -03:00
README.md Update to add text-save support mention 2020-05-19 12:27:15 -03:00
README_es_ES.md Update README_es_ES.md 2020-05-19 00:04:07 +01:00
README_zh_CN.md Typo in extract_assets.py 2020-05-16 15:44:55 -03:00
rename_sym.sh Refresh 7 2020-03-01 22:42:52 -05:00
SAVE_FORMAT.MD Added savefile format documentation 2020-05-18 19:17:04 +09: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 8 2020-04-03 14:57:26 -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
undefined_syms.txt Refresh 8 2020-04-03 14:57:26 -04:00

sm64pc

OpenGL adaptation of n64decomp/sm64.

Feel free to report bugs and contribute, but remember, there must be no upload of any copyrighted asset. Run ./extract_assets.py --clean && make clean or make distclean to remove ROM-originated content. This port has been made possible mostly thanks to Emill and his n64-fast3d-engine renderer.

Please contribute first to the nightly branch. New functionality will be merged to master once they're considered to be well-tested.

Read this in other languages: Español 简体中文.

Features

  • Native rendering. You can now play SM64 without the need of an emulator.
  • Variable aspect ratio and resolution. The game can now correctly render at basically any window size.
  • Native xinput controller support. On Linux, DualShock 4 has been confirmed to work plug-and-play.
  • Analog camera control and mouse look. (Activate with make BETTERCAMERA=1.)
  • An option to disable drawing distances. (Activate with make NODRAWINGDISTANCE=1.)
  • Model and texture fixes. (Activate with make TEXTURE_FIX=1.)
  • In-game control binding.
  • Skip introductory Peach & Lakitu cutscenes with the --skip-intro CLI option
  • Disabling the HUD.
  • Cheats menu in Options. (Activate with --cheats) Please note that if a cheat asks you to press "L" it's referring to the N64 button. Check your bindings and make sure you have the "L" button mapped to a button in your controller.
  • Text-based save support. (Activate with make TEXTSAVES=1.)

Building

For building instructions, please refer to the wiki.

Make sure you have MXE first before attempting to compile for Windows on Linux and WSL. Follow the guide on the wiki.