Commit Graph
37 Commits
Author SHA1 Message Date
Martino Fontana b80e178403 Vulkan: Fix present semaphores reuse
Fixes validation errors.
See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html
2025-07-21 16:02:53 +02:00
Martino Fontana 99be5eb6c8 GameINI: Misc updates 2025-06-28 00:44:51 +02:00
Martino Fontana 46ce355d93 GameINI: Remove NSMBW PAL speed hack 2025-06-13 22:27:21 +02:00
Martino Fontana 2de9122b5f GameList: Prevent opening Properties multiple times for the same game 2025-06-04 23:11:09 +02:00
Martino Fontana 8b228503d9 GameINI: Set texture cache accuracy for Scooby-Doo! Night of 100 Frights PAL 2025-05-17 13:35:17 +02:00
Martino Fontana 79a90b1f42 GameINI: Enable EFB Access for Jimmy Neutron Boy Genius 2025-05-13 22:57:11 +02:00
Martino Fontana c720211542 VideoCommon: Limit maximum denominator for MPEG4
It happened to be under the limit normally, but now that the VBI rate can be changed, that's no longer the case.
2025-05-12 18:54:42 +02:00
Martino Fontana 832570c658 Core: Add VBI Frequency Override
This feature allows overriding the frequency of the Vertical Blank Interrupt. For many games, this means that their gameplay speed will change without affecting audio, which would be useful by itself (e.g. grinding in RPGs).

However, there are games that use delta time for their game logic, which allows them to be played at >60 FPS at the same gameplay speed!

Some games aren't dynamic though, and require a patch to adjust their game speed variable.
2025-05-12 18:54:36 +02:00
Martino Fontana e7f22515d3 GameINI: Disable Immediately Present XFB for Dragon Ball Z: Budokai and Dragon Ball Z: Budokai 2 2025-05-10 14:14:12 +02:00
Martino Fontana d591e3b4e3 GameINI: Enable Single Core for Kung Fu Panda and Shrek Forever After
These games (both are made with the Lux Engine) randomly freeze with Dual Core.
2025-04-29 11:35:09 +02:00
Martino Fontana e751235574 DolphinQt: Remove unused variables from AdvancedPane.h
Small oversight from #13422.
2025-04-23 12:32:12 +02:00
Martino Fontana cb8b235a48 Remove Bloom Definitions for Skylanders Trap Team 2024-10-10 22:03:34 +02:00
Martino Fontana e57ee3c099 GameINI: Add Skylanders: Trap Team
`EFBEmulateFormatChanges = True` properly emulates the blur in the backgrounds.
`ImmediateXFBEnable = False` to prevent epilepsy-inducing FMVs.
2024-10-03 19:41:46 +02:00
Martino Fontana b055965792 GameINI: Add Skylanders: Giants
`EFBEmulateFormatChanges = True` properly emulates the blur in the pause screen.
`ImmediateXFBEnable = False` to prevent epilepsy-inducing FMVs and main menu.
2024-10-03 19:41:39 +02:00
Martino Fontana f3dd61ae89 GameINI: Add Skylanders: Spyro's Adventure
`EFBEmulateFormatChanges = True` properly emulates the blur in the pause screen.
`ImmediateXFBEnable = False` to prevent epilepsy-inducing FMVs and main menu.
2024-10-03 19:41:32 +02:00
Martino Fontana 7215610dfe Add Bloom definitions for Need for Speed: Nitro 2024-07-27 21:24:32 +02:00
Martino Fontana 991bce2d68 Config: Don't depend on is_dirty to save SYSCONF during restore
`Layer::Save` only does its thing if the layer has `is_dirty == true`.
But SYSCONF could have been modified by other layers, so if the base layer wasn't made dirty by anything else, then it wouldn't be restored.
Fixes https://bugs.dolphin-emu.org/issues/13580
2024-07-27 16:45:33 +02:00
Martino Fontana f9450f1460 GameINI: SVX.ini: Replace EFBToTextureEnable=False with ImmediateXFBEnable=False
To fix flickering pre-rendered cutscenes, the former doesn't do anything anymore, while the latter does.
2024-07-27 15:42:12 +02:00
Martino Fontana 5b13903e6a Intepreter: Step before checking for breakpoints
This way, by pressing Continue on top of a breakpoint, the emulation will actually continue (like on Cached Interpreter and JIT), instead of doing nothing.
2024-07-05 21:33:23 +02:00
Martino Fontana 719af828e5 BreakpointWidget: Can create new breakpoints when emulation isn't running
It works perfectly fine, so why not? Also, consistency with CodeViewWidget.
2024-07-05 21:33:23 +02:00
Martino Fontana bd3cf67cbc Debugger: Rework temporary breakpoints
Before:
1. In theory there could be multiple, but in practice they were (manually) cleared before creating one
2. (Some of) the conditions to clear one were either to reach it, to create a new one (due to the point above), or to step. This created weird behavior: let's say you Step Over a `bl` (thus creating a temporary breakpoint on `pc+4`), and you reached a regular breakpoint inside the `bl`. The temporary one would still be there: if you resumed, the emulation would still stop there, as a sort of Step Out. But, if before resuming, you made a Step, then it wouldn't do that.
3. The breakpoint widget had no idea concept of them, and will treat them as regular breakpoints. Also, they'll be shown only when the widget is updated in some other way, leading to more confusion.
4. Because only one breakpoint could exist per address, the creation of a temporary breakpoint on a top of a regular one would delete it and inherit its properties (e.g. being log-only). This could happen, for instance, if you Stepped Over a `bl` specifically, and pc+4 had a regular breakpoint.

