Commit graph

101 commits

Author SHA1 Message Date
Connor McLaughlin 74e455a5f7 System: Support per-game memory cards 2020-04-27 16:22:25 +10:00
Connor McLaughlin 08c8d1a521 System: Support saving screenshots in save states 2020-04-21 02:50:45 +10:00
Connor McLaughlin 1757932b3a GPU: Implement FIFO and timings
This will cause a slight performance loss. I've left some knobs in which
can be tweaked to mitigate this, but the goal is to be compatible with
all games which require them.
2020-04-19 01:17:28 +10:00
Connor McLaughlin f75ea052a6 FrontendCommon: Add input profile support 2020-04-15 01:44:04 +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 6a03bb2d15 HostInterface: Drop std::filesystem requirement 2020-04-12 21:06:33 +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 6cfad33b8e HostInterface: Set NoNav on FPS window
Prevents it stealing focus in SDL frontend.
2020-04-11 00:00:37 +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 610abc1a75 BIOS: Make SCPH-3000 BIOS known 2020-04-07 11:54:24 +10:00
Connor McLaughlin b4538b1d2e HostInterface: Add redump BIOS filenames to search list
ps-10x.bin, ps-30x.bin, etc.
2020-04-07 11:54:22 +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 15c33ebedb CDROM: Add "Enable Region Check" option 2020-04-01 01:48:37 +10:00
Connor McLaughlin 7cd7dec668 HostInterface: Restore pause state after switching renderers
Fixes #148.
2020-03-25 01:48:51 +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 77a60f0c5f HostInterface: Crash fix again for controller switching 2020-03-22 13:15:44 +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 6b68512ac1 HostInterface: Add SaveScreenshot() method 2020-03-16 00:03:57 +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 8f39a0f154 Qt: Properly implement "Start Fullscreen" 2020-03-12 13:53:58 +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 b59e4ffbcb HostInterface: Reset performance counters on unpausing 2020-03-03 10:07:16 +10:00
Connor McLaughlin 69f03959aa Qt: Implement context menu in game list 2020-03-02 11:08:16 +10:00
Connor McLaughlin 635ab72b37 GPU: Implement "Scaled Dithering" option
Fixes #29.
2020-03-01 00:05:31 +10:00
Connor McLaughlin 63064f80c2 HostInterface: Fix default value for Display/CropMode 2020-02-28 18:15:37 +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 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 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 e4ff8b0936 Qt: Add power off hotkey and confirmation message 2020-02-26 19:26:20 +10:00
Connor McLaughlin e9dea6e0f7 HostInterface: Add a ConfirmMessage() method 2020-02-26 19:25:57 +10:00
Connor McLaughlin 959a555274 CDROM: Implement asynchronous disc reading 2020-02-22 00:24:35 +09:00
Connor McLaughlin 1ed8243776 HostInterface: Reset counters when starting from state 2020-02-22 00:18:27 +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 dcc9da3f5e HostInterface: Don't try to resume system without game code 2020-02-16 00:15:09 +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 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 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 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 7290e5cad0 HostInterface: Add per-slot save state helper functions 2020-02-16 00:14:00 +09:00