* Add support for setting default mappings per-type
Adds a new enum and getter, as well as updates PADSetDefaultMapping to take the new enum.
I haven't set the mappings for each controller type just yet as we'll need to experiment with that.
That being said we can at least fix the gamecube mapping
* Correct GameCube controller default mapping (swap b/x)
* Fix struct forward decl
* Remove unnecessary todo
* Add controller charge state and ext button support
* revert field rename
* Make button fields consistent
* Actually add PADGetBatteryState
* Fix PADGetBatteryState return value
* Handle SDL_GetGamepadPowerInfo returning -1
* Use u32 instead of u16 for extButton so constants don't collide
* Add PADExtButton typedef
* begin work on integration
* draw null tex when tex handle is null, switch to immediates for geometry translation
* fix window resizing and texture loads, switch to dynamic ubo
* remove immediate usage
* Add initial rmlui public API
* Use proper dimensions; fix texture resolution
* Remove unnecessary SetDimensions
* Cleanup & add clip mask support
* Implement blur and shadow filters
---------
Co-authored-by: Luke Street <luke@street.dev>
* add ability to set path of card image before CARDInit
* begin work on updating card class to support gci folders
a lot of work will just be directly reading from whatever folder is supplied, instead of relying on an always open FileIO handle
* swap to interface system for easier code seperation, begin actually planning out logic for gci loading
* fix wrong name for func, add modified time to new gci file entry
* get gci folder working
tp seems to be happy with everything ive done, the only funcs im worried about are getSerial and getChecksum as those dont do anything atm.
* fix createFile not assigning file index to output FileHandle, CARDSetLoadType now takes an enum
* make probeCardFile a virtual func so GciFolder and RawFile can both implement their own, bit of cleanup
This is a breaking change: `GXSetViewport`, `GXSetScissor`, `GXSetTexCopySrc`, `GXSetTexCopyDst` now accept logical coords relative to the `VIConfigure` EFB size.
`GXSetViewportRender` and `GXSetScissorRender` are used to override the scaled viewport/scissor from the logical coords.
* 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