Commit graph

1203 commits

Author SHA1 Message Date
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 361bedc2c3 SDLControllerInterface: Hackfix for non-player-id supporting controllers 2020-03-22 21:31:54 +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 9fd95c3e21 Common/Rectangle: Fix off-by-one error in Intersects() 2020-03-22 13:20:08 +10:00
Connor McLaughlin 77a60f0c5f HostInterface: Crash fix again for controller switching 2020-03-22 13:15:44 +10:00
Connor McLaughlin acd49f3765 Qt: Fix possible crash when loading state via menu 2020-03-22 13:10:28 +10:00
Connor McLaughlin 12ddeb675c HostInterface: Fix controller not updating when switched and system running 2020-03-22 12:54:26 +10:00
Connor McLaughlin 46f921fb95 SDLControllerInterface: Fix crash on shutdown 2020-03-22 12:54:25 +10:00
Connor McLaughlin 8190efa5dc SDLControllerInterface: Fix compilation on Ubuntu LTS 2020-03-22 12:28:10 +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 a4486cf6fa CDROM: Don't miss last three frames at end of sector 2020-03-21 12:31:40 +10:00
Connor McLaughlin 8ef1e71ce0 DMA: Channels other than OTC should run based on request in SyncMode 0 2020-03-21 00:15:49 +10:00
Connor McLaughlin f4d172df2f DMA: Fix underflow when block_count == 0 2020-03-21 00:15:42 +10:00
Connor McLaughlin 904ab982e6 GPU: Fix crash when fill rectangles are out-of-bounds 2020-03-21 00:15:35 +10:00
Connor McLaughlin d67bcd654c GPU: Prevent emulator locking up when switching between PAL/NTSC mode 2020-03-20 01:12:41 +10:00
Connor McLaughlin bad5b30a61 CDROM: Fix incorrect volume matrix update/application
Fixes #90.
2020-03-19 00:28:57 +10:00
Connor McLaughlin 3223f87eeb CDROM: Simplify register indexing for write 2020-03-19 00:28:41 +10:00
Connor McLaughlin 1ee68ad12a CommonHostInterface: Add Screenshot hotkey 2020-03-18 22:28:03 +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 b86e0bc846 SPU: Implement reverb
Possibly still not complete.
2020-03-17 12:48:03 +10:00
Connor McLaughlin c9e5e3a43e CDROM: Add missing disc/console region check
Fixes #106.
2020-03-17 12:47:46 +10:00
Connor McLaughlin 282998d0bb Qt: Add screenshot button 2020-03-16 00:06:39 +10:00
Connor McLaughlin ffb760c79d SDL: Add screenshot to menu 2020-03-16 00:04:16 +10:00
Connor McLaughlin 6b68512ac1 HostInterface: Add SaveScreenshot() method 2020-03-16 00:03:57 +10:00
Connor McLaughlin 2bb992a702 HostDisplay: Add texture dumping/saving support 2020-03-16 00:03:49 +10:00
Connor McLaughlin b4153266a0 GL/Texture: Add a GetTextureSubImage fallback/helper 2020-03-16 00:03:25 +10:00
Connor McLaughlin 212fddd195 D3D11/StagingTexture: Add auto-resizing staging texture 2020-03-16 00:03:16 +10:00
Connor McLaughlin 97c435a154 CMake: Linux build fix 2020-03-16 00:02:55 +10:00
Connor McLaughlin fe2e6561d3 Qt: Add audio dumping options 2020-03-15 22:04:32 +10:00
Connor McLaughlin c4af353d54 SDL: Add audio dumping options 2020-03-15 22:04:25 +10:00
Connor McLaughlin 8e20d0d4ff SPU: Add audio dumping support 2020-03-15 22:04:17 +10:00
Connor McLaughlin 198a64eb5e HostInterface: Add a helper function for generating timestamp-based filenames 2020-03-15 22:03:53 +10:00
Connor McLaughlin c7a74cabaa Common: Add WAVWriter class 2020-03-15 22:03:22 +10:00
Connor McLaughlin 6a6aa72f3a SPU: Add a tick counter and delay between key on/off writes
Not yet tested on hardware. We believe that writing to a specific
voice's key on/off register within 2 samples/ticks of the first
write will result in the second write being ignored. This still
needs to be tested on hardware for confirmation.

