Commit Graph
46041 Commits
Author SHA1 Message Date
JosJuice c542279595 Android: Add SAF support for GBA ROM and BIOS files
SAF for save files is a huge can of worms because they're managed in a
more complicated way than asking the user to select an existing file,
so I won't be touching save files for now.
2026-03-31 23:40:54 -05:00
JosJuice 606bcbe3ed CMakeLists: Enable mGBA on Android 2026-03-31 23:40:54 -05:00
Jordan Woyak ac0f4390f7 GameSettings: Set a CPU overclock for Game Boy Player to avoid sporadic audio/video stream failures. 2026-03-31 23:40:54 -05:00
Jordan Woyak a021806700 GameSettings: Add ini file for Game Boy Player to automatically attach the GBPlayer hardware. 2026-03-31 23:40:54 -05:00
Jordan Woyak 5cacbcf6ea DolphinQt: Expose Game Boy Player ROM path on the GameCube config tab. 2026-03-31 23:40:54 -05:00
Jordan Woyak 657a6f0cff State: Increase STATE_VERSION for Game Boy Player. 2026-03-31 23:40:54 -05:00
Dentomologist 68ac3d651d AutoUpdate: Only set triggered flag if process creation succeeds
Don't set `s_update_triggered` if the updater process fails to be
created. This will allow users in that situation to try to start an
update later without having to restart Dolphin first.
2026-03-31 12:44:47 -07:00
Dentomologist f86bbc3b1d AutoUpdate: Don't start redundant update checks
Ignore any new update check requests if one is already in progress.
2026-03-31 12:44:47 -07:00
Vicki PfauandJordan Woyak 3ece5f7d7b HW/HSP: Add Game Boy Player device.
Co-authored-by: Jordan Woyak <[email protected]>
2026-03-30 22:29:11 -05:00
Jordan Woyak 461741e0ea ChunkFile: Add void* version of DoPointer. 2026-03-30 19:02:11 -05:00
Jordan Woyak 2f4badc357 HW/GBACore: Add some special handling for GBPlayer.
Set a fixed GBA-sized video buffer.
Don't connect audio output to Mixer.
Don't configure an SIODriver.
2026-03-30 19:02:11 -05:00
Jordan Woyak 19157cacd5 MainSettings: Add a fifth GBA ROM config path for GBPlayer. 2026-03-30 19:02:11 -05:00
JMC47 a95b18211b Merge pull request #14519 from cristian64/registers_widget_font_fixes
DolphinQt: Size adjustments in **Registers** widget based on selected debug font.
2026-03-30 17:18:21 -04:00
Dentomologist 6008526b14 Merge pull request #14530 from JosJuice/create-logs-folder
UICommon: Create User/Logs/ at startup
2026-03-30 11:58:20 -07:00
JosJuice 134f709f59 UICommon: Create User/Logs/ at startup
We used to create User/Logs/ as a side effect of creating
User/Logs/Mail/, but the creation of User/Logs/Mail/ was removed in
8cbfee2, so now nothing is creating User/Logs/ anymore. Let's explicitly
create it.
2026-03-30 20:04:58 +02:00
JMC47 e0fda9bb54 Merge pull request #14528 from jordan-woyak/gba-mixer-fix
AudioCommon/Mixer: Fix integrated GBA sample rate calculation and inverted stereo channels.
2026-03-30 12:34:16 -04:00
JMC47 c93c9dd407 Merge pull request #14526 from jordan-woyak/gbacore-stuff
HW/GBACore: Improvements.
2026-03-30 12:30:37 -04:00
Jordan Woyak e7e6c0990d AudioCommon/Mixer: Fix integrated GBA sample rate calculation and inverted stereo channels.
Give MixerFifo a variable sample rate dividend.
Handle byte-swapping and stereo channel construction outside of MixerFifo to better handle the custom layouts of each stream.
2026-03-30 08:37:37 -05:00
Jordan Woyak 6ba804416a Merge pull request #14529 from sepalani/am-w
AMMediaboard: Fix sequence-point warning
2026-03-30 07:22:30 -05:00
Sepalani be0fdd85b9 AMMediaboard: Fix sequence-point warning 2026-03-30 11:10:13 +04:00
Jordan Woyak 84dd2304d6 HW/GBACore: Allow save states to work when the GBA core is stopped. 2026-03-29 11:23:09 -05:00
Jordan Woyak de0999a19c HW/GBACore: Make the Flush function public and add additional getters. 2026-03-29 11:20:43 -05:00
Jordan Woyak f103155658 HW/GBACore: Expose the ability to run for a single frame. 2026-03-29 11:15:03 -05:00
Jordan Woyak 1ab57199e6 HW/GBACore: Allow running without the GBA bios. 2026-03-29 11:15:03 -05:00
Jordan Woyak c197f18a46 HW/GBACore: Enable GB/GBC ROM loading. 2026-03-29 11:15:03 -05:00
JMC47 67f1afeb74 Merge pull request #14517 from jordan-woyak/event-functor
CoreTiming: Change TimedCallback to a Common::MoveOnlyFunction.
2026-03-28 16:19:28 -04:00
Jordan Woyak 14965a5ec0 Merge pull request #14512 from Tilka/zero_stride
VideoCommon: ignore zero-stride EFB/XFB copies
2026-03-27 23:01:04 -05:00
Tillmann Karras 51e488e84a VideoCommon: ignore zero-stride EFB/XFB copies
just clear if requested
2026-03-28 03:05:08 +00:00
JMC47 932769c4e2 Merge pull request #14110 from jordan-woyak/mgba-joybus-threading
HW/GBACore: Adjust joybus interthread communication to use WorkQueueThreadSP.
2026-03-27 20:42:06 -04:00
JMC47 04fd45a960 Merge pull request #14522 from jordan-woyak/hsp-log-desc
LogManager: Remove redundant "(HSP)" in High-Speed Port's log type descritpion.
2026-03-27 13:06:17 -04:00
Jordan Woyak 1b9a01f168 LogManager: Remove redundant "(HSP)" in High-Speed Port's log type descritpion. 2026-03-27 11:24:14 -05:00
cristian64 a051acec91 DolphinQt: Size adjustments in **Registers** widget based on selected debug font.
- Row height is no longer hardcoded to `24`; instead, the height is
  determined by the font height of the currently selected debug font.
