Commit graph

109 commits

Author SHA1 Message Date
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
Connor McLaughlin 075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 2020-06-09 02:35:37 +10:00
Connor McLaughlin 6acd8b27dd Qt: Prevent lag disabling power on buttons when starting 2020-06-06 03:44:57 +10:00
Connor McLaughlin e6d52ce6de Qt: Add Resume button 2020-05-23 15:03:00 +10:00
Connor McLaughlin dfe0dcb56c Qt: Split memory card/controller config, make bindings scroll 2020-05-20 23:26:26 +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 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 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 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 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 8a5e955ba3 Qt: Add input profile support 2020-04-15 01:44:16 +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 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 1d9bcb2a48 Qt: Force redraw the display when restoring after minimized 2020-03-22 21:50:49 +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 fe2e6561d3 Qt: Add audio dumping options 2020-03-15 22:04:32 +10:00
Connor McLaughlin 0e3bcfa7b5 Qt/HostInterface: Track main window pointer 2020-03-12 15:32:30 +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 69f03959aa Qt: Implement context menu in game list 2020-03-02 11:08:16 +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 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 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 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 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 c820ddba79 HostInterface: Move throttle and perf stats to System class 2020-02-09 22:16:25 +09:00
Connor McLaughlin f2231d6669 HostInterface: Move setting update logic to base class 2020-01-24 14:51:52 +10:00
Connor McLaughlin 2694181811 Qt: Hook up HostInterface::Report{Error,Message} 2020-01-24 14:51:30 +10:00
Connor McLaughlin b4c06fdcc6 GameList: Auto set cache/database path from user directory 2020-01-24 14:51:09 +10:00
Connor McLaughlin 77b282862f HostInterface: Move running title info to System 2020-01-24 14:51:05 +10:00
Connor McLaughlin 069bdd471c Qt: Stub saving resume state when powering off 2020-01-24 14:50:54 +10:00
Connor McLaughlin 20b60e0f01 Qt: Update window title/save states from running title 2020-01-24 14:50:46 +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 1c2c4c8489 Qt: Fix emulation thread using 100% CPU when idle 2020-01-10 13:28:13 +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 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 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