/sm64ex-alo

An extended custom version of Super Mario 64 with extra stuff made by yours truly. Based of sm64ex and updated to Refresh 15+

Primary LanguageC

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) (SDL1/SDL2 only, DirectX Mouse not implemented yet)
  • 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/AloXado320/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 777 .

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 libcapstone-dev 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

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

Install apk:

xdg-open build/us_android/sm64.us.f3dex2e.apk