Now there can only be one temporary breakpoint, which is automatically cleared whenever emulation is paused. So, removing some manual clearing from 1., and removing the weird behavior of 2. As it is stored in a separate variable, it won't be seen at all depending on the function used (fixing 3., and removing some checks in other places), and it won't replace a regular breakpoint, instead simply having priority (fixing 4.).
2024-07-05 21:33:22 +02:00
Martino Fontana 037de1ce92 Debugger: fix Run to Here
Now it actually does what it says on the name, instead of creating a breapoint and doing nothing else (not even updating the widget).
Also, it now can't be selected if emulation isn't running.
Closes https://bugs.dolphin-emu.org/issues/13532
2024-07-02 18:29:42 +02:00
Martino Fontana 8235c38df7 Debugger: Small other cleanup
Change misleading names.
Fix function usage: Intepreter and Step Out will not check breakpoints in their own wrong way anymore (e.g. breaking on log-only breakpoints).
2024-07-02 18:29:42 +02:00
Martino Fontana 9aeeea3762 Debugger: Small Breakpoint cleanup
Reuse more code, change misleading names, remove useless documentation, add useful documentation
2024-07-02 18:29:42 +02:00
Martino Fontana 9285f13186 Add Bloom Definitions for Skylanders Trap Team 2024-03-24 23:20:25 +01:00
Martino Fontana a98bceba9f Add Bloom Definitions for Skylanders Giants 2024-03-23 23:56:02 +01:00
Martino Fontana 12fe5550d2 Externals/hidapi: Convert to submodule
This also updates to 0.14.0 (https://github.com/libusb/hidapi/commit/d3013f0af3f4029d82872c1a9487ea461a56dee4)
2024-01-30 01:35:39 +01:00
Martino Fontana 7baedc3ec4 CMake: Enable SDL on Linux by default 2024-01-13 16:10:28 +01:00
Martino Fontana 51e05f468a SDL: Add GameController API, cleanup 2024-01-13 16:10:25 +01:00
Martino Fontana 0ab2bc2287 ControllerInterface: Make FullAnalogSurface inherit IsDetectable() 2024-01-10 12:20:07 +01:00
Martino Fontana 58f5bf5496 VKGfx: Don't panic for VK_SUBOPTIMAL_KHR 2024-01-05 11:20:35 +01:00
Martino Fontana 5792eefdaf expr: increase size of varname 2023-11-18 23:53:19 +01:00
Martino Fontana c43c9101c0 CMake: use version flags if Git isn't found 2023-08-14 11:27:39 +02:00
Martino Fontana 1e5e319783 Qt/GameConfigWidget: Add Manual Texture Sampling 2023-07-25 00:45:13 +02:00
Martino Fontana 41f81aca69 Qt/GameConfigWidget: Rename m_enable_fast_disc to m_emulate_disc_speed 2023-07-25 00:45:10 +02:00
Martino Fontana 0892998af1 Qt/GameConfigWidget: Add reverse argument for {Save,Load}CheckBox
In order to not hard code `if (key == "FastDiscSpeed")`
2023-07-24 20:48:32 +02:00
Martino Fontana b5be399fd4 cubeb: Change name to "Dolphin Emulator"
To avoid conflicts with KDE's file manager.
2023-07-22 23:12:34 +02:00