github Odrannnn/MetroidPrimePort v0.3.0
Metroid Prime native port 0.3.0

latest releases: v0.46.0, v0.45.0, v0.44.0...
one month ago

Texture packs, dashing under mouse aim, and a round of crash and audio fixes,
including Android closing itself when minimised. Linux, Windows and Android,
all built from one commit (51a580a7).

You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.

What changed

New

  • User texture packs. Put a pack in a user_textures folder in the
    settings folder (or point MP_USER_TEXTURES at one) and it loads over the
    built-in textures. On Android, pick the pack's folder from the overlay:
    Render > Texture pack. A bad pack no longer throws away the one you had.

Controls

  • Dashing works under mouse aim and twin-stick aim. Every jump used to
    count as a grapple jump there, so the dash never fired.
  • Left click is a full A press outside first-person aim, so it lays bombs
    in morph ball and advances text boxes.

Fixes

  • Android: minimising no longer closes the game a few seconds later, and
    font-size or display-size changes no longer restart it.
  • Flaahgra fight: the solar dishes' sound no longer repeats endlessly
    (a short script timer was expiring every frame when cutscenes were skipped
    or the frame rate varied).
  • Corrupted sound after dying fixed: the game-over audio was feeding back
    into itself and then looping a clipped buffer.
  • A rare crash in the audio thread fixed (an uninitialised voice setting),
    a likely cause of random crashes on some boots.
  • More crash fixes found by a memory-checker sweep of every area and layer:
    particle teardown, quitting to the title screen, Archipelago connection
    errors, and button-prompt icon reloads.
  • Archipelago: DeathLink no longer sends back a death it just received.
  • Android: the disc copy goes through a temporary file, so an interrupted
    copy is not mistaken for a good disc, and held touch controls are released
    when the touch overlay is removed.

Downloads

Platform File Notes
Linux MetroidPrime-x86_64.AppImage Self-contained. chmod +x, then run.
Linux MetroidPrimePort.flatpak flatpak install --user ./MetroidPrimePort.flatpak
Linux metroid-prime-port-0.3.0-linux-x86_64.tar.gz Bare binary, textures and licences
Windows metroid-prime-port-0.3.0-windows-x86_64.zip Unzip anywhere; needs a Visual C++ redistributable
Android metroid-prime-port-0.3.0-android-arm64.apk Sideload; arm64-v8a, Android 8+

The APK is signed with the same key as before, so it installs over 0.2.0 and
keeps your save.

Verified, and not

All 15 port tests pass. The Linux binary, AppImage and Flatpak were built here
and report this commit; CI built the Windows zip. The APK carries versionCode 4.
The dash, click, Flaahgra sound and game-over audio fixes were checked in
automated runs on Linux; the crash fixes were checked with AddressSanitizer.
The minimise fix was checked on an Android emulator.

Not yet tested: the minimise fix and the texture-pack picker on a real phone,
the controls with a real gamepad, Windows at runtime, and DeathLink against a
real Archipelago server. Please report anything odd.

Licence

Unchanged. MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.

Don't miss a new MetroidPrimePort release

NewReleases is sending notifications on new releases.