mirror of
https://github.com/encounter/aurora.git
synced 2026-07-09 18:19:33 -07:00
Update README.md
This commit is contained in:
@@ -1,266 +0,0 @@
|
||||
# GX API Support
|
||||
|
||||
- GXBump
|
||||
- [x] GXSetNumIndStages
|
||||
- [x] GXSetIndTexOrder
|
||||
- [x] GXSetIndTexCoordScale
|
||||
- [x] GXSetIndTexMtx
|
||||
- [x] GXSetTevIndirect
|
||||
- [x] GXSetTevDirect
|
||||
- [x] GXSetTevIndWarp
|
||||
- [ ] GXSetTevIndTile
|
||||
- [ ] GXSetTevIndBumpST
|
||||
- [ ] GXSetTevIndBumpXYZ
|
||||
- [ ] GXSetTevIndRepeat
|
||||
- GXCull
|
||||
- [x] GXSetScissor
|
||||
- [x] GXSetCullMode
|
||||
- [ ] GXSetCoPlanar
|
||||
- GXDispList
|
||||
- [x] GXBeginDisplayList (stub)
|
||||
- [x] GXEndDisplayList (stub)
|
||||
- [x] GXCallDisplayList
|
||||
- GXDraw
|
||||
- [ ] GXDrawCylinder
|
||||
- [ ] GXDrawTorus
|
||||
- [ ] GXDrawSphere
|
||||
- [ ] GXDrawCube
|
||||
- [ ] GXDrawDodeca
|
||||
- [ ] GXDrawOctahedron
|
||||
- [ ] GXDrawIcosahedron
|
||||
- [ ] GXDrawSphere1
|
||||
- [ ] GXGenNormalTable
|
||||
- GXFifo
|
||||
- [x] GXGetGPStatus (stub)
|
||||
- [ ] GXGetFifoStatus
|
||||
- [x] GXGetFifoPtrs (stub)
|
||||
- [x] GXGetCPUFifo (stub)
|
||||
- [x] GXGetGPFifo (stub)
|
||||
- [ ] GXGetFifoBase
|
||||
- [ ] GXGetFifoSize
|
||||
- [ ] GXGetFifoLimits
|
||||
- [ ] GXSetBreakPtCallback
|
||||
- [ ] GXEnableBreakPt
|
||||
- [ ] GXDisableBreakPt
|
||||
- [x] GXInitFifoBase (stub)
|
||||
- [x] GXInitFifoPtrs (stub)
|
||||
- [ ] GXInitFifoLimits
|
||||
- [x] GXSetCPUFifo (stub)
|
||||
- [x] GXSetGPFifo (stub)
|
||||
- [x] GXSaveCPUFifo (stub)
|
||||
- [ ] GXSaveGPFifo
|
||||
- [ ] GXRedirectWriteGatherPipe
|
||||
- [ ] GXRestoreWriteGatherPipe
|
||||
- [ ] GXSetCurrentGXThread
|
||||
- [ ] GXGetCurrentGXThread
|
||||
- [ ] GXGetOverflowCount
|
||||
- [ ] GXResetOverflowCount
|
||||
- GXFrameBuffer
|
||||
- [x] GXAdjustForOverscan
|
||||
- [x] GXSetDispCopySrc (stub)
|
||||
- [x] GXSetTexCopySrc
|
||||
- [x] GXSetDispCopyDst (stub)
|
||||
- [x] GXSetTexCopyDst
|
||||
- [ ] GXSetDispCopyFrame2Field
|
||||
- [ ] GXSetCopyClamp
|
||||
- [x] GXSetDispCopyYScale (stub)
|
||||
- [x] GXSetCopyClear
|
||||
- [x] GXSetCopyFilter (stub)
|
||||
- [x] GXSetDispCopyGamma (stub)
|
||||
- [x] GXCopyDisp (stub)
|
||||
- [x] GXCopyTex
|
||||
- [ ] GXGetYScaleFactor
|
||||
- [ ] GXGetNumXfbLines
|
||||
- [ ] GXClearBoundingBox
|
||||
- [ ] GXReadBoundingBox
|
||||
- GXGeometry
|
||||
- [x] GXSetVtxDesc
|
||||
- [x] GXSetVtxDescv
|
||||
- [x] GXClearVtxDesc
|
||||
- [x] GXSetVtxAttrFmt
|
||||
- [ ] GXSetVtxAttrFmtv
|
||||
- [x] GXSetArray
|
||||
- [x] GXBegin
|
||||
- [x] GXEnd
|
||||
- [x] GXSetTexCoordGen2
|
||||
- [x] GXSetNumTexGens
|
||||
- [ ] GXInvalidateVtxCache
|
||||
- [ ] GXSetLineWidth
|
||||
- [ ] GXSetPointSize
|
||||
- [ ] GXEnableTexOffsets
|
||||
- GXGet
|
||||
- [ ] GXGetVtxDesc
|
||||
- [ ] GXGetVtxDescv
|
||||
- [ ] GXGetVtxAttrFmtv
|
||||
- [ ] GXGetLineWidth
|
||||
- [ ] GXGetPointSize
|
||||
- [x] GXGetVtxAttrFmt
|
||||
- [ ] GXGetViewportv
|
||||
- [x] GXGetProjectionv
|
||||
- [ ] GXGetScissor
|
||||
- [ ] GXGetCullMode
|
||||
- [x] GXGetLightAttnA
|
||||
- [x] GXGetLightAttnK
|
||||
- [x] GXGetLightPos
|
||||
- [x] GXGetLightDir
|
||||
- [x] GXGetLightColor
|
||||
- [x] GXGetTexObjData
|
||||
- [x] GXGetTexObjWidth
|
||||
- [x] GXGetTexObjHeight
|
||||
- [x] GXGetTexObjFmt
|
||||
- [x] GXGetTexObjWrapS
|
||||
- [x] GXGetTexObjWrapT
|
||||
- [x] GXGetTexObjMipMap
|
||||
- [ ] GXGetTexObjAll
|
||||
- [ ] GXGetTexObjMinFilt
|
||||
- [ ] GXGetTexObjMagFilt
|
||||
- [ ] GXGetTexObjMinLOD
|
||||
- [ ] GXGetTexObjMaxLOD
|
||||
- [ ] GXGetTexObjLODBias
|
||||
- [ ] GXGetTexObjBiasClamp
|
||||
- [ ] GXGetTexObjEdgeLOD
|
||||
- [ ] GXGetTexObjMaxAniso
|
||||
- [ ] GXGetTexObjLODAll
|
||||
- [ ] GXGetTexObjTlut
|
||||
- [ ] GXGetTlutObjData
|
||||
- [ ] GXGetTlutObjFmt
|
||||
- [ ] GXGetTlutObjNumEntries
|
||||
- [ ] GXGetTlutObjAll
|
||||
- [ ] GXGetTexRegionAll
|
||||
- [ ] GXGetTlutRegionAll
|
||||
- GXLighting
|
||||
- [x] GXInitLightAttn
|
||||
- [x] GXInitLightAttnA
|
||||
- [x] GXInitLightAttnK
|
||||
- [x] GXInitLightSpot
|
||||
- [x] GXInitLightDistAttn
|
||||
- [x] GXInitLightPos
|
||||
- [x] GXInitLightColor
|
||||
- [x] GXLoadLightObjImm
|
||||
- [ ] GXLoadLightObjIndx
|
||||
- [x] GXSetChanAmbColor
|
||||
- [x] GXSetChanMatColor
|
||||
- [x] GXSetNumChans
|
||||
- [x] GXInitLightDir
|
||||
- [x] GXInitSpecularDir
|
||||
- [x] GXInitSpecularDirHA
|
||||
- [x] GXSetChanCtrl
|
||||
- GXManage
|
||||
- [x] GXInit (stub)
|
||||
- [ ] GXAbortFrame
|
||||
- [ ] GXSetDrawSync
|
||||
- [ ] GXReadDrawSync
|
||||
- [ ] GXSetDrawSyncCallback
|
||||
- [x] GXDrawDone (stub)
|
||||
- [x] GXSetDrawDone (stub)
|
||||
- [ ] GXWaitDrawDone
|
||||
- [x] GXSetDrawDoneCallback (stub)
|
||||
- [ ] GXSetResetWritePipe
|
||||
- [x] GXFlush (stub)
|
||||
- [ ] GXResetWriteGatherPipe
|
||||
- [x] GXPixModeSync (stub)
|
||||
- [x] GXTexModeSync (stub)
|
||||
- [ ] IsWriteGatherBufferEmpty
|
||||
- [ ] GXSetMisc
|
||||
- GXPerf
|
||||
- [ ] GXSetGPMetric
|
||||
- [ ] GXClearGPMetric
|
||||
- [ ] GXReadGPMetric
|
||||
- [ ] GXReadGP0Metric
|
||||
- [ ] GXReadGP1Metric
|
||||
- [ ] GXReadMemMetric
|
||||
- [ ] GXClearMemMetric
|
||||
- [ ] GXReadPixMetric
|
||||
- [ ] GXClearPixMetric
|
||||
- [ ] GXSetVCacheMetric
|
||||
- [ ] GXReadVCacheMetric
|
||||
- [ ] GXClearVCacheMetric
|
||||
- [ ] GXReadXfRasMetric
|
||||
- [ ] GXInitXfRasMetric
|
||||
- [ ] GXReadClksPerVtx
|
||||
- GXPixel
|
||||
- [x] GXSetFog
|
||||
- [x] GXSetFogColor
|
||||
- [ ] GXInitFogAdjTable
|
||||
- [ ] GXSetFogRangeAdj
|
||||
- [x] GXSetBlendMode
|
||||
- [x] GXSetColorUpdate
|
||||
- [x] GXSetAlphaUpdate
|
||||
- [x] GXSetZMode
|
||||
- [ ] GXSetZCompLoc
|
||||
- [x] GXSetPixelFmt (stub)
|
||||
- [x] GXSetDither (stub)
|
||||
- [x] GXSetDstAlpha
|
||||
- [ ] GXSetFieldMask
|
||||
- [ ] GXSetFieldMode
|
||||
- GXTev
|
||||
- [x] GXSetTevOp
|
||||
- [x] GXSetTevColorIn
|
||||
- [x] GXSetTevAlphaIn
|
||||
- [x] GXSetTevColorOp
|
||||
- [x] GXSetTevAlphaOp
|
||||
- [x] GXSetTevColor
|
||||
- [x] GXSetTevColorS10
|
||||
- [x] GXSetAlphaCompare
|
||||
- [x] GXSetTevOrder
|
||||
- [ ] GXSetZTexture
|
||||
- [x] GXSetNumTevStages
|
||||
- [x] GXSetTevKColor
|
||||
- [x] GXSetTevKColorSel
|
||||
- [x] GXSetTevKAlphaSel
|
||||
- [x] GXSetTevSwapMode
|
||||
- [x] GXSetTevSwapModeTable
|
||||
- GXTexture
|
||||
- [x] GXInitTexObj
|
||||
- [x] GXInitTexObjCI
|
||||
- [x] GXInitTexObjLOD
|
||||
- [x] GXInitTexObjData
|
||||
- [x] GXInitTexObjWrapMode
|
||||
- [x] GXInitTexObjTlut
|
||||
- [ ] GXInitTexObjFilter
|
||||
- [ ] GXInitTexObjMaxLOD
|
||||
- [ ] GXInitTexObjMinLOD
|
||||
- [ ] GXInitTexObjLODBias
|
||||
- [ ] GXInitTexObjBiasClamp
|
||||
- [ ] GXInitTexObjEdgeLOD
|
||||
- [ ] GXInitTexObjMaxAniso
|
||||
- [ ] GXInitTexObjUserData
|
||||
- [ ] GXGetTexObjUserData
|
||||
- [x] GXLoadTexObj
|
||||
- [x] GXGetTexBufferSize
|
||||
- [x] GXInitTlutObj
|
||||
- [x] GXLoadTlut
|
||||
- [ ] GXInitTexCacheRegion
|
||||
- [ ] GXInitTexPreLoadRegion
|
||||
- [ ] GXInitTlutRegion
|
||||
- [ ] GXInvalidateTexRegion
|
||||
- [x] GXInvalidateTexAll (stub)
|
||||
- [ ] GXPreLoadEntireTexture
|
||||
- [ ] GXSetTexRegionCallback
|
||||
- [ ] GXSetTlutRegionCallback
|
||||
- [ ] GXLoadTexObjPreLoaded
|
||||
- [ ] GXSetTexCoordScaleManually
|
||||
- [ ] GXSetTexCoordCylWrap
|
||||
- [ ] GXSetTexCoordBias
|
||||
- GXTransform
|
||||
- [x] GXSetProjection
|
||||
- [ ] GXSetProjectionv
|
||||
- [x] GXLoadPosMtxImm
|
||||
- [ ] GXLoadPosMtxIndx
|
||||
- [x] GXLoadNrmMtxImm
|
||||
- [ ] GXLoadNrmMtxImm3x3
|
||||
- [ ] GXLoadNrmMtxIndx3x3
|
||||
- [x] GXSetCurrentMtx
|
||||
- [x] GXLoadTexMtxImm
|
||||
- [ ] GXLoadTexMtxIndx
|
||||
- [ ] GXProject
|
||||
- [x] GXSetViewport
|
||||
- [x] GXSetViewportJitter
|
||||
- [ ] GXSetZScaleOffset
|
||||
- [ ] GXSetScissorBoxOffset
|
||||
- [ ] GXSetClipMode
|
||||
- GXVert
|
||||
- [x] GXPosition\[n]\[t]
|
||||
- [x] GXNormal\[n]\[t]
|
||||
- [x] GXColor\[n]\[t]
|
||||
- [x] GXTexCoord\[n]\[t]
|
||||
@@ -1,32 +1,42 @@
|
||||
# Aurora
|
||||
<div align="center">
|
||||
<img src="assets/aurora.png" alt="Logo" width="640">
|
||||
</div>
|
||||
|
||||
Aurora is a source-level GameCube & Wii compatibility layer intended for use with game reverse engineering projects.
|
||||
Aurora is a source-level GameCube & Wii compatibility layer intended for use with game decompilation projects.
|
||||
|
||||
Originally developed for use in [Metaforce](https://github.com/AxioDL/metaforce), a Metroid Prime reverse engineering
|
||||
project.
|
||||
Originally developed for use in [Metaforce](https://github.com/AxioDL/metaforce), a Metroid Prime reverse engineering project.
|
||||
It now powers several completed source ports, including [Dusk](https://github.com/TwilitRealm/dusk).
|
||||
|
||||
### Features
|
||||
|
||||
- Application layer using SDL3
|
||||
- Runs on Windows, Linux, macOS, iOS, tvOS, Android
|
||||
- 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
|
||||
- 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_GameController for wide controller support, including GameCube controllers.
|
||||
- *Planned: Wii remote support*
|
||||
- [Dear ImGui](https://github.com/ocornut/imgui) built-in for UI
|
||||
- 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
|
||||
|
||||
### GX
|
||||
### Graphics
|
||||
|
||||
The GX compatibility layer is built on top of [WebGPU](https://www.w3.org/TR/webgpu/), a cross-platform graphics API
|
||||
abstraction layer. WebGPU allows targeting all major platforms simultaneously with minimal overhead.
|
||||
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/).
|
||||
|
||||
Currently, the WebGPU implementation used is Chromium's [Dawn](https://dawn.googlesource.com/dawn/).
|
||||

|
||||
|
||||
See [GX API support](GX.md) for more information.
|
||||
### License
|
||||
|
||||
### PAD
|
||||
|
||||
The PAD compatibility layer utilizes SDL_GameController to automatically support & provide mappings for hundreds of
|
||||
controllers across all platforms.
|
||||
Aurora is licensed under the [MIT License](LICENSE).
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 586 KiB |
Reference in New Issue
Block a user