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
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:
```sh
sudo apt install -y binutils-mips-linux-gnu build-essential git pkgconf python3 gcc-mips-linux-gnu
```
#### Build:
```sh
# if you have more cores available, you can increase the -j parameter
make -j4 TARGET_N64=1
```
#### ROM location:
```sh
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](https://f-droid.org/en/packages/com.termux/)
Make sure you use this version, as the Google Play version is outdated.
#### Install build dependencies
```sh
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.
```sh
termux-setup-storage
cp /sdcard/path/to/your/baserom.z64 ./baserom.us.z64
```
#### Install external dependencies
```sh
cd platform/android/ && ./getkhrplatform.sh && ./getSDL.sh && cd ../..
```
#### Build
```sh
# 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.
```sh
cp build/us_android/sm64.us.f3dex2e.apk /sdcard/sm64.us.f3dex2e.apk
```