2026-05-05 12:12:09 -06:00
|
|
|
<div align="center">
|
|
|
|
|
<img src="assets/aurora.png" alt="Logo" width="640">
|
|
|
|
|
</div>
|
2026-05-05 12:14:28 -06:00
|
|
|
<br/>
|
2022-07-27 11:25:25 -04:00
|
|
|
|
2026-05-05 12:12:09 -06:00
|
|
|
Aurora is a source-level GameCube & Wii compatibility layer intended for use with game decompilation projects.
|
2022-07-27 11:25:25 -04:00
|
|
|
|
2026-05-05 12:12:09 -06:00
|
|
|
Originally developed for use in [Metaforce](https://github.com/AxioDL/metaforce), a Metroid Prime reverse engineering project.
|
2026-05-14 21:59:12 -07:00
|
|
|
It now powers several completed source ports, including [Dusklight](https://github.com/TwilitRealm/dusklight).
|
2022-07-27 11:25:25 -04:00
|
|
|
|
|
|
|
|
### Features
|
|
|
|
|
|
2026-05-05 12:12:09 -06:00
|
|
|
- Application layer using SDL3
|
|
|
|
|
- Runs on Windows, Linux, macOS, iOS, tvOS, Android
|
2022-07-27 11:25:25 -04:00
|
|
|
- GX compatibility layer
|
2026-05-05 12:12:09 -06:00
|
|
|
- Graphics API support: D3D12, Vulkan, Metal
|
|
|
|
|
- Highly accurate and performant GX implementation
|
|
|
|
|
- Robust pipeline cache system with "transferable" cache support for releases
|
|
|
|
|
- Dolphin-compatible texture pack support
|
|
|
|
|
- Widescreen & resolution scaling support
|
|
|
|
|
- Custom APIs for offscreen rendering
|
2022-07-27 11:25:25 -04:00
|
|
|
- PAD compatibility layer
|
2026-05-05 12:12:09 -06:00
|
|
|
- Utilizes `SDL_Gamepad` for wide controller support, including GameCube controller adapters
|
|
|
|
|
- Automatically saves and loads controller bindings and port mappings
|
|
|
|
|
- Gyro & mouse support
|
|
|
|
|
- DVD compatibility layer
|
|
|
|
|
- Utilizes [nod](https://github.com/encounter/nod) to support all GameCube/Wii disc image types, including RVZ
|
|
|
|
|
- CARD compatibility layer
|
|
|
|
|
- Full compatibility with Dolphin `.gci` and `.raw` for game saves
|
|
|
|
|
- [Dear ImGui](https://github.com/ocornut/imgui) built-in for simple debug UIs
|
|
|
|
|
- [RmlUi](https://github.com/mikke89/RmlUi) built-in for full-fledged HTML/CSS-based UIs
|
2022-07-27 11:25:25 -04:00
|
|
|
|
2026-05-05 12:12:09 -06:00
|
|
|
### Graphics
|
2022-07-27 11:25:25 -04:00
|
|
|
|
|
|
|
|
The GX compatibility layer is built on top of [WebGPU](https://www.w3.org/TR/webgpu/), a cross-platform graphics API
|
2026-05-05 12:12:09 -06:00
|
|
|
abstraction layer. WebGPU allows targeting all major platforms simultaneously with minimal overhead. The WebGPU
|
|
|
|
|
implementation used is Chromium's [Dawn](https://dawn.googlesource.com/dawn/).
|
2022-07-27 11:25:25 -04:00
|
|
|
|
2026-05-05 12:12:09 -06:00
|
|
|

|
2022-07-27 11:25:25 -04:00
|
|
|
|
2026-05-14 14:40:12 -07:00
|
|
|
### Building
|
|
|
|
|
|
|
|
|
|
See [docs/building.md](docs/building.md) for build instructions, CMake integration, and configuration options.
|
|
|
|
|
|
2026-05-05 12:12:09 -06:00
|
|
|
### License
|
2022-07-27 11:25:25 -04:00
|
|
|
|
2026-05-05 12:12:09 -06:00
|
|
|
Aurora is licensed under the [MIT License](LICENSE).
|