Thanks to @PSI-Rockin for the idea.

Fixes sound effects in Monkey Hero.
2020-03-14 15:33:24 +10:00
Connor McLaughlin d42f155512 SPU: Use "ticks" instead of "sample" in variable names 2020-03-14 15:23:23 +10:00
Connor McLaughlin 90d6babfb0 SPU: Always run, not only when enabled 2020-03-14 15:01:23 +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 90121aa169 GPU: Fix VRAM display in software renderer 2020-03-13 23:21:44 +10:00
Connor McLaughlin e076526898 CDROM: Rework sector buffering behavior
This has not been tested on hardware yet, but fixes a couple of games.
2020-03-12 15:33:07 +10:00
Connor McLaughlin 86eefbd5d7 System: Fix a possible assertion failure loading state 2020-03-12 15:32:37 +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 9e08ae6188 GameList: Use ProgressCallback interface when scanning 2020-03-12 15:32:19 +10:00
Connor McLaughlin f71a03202b Qt: Add ProgressCallback implementation 2020-03-12 15:32:15 +10:00
Connor McLaughlin 8028b7b4a3 Common: Add ProgressCallback class 2020-03-12 13:54:27 +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 db1070a683 Settings: Fix start paused not applying 2020-03-12 13:53:43 +10:00
Connor McLaughlin 3effa1238f CDROM: Return correct SCEx string based on disc region
Fixes SCEI/SCEE displaying as SCEE in BIOS.
2020-03-12 13:51:53 +10:00
Connor McLaughlin 419422a2d7 CDROM: Return console region string based on system 2020-03-12 13:51:38 +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 c2370c598e CDROM: Don't crash when stopping with no media
Fixes #76.
2020-03-10 00:09:27 +10:00
Connor McLaughlin e98c753d3d CDROM: Delay the first CDDA report by one second
Needs hardware testing...
2020-03-09 00:01:28 +10:00
Connor McLaughlin 776159265a CDROM: Skip pregap when processing CDDA 2020-03-09 00:01:26 +10:00
Connor McLaughlin b81071a65c CDImage: Assume 2 second pregap between tracks if none specified 2020-03-09 00:01:23 +10:00
Connor McLaughlin 631865469d CDROM: Bump up ACK delay timing 2020-03-08 18:07:39 +10:00
Connor McLaughlin 4eeaa38ccd CDROM: Don't persist seek error bit in secondary status
Fixes Viewpoint (#56).
2020-03-08 15:54:09 +10:00
Connor McLaughlin 2249b873ff D3D11/StreamBuffer: Check feature support for MAP_NO_OVERWRITE before using 2020-03-08 12:51:14 +10:00
Connor McLaughlin 99d42c07c2 D3D11/StreamBuffer: Use WRITE_DISCARD at position 0 2020-03-08 12:38:01 +10:00
Connor McLaughlin e19175edae GPU/D3D11: Fix non-vertical line rendering at >1x scale 2020-03-08 00:03:31 +10:00
Connor McLaughlin 34ae0dae13 CDROM: Fix upper bound for XA audio frames and sync SPU 2020-03-07 17:29:41 +10:00
Connor McLaughlin 6fa8031569 GPU/D3D11: Fix uniform buffer creation on Win7 2020-03-07 16:05:54 +10:00
Connor McLaughlin eb6dbbfb13 CDROM: Set seeking bit in stat when seeking 2020-03-07 15:10:49 +10:00
Connor McLaughlin c700913322 CDROM: Implement SetSession command 2020-03-07 15:10:19 +10:00
Connor McLaughlin d0f420de10 CDROM: Log invalid command identifiers 2020-03-07 14:00:15 +10:00
Connor McLaughlin 6bb6249e86 GPU/HW: Print capabilities to log 2020-03-07 12:54:15 +10:00
Connor McLaughlin b5b6a15e40 GPU/D3D11: Always flush render before presenting 2020-03-07 12:37:58 +10:00
Connor McLaughlin ae4767a9ca GPU/HW: Always unmap buffer on flush
Should stop assertions firing in some games.
2020-03-07 12:34:44 +10:00
Connor McLaughlin ef2796b780 CommonHostInterface: Fix controller inputs not binding
Fixes #46.
2020-03-06 21:55:27 +10:00
Connor McLaughlin 2004de7170 Qt: Fix controller rebinding not registering when paused 2020-03-06 21:55:10 +10:00
Connor McLaughlin f9a298f1b7 GPU: Fix incorrect handling of check mask bit
Fixes boxes in Silent Hill in Software Renderer.
2020-03-06 00:45:21 +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 b59e4ffbcb HostInterface: Reset performance counters on unpausing 2020-03-03 10:07:16 +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 34f1c644f5 GPU: Update GPUSTAT if raster has passed to the next line
Fixes games which poll GPUSTAT, including The Next Tetris (Europe).
2020-03-01 17:14:42 +10:00
Connor McLaughlin b0b1fd8f1a GPU: Timing for CPU->VRAM transfers
Fixes Monkey Hero, probably others.
2020-03-01 17:14:38 +10:00
Connor McLaughlin 6b9c6d3750 GPU: Add a helper function to determine how many GPU ticks are pending 2020-03-01 17:14:32 +10:00
Connor McLaughlin 635ab72b37 GPU: Implement "Scaled Dithering" option
Fixes #29.
2020-03-01 00:05:31 +10:00
Connor McLaughlin d41e6dd28f CommonHostInterface: Add some more default key bindings
Also remove some unused code.
2020-02-29 00:41:17 +10:00
Connor McLaughlin fdcb891ed3 GPU: Fix incorrect detection of 480i mode 2020-02-29 00:19:23 +10:00
Connor McLaughlin ed493c846d GPU: Don't panic on oversized VRAM copies
Fixes #31.
2020-02-29 00:19:09 +10:00
Connor McLaughlin 7412e78aa1 GPU: Move software copy/fill functions to base class so it can be used as fallback 2020-02-29 00:18:33 +10:00
Connor McLaughlin e1d4c0b9d4 HostDisplay: Fudge texture coordinates for better linear filtering 2020-02-29 00:18:24 +10:00
Connor McLaughlin 6bacbf3438 GPU: Fix 480i displays getting cut off in OpenGL and Software 2020-02-28 23:01:38 +10:00
Connor McLaughlin aa56a59f58 GPU: Make resolution info less spammy 2020-02-28 23:00:37 +10:00
Connor McLaughlin 0690491883 GPU/HW: Fix potential crash in rectangle expansion 2020-02-28 22:58:34 +10:00
Connor McLaughlin a298e93004 CMake: Fix Linux build
Fixes #36.
2020-02-28 22:43:34 +10:00
Connor McLaughlin e8e44991db GPU: Fix display in OpenGL renderer 2020-02-28 22:42:56 +10:00
Connor McLaughlin 63064f80c2 HostInterface: Fix default value for Display/CropMode 2020-02-28 18:15:37 +10:00
Connor McLaughlin f2adb71a70 CommonHostInterface: Bind face buttons to keypad by default 2020-02-28 18:15:21 +10:00
Connor McLaughlin 19c1e8b838 StringUtil: Fix for older gcc versions again 2020-02-28 17:19:51 +10:00
Connor McLaughlin fcc0ae9571 GPU: Implement "Crop Mode" (none, overscan, all borders) 2020-02-28 17:01:01 +10:00
Connor McLaughlin 5df7fbd68c Common/Rectangle: Fix typo in assignment operator 2020-02-28 17:00:19 +10:00
Connor McLaughlin 122726fe65 Common/StringUtil: Support compiling on gcc7 2020-02-28 17:00:16 +10:00
Connor McLaughlin bbdee22ea8 SDL: Move SDLSettingsInterface (ini) to frontend-common 2020-02-28 17:00:14 +10:00
Connor McLaughlin 9ab5212833 FrontendCommon: Make SDL2 dependency optional 2020-02-28 17:00:12 +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 da0059fb21 Common/StringUtil: Add a FromChars std::optional wrapper 2020-02-28 17:00:05 +10:00
Connor McLaughlin 86094b8080 Common/String: Don't copy StaticStrings when not writing 2020-02-28 17:00:02 +10:00
Connor McLaughlin 4fe57e64d7 SDL: Add -gstate parameter to load global state 2020-02-28 17:00:00 +10:00
Connor McLaughlin 992bf7c338 SDL: Add GPU debug device option to settings 2020-02-28 16:59:58 +10:00
Connor McLaughlin 07ba2ecd3d Settings: Simplify resolution scale enumeration 2020-02-28 16:59:55 +10:00
Connor McLaughlin f21cb25426 HostInterface: Recreate system on GPU debug device toggle too 2020-02-28 16:59:53 +10:00
Connor McLaughlin 82eb14efb1 Core: Apply DPI scaling to debug windows 2020-02-28 16:59:51 +10:00
Connor McLaughlin ce31c85983 SDL: Support high-dpi displays 2020-02-28 16:59:48 +10:00
Connor McLaughlin a0a0cd48fa SDL: Reimplement improved fullscreen toggling 2020-02-28 16:59:46 +10:00
Connor McLaughlin f03de090c4 SDL: Fix setting changes not applying 2020-02-28 16:59:44 +10:00
Connor McLaughlin 4b94224955 SDL: Use RunLater() for menu actions too 2020-02-28 16:59:41 +10:00
Connor McLaughlin 50a155e775 Settings: Default to relative paths for bios/memcards
Prevents from locking to the directory the first time we run.
2020-02-28 16:58:30 +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 bfdf343dfe SDL: Move imgui render to display
Fixes crash on renderer switch.
2020-02-23 00:04:30 +09:00
Connor McLaughlin 49c7767ed4 System: Check save state version when loading
Fixes #34.
2020-02-22 17:16:47 +09:00
Connor McLaughlin 959a555274 CDROM: Implement asynchronous disc reading 2020-02-22 00:24:35 +09:00
Connor McLaughlin 7ece901d57 CDImage/CHD: Fix crash when opening invalid/nonexistant file 2020-02-22 00:18:58 +09:00
Connor McLaughlin 1ed8243776 HostInterface: Reset counters when starting from state 2020-02-22 00:18:27 +09:00
Connor McLaughlin 3a0f8bffc5 SDL: Use precompiled D3D11 display shaders 2020-02-20 23:22:37 +09:00
Connor McLaughlin 784a5c789f Qt: Use precompiled D3D11 display shaders 2020-02-20 23:22:28 +09:00
Connor McLaughlin 4f794b1c37 Add precompiled versions of D3D11 display shaders 2020-02-20 23:21:54 +09:00
Connor McLaughlin 46846a10f6 Common: Simplify D3D shader object creation with helpers 2020-02-19 22:04:21 +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 149cbf6457 GPU/HW: Properly implement too-large polygon culling
Replaces triangle strips with triangle lists, which has the added bonus
of not requiring flushing as many batches.

Fixes missing geometry in Vagrant Story.
2020-02-17 00:09:45 +09:00
Connor McLaughlin bbe54df3a8 GPU/HW: Split rectangles on texture page boundaries
Fixes the sky in Ape Escape's menu screen, FF7 menu borders, probably
others.
2020-02-17 00:09:31 +09:00
Connor McLaughlin bd542831a8 GPU: Fix incorrect bit check in DrawMode::IsUsingPalette()
Fixes Sony Computer Entertainment fade in the NTSC-J BIOS.
2020-02-17 00:09:27 +09:00
Connor McLaughlin 0f7365117b SDLControllerInterface: Add missing include 2020-02-16 00:39:06 +09:00
Connor McLaughlin 961bc09979 SDL: Fix crashes on starting emulation 2020-02-16 00:33:43 +09:00
Connor McLaughlin 208928b6dc Qt: Fix load state menu not refreshing after save 2020-02-16 00:15:18 +09:00
Connor McLaughlin 1e0e802fa4 HostInterface: Add a helper to display a 'Loading Screen' during long startup 2020-02-16 00:15:16 +09:00
Connor McLaughlin 9ddb3a8c7a SDL: Use controller interface from frontend-common 2020-02-16 00:15:14 +09:00
Connor McLaughlin 6456c5d63d Qt: Don't resume when booting without game code 2020-02-16 00:15:11 +09:00
Connor McLaughlin dcc9da3f5e HostInterface: Don't try to resume system without game code 2020-02-16 00:15:09 +09:00
Connor McLaughlin 06f4d72631 FrontendCommon: Use SDL_InitSubSystem() for lazy initialization 2020-02-16 00:15:05 +09:00
Connor McLaughlin 78a6666439 SDLAudioStream: Don't allow format to change 2020-02-16 00:15:02 +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 cd2f6d1f68 HostInterface: Only display error when loading resume state if boot anyway flag isn't set 2020-02-16 00:14:58 +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 e738b87a25 HostInterface: Add helpers for resume save state 2020-02-16 00:14:47 +09:00
Connor McLaughlin 5f3be68028 HostInterface: Notify host when controller types change 2020-02-16 00:14:44 +09:00
Connor McLaughlin b0c846388e SDL: Only save settings when changes have been made 2020-02-16 00:14:42 +09:00
Connor McLaughlin 37d765e8d7 HostInterface: Support switching audio backends 2020-02-16 00:14:40 +09:00
Connor McLaughlin 6a0c15b649 HostInterface: Move timer resolution increase to base class 2020-02-16 00:14:37 +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 f0578bb932 HostInterface: Make helper methods const 2020-02-16 00:14:25 +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 7290e5cad0 HostInterface: Add per-slot save state helper functions 2020-02-16 00:14:00 +09:00
Connor McLaughlin 9148581213 GPU: Narrowing warning fix 2020-02-16 00:13:57 +09:00
Connor McLaughlin 3bafdf88d4 SDL: Fix uninitialized mapping variables 2020-02-16 00:13:55 +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 24bebf7f59 SDL: Add emulation speed slider 2020-02-16 00:13:48 +09:00
Connor McLaughlin fd2ca2927e Common/FileSystem: Fix recursive directory creation 2020-02-15 23:19:27 +09:00
Connor McLaughlin befa2a27d8 HostInterface: Fix crash in SetUserDirectory 2020-02-15 23:12:15 +09:00
Connor McLaughlin b605a84f7d HostInterface: Set user directory for Linux/macOS, portable.txt support 2020-02-15 22:36:16 +09:00
Connor McLaughlin f5482cb3b6 Don't require OpenGL compatibility profile 2020-02-15 21:11:51 +09:00
Connor McLaughlin 1c17d5495e CMake: Attempting to around SDL2 issues on macOS 2020-02-15 17:40:21 +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 15e49b9f61 Core/TimingEvent: Add missing <string> include 2020-02-15 11:34:57 +09:00
Connor McLaughlin f0910dc948 Common/FileSystem: Include fix 2020-02-15 11:00:54 +09:00
Connor McLaughlin f805764fea Common/FileSystem: More OSX fixes.. 2020-02-15 10:50:33 +09:00
Connor McLaughlin 2ac8f7a6ac Common/FileSystem: uint32 -> u32 2020-02-15 10:34:48 +09:00
Connor McLaughlin 244302557f SDL: Add missing <cmath> include to sdl_host_interface.cpp 2020-02-15 10:29:46 +09:00
Connor McLaughlin 8eba4b379c Settings: Default to D3D11 renderer on Windows
This point it's less buggy and slightly more performant.
2020-02-15 10:21:59 +09:00
Connor McLaughlin 4681f9d744 Common/FileSystem: Don't include malloc.h on macOS 2020-02-15 10:12:55 +09:00
Connor McLaughlin 33f3ab4d86 Common/FIFOQueue: Use posix_memalign instead of memalign 2020-02-15 00:08:56 +09:00
Connor McLaughlin 23c8a5588d Add macOS to some Linux/Android-only-isms 2020-02-14 22:58:18 +09:00
Connor McLaughlin 5aba89091e HostInterface: Fix possible crash in BIOS loading 2020-02-14 22:45:54 +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 5c7ef65a34 HostInterface: Non-standard speeds are <100% too 2020-02-12 21:27:43 +09:00
Connor McLaughlin b8210ecbe3 GPU: Use correct texture page size in overlap tracking 2020-02-12 20:58:34 +09:00
Connor McLaughlin 278aa86d14 SPU: Refactor ADSR/implement exponential mode 2020-02-11 23:10:00 +09:00
Connor McLaughlin e098c83342 HostInterface: Disable vsync/audio sync when running at not-100% speed 2020-02-11 12:03:25 +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 9ac7b002e2 GPU/HW: Improve dirty rectangle tracking
Fixes title screen of Activision Classics and performance regression
from Vagrant Story motion blur fix.
2020-02-09 22:49:53 +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
Connor McLaughlin 1e45c9c4e1 GPU: Fix incorrect overwrite of set mask bit from draw mode
Fixes motion blur in Vagrant Story.
2020-02-08 00:01:37 +09:00
Connor McLaughlin 287ab93cdc GPU: Fix texture bit15 not propogating when blending enabled 2020-02-08 00:01:12 +09:00
Connor McLaughlin ac5af4658d GPU: Mask bit check should use existing colour not new colour 2020-02-07 00:11:12 +09:00
Connor McLaughlin a36fe8bfe6 GPU: Keep drawing area invalidated after invalidating shadow VRAM copy
Partially fixes the motion blur in Vagrant Story.
2020-02-07 00:10:58 +09:00
Connor McLaughlin d1c8775996 Common/Rectangle: Compile fix when using operator= 2020-02-07 00:10:46 +09:00
Connor McLaughlin 7e862cd63e GPU: Texture bit should be ignored when drawing lines
Fixes line flickering in Vagrant Story.
2020-02-07 00:10:36 +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 057263bda3 HostInterface: Track changes to CPU mode in ApplySettings() 2020-02-05 17:43:15 +09:00
Stenzek c26b9bc54c System: UpdateCPUExecutionMode -> SetCPUExecutionMode 2020-02-05 17:43:00 +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 733ab1bca0 Settings: Store debug settings to ini 2020-02-04 15:22:48 +09:00
Stenzek 6718f0442c Qt: Support QActions in SettingsWidgetBinder 2020-02-04 15:22:39 +09:00
Connor McLaughlin 52fd070d3b Build: Compile tinyxml2 as static library instead of dll 2020-02-03 14:22:17 +10:00
Connor McLaughlin ec55ab7f5e Build: Rename duckstation to duckstation-sdl 2020-02-03 14:16:59 +10:00
Connor McLaughlin 5957df5b5c Update SDL2 to 2.0.10 2020-02-03 13:53:31 +10:00
Connor McLaughlin 4eadc07629 Common/StringUtil: Fix more incorrect usage of va_list 2020-02-03 13:53:17 +10: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 b11a7a106f Common/Log: Fix corrupted output/UB with va_copy
Fixes crashes on GCC9+ (#9), maybe others.
2020-02-01 11:04:46 +10:00
Connor McLaughlin c72d86cf1b Qt: Hook up CPU execution mode setting 2020-02-01 00:05:20 +10:00
Connor McLaughlin e11c7190b5 Linux build fix 2020-01-30 20:20:21 +10:00
Connor McLaughlin 070e6c32d6 Frontends: Add .chd files to open filter 2020-01-30 20:06:15 +10:00
Connor McLaughlin c1c82eb3f3 Common/CDImage: Support CHD format 2020-01-30 20:06:15 +10:00
Connor McLaughlin 18d5086e4c Common/CDImage: Changes to support CHD interfaces 2020-01-30 20:06:15 +10:00
Connor McLaughlin 0b7abf244e Timers: Fix sync mode 3 inverted condition 2020-01-30 16:22:05 +10:00
Connor McLaughlin 88936463d7 GPU: Toggle vblank timer gate for full frame
Regression from event system. Fixes Ridge Racer.
2020-01-30 16:22:05 +10:00
Connor McLaughlin 288b680e07 FileSystem: Add ReplaceExtension() helper 2020-01-30 16:22:05 +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 4c59d8a9ea Linux build fix 2020-01-24 16:44:13 +10:00
Connor McLaughlin 1b9609ef61 Implement event-based scheduler instead of lock-step components 2020-01-24 16:23:39 +10:00
Connor McLaughlin 624888e131 HostInterface: Default BIOS path to bios subdirectory 2020-01-24 14:52:12 +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 b5e73a0be4 HostInterface: Add helper methods for getting paths to save states/memcards 2020-01-24 14:52:03 +10:00
Connor McLaughlin a83cad5872 GPU/D3D11: Use shader bytecode cache 2020-01-24 14:52:01 +10:00
Connor McLaughlin 82da9a4505 D3D11: Add a shader bytecode cache class 2020-01-24 14:52:00 +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 40799d0f77 HostInterface: Move ModifyResolutionScale() to base class 2020-01-24 14:51:56 +10:00
Connor McLaughlin 8148486a9f Qt: Add hotkey to toggle software rendering 2020-01-24 14:51:55 +10:00
Connor McLaughlin 4a3478b360 HostInterface: Add function to switch between sw/hw rendering 2020-01-24 14:51:53 +10:00
Connor McLaughlin f2231d6669 HostInterface: Move setting update logic to base class 2020-01-24 14:51:52 +10:00
Connor McLaughlin 82563d94f4 HostInterface: Fix offset OSD messages in Qt frontend 2020-01-24 14:51:38 +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 f05f5aeb2b Qt: Implement browse button for BIOS path 2020-01-24 14:51:31 +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 78f984c412 Qt: Add automatic download of redump disc database for game list 2020-01-24 14:51:25 +10:00
Connor McLaughlin b937275073 Qt: Link with and copy Qt5Network library 2020-01-24 14:51:24 +10:00
Connor McLaughlin 65ae85eb7b Qt: Skeleton for audio settings 2020-01-24 14:51:13 +10:00
Connor McLaughlin c5faa36f43 GameList: Add function to query whether database exists 2020-01-24 14:51:12 +10:00
Connor McLaughlin f6fee86f1c HostInterface: Create user directories on startup 2020-01-24 14:51:10 +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 2c3a0a6af9 HostInterface: Change working directory to user directory at startup 2020-01-24 14:51:02 +10:00
Connor McLaughlin 53428cb55b HostInterface: Add user directory helpers 2020-01-24 14:51:00 +10:00
Connor McLaughlin 7afb79aee6 Common: Add FileSystem::{Get,Set}WorkingDirectory functions 2020-01-24 14:50:58 +10:00
Connor McLaughlin de4e45a433 Common: Add a function to get the path to the running program 2020-01-24 14:50:57 +10:00
Connor McLaughlin 9456dc5d9b Qt: Power off system correctly when exiting 2020-01-24 14:50:56 +10:00
Connor McLaughlin 069bdd471c Qt: Stub saving resume state when powering off 2020-01-24 14:50:54 +10:00
Connor McLaughlin 0200b9ffc1 Qt: Hook up 'Add Game List Directory' function 2020-01-24 14:50:53 +10:00
Connor McLaughlin 98eb71aa3f Qt: Fix extra margins in pad settings panel 2020-01-24 14:50:52 +10:00
Connor McLaughlin 1cdd4e01fb Qt: Reorder settings categories 2020-01-24 14:50:51 +10:00
Connor McLaughlin 8d4d8e44e4 HostInterface: Saving state message should be OSD not error 2020-01-24 14:50:50 +10:00
Connor McLaughlin 0a5f7fcd75 System: Update running game when media changes from save state 2020-01-24 14:50:48 +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 82b4229f1b GameList: Move entry to global scope so it can be forward declared 2020-01-24 14:50:44 +10:00
Connor McLaughlin 183928b0f6 Qt: Skeleton of load/save state menus 2020-01-24 14:50:42 +10:00
Connor McLaughlin 1998aa96a4 Qt: Simplify Change Disc menu logic 2020-01-24 14:50:40 +10:00
Connor McLaughlin 69841d0a09 Qt: Move quick CPU/GPU switch to Debug menu 2020-01-24 14:49:54 +10:00
Connor McLaughlin 6737b3ec44 Qt: Drop Settings accessor from HostInterface
This should only be accessed on the emulation thread.
2020-01-24 14:49:53 +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 67710ca184 Qt: Add a signal when the game list selection is changed 2020-01-24 14:49:46 +10:00
Connor McLaughlin 99af858562 Qt/GameList: Fix incorrect game booting when sorted 2020-01-24 14:49:44 +10:00
Connor McLaughlin bfef42f4cb GPU: Fix possible driver crash on oversized update/fill 2020-01-23 00:01:05 +10:00
Connor McLaughlin d2db6bf9c3 Common/Rectangle: Add clamp methods 2020-01-22 23:57:12 +10:00