- Header height has been reduced (a factor of the font height) as it
  only serves as a column resizer.
- A `OnDebugFontChanged()` slot has been connected to properly update
  the widget on debug font changes.

| Before | After |
| --- | --- |
| <img alt="Registers widget (before)" title="Registers widget (before)" src="https://github.com/user-attachments/assets/8a6644f9-1081-4ac8-9fff-c79ddb73e103" /> | <img alt="Registers widget (after)" title="Registers widget (after)" src="https://github.com/user-attachments/assets/67f799d0-8afd-4081-bb40-3d7a76ddc705" /> |
2026-03-27 09:30:31 +00:00
iwubcode 306daff517 Data: update De Blob 1 and 2 to use explicit bloom target
These two games have some strange rendering behaviors and therefore can't use the generic bloom actions.

These games have several bloom EFB copies and they draw that on top of an already rendered game.  After doing that, they render some other draw calls to "fixup" the bloom that it drew to effectively remove it.  This isn't uncommon but there is one special thing these games do...they use a RAM EFB copy for the 'fixup'.  This means when playing with high IR, the game will look blurry in specific parts of the screen where the game was attempting to fix the copy!

Bloom removal has addressed this by removing all the draw calls related to the bloom, including the fixup draws.  The user then needs to turn on 'EFB Copy To Texture Only' for the best visuals (De Blob 2 in particular is broken without this) as the default settings.

