Commit graph

578 commits

Author SHA1 Message Date
Connor McLaughlin 2e9f656546 CPU: Implement PGXP CPU Mode
This is *very* slow. You don't want to enable it if you don't need it.
It is also incompatible with the recompiler and will disable it if the
option is enabled.
2020-08-20 00:49:39 +10:00
Connor McLaughlin db6b9e3bf4 Qt: Fix default value of auto update check 2020-08-19 20:54:02 +10:00
Connor McLaughlin 67fb9253cb Qt: Hide debug menu by default 2020-08-19 00:01:57 +10:00
Connor McLaughlin e3721460a2 Qt: Connect Italian translation 2020-08-17 11:54:10 +10:00
RaydenX93 d10e17cb6c Create duckstation-qt_it.ts
R0
2020-08-16 20:36:51 +02:00
posix aeeb41801a
Update consolesettingswidget.cpp 2020-08-16 19:31:00 +02:00
Connor McLaughlin 4e62b32d60 Add option to dump the contents of RAM to a file 2020-08-16 23:20:36 +10:00
Connor McLaughlin 10a46a7fd8 OSD: Add option to show display resolution 2020-08-16 00:20:11 +10:00
Connor McLaughlin f3c3be7f09 Qt: Make right click game -> state menus translatable 2020-08-16 00:20:10 +10:00
Connor McLaughlin ae3ad04bfc Qt: Fix modifier key bindings not having any effect 2020-08-16 00:20:10 +10:00
Connor McLaughlin 86799775ce Qt: Add UI for playlist disc switching 2020-08-16 00:20:10 +10:00
Connor McLaughlin d9893bb127 System: Add option to use a single memory card for playlists 2020-08-16 00:20:10 +10:00
posix e0c6617b7c
Update duckstation-qt_de.ts
I updated the .ts, opened it in Wordpad, and copy pasted it over, in the hope it'll only show stuff I changed.
2020-08-15 14:05:21 +02:00
posix 54f1ef6f59
Update audiosettingswidget.cpp 2020-08-15 13:14:14 +02:00
Connor McLaughlin 9bac40d6d8 Qt: Connect Spanish translation 2020-08-15 11:37:45 +10:00
Connor McLaughlin 9c413275c2 Qt: Update Portuguese (Br) translation 2020-08-15 11:37:20 +10:00
Connor McLaughlin 852edaa3f9
Merge pull request #758 from Hipnosis183/master
Added universal Spanish translation
2020-08-15 11:30:06 +10:00
Renzo Pigliacampo 97bd7109b2
Added universal Spanish translation 2020-08-14 19:09:56 -03:00
Albert Liu cd0ac1a2bc Qt: Add Chinese (Simplified) translation 2020-08-14 13:47:23 -07:00
Connor McLaughlin 16a4398fdb Qt: Use native name for Portuguese in list 2020-08-15 00:14:49 +10:00
Connor McLaughlin 71bd009eed Qt: Connect Hebrew translation 2020-08-15 00:14:48 +10:00
Connor McLaughlin c5db7db182 Build: Compile source as UTF-8 with MSVC 2020-08-15 00:04:38 +10:00
MojoJojoDojo da596722bc Hebrew Translation 2020-08-14 12:47:59 +03:00
Albert Liu 6e0b71ace4 QtUtils: Improve QTableView column resizing 2020-08-11 11:19:03 -07:00
Connor McLaughlin ba5458c1c3 Qt: Fix a rare crash when rapidly changing settings 2020-08-12 02:27:52 +10:00
posix 79fd77444a
Update consolesettingswidget.cpp
This the way to do it?
2020-08-10 21:35:36 +02:00
Connor McLaughlin 8c472a8258
Merge pull request #732 from Abbanon/master
Update gpusettingswidget.cpp
2020-08-11 03:00:32 +10:00
Connor McLaughlin 9963bde034 Qt: Remove note about bilinear filtering being broken 2020-08-10 23:28:37 +10:00
Connor McLaughlin e59200b8c2 Qt/ConsoleSettingsWidget: Support adding help 2020-08-10 23:28:37 +10:00
Abbanon f0cd42dc1a
Update gpusettingswidget.cpp
Second pass, making some changes to my own changes. Still not entirely sure what I'm doing.
2020-08-10 09:00:19 -04:00
Connor McLaughlin f14dc6de27 Update Portuguese (Pt) translation 2020-08-10 20:40:28 +10:00
Connor McLaughlin 96b86acb4f Qt: Move debug GPU device to advanced options 2020-08-09 00:03:07 +10:00
Connor McLaughlin 1d5f810a4b CPU/Recompiler: Disable memory access exceptions by default
This means it'll no longer pass amidog's CPU test in the default config.
But no games rely on this. You can enable it in advanced options if you
want to pass the CPU test.
2020-08-08 23:44:13 +10:00
Connor McLaughlin 92bc65d883 Qt: Turn language list into radio buttons 2020-08-07 03:34:40 +10:00
Connor McLaughlin f0e3373cb2 Qt: Add message about unofficial builds auto-update incompatibility 2020-08-06 22:37:30 +10:00
Connor McLaughlin 72053e5500 Qt: Fix non-auto-update-enabled builds 2020-08-06 22:22:35 +10:00
Connor McLaughlin c09bfc4d2b Qt: Add automatic updater 2020-08-06 22:08:22 +10:00
Connor McLaughlin 7cafb8c515 Common: Add MinizipHelpers (RAM and UTF-8 compatible fopen) 2020-08-06 19:33:02 +10:00
Connor McLaughlin 6e586311e8 Common: Add title, modal information to ProgressCallback 2020-08-06 19:32:53 +10:00
Connor McLaughlin 8c1a72f640 Qt: Unmark window info error for translation 2020-08-06 19:30:47 +10:00
Connor McLaughlin b6d25c46e4 Qt: Add de language to update_translations.bat 2020-08-05 20:42:48 +10:00
Connor McLaughlin e198e31598 Qt: Add German/Deutsch translation 2020-08-03 13:32:55 +10:00
Connor McLaughlin 8b4624a98e Update Portuguese (Br) translation 2020-08-03 13:23:34 +10:00
Connor McLaughlin 9b7512f7b8 GPU/HW: Implement automatic resolution scale from window size 2020-08-03 03:06:03 +10:00
Connor McLaughlin 75156b76af CMake: Fix Linux build 2020-08-02 13:21:16 +10:00
Connor McLaughlin ba9ada1100 Qt: Add Portuguese (Pt) translation 2020-08-02 13:14:52 +10:00
Connor McLaughlin 5f9481dd3d Qt: Fix game list settings headings not being translatable 2020-08-02 03:06:23 +10:00
Connor McLaughlin 9a9d66882c Qt: Fix game list headings not being translatable 2020-08-02 03:06:23 +10:00
Connor McLaughlin 0c1b637549 PGXP: Add initial implementation 2020-08-02 00:25:07 +10:00
Connor McLaughlin 013497cf20 Qt/GPUSettings: Fix typo in force NTSC timing description 2020-08-01 22:35:28 +10:00
Connor McLaughlin e9882a10aa System: Move restore/reset graphics API state to System
Fixes frame stepping.
2020-08-01 16:45:07 +10:00
Connor McLaughlin 3532ab8d72 Qt: Update interlaced rendering option help 2020-08-01 14:04:52 +10:00
Connor McLaughlin b6f871d2b9
JIT optimizations and refactoring (#675)
* CPU/Recompiler: Use rel32 call where possible for no-args

* JitCodeBuffer: Support using preallocated buffer

* CPU/Recompiler/AArch64: Use bl instead of blr for short branches

* CPU/CodeCache: Allocate recompiler buffer in program space

This means we don't need 64-bit moves for every call out of the
recompiler.

* GTE: Don't store as u16 and load as u32

* CPU/Recompiler: Add methods to emit global load/stores

* GTE: Convert class to namespace

* CPU/Recompiler: Call GTE functions directly

* Settings: Turn into a global variable

* GPU: Replace local pointers with global

* InterruptController: Turn into a global pointer

* System: Replace local pointers with global

* Timers: Turn into a global instance

* DMA: Turn into a global instance

* SPU: Turn into a global instance

* CDROM: Turn into a global instance

* MDEC: Turn into a global instance

* Pad: Turn into a global instance

* SIO: Turn into a global instance

* CDROM: Move audio FIFO to the heap

* CPU/Recompiler: Drop ASMFunctions

No longer needed since we have code in the same 4GB window.

* CPUCodeCache: Turn class into namespace

* Bus: Local pointer -> global pointers

* CPU: Turn class into namespace

* Bus: Turn into namespace

* GTE: Store registers in CPU state struct

Allows relative addressing on ARM.

* CPU/Recompiler: Align code storage to page size

* CPU/Recompiler: Fix relative branches on A64

* HostInterface: Local references to global

* System: Turn into a namespace, move events out

* Add guard pages

* Android: Fix build
2020-07-31 17:09:18 +10:00
Connor McLaughlin f443691ad0 Qt: Fix deprecreated errors with 5.15 2020-07-31 03:40:51 +10:00
Connor McLaughlin fb85e2b441 Qt: Update Portuguese (Br) translation 2020-07-31 03:32:48 +10:00
Connor McLaughlin 167169a03b Qt: Update Portuguese translation 2020-07-30 00:49:32 +10:00
Connor McLaughlin 77481f5b23 Qt: Add context menu and open directory to game directory list 2020-07-29 02:51:52 +10:00
Connor McLaughlin 8956fc27ce Qt: Make about dialog more translation-friendly 2020-07-29 02:38:04 +10:00
Connor McLaughlin 982c428074 Qt: Improve auto-sizing for settings dialog 2020-07-29 02:38:04 +10:00
Connor McLaughlin bc6f6d1a6d Qt: Display Portuguese language as Portuguese (Br) 2020-07-29 02:38:04 +10:00
Connor McLaughlin f82e64a60c Qt/Settings: Add recommended resolution to scale
Apparently the framebuffer/VRAM dimensions were too confusing.
2020-07-28 20:33:09 +10:00
Connor McLaughlin b894b882ed Qt/Settings: Add help for GPU adapter 2020-07-28 20:33:09 +10:00
Connor McLaughlin 20ff075c3f Qt: Mark individual setting help as translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin e187597dec Qt: Make settings main help text translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin 27f62723c7 Qt: Make gmae list headings translatable 2020-07-28 20:33:09 +10:00
Connor McLaughlin 79c8b9f52c Qt: Add Portuguese translation 2020-07-28 20:33:09 +10:00
Connor McLaughlin 3edb255eca Qt: Add translation support and language setting 2020-07-28 19:14:44 +10:00
Connor McLaughlin 5a955a4fdc Qt: Fix audio volume/mute being lost when restarting emulation 2020-07-24 02:55:00 +10:00
Connor McLaughlin e30c0a6881 Qt: Don't allow booting when changing disc from game list 2020-07-24 02:40:46 +10:00
Albert Liu bf597aab44 Settings: Specify GPU resolution scale as VRAM size 2020-07-23 01:03:18 -07:00
Albert Liu e782b678b6 Qt/GPUSettings: Update aspect ratio help text 2020-07-22 12:08:01 -07:00
Connor McLaughlin 961afdf765 Qt: Ignore resume states when "Save state on exit" is unchecked 2020-07-23 02:44:06 +10:00
Connor McLaughlin 6c162eb3c5 Qt: Support binding multiple buttons/axis to controllers 2020-07-23 02:35:15 +10:00
Albert Liu 855fc9a31c CommonHostInterface: Prevent some potential null pointer dereferences 2020-07-21 17:14:11 -07:00
Connor McLaughlin 9496c992f7 System: Add an option to preload CD image to RAM 2020-07-22 00:03:22 +10:00
Connor McLaughlin b2595a3b3b Qt: Fix volume slider slowing down emulation 2020-07-21 20:10:17 +10:00
Connor McLaughlin 2fb00faa67 Qt: Delay settings save by one second 2020-07-21 20:10:11 +10:00
Connor McLaughlin 68d98af497 Qt: Remove usage of QString where possible for settings 2020-07-21 20:10:06 +10:00
Connor McLaughlin bddd098a66
Merge branch 'master' into qt-inisettings 2020-07-21 13:28:18 +10:00
Connor McLaughlin f67862de5f
Merge pull request #622 from ggrtk/qt-gamelistsettings
Qt/GameListSettings: Use native path separators
2020-07-19 12:58:00 +10:00
Elizabeth 39917117d2
Disable Interlacing description "Unchecked"
As noted by Kurayami6, Disable Interlacing should show "Unchecked" as the default option for this enhancement.
2020-07-18 13:21:13 -04:00
Albert Liu 2853bf851a Qt/GameListSettings: Use native path separators
Fixes possible duplicate game list entries on Windows.
2020-07-17 18:43:30 -07:00
Connor McLaughlin 1069e12bff Qt: Add binding how-to text to hotkey page 2020-07-18 01:33:51 +10:00
Connor McLaughlin 389f452e10 Qt/GameListSettings: Use push button for all buttons 2020-07-18 01:33:36 +10:00
Connor McLaughlin 5c5ee17fa7 Qt: Fix widescreen hack option positioning 2020-07-18 01:28:35 +10:00
Connor McLaughlin 1e6740762d Qt: Add widescreen hack option 2020-07-18 00:28:37 +10:00
Albert Liu a92fd98d7f Qt/GameListSettings: Fix QToolButtons staying highlighted after use 2020-07-17 03:50:02 -07:00
Albert Liu 97be6c922c Fix MSVC build 2020-07-16 20:35:49 -07:00
Albert Liu 4e2b3189b0 Qt: Replace QtSettingsInterface with INISettingsInterface 2020-07-16 20:35:49 -07:00
Albert Liu 9d6325f828 QtHostInterface: Fix compiler warning 2020-07-16 20:32:42 -07:00
Connor McLaughlin 1ed57a9fdf Qt: Hook up mouse events to ImGui 2020-07-13 02:39:59 +10:00
Connor McLaughlin a5fe740e30 Fix a bunch of compiler warnings 2020-07-09 13:30:16 +10:00
Connor McLaughlin 97a946bd62 CommonHostInterface: Implement frame step hotkey 2020-07-08 02:05:36 +10:00
Connor McLaughlin 5274fa32ac Qt: Pump events on main thread when waiting for init 2020-07-06 02:47:33 +10:00
Connor McLaughlin f396a2c373 Renderers: Make shader cache path a prefix instead of directory 2020-07-04 22:14:07 +10:00
Connor McLaughlin b3359dadc9 Qt: Save original style name for restoring after theme switch 2020-07-04 15:54:26 +10:00
Connor McLaughlin b471d1043a Settings: Load Memory Cards From State -> Load Devices From State
Makes it apply to controllers too.
2020-07-02 00:50:53 +10:00
Connor McLaughlin bf08385051 WindowInfo: Add surface_scale field 2020-07-01 01:57:25 +10:00
Connor McLaughlin 78cf890c6c Qt: Hook up per-controller-type-settings to UI 2020-07-01 00:56:46 +10:00
Connor McLaughlin bcc6d5d53d Qt: Support float settings in setting widget binder 2020-07-01 00:56:46 +10:00
Connor McLaughlin 0b11a14e24 Qt: Better handling of default settings not in ini 2020-07-01 00:56:46 +10:00
Connor McLaughlin 4dc9e10777 HostInterface: Support per-controller-type settings 2020-07-01 00:56:46 +10:00
Connor McLaughlin 2a38090e7a HostDisplay: Move most backend logic to FrontendCommon 2020-06-30 03:03:56 +10:00
Albert Liu 788a9a6768 Qt: Reset palette and style when selecting default theme
Fixes palette and style getting stuck when switching to default theme
after having used dark fusion theme earlier in the same session.
2020-06-24 16:08:36 -07:00
Connor McLaughlin 55a2c73097 Qt: Add Dark Fusion theme 2020-06-25 01:33:00 +10:00
Connor McLaughlin a6d976240a Qt: Add theme selection and dark theme 2020-06-25 01:33:00 +10:00
Connor McLaughlin 82a0ad8a10 Qt/Settings: Make GPU adapter more sensible
Add a default entry, rather than leaving it blank.
2020-06-22 15:57:43 +10:00
Connor McLaughlin 4d827e23c5 Qt: Add GPU/adapter selection to settings 2020-06-20 03:34:19 +10:00
Connor McLaughlin 77291096db Settings: Add GPU adapter option and hook up to D3D11/Vulkan 2020-06-20 03:34:19 +10:00
Connor McLaughlin 85edbce3ca Qt: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin 49a9f01327 Qt: Support Vulkan 2020-06-19 00:18:53 +10:00
Albert Liu d005025f8f Qt/AdvancedSettings: Fix swapped widget bindings 2020-06-17 12:34:41 -07:00
Connor McLaughlin 7aa71529d6
Merge pull request #551 from ggrtk/advanced-settings
Qt: Connect tweak/hack settings to Qt frontend
2020-06-18 03:12:13 +10:00
Connor McLaughlin 0e3fdebb11 Qt: Don't set native window to GL surface
Might be related to the GLX crashes some people are experiencing...
2020-06-18 03:10:33 +10:00
Albert Liu b7d9ce98e8 Qt: Connect tweak/hack settings to Qt frontend 2020-06-16 09:53:18 -07:00
Connor McLaughlin b141042952
Merge pull request #549 from ggrtk/qt-rebind-all
Qt: Simplify Rebind All behavior
2020-06-15 13:26:48 +10:00
Albert Liu 1b9dbc1a0b Qt: Add help text note about binding rumble 2020-06-14 16:29:25 -07:00
Albert Liu fd4e41bc7d Qt: Simplify Rebind All behavior 2020-06-14 16:06:29 -07:00
Connor McLaughlin 41d66f5c73 Qt: Add icon to executable 2020-06-15 03:29:35 +10:00
Connor McLaughlin 0dfb9f7d90
Merge pull request #548 from ggrtk/qt-aboutdialog
Qt: Add about dialog
2020-06-12 18:50:06 +10:00
Albert Liu 4f07e30dc0 Qt: Fix broken font in about dialog on Windows 2020-06-11 10:14:27 -07:00
Albert Liu aeead1b0a6 Fix MSVC build 2020-06-11 10:09:02 -07:00
Connor McLaughlin 8d2c7db224 Qt: Source input profiles from program and user directory
This way Linux users as well as Windows users who use the Documents
user directory can use the shipped input profiles.
2020-06-12 02:47:40 +10:00
Albert Liu da9188a771 Qt: Fix broken links in about dialog 2020-06-11 09:36:14 -07:00
Albert Liu 4c29b6f30c Qt: Add about dialog 2020-06-11 09:26:04 -07:00
Connor McLaughlin 2504d187d3 Qt: Add separate menu items for rescan all/scan for new games 2020-06-12 01:49:17 +10:00
Connor McLaughlin f5fd37c4c4 Qt: Fix compatibility column not showing by default 2020-06-09 02:41:24 +10:00
Connor McLaughlin 075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 2020-06-09 02:35:37 +10:00
Connor McLaughlin 29d918dbb0 Qt/GameProperties: Implement hash calculation 2020-06-08 01:19:54 +10:00
Connor McLaughlin bc9246b444 Qt: Add inline help to audio settings 2020-06-07 01:30:05 +10:00
Connor McLaughlin 531c3ad5fa AudioStream: Replace buffer queue with ring buffer
Should achieve a decent overall minimum latency reduction.
2020-06-07 01:22:03 +10:00
Connor McLaughlin 6acd8b27dd Qt: Prevent lag disabling power on buttons when starting 2020-06-06 03:44:57 +10:00
Connor McLaughlin de8aef4f44 Qt: Fix pause button repeatedly triggering sometimes 2020-05-31 02:41:31 +10:00
Connor McLaughlin 51c75554e6 Qt: Fix overlapping options in general settings 2020-05-27 02:13:04 +10:00
Connor McLaughlin 81a7b147fc System: Add option to disable loading memory cards from save states 2020-05-27 02:06:56 +10:00
Connor McLaughlin 2156236f52 Frontends: Use common GL context wrapper 2020-05-25 15:02:44 +10:00
Connor McLaughlin 9f22684cea Qt: Combine resume and power off toolbar buttons 2020-05-23 15:03:15 +10:00
Connor McLaughlin e6d52ce6de Qt: Add Resume button 2020-05-23 15:03:00 +10:00
Connor McLaughlin e24e4c20e1 Qt: Fix pause button getting locked on after restarting game 2020-05-23 15:01:36 +10:00
Connor McLaughlin dfe0dcb56c Qt: Split memory card/controller config, make bindings scroll 2020-05-20 23:26:26 +10:00
Connor McLaughlin e7778ea86e Qt: Move OpenURL to QtUtils namespace 2020-05-20 23:25:16 +10:00
Connor McLaughlin c8a00c58eb Qt: Add Remove Disc option to change disc menu 2020-05-20 02:32:19 +10:00
Connor McLaughlin 88cc695d0b HostDisplay: Adjust offsets for linear filtering
Fixes line on right of screen in South Park.
2020-05-17 21:10:48 +10:00
Connor McLaughlin 4c9cdbb147 Qt/GameProperties: Disable all fields when code is missing 2020-05-16 21:19:34 +10:00
Connor McLaughlin 525bfda672 Build: Copy data directory with VS solution too 2020-05-16 20:55:00 +10:00
Connor McLaughlin 9ff8cf009a Qt: Fix tab order in game properties dialog 2020-05-16 20:32:36 +10:00
Connor McLaughlin 4e66b12727 Qt: Hook up export compatibility info to game properties 2020-05-16 20:32:36 +10:00
Connor McLaughlin f671840a18 Qt: Add compatibility stars to game list 2020-05-16 20:32:36 +10:00
Connor McLaughlin b2a2366287 Qt: Add game properties dialog 2020-05-16 20:32:36 +10:00
Connor McLaughlin 47c2b29395 Build: Use bin directory for cmake, fix Windows/cmake build 2020-05-16 13:10:31 +10:00
Connor McLaughlin 14b2506d7d HostInterface: Disable true color/enable scaled dithering by default
Too many games are broken with it enabled. The number which break with
scaled dithering is much smaller.
2020-05-15 01:41:58 +10:00
Connor McLaughlin 5aacfa7be3 Qt: Hook up audio settings (buffer size/count, volume, mute) 2020-05-10 00:44:56 +10:00
Connor McLaughlin a5ecff0893 Qt: Set clear alpha to zero for OpenGL display
Fixes transparent windows in Wayland.
2020-05-03 02:59:00 +10:00
Connor McLaughlin 2d6bdc1f82 Qt: Fix rumble not stopping on power off 2020-05-01 16:42:47 +10:00
Connor McLaughlin 1ed86f4897 Frontends: Add Discord Presence support 2020-05-01 01:01:53 +10:00
Connor McLaughlin d8ab587153 HostInterface: Modify settings loading interface to support per-frontend settings 2020-05-01 01:01:50 +10:00
Connor McLaughlin 55fc3fffd9 Qt: Add integer upscaling option 2020-05-01 01:00:29 +10:00
Connor McLaughlin 98bb1de31f Qt: Add help to GPU options in settings 2020-05-01 01:00:05 +10:00
Connor McLaughlin 101e1bfd73 Qt: Add advanced settings 2020-05-01 00:59:31 +10:00
Connor McLaughlin a3792a74ed Qt: Switch to Windows instead of Console subsystem 2020-05-01 00:58:46 +10:00
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