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
|
Originally developed for use in [Metaforce](https://github.com/AxioDL/metaforce), a Metroid Prime reverse engineering project.
|
||||||
project.
|
It now powers several completed source ports, including [Dusk](https://github.com/TwilitRealm/dusk).
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
|
- Application layer using SDL3
|
||||||
|
- Runs on Windows, Linux, macOS, iOS, tvOS, Android
|
||||||
- GX compatibility layer
|
- GX compatibility layer
|
||||||
- Graphics API support: D3D12, Vulkan, Metal
|
- Graphics API support: D3D12, Vulkan, Metal
|
||||||
- Application layer using SDL
|
- Highly accurate and performant GX implementation
|
||||||
- Runs on Windows, Linux, macOS, iOS, tvOS, Android
|
- Robust pipeline cache system with "transferable" cache support for releases
|
||||||
- Audio support with SDL_audio
|
- Dolphin-compatible texture pack support
|
||||||
|
- Widescreen & resolution scaling support
|
||||||
|
- Custom APIs for offscreen rendering
|
||||||
- PAD compatibility layer
|
- PAD compatibility layer
|
||||||
- Utilizes SDL_GameController for wide controller support, including GameCube controllers.
|
- Utilizes `SDL_Gamepad` for wide controller support, including GameCube controller adapters
|
||||||
- *Planned: Wii remote support*
|
- Automatically saves and loads controller bindings and port mappings
|
||||||
- [Dear ImGui](https://github.com/ocornut/imgui) built-in for UI
|
- 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
|
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
|
Aurora is licensed under the [MIT License](LICENSE).
|
||||||
|
|
||||||
The PAD compatibility layer utilizes SDL_GameController to automatically support & provide mappings for hundreds of
|
|
||||||
controllers across all platforms.
|
|
||||||
|
|||||||
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