123 Commits

Author SHA1 Message Date
Connor McLaughlin
29a09a3685 Introduce ControllerInterface class, port SDL interface over
This breaks controller support in the SDL frontend until it's ported
over to the common interface.
2020-03-22 00:49:46 +10:00
Connor McLaughlin
afe2f96474 Qt: Fix display not updating after resize when paused
Fixes #104.
2020-03-18 22:27:45 +10:00
Connor McLaughlin
282998d0bb Qt: Add screenshot button 2020-03-16 00:06:39 +10:00
Connor McLaughlin
fe2e6561d3 Qt: Add audio dumping options 2020-03-15 22:04:32 +10:00
Connor McLaughlin
21ecf231d9 Qt: Show game list scanning progress visually 2020-03-12 15:32:34 +10:00
Connor McLaughlin
0e3bcfa7b5 Qt/HostInterface: Track main window pointer 2020-03-12 15:32:30 +10:00
Connor McLaughlin
8f39a0f154 Qt: Properly implement "Start Fullscreen" 2020-03-12 13:53:58 +10:00
Connor McLaughlin
2480624cbe Qt: Replace QWindow for display with QWidget base
Not as elegant, but it solves the input focus issue.
2020-03-12 13:53:51 +10:00
Connor McLaughlin
e8a5259e68 Qt: Show save times in save state menu as well 2020-03-12 13:51:23 +10:00
Connor McLaughlin
2004de7170 Qt: Fix controller rebinding not registering when paused 2020-03-06 21:55:10 +10:00
Connor McLaughlin
69f03959aa Qt: Implement context menu in game list 2020-03-02 11:08:16 +10:00
Connor McLaughlin
0c40903f74 Qt: Fix double mutex lock on controller type change
Fixes #39.
2020-03-02 11:05:13 +10:00
Connor McLaughlin
fcc0ae9571 GPU: Implement "Crop Mode" (none, overscan, all borders) 2020-02-28 17:01:01 +10:00
Connor McLaughlin
f35970fcac FrontendCommon: Move input binding and some other logic from Qt to common 2020-02-28 17:00:09 +10:00
Connor McLaughlin
509f26ad7e Qt: Add some more default hotkeys (fullscreen/pause/poweroff)
Along with the previous commit, fixes #32
2020-02-26 19:31:12 +10:00
Connor McLaughlin
e4ff8b0936 Qt: Add power off hotkey and confirmation message 2020-02-26 19:26:20 +10:00
Connor McLaughlin
27c9f2d834 Qt: Add a method for the emulation thread to focus the display widget 2020-02-26 19:26:14 +10:00
Connor McLaughlin
e9dea6e0f7 HostInterface: Add a ConfirmMessage() method 2020-02-26 19:25:57 +10:00
Connor McLaughlin
460ff24248 Qt: Support SDL audio backend 2020-02-25 23:40:46 +10:00
Connor McLaughlin
262331504f Qt: Support binding controller axes 2020-02-18 00:06:28 +09:00
Connor McLaughlin
208928b6dc Qt: Fix load state menu not refreshing after save 2020-02-16 00:15:18 +09:00
Connor McLaughlin
06f4d72631 FrontendCommon: Use SDL_InitSubSystem() for lazy initialization 2020-02-16 00:15:05 +09:00
Connor McLaughlin
6d945439eb Qt: Fix possible crash/race when startup fails 2020-02-16 00:14:56 +09:00
Connor McLaughlin
59cf799491 Qt: Implement controller interface/binding 2020-02-16 00:14:53 +09:00
Connor McLaughlin
e01cf0dccb Frontends: Implement auto save on exit/resume 2020-02-16 00:14:49 +09:00
Connor McLaughlin
5f3be68028 HostInterface: Notify host when controller types change 2020-02-16 00:14:44 +09:00
Connor McLaughlin
1e009133ae Rename 'Default' audio backend to 'SDL' 2020-02-16 00:14:35 +09:00
Connor McLaughlin
d17f0a3923 Qt: Implement disc change in QtHostInterface 2020-02-16 00:14:33 +09:00
Connor McLaughlin
e5740a5632 Qt: Pass QStrings by reference in HostInterface 2020-02-16 00:14:30 +09:00
Connor McLaughlin
fd8ed08307 Move more logic from frontend to base HostInterface 2020-02-16 00:14:28 +09:00
Connor McLaughlin
1ce1e016ae Qt: Implement save state menus 2020-02-16 00:14:04 +09:00
Connor McLaughlin
d7f8884291 Qt: Fix compilation under clang-9
Fixes #23.
2020-02-13 16:54:09 +09:00
Connor McLaughlin
2bf6912f39 Qt: Simplify emulation thread loop 2020-02-09 22:16:37 +09:00
Connor McLaughlin
c820ddba79 HostInterface: Move throttle and perf stats to System class 2020-02-09 22:16:25 +09:00
Connor McLaughlin
faf2308695 Settings: Move set defaults to HostInterface so it can use user paths 2020-01-24 14:52:04 +10:00
Connor McLaughlin
1ed187fd57 Qt: Add hotkey for increasing/decreasing resolution scale 2020-01-24 14:51:57 +10:00
Connor McLaughlin
8148486a9f Qt: Add hotkey to toggle software rendering 2020-01-24 14:51:55 +10:00
Connor McLaughlin
f2231d6669 HostInterface: Move setting update logic to base class 2020-01-24 14:51:52 +10:00
Connor McLaughlin
687772c4da HostDisplay: Move some derived class fields to base class 2020-01-24 14:51:36 +10:00
Connor McLaughlin
736d85b0f3 Qt: Implement display linear filtering 2020-01-24 14:51:34 +10:00
Connor McLaughlin
abf48b6cc2 Qt: Update GPU settings when enhancements are changed 2020-01-24 14:51:33 +10:00
Connor McLaughlin
2694181811 Qt: Hook up HostInterface::Report{Error,Message} 2020-01-24 14:51:30 +10:00
Connor McLaughlin
19cd91a684 Qt: Fix crash on exit when boot fails 2020-01-24 14:51:28 +10:00
Connor McLaughlin
b4c06fdcc6 GameList: Auto set cache/database path from user directory 2020-01-24 14:51:09 +10:00
Connor McLaughlin
feb48899c3 Qt: Don't double-create game list 2020-01-24 14:51:07 +10:00
Connor McLaughlin
77b282862f HostInterface: Move running title info to System 2020-01-24 14:51:05 +10:00
Connor McLaughlin
b3db3a1cc0 HostInterface: Share settings between SDL and Qt frontends 2020-01-24 14:51:03 +10:00
Connor McLaughlin
069bdd471c Qt: Stub saving resume state when powering off 2020-01-24 14:50:54 +10:00
Connor McLaughlin
f2d5ce74df Qt: Fix bug where render window is not focused leaving fullscreen 2020-01-24 14:50:47 +10:00
Connor McLaughlin
20b60e0f01 Qt: Update window title/save states from running title 2020-01-24 14:50:46 +10:00
Connor McLaughlin
d343743768 Qt: Safer GPU renderer switching 2020-01-24 14:49:51 +10:00
Connor McLaughlin
c5282b99e1 Qt: Thread-safe QSettings access and updating 2020-01-24 14:49:49 +10:00
Connor McLaughlin
9562cbea56 Frontends: Add frame time performance counters 2020-01-24 14:49:47 +10:00
Connor McLaughlin
b9538a55f5 Settings: Add option for creating a debug GPU device 2020-01-19 14:54:19 +10:00
Connor McLaughlin
28efc50a04 Qt: Fix worker thread lockup on shutdown 2020-01-11 14:21:08 +10:00
Connor McLaughlin
d52d6252a9 Qt: Remove QAudioOutput-based audio stream 2020-01-11 14:04:58 +10:00
Connor McLaughlin
8f6ac437ab Frontends: Add cubeb as audio backend option 2020-01-11 13:51:44 +10:00
Connor McLaughlin
9586970a9f AudioStream: Add cubeb implementation 2020-01-11 13:51:41 +10:00
Connor McLaughlin
71c1e243fe Remove YBaseLib dependency 2020-01-10 13:40:53 +10:00
Connor McLaughlin
1c2c4c8489 Qt: Fix emulation thread using 100% CPU when idle 2020-01-10 13:28:13 +10:00
Connor McLaughlin
9402c7c145 Qt: Fix double-free/crash on shutdown 2020-01-08 13:39:04 +10:00
Connor McLaughlin
c03c1451fe GameList: Support caching entries 2020-01-08 13:37:43 +10:00
Connor McLaughlin
e7bebb0105 Qt: Support runtime renderer switching 2020-01-07 18:55:36 +10:00
Connor McLaughlin
168eb5fe2d Qt: Add D3D11 display window implementation 2020-01-07 15:54:44 +10:00
Connor McLaughlin
1b7be01507 Qt: Implement audio output 2020-01-07 14:18:51 +10:00
Connor McLaughlin
207c75e6eb Qt: Implement fullscreen 2020-01-06 16:27:39 +10:00
Connor McLaughlin
87889a13e0 Qt: Properly handle modifier keys for input 2020-01-06 15:14:47 +10:00
Connor McLaughlin
40e1b7af23 Qt: Initial hotkey implementation 2020-01-05 12:46:03 +10:00
Connor McLaughlin
bea15c97cd Qt: ImGui support 2020-01-02 19:14:16 +10:00
Connor McLaughlin
9436ffc806 Qt: Move some functionalty from OpenGLDisplayWindow into QtDisplayWindow 2020-01-02 17:45:25 +10:00
Connor McLaughlin
b135b32159 Qt: Add config and implementation for basic controller input 2020-01-02 16:13:03 +10:00
Connor McLaughlin
77a47c87d2 Qt: Hook up console settings 2020-01-01 14:01:58 +10:00
Connor McLaughlin
f3e9c3ec8c Add initial work on Qt frontend 2019-12-31 16:18:30 +10:00