80e674cc21 | ||
---|---|---|
.github/ISSUE_TEMPLATE | ||
actors | ||
asm | ||
assets | ||
bin | ||
data | ||
doxygen | ||
enhancements | ||
include | ||
levels | ||
lib | ||
sound | ||
src | ||
text | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.gitattributes | ||
.gitignore | ||
CHANGES | ||
Dockerfile | ||
Doxyfile | ||
Jenkinsfile | ||
Makefile | ||
Makefile.split | ||
README.md | ||
README_es_ES.md | ||
README_zh_CN.md | ||
SAVE_FORMAT.MD | ||
asmdiff.jp.sh | ||
asmdiff.us.sh | ||
assets.json | ||
build.sh | ||
c2obj.py | ||
charmap.txt | ||
charmap_menu.txt | ||
diff.py | ||
diff_settings.py | ||
extract_assets.py | ||
first-diff.py | ||
format.sh | ||
obj2c.py | ||
pisetup.sh | ||
rename_sym.sh | ||
sm64.eu.sha1 | ||
sm64.jp.sha1 | ||
sm64.ld | ||
sm64.sh.sha1 | ||
sm64.us.sha1 | ||
undefined_syms.txt |
README.md
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
.) - Recent changes in Nightly have moved the save and configuration file path to
%HOMEPATH%\AppData\Roaming\sm64pc
on Windows and$HOME/.local/share/sm64pc
on Linux. This behaviour can be changed with the--savepath
CLI option. For example--savepath .
will read saves from the current directory (which not always matches the exe directory, but most of the time it does);--savepath '!'
will read saves from the executable directory.
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.