Commit graph

65 commits

Author SHA1 Message Date
Connor McLaughlin 61e4e6f140 Add "Fullscreen UI" 2021-01-31 17:10:27 +10:00
Connor McLaughlin 3a7d9f1725 CommonHostInterface: Add controller nav helpers 2021-01-31 17:10:27 +10:00
Connor McLaughlin 41be96ef93 CommonHostInterface: Make RunLater()/ApplySettings() virtual 2021-01-31 17:10:27 +10:00
Connor McLaughlin ec60fa3c9d CommonHostInterface: Make fullscreen/exit functions public 2021-01-31 17:10:27 +10:00
Connor McLaughlin e1bf362d13 CommonHostInterface: Extract ff/turbo hotkeys to functions 2021-01-31 17:10:27 +10:00
Connor McLaughlin bed1abf0b8 CommonHostInterface: Add media path to save state info 2021-01-31 17:10:27 +10:00
Connor McLaughlin 4540a190c1 CommonHostInterface: Make input profile functions public 2021-01-31 17:10:27 +10:00
Connor McLaughlin 556cd6d168 CommonHostInterface: Add enumerator for OSD messages 2021-01-31 17:10:27 +10:00
Connor McLaughlin 4bb3fb48f9 System: Add a new throttler/pacer which can catch up on lost time
This can result in worse frame pacing, so if you have a decent machine
you'll probably want to turn on "display all frames" in display
settings.

But, it's sadly needed for Android.
2021-01-28 21:04:23 +10:00
Connor McLaughlin cbee8fab66 CommonHostInterface: Throttle rumble updates to changes or every 100ms
These updates appear to be synchronous, and limit how fast we can fast
forward when controllers are connected via bluetooth.
2021-01-19 00:27:34 +10:00
Connor McLaughlin 37f9f118c4 Android: Add 'Open Pause Menu' hotkey 2021-01-13 19:26:24 +10:00
Connor McLaughlin b5ffbfe826 Qt: Fix audio sliders not applying correctly 2021-01-13 02:37:04 +10:00
Connor McLaughlin 54f5563321 Qt: Add turbo speed setting 2021-01-11 01:57:10 +10:00
Connor McLaughlin c3b0a87029 CommonHostInterface: Move settings filename to start of class 2021-01-05 00:58:32 +10:00
johnnyruz f7b0c0f493
Add cli parameter to override default settings file (#1375)
* Add cli parameter to specify alternate settings file

* fix issue with error message string parameter
2021-01-05 00:46:16 +10:00
Connor McLaughlin 4eee5ebdb7 Android: Add per-game settings and properties UI 2021-01-03 18:30:06 +10:00
Connor McLaughlin a3e4c61a0b CommonHostInterface: Add a method to get top-level window handle 2020-12-29 22:49:52 +10:00
Connor McLaughlin 81aad196e8 HostInterface: Add -nocontroller CLI option to disable controller interface
Can use with buggy drivers where SDL is causing crashes.
2020-12-19 17:02:01 +10:00
Connor McLaughlin fa0f177e51 HostInterface: Move PauseSystem from common to base 2020-12-17 11:57:47 +10:00
Connor McLaughlin 678146b907 HostInterface: Add separate volume control for fast forwarding 2020-12-09 01:03:32 +10:00
Connor McLaughlin c8f33e340b Revert "CommonHostInterface: Don't use sleep throttle when syncing to audio at standard speed"
This reverts commit 922e17f677.
2020-12-07 02:44:23 +10:00
Connor McLaughlin 737a87b483 CommonHostInterface: Add a hotkey to toggle all cheats 2020-12-06 23:32:32 +10:00
Connor McLaughlin 922e17f677 CommonHostInterface: Don't use sleep throttle when syncing to audio at standard speed 2020-12-06 18:18:18 +10:00
Connor McLaughlin eaafd0a00c Cheats: Support parsing built-in database 2020-11-30 01:15:44 +10:00
Connor McLaughlin 5f69216f70 HostInterface: Add OpenPackageFile method 2020-11-28 00:14:45 +10:00
Connor McLaughlin 24fef20485 CommonHostInterface: Compress screenshots in background/use worker thread 2020-11-27 01:40:50 +10:00
Connor McLaughlin e4d2b7331b CommonHostInterface: Add resize window to scale functions 2020-11-19 00:40:02 +10:00
Connor McLaughlin 2b66492ed8 HostInterface: Add proper turbo speed setting 2020-11-03 22:59:26 +10:00
Connor McLaughlin 414bc30f24 HostDisplay: Implement exclusive fullscreen for D3D11 renderer 2020-11-02 00:56:05 +10:00
Connor McLaughlin b694577c38 Qt: Add new cheat manager 2020-10-21 01:11:30 +10:00
Connor McLaughlin d39c9f5d1c Clean up some compiler warnings 2020-10-11 12:21:08 +10:00
Connor McLaughlin cb6502afa3 Qt: Simplify settings version check 2020-10-09 18:26:21 +10:00
Albert Liu 94d7d4cead Qt: Show dialog on startup for settings version mismatch
For the QMessageBox to appear, error reporting is performed again after
main window creation.
2020-10-07 20:43:50 -07:00
Connor McLaughlin 0b858658ca GameSettings: Add per-game input bindings from profiles
This just affects the **bindings**. You will still have to set the
controller type per game if this is different from the global default.
2020-10-05 00:18:10 +10:00
Connor McLaughlin 5bc61849eb FrontendCommon: Add duck icon to loading screens 2020-10-02 00:01:51 +10:00
Connor McLaughlin 9c28b3e167 CommonHostInterface: Add post processing toggle hotkeys 2020-09-13 22:31:31 +10:00
Connor McLaughlin 2492eb8678 FrontendCommon: Add a hotkey to reload post processing 2020-09-13 20:21:05 +10:00
Connor McLaughlin 03f052e12e FrontendCommon: Add auto cheat loading option 2020-09-09 23:44:02 +10:00
Connor McLaughlin 2b902f6d09
Merge pull request #806 from CookiePLMonster/axis-to-button-map
Allow mapping axes to buttons
2020-08-29 23:35:18 +10:00
Silent 057bf986c4
Allow mapping half axes to buttons
This allows to bind pressure sensitive NeGcon buttons to keyboard,
mouse and controller buttons
2020-08-29 14:19:28 +02:00
Connor McLaughlin 547cc4dbf6 Qt: Clear OSD messages on system stop 2020-08-29 22:19:09 +10:00
Connor McLaughlin 5115c75f88 CommonHostInterface: Clear input map before changing interface
Should hopefully fix the crash when changing controller backends.
2020-08-24 00:22:49 +10:00
Connor McLaughlin 3c46f7b44c ControllerInterface: Add XInput controller backend 2020-08-22 16:50:19 +10:00
Connor McLaughlin 60d3fffec1 Add per-game overrides (mainly for compatibility) 2020-08-21 00:09:37 +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
Albert Liu 79adabeb91 CommonHostInterface: Bump to settings version 3
This is required for phasing out QSettings usage because game paths were
being saved using the QSettings multi-value format, which is
incompatible with SimpleIni.
2020-07-16 20:35:49 -07: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 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