You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
If we try and initialize anything controller related before the event subsystem is initialized we lose all controllers detected on startup. To solve this we simply wait until the first frame is about to be rendered *then* initialize the controller subsystems
|4 months ago|
|examples||10 months ago|
|extern||9 months ago|
|include||9 months ago|
|lib||4 months ago|
|.clang-format||10 months ago|
|.gitignore||10 months ago|
|.gitmodules||10 months ago|
|CMakeLists.txt||10 months ago|
|GX.md||10 months ago|
|LICENSE||10 months ago|
|README.md||10 months ago|
Aurora is a source-level GameCube & Wii compatibility layer intended for use with game reverse engineering projects.
Originally developed for use in Metaforce, a Metroid Prime reverse engineering project.
- GX compatibility layer
- Graphics API support: D3D12, Vulkan, Metal, OpenGL 4.4+ and OpenGL ES 3.1+
- Planned: deko3d backend for Switch
- Application layer using SDL
- Runs on Windows, Linux, macOS, iOS, tvOS (Android coming soon)
- Audio support with SDL_audio
- PAD compatibility layer
- Utilizes SDL_GameController for wide controller support, including GameCube controllers.
- Planned: Wii remote support
- Dear ImGui built-in for UI
The GX compatibility layer is built on top of WebGPU, a cross-platform graphics API abstraction layer. WebGPU allows targeting all major platforms simultaneously with minimal overhead.
Currently, the WebGPU implementation used is Chromium's Dawn.
See GX API support for more information.
The PAD compatibility layer utilizes SDL_GameController to automatically support & provide mappings for hundreds of controllers across all platforms.