Connor McLaughlin
828513409f
Qt: Remove unnecessary log spam
2020-04-30 17:46:33 +10:00
Connor McLaughlin
dac114fa4e
Qt: Use coarse timer for background controller polling
...
Fixes high idle CPU usage.
2020-04-30 12:34:14 +10:00
Connor McLaughlin
d80aaf3880
Qt: Fix possible race/crash on shutdown
2020-04-29 16:52:06 +10:00
Connor McLaughlin
b56546d8ad
Qt: Always poll controllers even when not running
...
Fixes pause hotkey not unpausing when bound to controller.
2020-04-29 13:28:09 +10:00
Connor McLaughlin
79111e4e03
Qt: Add option for memory card type/mode
2020-04-27 16:22:25 +10:00
Connor McLaughlin
63692a012f
Qt: Add "New..." to input profile save button
...
This will ensure the profile gets saved to the correct location.
2020-04-27 01:05:03 +10:00
Connor McLaughlin
84b8987105
Qt: Only enable D3D11 break-on-error when debugger attached
2020-04-27 00:53:17 +10:00
Connor McLaughlin
5671fde1ae
BitUtils: Make Count{Leading,Trailing}Zeros UB for value==0
2020-04-26 18:32:26 +10:00
Connor McLaughlin
1000cb30a9
HostDisplay: Track mouse position
2020-04-26 17:36:49 +10:00
Connor McLaughlin
3723cd5867
Qt: Mouse button binding support
2020-04-26 17:23:42 +10:00
Connor McLaughlin
ce46475e41
Qt: Use click event rather than pressed to rebind
2020-04-26 17:22:29 +10:00
Connor McLaughlin
9e2331c52a
Qt: Redraw window immediately when switching between fullscreen/windowed
...
Fixes content not showing when displaying a popup message.
2020-04-25 14:30:10 +10:00
Connor McLaughlin
1dd2e0f498
Qt: Fix assertion tripping when starting fullscreen 2nd time
2020-04-25 14:30:10 +10:00
Connor McLaughlin
f7e2d98055
Qt: Add .psf to all files filter for open file
2020-04-25 00:37:48 +10:00
Connor McLaughlin
ea25b58dd3
Qt: Support disabling vsync via glXSwapInterval
2020-04-23 13:04:40 +10:00
Connor McLaughlin
fc6a165438
CMake: Fix compiling with Visual Studio
2020-04-23 13:04:33 +10:00
Connor McLaughlin
a02c818245
HostDisplay: Drop some unused methods
2020-04-22 21:15:59 +10:00
Connor McLaughlin
ea3c0b65cf
Qt: Refactor render widget state transitions
...
Recreate widget each time. Fixes fullscreen mode switches on D3D11 and
hopefully Wayland.
2020-04-22 21:13:53 +10:00
Connor McLaughlin
08c8d1a521
System: Support saving screenshots in save states
2020-04-21 02:50:45 +10:00
Connor McLaughlin
277c03aca0
Add auto-generated Git version to window titles
2020-04-17 02:10:56 +10:00
Connor McLaughlin
610ebcf2fa
Qt: Support loading .psf files
2020-04-17 00:31:03 +10:00
Connor McLaughlin
b45b70970b
GL/ShaderCache: Support geometry shaders
2020-04-16 21:25:56 +10:00
Connor McLaughlin
8a5e955ba3
Qt: Add input profile support
2020-04-15 01:44:16 +10:00
Connor McLaughlin
1eeb1012aa
Qt: Add buttons for binding controller rumble
2020-04-14 16:35:04 +10:00
Connor McLaughlin
d9ebb975b2
CommonHostInterface: Reimplement controller rumble support
...
Even better than before, supports separate motor control.
2020-04-14 16:34:42 +10:00
Connor McLaughlin
67f2eb3fed
Qt: Fix -fullscreen not working
2020-04-13 22:37:24 +10:00
Connor McLaughlin
81cf4b469f
Frontends: Add shared command line interface
...
Also provides batch mode and automatic fullscreen switching.
-help: Displays this information and exits.
-version: Displays version information and exits.
-batch: Enables batch mode (exits after powering off)
-fastboot: Force fast boot for provided filename
-slowboot: Force slow boot for provided filename
-resume: Load resume save state. If a boot filename is provided,
that game's resume state will be loaded, otherwise the most
recent resume save state will be loaded.
-state <index>: Loads specified save state by index. If a boot
filename is provided, a per-game state will be loaded, otherwise
a global state will be loaded.
-statefile <filename>: Loads state from the specified filename.
No boot filename is required with this option.
-fullscreen: Enters fullscreen mode immediately after starting.
-nofullscreen: Prevents fullscreen mode from triggering if enabled.
-portable: Forces "portable mode", data in same directory.
--: Signals that no more arguments will follow and the remaining
parameters make up the filename. Use when the filename contains
spaces or starts with a dash.
2020-04-13 22:17:09 +10:00
Connor McLaughlin
a682b720e1
Qt: Fix software renderer image uploads in OpenGL
2020-04-11 18:54:09 +10:00
Connor McLaughlin
7779a54bc5
GPU: Rename 'Force Progressive Scan' to 'Disable Interlacing'
...
It affects rendering as well as display/scanout now, after all.
2020-04-11 16:37:53 +10:00
Connor McLaughlin
54adad948b
Qt: Add .mcr extension to memory card file picker
2020-04-11 11:57:39 +10:00
Connor McLaughlin
fbfd838e22
GPU: Add pixel aspect ratio option
...
Can display in 4:3, 16:9, 1:1 ratios.
2020-04-10 15:12:35 +10:00
Connor McLaughlin
3325d2c42c
GPU: Add Force NTSC timings option
...
This option forces NTSC timings for PAL games, causing them to either
run faster (more likely) or smoother (less likely).
2020-04-10 13:35:10 +10:00
Connor McLaughlin
0a004361fc
Qt: Work around flip model swap chains being limited to vsync when parented
...
Fixes fast forward not working on some systems.
2020-04-09 00:14:19 +10:00
Connor McLaughlin
1f40d5f77d
Qt: Implement memory card remove button
2020-04-09 00:13:44 +10:00
Connor McLaughlin
3272b37853
Qt: Implement browse button for memory card paths
2020-04-09 00:09:16 +10:00
Connor McLaughlin
9915d977e4
Qt: Fix memory card path not applying
...
Fixes #245 .
2020-04-09 00:03:52 +10:00
Connor McLaughlin
cbe9ef24b9
SettingWidgetBinder: Use QString instead of const char*
...
Fixes potential string lifetime issues.
2020-04-09 00:03:20 +10:00
Connor McLaughlin
32dbd173c5
Qt: Add link to Discord server in Help menu
2020-04-07 13:54:25 +10:00
Connor McLaughlin
e91d760175
HostInterface: Fix crash on startup with controller connected
2020-04-06 12:18:33 +10:00
Connor McLaughlin
e7640d5367
HostInterface: Make SetUserDirectory() overridable by frontends
2020-04-05 22:59:06 +10:00
Connor McLaughlin
11e8a91e30
CommonHostInterface: Simplify fullscreen toggle
2020-04-05 22:58:54 +10:00
Connor McLaughlin
bf6c1c4866
Qt: Implement render-to-seperate-window and render-to-main toggle
2020-04-05 22:58:47 +10:00
Connor McLaughlin
3daa6b469a
Build: Explicitly disable spectre mitigations
...
Mitigations-off gave a roughly 20-25% boost in performance on my laptop
(i7-7700HQ), even with the recompiler.
It seems AppVeyor was building with them enabled. You shouldn't treat an
emulator like a sandbox and run untrusted code in it amyway.
2020-04-01 22:30:19 +10:00
Connor McLaughlin
0eb740a0aa
Qt: Add CDROM Enable Region Check option
2020-04-01 14:50:27 +10:00
Connor McLaughlin
20025b2ffd
Qt: Hide mouse cursor in fullscreen mode
...
Fixes #135 .
2020-03-29 01:12:27 +10:00
Connor McLaughlin
cbb9b96537
System: Include buffer swap time in frame time measurement
2020-03-24 00:20:56 +10:00
Connor McLaughlin
a5083f0ee4
Qt: Remove ? button in title bar
2020-03-22 22:40:45 +10:00
Connor McLaughlin
701491156a
Qt: Use menu font instead of system font as default font
2020-03-22 22:40:29 +10:00
Connor McLaughlin
7b9be0a586
Qt: Add per-page help to settings dialog
2020-03-22 22:19:46 +10:00
Connor McLaughlin
1d9bcb2a48
Qt: Force redraw the display when restoring after minimized
2020-03-22 21:50:49 +10:00
Connor McLaughlin
8b836555f6
Qt: Disable auto-fill background and set WA_NoSystemBackground
2020-03-22 21:25:10 +10:00
Connor McLaughlin
74e0e83cfd
Qt: Use same imgui style as SDL
2020-03-22 13:20:08 +10:00
Connor McLaughlin
e662f34f8b
Qt: Add help for general settings
2020-03-22 13:20:08 +10:00
Connor McLaughlin
4629cdfffc
Qt: Add help text section to settings dialog
2020-03-22 13:20:08 +10:00
Connor McLaughlin
d5c76bf7d5
Qt: Increase default size of settings dilaog
2020-03-22 13:20:08 +10:00
Connor McLaughlin
c646bf507f
Qt: Add OSD options to general settings
2020-03-22 13:20:08 +10:00
Connor McLaughlin
a4a5d3ef79
Qt: Split some console settings out into general settings
2020-03-22 13:20:08 +10:00
Connor McLaughlin
bf2f9bd8d9
Qt: Add 'Refresh' button to toolbar for reloading game list
2020-03-22 13:20:08 +10:00
Connor McLaughlin
7e36195f44
HostInterface: Enable on-screen FPS/VPS/Speed display via config
2020-03-22 13:20:08 +10:00
Connor McLaughlin
acd49f3765
Qt: Fix possible crash when loading state via menu
2020-03-22 13:10:28 +10:00
Connor McLaughlin
ad6e4cb6e4
Qt: Add "Clear All" and "Rebind All" to controller bindings
2020-03-22 00:50:09 +10:00
Connor McLaughlin
45050709f2
Qt: Add support for clearing input bindings with right click
2020-03-22 00:49:55 +10:00
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
2bb992a702
HostDisplay: Add texture dumping/saving support
2020-03-16 00:03:49 +10:00
Connor McLaughlin
fe2e6561d3
Qt: Add audio dumping options
2020-03-15 22:04:32 +10:00
Connor McLaughlin
c3cb6ef393
Qt: Fix debug menu not updating selected GPU renderer
...
Fixes #93 .
2020-03-14 12:34:41 +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
f71a03202b
Qt: Add ProgressCallback implementation
2020-03-12 15:32:15 +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
e0a339ca96
GameList: Seperate disc region and console region
2020-03-12 13:51:29 +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
b2d0dd2d6c
Qt/GameList: Update entry rather than ignoring same directory added twice
2020-03-10 23:10:20 +10:00
Connor McLaughlin
ed0abf3912
Qt: Fix possible assertion failure when removing search directories
2020-03-10 22:59:17 +10:00
Connor McLaughlin
bd25aa2f9d
Qt: Include .chd in disc image filter
...
Fixes #77 .
2020-03-10 00:18:13 +10:00
Connor McLaughlin
2004de7170
Qt: Fix controller rebinding not registering when paused
2020-03-06 21:55:10 +10:00
Connor McLaughlin
552a01a9b6
Qt: Disable LTCG on Release-only builds
...
It wasn't being used anyway.
2020-03-04 23:21:43 +10:00
Connor McLaughlin
b405c01652
Qt: Save settings for column visibility/sorting in game list
2020-03-02 11:08:29 +10:00
Connor McLaughlin
5c0660744a
Qt: Implement "File Title" column and toggling in game list
2020-03-02 11:08:25 +10:00
Connor McLaughlin
c8954a3089
Qt: Fix game list sorting by column
2020-03-02 11:08:20 +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
635ab72b37
GPU: Implement "Scaled Dithering" option
...
Fixes #29 .
2020-03-01 00:05:31 +10:00
Connor McLaughlin
e1d4c0b9d4
HostDisplay: Fudge texture coordinates for better linear filtering
2020-02-29 00:18:24 +10:00
Connor McLaughlin
e8e44991db
GPU: Fix display in OpenGL renderer
2020-02-28 22:42:56 +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
ccbe6f0c42
Qt: Don't store floats in settings as QVariant data
2020-02-28 17:00:07 +10:00
Connor McLaughlin
07ba2ecd3d
Settings: Simplify resolution scale enumeration
2020-02-28 16:59:55 +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
8ffdcf1b7e
Qt: Add a way for the emulation thread to request fullscreen state
2020-02-26 19:25:51 +10:00
Connor McLaughlin
460ff24248
Qt: Support SDL audio backend
2020-02-25 23:40:46 +10:00
Connor McLaughlin
223b52736f
Qt: Populate audio backend drop-down
2020-02-25 23:40:42 +10:00
Connor McLaughlin
c68d188029
Disable DXGI handling of ALT+ENTER
...
We manage fullscreen ourselves.
2020-02-24 18:19:20 +09:00
Connor McLaughlin
959a555274
CDROM: Implement asynchronous disc reading
2020-02-22 00:24:35 +09:00
Connor McLaughlin
784a5c789f
Qt: Use precompiled D3D11 display shaders
2020-02-20 23:22:28 +09:00
Connor McLaughlin
11b90b2beb
Qt: Fix mac build again
2020-02-18 00:31:05 +09:00
Connor McLaughlin
262331504f
Qt: Support binding controller axes
2020-02-18 00:06:28 +09:00
Connor McLaughlin
b7dfe06f74
Qt: Support axes in input binding widgets
2020-02-18 00:06:11 +09:00
Connor McLaughlin
208928b6dc
Qt: Fix load state menu not refreshing after save
2020-02-16 00:15:18 +09:00
Connor McLaughlin
6456c5d63d
Qt: Don't resume when booting without game code
2020-02-16 00:15:11 +09:00
Connor McLaughlin
06f4d72631
FrontendCommon: Use SDL_InitSubSystem() for lazy initialization
2020-02-16 00:15:05 +09:00
Connor McLaughlin
e48e6141c8
Qt: Set display window size on context create not constructor
...
The size isn't known at construction time.
2020-02-16 00:15:00 +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
6a1206dde7
Frontends: Add option for "Increase Timer Resolution"
2020-02-16 00:14:51 +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
153eded978
Qt: Use a single column in hotkey binding list
2020-02-16 00:14:23 +09:00
Connor McLaughlin
5c303705ac
Qt: Use scroll area for hotkey binding list
2020-02-16 00:14:08 +09:00
Connor McLaughlin
1ce1e016ae
Qt: Implement save state menus
2020-02-16 00:14:04 +09:00
Connor McLaughlin
97ea851097
Qt: Narrowing warning fix
2020-02-16 00:14:02 +09:00
Connor McLaughlin
745c2785b2
Move shared frontend code from SDL to a seperate project
2020-02-16 00:13:53 +09:00
Connor McLaughlin
f5482cb3b6
Don't require OpenGL compatibility profile
2020-02-15 21:11:51 +09:00
Connor McLaughlin
65b5013da0
Qt: Work around indirect include of glext.h by QOpenGLContext on macOS
...
Hacky, but aside from not using glad I'm not sure what else to do.
2020-02-15 17:23:35 +09:00
Connor McLaughlin
d7f8884291
Qt: Fix compilation under clang-9
...
Fixes #23 .
2020-02-13 16:54:09 +09:00
Connor McLaughlin
c008a5d523
Display: Fix bleeding from adjacent VRAM columns with linear filtering
2020-02-13 00:19:46 +09:00
Connor McLaughlin
70fe43a3ec
System: Implement variable emulation speed
2020-02-11 12:02:42 +09:00
Connor McLaughlin
a81a0c0f21
Qt: Add normalized float values to SettingWidgetBinder
2020-02-10 22:44:00 +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
895cefec60
Qt: Fix core trying to use core OpenGL shaders on OpenGL ES
2020-02-08 21:18:41 +09:00
Stenzek
8d9ce82281
Qt: Slightly rework desktop/GLES context creation
2020-02-06 21:02:47 +09:00
Stenzek
8654778298
Qt: OpenGL display window crash fix
2020-02-05 22:47:49 +09:00
Stenzek
e4e15f234b
Qt: Fix up debug CPU mode switch menu
2020-02-05 17:43:25 +09:00
Stenzek
93f85535eb
Qt: Handle creation of ES contexts even when it wasn't specified
2020-02-05 17:42:50 +09:00
Stenzek
edb6d7c97e
Qt: Add debug settings to menu
2020-02-04 15:22:56 +09:00
Stenzek
6718f0442c
Qt: Support QActions in SettingsWidgetBinder
2020-02-04 15:22:39 +09:00
Connor McLaughlin
899a8e0f03
Qt: Add "Use Debug Device" to GPU settings
2020-02-02 00:22:14 +10:00
Connor McLaughlin
96be414e3e
Qt: Populate console region drop-down dynamically
2020-02-02 00:22:07 +10:00
Connor McLaughlin
c72d86cf1b
Qt: Hook up CPU execution mode setting
2020-02-01 00:05:20 +10:00
Connor McLaughlin
070e6c32d6
Frontends: Add .chd files to open filter
2020-01-30 20:06:15 +10:00
Connor McLaughlin
6624df1e8c
Qt: Add CPU settings/emulation speed to console settings
2020-01-29 00:01:44 +10:00
Connor McLaughlin
5272ecd572
Qt: Support binding settings to QSliders
2020-01-29 00:01:35 +10: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
2276975d62
Qt: Implement GitHub Repository/Issue Tracker links
2020-01-24 14:51:59 +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