Commit Graph

98 Commits

Author SHA1 Message Date
Phillip Stephens a312621201 Cleanup clang-tidy warnings, attempt to fix 4GB file bug 2026-05-12 07:39:31 -07:00
Mart 62e55287ea feat(rmlui): add user-configurable ui scale multiplier (#169)
* feat(rmlui): add user-configurable ui scale multiplier

Expose `aurora::rmlui::set_ui_scale` / `get_ui_scale` so consumers can
multiply the RmlUi context's density-independent pixel ratio without
having to fight `sync_context_metrics` resetting the value every render.

Default scale is 1.0 (no behavior change); the multiplier is clamped to
[0.25, 4.0] and applied inside `sync_context_metrics`, so existing
display-scale syncing continues to work for HiDPI / display-change
events.

* refactor: specific scale vs multiplier
2026-05-11 19:50:05 -06:00
Luke Street 22c2e5e55a Add shims for macOS 14 support 2026-05-10 00:27:54 -06:00
Phillip Stephens 022a271f71 Add new mapping for NSO Gamecube and special case it (#165)
* Add new mapping for NSO Gamecube and special case it

* No need to swap a/y for NSO Gamecube
2026-05-09 13:36:40 -07:00
Phillip Stephens bd46867176 Add support for setting default mappings per-type (#164)
* 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
2026-05-09 12:53:40 -07:00
Luke Street 1eeff98783 Android/iOS backgrounding fixes; pause on focus lost 2026-05-08 16:55:12 -06:00
Luke Street 17be93f0ae ImGui: Redirect file access through SDL_IOStream 2026-05-08 00:27:45 -06:00
TakaRikka e88aa6b1b3 allow building with MTX_USE_PS (#162) 2026-05-07 10:25:01 -06:00
TakaRikka 69fcfbffc2 add a couple PS versions of vec functions (#161) 2026-05-06 21:18:44 -06:00
Phillip Stephens b78bbf3f58 Add controller charge state and ext button support (#159)
* 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
2026-05-06 01:37:26 -07:00
Luke Street 4cd8d2f009 Refactor viewport fit handling; use game viewport for RmlUi 2026-05-05 23:13:31 -06:00
Dávid Balatoni d7f36680d7 Typedef PADKeyButtonBinding and PADKeyAxisBinding for C projects (#158) 2026-05-05 16:52:32 -07:00
qwertyquerty c3ee086a47 kbm (#156) 2026-05-05 14:36:19 -07:00
Jasper St. Pierre 1def8fa1ef GXInitTlutObjData (#151) 2026-05-02 12:43:09 -06:00
Phillip Stephens 222545580e Second, hopefully better attempt at key bindings (#147)
* Second, hopefully better attempt at key bindings

* Fix PAD_ERR_NO_CONTROLLER check

* Harden PADRead against null controller pointers

* Move err status assignment
2026-05-01 00:57:47 -06:00
Dávid Balatoni d60916d3fa Remove unused include of string_view (#149)
It messes with C compilation, probably added by accident.
2026-04-30 16:56:44 -07:00
Luke Street a2c431d084 RmlUi: Add a hacky API to adjust input type 2026-04-30 00:05:37 -06:00
Phillip Stephens c77a4d0c3c Only call SDL_SetGamepadLED when colors have been changed, add function to check if a connected controller is a GC controller 2026-04-29 09:14:03 -07:00
CraftyBoss eceac96bcb RmlUi integration (#142)
* 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>
2026-04-27 23:43:30 -06:00
Luke Street a6a3d3a65a Add GXDestroyCopyTex function (#141) 2026-04-26 14:01:24 -06:00
Phillip Stephens 135e976867 Add ability to set rumble intensity for non-gamecube controllers (#139)
* Add ability to set rumble intensity for non-gamecube controllers

* Fix PADGetRumbleIntensity check
2026-04-25 08:19:10 -07:00
CraftyBoss be1395c134 fix cardProbeFile not working properly with empty card directories, rename enum values in CARDFileType (#136) 2026-04-23 23:26:55 -07:00
CraftyBoss a801671643 Card gci folder update (#135)
* 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
2026-04-23 22:39:42 -07:00
Luke Street c05e7aace1 Viewport scaling rework & IR configuration (#127)
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.
2026-04-18 14:10:32 -06:00
Phillip Stephens c21a7f75ab Add experimental mouse API (#126)
* 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
2026-04-16 12:57:10 -07:00