Pieter-Jan Briers f7f3d52cfc Texture loading fixes (#170)
* Implement PNG & arb texture replacements

Fixes #119

For arb textures it's just making sure the file parsing can handle them. Idk if we need to do something special for it.

* Allow non-mipmapped textures to be replaced by mipmapped textures

Some of Henriko's textures (like the cuttable grass) rely on this.

The mipmap bool is no longer part of the runtime key.

* Make texture name the texture replacement key

Might as well? Helped me debug some stuff

* Oops that broke it bad

* libpng instead of spng

* I did it again

* Update libpng fetch

* Add zlib fetch

* Forgot to set the hash

* Add zlib redirect

* Add INCLUDE_DIR(S) to redirect

* Prefer shared for libpng

* Set CMAKE_FIND_PACKAGE_TARGETS_GLOBAL

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-05-12 20:32:43 -06:00
2026-05-05 12:12:16 -06:00
2026-05-12 20:32:43 -06:00
2026-05-12 20:32:43 -06:00
2026-05-12 20:32:43 -06:00
2022-07-27 11:25:25 -04:00
2022-07-27 11:25:25 -04:00
2026-05-05 12:14:28 -06:00

Logo

Aurora is a source-level GameCube & Wii compatibility layer intended for use with game decompilation projects.

Originally developed for use in Metaforce, a Metroid Prime reverse engineering project. It now powers several completed source ports, including Dusk.

Features

  • Application layer using SDL3
    • Runs on Windows, Linux, macOS, iOS, tvOS, Android
  • GX compatibility layer
    • 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
  • PAD compatibility layer
    • 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 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 built-in for simple debug UIs
  • RmlUi built-in for full-fledged HTML/CSS-based UIs

Graphics

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. The WebGPU implementation used is Chromium's Dawn.

Screenshot

License

Aurora is licensed under the MIT License.

S
Description
Languages
C++ 81.3%
C 15.7%
CMake 2.7%
Objective-C++ 0.3%