Skip to content

Latest commit

 

History

History
186 lines (121 loc) · 11.5 KB

README_android.md

File metadata and controls

186 lines (121 loc) · 11.5 KB

How to play sm64ex-coop on Android

Video Tutorial:

link

  1. Install the F-Droid App Store by going here and touching the "DOWNLOAD F-DROID" button (source code). Then touch the file from your downloads:

image

  1. You might get a warning that "your phone is not allowed to install unknown apps". If you trust F-Droid, touch "SETTINGS":

image

  1. Then touch to enable "Allow from this source", and touch the back button:

image

  1. Now you can touch "INSTALL" for F-Droid:

image

  1. Open F-Droid and wait for a few minutes. The first time you use F-Droid, it has to download a list of all available apps from the internet. This can take a long time, but when you no longer see "Updating repositories" at the top, it is finished:

image

  1. Search "Termux" and touch the blue download button on the app that is exactly named "Termux", not any of the others:

image

  1. After it has finished downloading, an "INSTALL" button will appear, now touch that (source code):

image

  1. You might see a warning very similar to the one covered in steps 5-7. If you trust Termux, repeat that process.

  2. Open Termux and wait until the "installing bootstrap packages" message disappears. Then, the first thing you need to do is type pkg upgrade -y and press Enter (or "Go" as some touch keyboards label it):

image

  1. When it is first installed, Termux frequently has outdated mirrors. If you see any errors like these (will have a red E:), then type termux-change-repo next, and press Enter. If you don't see any errors, or if you see "The default action is to keep your current version" skip to step 14:

image image

  1. Press Enter again when you see this first screen:

image

  1. At this screen, use the arrow keys above your normal touch keyboard to navigate up and down, then press Space to select a different mirror, then press Enter to confirm:

image

  1. The red E: should be gone from the black screen with white text; if it's not, repeat steps 10-12 until it's gone. Then, type pkg upgrade -y and press Enter:

image

  1. You will see repeated messages like this, which end with "The default action is to keep your current version", followed by some letters. Press Shift -> I -> Enter every time you see this, because this is a new installation that doesn't contain any custom settings you created:

image

  1. The pkg upgrade will take some time. After it has finished, you will see ~ $ again. Give software running as Termux's Android-assigned user permission to access /storage/emulated/0. A popup will appear; touch "ALLOW":
termux-setup-storage

image

  1. Install dependencies:

WARNING: As of 5/5/23, the Termux package libglvnd itself (not libglvnd-dev) now has a compile-time conflict with this app. If you have it installed during your build, then you will get an error at run-time: "'libGLESv2.so.2' not found". It's OK if you see this: image If you see that error, just ignore it and continue to pkg install. It's just important for anyone who does have libglvnd to remove it. libglvnd is only for changing a setting that's directly analogous to what's referred to on Windows builds of sm64ex as "changing the render API". If you don't want to remove libglvnd because you need it, then you should follow this separate guide I made for building the game with libglvnd installed.

pkg remove libglvnd
pkg install git wget make python getconf zip \
apksigner clang binutils libglvnd-dev aapt which
  1. Clone this repository and place your baserom.us.z64 in it. If you don't already have a baserom.us.z64, here's the guide to obtain one:

Replace /storage/emulated/0/baserom.us.z64 with the current location of your baserom.us.z64, or if you don't know the full path, try finding it with the "Amaze" file browser from step 19 and moving it to /storage/emulated/0 before proceeding.

git clone --recursive \
https://github.com/robertkirkman/sm64ex-coop.git
cp /storage/emulated/0/baserom.us.z64 \
sm64ex-coop/baserom.us.z64
cd sm64ex-coop
  1. Build this sm64ex-coop fork. This will take a while. IMPORTANT: When it is finished, copy the .apk to /storage/emulated/0:

If you get a strange error like make[1]: *** read jobs pipe: Try again. Stop., run make clean, then try the build again with make instead of make -j$(nproc).

