Commit Graph

64 Commits

Author SHA1 Message Date
62d7166e6a GDBStub: Signal Breakpoint Changes To Host 2024-11-15 15:12:11 -08:00
3d9c728910 Host: Rename JitCacheInvalidation
There are two hard problems in computer science...
2024-10-23 23:43:24 -07:00
9afd09598c DolphinQt: JIT Widget Refresh
Fulfilling a certain six-year-old todo.
2024-10-19 02:30:44 -07:00
c3bdd05d2a TAS Input: Enable hotkeys and controller input when Input has focus
Enable emulator hotkeys and controller input (when that option is
enabled) when a TAS Input window has focus, as if it was the render
window instead.  This allows TASers to use frame advance and the like
without having to switch the focused window or disabling Hotkeys Require
Window Focus which also picks up keypresses while other apps are active.

Cursor updates are disabled when the TAS Input window has focus, as
otherwise the Wii IR widget (and anything else controlled by the mouse)
becomes unusable. The cursor continues to work normally when the render
window has focus.
2024-05-31 15:14:44 -07:00
b52a08d533 DolphinQt: A Ubiquitous Signal For When Symbols Change
There were three distinct mechanisms for signaling symbol changes in DolphinQt: `Host::NotifyMapLoaded`, `MenuBar::NotifySymbolsUpdated`, and `CodeViewWidget::SymbolsChanged`. The behavior of these signals has been consolidated into the new `Host::PPCSymbolsUpdated` signal, which can be emitted from anywhere in DolphinQt to properly update symbols everywhere in DolphinQt.
2024-03-28 09:57:22 -07:00
f09b71582e Core: Avoid (Some) Global System Accessor 2024-03-18 01:35:42 -07:00
16c609dcd4 BootManager: Avoid Global System Accessor 2024-03-01 23:39:04 -08:00
2d56daf1bb Merge pull request #11873 from AdmiralCurtiss/pause-and-lock-host
Core: Assert that only the Host thread may call PauseAndLock().
2023-06-06 13:50:20 +02:00
b3c9f49cbe Core: Assert that only the Host thread may call PauseAndLock(). 2023-06-02 18:51:43 +02:00
8324a85339 Add MacOS Platform
Use MacOS Standard Fullscreen hotkey
2023-06-01 09:01:20 -05:00
954afd81ec StringUtil: Move CommandLineToUtf8Argv() into Common namespace 2023-05-16 14:23:21 -04:00
4422af1272 Cleanup headers 2023-02-09 18:36:20 +13:00
f9e39cf200 Add Discord presence ioctlv to /dev/dolphin 2022-08-06 07:32:29 +01:00
dabad82219 Require frontend to initialize controllers
We currently have two different code paths for initializing controllers:
Either the frontend (DolphinQt) can do it, or if the frontend doesn't do
it, the core will do it automatically when booting. Having these two
paths has caused problems in the past due to only one frontend being
tested (see de7ef47548). I would like to get rid of the latter path to
avoid further problems like this.
2022-07-17 14:03:04 +02:00
37806472e1 GCAdapter: Defer initialization until MainWindow::InitControllers
If libusb fails to initialize, an assertion fails, but if that happens before the main window is created, then Dolphin just dies.  Now, the panic alert is properly shown and the user can ignore it.
2022-03-10 10:35:45 -08:00
a546c451b7 windows: wrap all main funcs with utf8 conversions
fixes 12858
2022-03-07 23:24:21 -08:00
83ad84061e Core/Boot: Refactor storage of boot-to-savestate data into a separate class. 2021-11-22 00:35:35 +01:00
2d744da68c Core: Add GBA host interface 2021-07-13 16:42:49 +02:00
e149ad4f0a treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
3c7c2dfaa1 Implement Cursor Locking and new input focus checks for it 2021-05-27 10:31:12 +03:00
049b92b7ef Merge pull request #9417 from Filoppi/input-1
Fix FPS counter and Game Window speed % breaking on pause/unpause
2021-05-07 15:08:01 +02:00
818672b585 Fix FPS counter and Game Window speed % breaking on pause/unpause
-Add pause state to FPSCounter.
-Add ability to have more than one "OnStateChanged" callback in core.
-Add GetActualEmulationSpeed() to Core. Returns 1 by default. It's used by my input PRs.
2021-05-06 01:10:04 +03:00
27ddf6382b Set console's default language/country/region based on computer settings 2021-03-27 10:05:26 +01:00
07fd02f207 rename Core/Analytics to Core/DolphinAnalytics 2021-01-27 14:29:47 -08:00
cdf5490d56 Core: Add support for specifying a command line option to boot the game into a save-state 2020-05-06 22:10:30 -05:00
55f787b898 Remove unused function Host_UpdateProgressDialog 2020-04-03 12:53:38 +02:00
5a65031611 Add a Win32 NoGUI platform and project 2019-12-28 08:56:27 +10:00
913cb08066 Merge pull request #8456 from jordan-woyak/input-gate-race-fix
InputCommon: Make the "input gate" not racy.
2019-11-11 10:59:49 +10:00
85ceb37ccd InputCommon: Make the "input gate" not racey. 2019-11-06 16:31:02 -06:00
0a75e71672 DolphinNoGUI: Add a FBDev platform
And the associated GLContext bits
2019-09-01 14:00:40 +10:00
6c21811090 Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11
Also works around a Visual Studio 2017 bug where static inline class fields are destructed multiple times
2019-06-23 21:43:47 +02:00
8417c78b7a Update Discord rich presence when the title changes
This allows us to update the rich presence description if a channel
is launched from the Wii Menu. It also handles other PPC title
launches, e.g. Smash Bros. Masterpieces.

