mirror of
https://github.com/AloUltraExt/sm64ex-alo.git
synced 2025-01-22 07:32:15 -05:00
An extended custom version of Super Mario 64 with extra stuff made by yours truly. Based of sm64ex and updated to Refresh 16
.github/ISSUE_TEMPLATE | ||
actors | ||
asm | ||
assets | ||
bin | ||
data | ||
doxygen | ||
enhancements | ||
include | ||
levels | ||
lib | ||
platform | ||
rsp | ||
sound | ||
src | ||
text | ||
textures | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.gitattributes | ||
.gitignore | ||
asmdiff.jp.sh | ||
assets.json | ||
c2obj.py | ||
CHANGES | ||
charmap.txt | ||
charmap_menu.txt | ||
defines.mk | ||
diff.py | ||
diff_settings.py | ||
Dockerfile | ||
Doxyfile | ||
extract_assets.py | ||
first-diff.py | ||
format.sh | ||
Jenkinsfile | ||
Makefile | ||
Makefile.split | ||
obj2c.py | ||
pisetup.sh | ||
README.md | ||
rename_sym.sh | ||
SAVE_FORMAT.MD | ||
sm64.cn.sha1 | ||
sm64.eu.sha1 | ||
sm64.jp.sha1 | ||
sm64.ld | ||
sm64.sh.sha1 | ||
sm64.us.sha1 | ||
util.mk |
sm64ex_alo
Fork of sm64pc/sm64ex with additional features.
Changes
- N64 Building - Support for it was removed in sm64ex
- Based of the latest refresh (since sm64ex is stuck on 12)
- Puppycam 2 (sm64ex still has Puppycam 1)
- Quality of life fixes and features (QOL_FIXES=1 and QOL_FEATURES=1 respectively)
- Mouse support for desktop targets (MOUSE_ACTIONS=1)
- Simple debug options menu (EXT_DEBUG_MENU=1)
- Kaze's more objects patch (PORT_MOP_OBJS=1)
Backends included
- Same ones as in sm64ex (macOS - Raspberry Pi Series - Windows - Linux), etc.
- Nintendo 64 along with some slight HackerSM64 changes.
- Nintendo Wii U (by AboodXD)
- Nintendo 3DS (by Fnouwt, mkst)
- Nintendo Switch (by Vatuu, fgsfdsfgs, KiritoDev)
- Android (by VDavid003)
Patches
- Some misc patches for this repo are available here (more incoming)
Building
Clone the repository:
git clone https://github.com/AloUltraExt/sm64ex-alo
cd sm64ex-alo
Note: On Unix systems you may need to do this before doing any changes:
git config core.fileMode false
chmod -R 775 .
Copy baserom(s) for asset extraction:
For each version (jp/us/eu/sh) for which you want to build an executable, put an existing ROM at ./baserom.<VERSION>.z64
for asset extraction.
By default it builds the US version.
To build for N64, click here.
Note: Only tested in WSL, works on (Debian / Ubuntu) as well, other distros untested.
Install build dependencies:
sudo apt install -y binutils-mips-linux-gnu build-essential git pkgconf python3 gcc-mips-linux-gnu
Build:
# if you have more cores available, you can increase the -j parameter
make -j4 TARGET_N64=1
ROM location:
build/us/sm64.us.f3dzex.z64
To build for Android, click here.
Note: Only Termux build is supported.
Install Termux
Install the app from F-Droid here
Make sure you use this version, as the Google Play version is outdated.
Install build dependencies
pkg install git wget make python getconf zip apksigner clang binutils which libglvnd-dev
Copy in your baserom:
Do this using your default file manager (on AOSP, you can slide on the left and there will be a "Termux" option there), or using Termux.
termux-setup-storage
cp /sdcard/path/to/your/baserom.z64 ./baserom.us.z64
Install external dependencies
cd platform/android/ && ./getkhrplatform.sh && ./getSDL.sh && cd ../..
Build
# if you have more cores available, you can increase the -j parameter
# On Termux, TARGET_ANDROID=1 is defined automatically in Makefile
make -j4
Copying and Installing apk:
Do this to move the apk to the root of your storage then open it using a file manager.
cp build/us_android/sm64.us.f3dex2e.apk /sdcard/sm64.us.f3dex2e.apk
- To build for sm64ex platforms, click here.
- To build for Wii U, click here. (TARGET_WII_U=1)
- To build for 3DS, click here. (TARGET_N3DS=1)
- To build for Switch, click here. (TARGET_SWITCH=1)