# NOTICE

## Original licences and scope

`LICENSE` restores PrimeDecomp's original CC0 dedication verbatim. It speaks for its authors' work, not Nintendo's assets or
retail code.

`packaging/licenses/native-port-MIT.txt` preserves the native port's MIT grant over **this project's own work**: the platform layer
under `platform/`, the port-only sources (`src/**/Port*.cpp`, `*PortStub.cpp`),
the build and packaging scripts, the tests, the tooling under `tools/`, and the
documentation under `docs/`. Files with their own licence headers keep those terms.

## What it does not cover

**The game code is not covered, and cannot be.** `src/` and `include/` are the
PrimeDecomp decompilation of *Metroid Prime 2: Echoes* (`G2ME01`, USA v1.00),
recompiled here for the host. That material derives from Nintendo's retail
executable, no permission to redistribute it is asserted here, and the MIT
grant above deliberately stops at this project's own code rather than sweeping
those directories in. Upstream PrimeDecomp's own dedication of its work is kept
as `LICENSE`; it speaks for the decompilation's authors, not for
Nintendo. Anyone who obtained this repository obtained a working copy; that is
a separate question from what may be redistributed, and it is one only the
copyright holder can answer.

**The console SDK and runtime are not covered either.** `extern/sdk/` holds the
decompiled Dolphin (GameCube) SDK, the Metrowerks C library headers and the
CodeWarrior runtime. Like `src/` and `include/`, they come from the retail
executable and its toolchain, belong to their owners, and are outside the MIT
grant. The same goes for the per-version symbol and split data under `config/`,
which describes that executable.

**No game assets may be packaged with a build.** Not the disc image, not the
executable or its REL modules, not extracted PAK/STRG data. The build takes no
game data at all; the port reads the user's own disc image at run time, and
`tools/make_appimage.sh` says so in its own help text. The only images the port
ships are its own icon (`packaging/varia-bolt.svg`) and controller-button
glyphs built from CC0 sources (`tools/prompt_icons/`).

## PrimedGun Echoes' VR layer

This fork adds a VR layer: `platform/vr/` and `platform/include/vr/`, the
stereo, foveation and interop files it adds to `extern/aurora/` (and the Dawn
patches under `quest/dawn/`), the PC and Quest launchers (`launcher/`,
`quest/`), and their tests. Each of those files says
`SPDX-License-Identifier: MIT`: they are under the MIT License, on the terms
`packaging/licenses/native-port-MIT.txt` states, Copyright (c) 2026 PrimedGun contributors. Parts of the
launchers derive from PrimedGun's own launcher (the Dolphin-based PrimedGun
project), whose authors relicensed that work here. Like the rest of this
project's own work, the MIT grant does not reach the game code the VR layer is
built into.

## Third-party components, which keep their own terms

The root dedication and native-port MIT grant do not replace these terms; each is under its own licence, which
travels with any build that contains it.

| Component | Licence | Where its terms are |
|---|---|---|
| Aurora — windowing, WebGPU/Dawn plumbing | MIT | `extern/aurora/LICENSE` |
| MusyX — audio mixer | MIT | `extern/musyx-port/LICENSE` |
| SDL3 | zlib | fetched at configure time, `build/*/_deps/sdl-src/` |
| Dawn — WebGPU implementation (prebuilt), with its bundled third-party code | BSD-3-Clause and others, © The Dawn & Tint Authors | `packaging/licenses/dawn.txt` (the prebuilt archive has none) |
| nod — disc image reader (prebuilt) | MIT or Apache-2.0, © Luke Street | `packaging/licenses/nod-MIT.txt`, `nod-Apache-2.0.txt` |
| Abseil | Apache-2.0 | fetched, `abseil-cpp-src/` |
| Dear ImGui | MIT | fetched, `imgui-src/` |
| fmt | MIT | fetched, `fmt-src/` |
| xxHash | BSD-2-Clause | fetched, `xxhash-src/` |
| SQLite | public domain | fetched, `sqlite3-src/` (no licence file) |
| Tracy — profiler client | BSD-3-Clause | fetched, `tracy-src/` |
| Zstandard (Android) | BSD-3-Clause or GPL-2.0 | fetched, `zstd-src/` |
| GamepadMotionHelpers — gyro calibration | MIT, © Julian "Jibb" Smart | `extern/GamepadMotionHelpers/LICENSE` |
| libadrenotools — loads custom Vulkan drivers on Android | BSD-2-Clause, © Billy Laws | `extern/adrenotools/LICENSE` |
| liblinkernsbypass — used by libadrenotools | BSD-2-Clause, © Billy Laws | `extern/adrenotools/lib/linkernsbypass/LICENSE` |
| Button prompt icons | Kenney CC0 | `tools/prompt_icons/README.md` |

FreeType and libpng are linked from the system on Linux and are not shipped
there; the Android build fetches and links them (FreeType License or GPL-2.0,
and the libpng licence), and the APK carries their notices.

The notices are collected into what is actually shipped:
`share/licenses/metroid-prime2-port/` in the Linux tarball and the AppImage
(through `tools/collect_licenses.sh`) and `assets/` in the APK. See
`docs/RELEASING.md`.

The separate PrimeDecomp **GPL** recompilation toolchain is not part of this
native link and nothing here is derived from its output. If GPL-covered code
ever does end up in the combined work, the corresponding source and build
material must be provided under the applicable GPL terms.

## Quest updater

`quest/app/src/main/java/org/primedgun/echoes/launcher/ReleaseUpdates.kt` and
`QuestUpdateController.kt` are adapted from PrimedGun
(https://github.com/iChris4/MetroidPrimePortVR) and retain their GPL-3.0-or-later
licence headers. The GPL text is included in
`packaging/licenses/quest-updater-GPL-3.0.txt` and the APK notices.