make -j$(nproc)
cp build/us_pc/sm64.us.apk /storage/emulated/0
  1. Install "Amaze" (source code) from F-Droid, open it, and allow all permissions:

image image image image image

  1. Install the sm64.us.apk by scrolling to the bottom of the /storage/emulated/0 folder, touching the sm64.us.apk, and allowing all permissions:

image image image image image image

  1. To play with others online, tell them to follow this guide first, then either port forward or follow the VPN guide.

  2. To update the app when I release updates, assuming you haven't deleted anything from Termux, use these commands, then do step 20 again. You might need to uninstall the older version of the com.owokitty.sm64excoop app (not Termux) first:

pkg upgrade -y
cd sm64ex-coop
git pull
git submodule update --init --recursive
make
cp build/us_pc/sm64.us.apk /storage/emulated/0

To install Lua mods, put them in /storage/emulated/0/com.owokitty.sm64excoop/user/mods, or /storage/emulated/0/Android/data/com.owokitty.sm64excoop/files/user/mods if you don't accept the storage permission request.

  • Default mods:

NOTE: Alongside the feature update to beta 33, I have finally implemented automatic installation of the default mods on Android into /storage/emulated/0/com.owokitty.sm64excoop/mods/. If you previously installed the default mods using the below command, to use the automatically installed new versions of the default mods, delete each previously-installed outdated default mod from /storage/emulated/0/com.owokitty.sm64excoop/user/mods/ because that directory takes priority.

cp -r ~/sm64ex-coop/mods/* /storage/emulated/0/com.owokitty.sm64excoop/user/mods/
wget https://sm64ex-coopmods.com/wp-content/uploads/2023/02/twisted-adventures.zip
unzip twisted-adventures.zip -d /storage/emulated/0/com.owokitty.sm64excoop/user/mods/

To install DynOS packs, put them in /storage/emulated/0/com.owokitty.sm64excoop/dynos/packs, or /storage/emulated/0/Android/data/com.owokitty.sm64excoop/files/dynos/packs if you don't accept the storage permission request. Texture packs' gfx folders also work here as long as they are not too intensive. Create the folder if it doesn't exist already.

pkg install p7zip
wget https://web.archive.org/web/20231228171913if_/https://sm64ex-coopmods.com/wp-content/uploads/2023/01/Render96_Chars.zip
7z x Render96_Chars.zip
mkdir -p /storage/emulated/0/com.owokitty.sm64excoop/dynos/packs/
cp -r Render96_Chars/Render96\ Chars/ /storage/emulated/0/com.owokitty.sm64excoop/dynos/packs/
pkg install rsync
mkdir -p /storage/emulated/0/com.owokitty.sm64excoop/dynos/packs
git clone -b sm64ex-and-others https://github.com/pokeheadroom/RENDER96-HD-TEXTURE-PACK.git
rsync -r RENDER96-HD-TEXTURE-PACK/gfx /storage/emulated/0/com.owokitty.sm64excoop/dynos/packs
mkdir -p /storage/emulated/0/com.owokitty.sm64excoop/dynos/packs/gfx/textures/touchcontrols/
cd /storage/emulated/0/com.owokitty.sm64excoop/dynos/packs/gfx/textures/touchcontrols/
wget https://raw.githubusercontent.com/JustOlaia/sm64ex-coop-apk/coop/textures/touchcontrols/touch_button.rgba16.png
wget https://raw.githubusercontent.com/JustOlaia/sm64ex-coop-apk/coop/textures/touchcontrols/touch_button_dark.rgba16.png

Sometimes, merging another texture pack into the same gfx folder after having already used it once will result in the newly added textures not loading. In this situation, delete all the .tex files to force them to be regenerated, then keep relaunching the app until all the textures load:

rm -rf /storage/emulated/0/com.owokitty.sm64excoop/dynos/packs/gfx/*.tex