mirror of
https://github.com/encounter/aurora.git
synced 2026-07-09 18:19:33 -07:00
c21a7f75ab1a2fd8ea896fa45b1005b2f903de77
* Add experimental mouse API * Add aurora::core library for aurora::ms * Add absl::flat_hash_map library for aurora::ms * Add comment clarifying MS is an aurora extension * Clear MSStatus::buttons to prevent spurious values * Minor cleanup for MSRead and MS_BUTTON_* bits * Switch to Poll -> Read paradigm * Clear mouse scroll state before polling for events
Aurora
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.
Features
- GX compatibility layer
- Graphics API support: D3D12, Vulkan, Metal
- Application layer using SDL
- Runs on Windows, Linux, macOS, iOS, tvOS, Android
- 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
GX
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.
PAD
The PAD compatibility layer utilizes SDL_GameController to automatically support & provide mappings for hundreds of controllers across all platforms.
Languages
C++
81.3%
C
15.7%
CMake
2.7%
Objective-C++
0.3%