Bloom blurred will need special attention too but Dolphin doesn't currently have enough functionality to handle it.
2026-03-26 20:14:40 -05:00
iwubcode 41adc6fba8 Data: update Sonic Colors bloom definitions to remove repeats, thanks FrankyBuster 2026-03-26 20:14:40 -05:00
iwubcode 7d683b02ed Data: update Pandora's Tower Bloom and DOF definitions 2026-03-26 20:14:40 -05:00
iwubcode d8c8a04ab8 Data: add a blurred DOF feature 2026-03-26 20:14:40 -05:00
iwubcode db72877520 Data: add more bloom graphics mods 2026-03-26 20:14:40 -05:00
iwubcodeandTryTwo ace082af23 Data: provide a blur mod for games with bloom
Add a mod for all games with bloom targets that blurs the bloom based on resolution using a custom material.  The shader exposes bloom brightness and the amount of spread through uniforms (not exposed in the UI yet).

The original shader logic was done by TryTwo.  This shader was reworked for graphics mods and cleaned up slightly.

Co-authored-by: TryTwo <[email protected]>
2026-03-26 20:13:16 -05:00
iwubcode 6b7a9e6ac3 VideoCommon: allow graphics mods to be added to sub folders 2026-03-26 20:13:16 -05:00
iwubcode 9cde551e29 VideoCommon: watch the user and system graphics mods directories for modified assets 2026-03-26 20:13:16 -05:00
iwubcode 1f72403ec7 VideoCommon: optionally apply materials to EFBs
After an EFB operation is turned into a texture, if there is a graphics mod action that provides a custom material, update the EFB texture with the material
2026-03-26 20:13:16 -05:00
iwubcode 7bfd43eb1a VideoCommon: update CustomPipelineAction to get a Material when an EFB is received 2026-03-26 20:13:16 -05:00
iwubcode 2d8f955851 VideoCommon: enhance 'CustomResourceManager' for post processing
This expands the interface of 'CustomResourceManager' to get a Material for post processing a frame buffer (currently EFB).  The flow is similar to the normal draw material but distinguishes itself by not needing a UID.  The full shader is much simpler than the draw shader and is currently put inline with the shader resource.
2026-03-26 20:13:16 -05:00
Jordan Woyak c658e7678b HW/SI: Replace DeviceEventCallback with a lambda. 2026-03-26 19:37:33 -05:00
Jordan Woyak 670a5df7ce CoreTiming: Change TimedCallback to a Common::MoveOnlyFunction. 2026-03-26 19:29:25 -05:00
Sintendo 21c2605298 JitArm64_Integer: subfzex - Optimize a == -1 with in-host carry
Before:
0x12800019   mov    w25, #-0x1                ; =-1
0x7a1903fa   ngcs   w26, w25
0x1a9f37f8   cset   w24, hs
0x390bd3b8   strb   w24, [x29, #0x2f4]

After:
0x1a9f37fa   cset   w26, hs
2026-03-27 01:00:14 +01:00
Sintendo 9be878cd28 JitArm64_Integer: subfzex - Optimize a == 0 with in-host carry
Before:
0x52800019   mov    w25, #0x0                 ; =0
0x7a1903f9   ngcs   w25, w25
0x1a9f37f5   cset   w21, hs
0x390bd3b5   strb   w21, [x29, #0x2f4]

After:
0x5a9f23f9   csetm  w25, lo
2026-03-27 00:53:30 +01:00
iwubcode 6ba2d2e081 VideoCommon: update graphics mod action interface
* Add a 'AfterEFB' function to graphics mod action that can return a Material
* Rename previous EFB graphics mod function to 'BeforeEFB' to differentiate from 'AfterEFB'
* Rename previous XFB graphics mod function to 'BeforeXFB' to mirror EFB
2026-03-26 18:52:01 -05:00
Jordan Woyak efa0140791 State: Increase STATE_VERSION. 2026-03-26 16:04:21 -05:00
Jordan Woyak d76757bba6 HW/GBACore: Adjust joybus interthread communication to use WorkQueueThreadSP. 2026-03-26 16:03:59 -05:00