Host.h: Added Host_TitleChanged().

DolphinNoGUI/MainNoGUI.cpp: Implemented Host_TitleChanged().
DolphinQt/Host.cpp: Implemented Host_TitleChanged().

Android/jni/MainAndroid.cpp: Stubbed Host_TitleChanged().
DSPTool/StubHost.cpp: Stubbed Host_TitleChanged().
UnitTests/StubHost.cpp: Stubbed Host_TitleChanged().
2019-05-24 14:12:48 +02:00
61350b3d98 Core/Host: Allow frontends to block inputs 2019-03-21 13:16:21 +01:00
836f76da89 DolphinNoGUI: Runtime selection of platform 2019-02-15 18:40:46 +10:00
bd665aad5d Automatic disc change for 2-disc games 2019-01-04 09:24:38 +01:00
eb284b5d66 VideoBackends: Pass window system info from host on creation 2018-10-20 21:11:34 +10:00
1d827a5223 Renderer: Pull dimensions from GLInterface/Swapchain 2018-10-20 21:11:34 +10:00
a3961750a7 Drop Host_GetRenderSurface and pass display to backend 2018-10-20 21:11:34 +10:00
a877d5f6dc Remove unused Host_ShowVideoConfig 2018-09-28 14:05:53 +10:00
2cfdf89898 Merge pull request #6983 from yourWaifu/add-discord-rpc-support
Add Discord Rich Presence support
2018-06-25 00:06:27 +02:00
63f03455f3 Discord Rich Presence CMake integration
I have no idea if this works or not. Hopefully the build bot will tell me.
2018-06-19 22:43:03 -04:00
4288bfe0f9 Common: Move host communication enum to Host.h
Given this is actually a part of the Host interface, this should be
placed with it.

While we're at it, turn it into an enum class so that we don't dump its
contained values into the surrounding scope. We can also make
Host_Message take the enum type itself directly instead of taking a
general int value.

After this, it'll be trivial to divide out the rest of Common.h and
remove the header from the repository entirely
2018-05-28 14:34:59 -04:00
2f22c76db1 UICommon: Avoid including Xrandr.h
Xlib has really terrible headers that declare non-namespaced
macros and typedefs for common words.

Just wasted 10 minutes trying to figure out why a unit test failed
to build before I remembered it was Xrandr.h conflicting with our
enum class members again.

To fix the issue, this removes the Display* parameter from the
EnableScreensaver function (which was unused) so we don't have
to include Xrandr.h anymore.
2018-04-14 17:14:38 +02:00
de632fc9c8 Renderer: Handle resize events on-demand instead of polling
We now differentiate between a resize event and surface change/destroyed
event, reducing the overhead for resizes in the Vulkan backend. It is
also now now safe to change the surface multiple times if the video thread
is lagging behind.
2018-02-20 01:15:55 +10:00
096131c908 Merge pull request #6334 from stenzek/startup
Video Backend Initialization/Core Boot Improvements
2018-02-07 23:35:54 -08:00
6182ab6a6a dolphin-emu-nogui: Conform to the _NET_WM_PID protocol 2018-02-03 03:43:42 +01:00
04027a7da7 Core: Improve ordering of boot
- Smplification of graphics backend startup/shutdown.
- Don't send complete message until CPU is ready to execute.
- Remove redundant stop message.
- Remove OSD message with backend name.
2018-01-27 13:53:55 +10:00
3b2b2de159 Exit on Esc, pause on F10 2017-11-11 12:51:54 -02:00
4b4a9a6486 UI: Implement a command line option to boot NAND title 2017-10-24 11:41:55 +02:00
8e805dcbf4 Core: SetOnStoppedCallback -> SetOnStateChangedCallback 2017-09-13 17:30:18 -07:00