Connor McLaughlin
fa0f177e51
HostInterface: Move PauseSystem from common to base
2020-12-17 11:57:47 +10:00
Albert Liu
62609b5008
GameSettings: Fix build warning
2020-12-12 01:00:34 -08:00
Albert Liu
def9a98cb9
GameSettings: Disable analog mode forcing instead of forcing digital controller
2020-12-11 19:50:43 -08:00
Connor McLaughlin
90997d4a8b
GameList: Prioritize game title cover image over database title
2020-12-12 12:23:53 +10:00
Connor McLaughlin
6e7f1501b5
SDLAudioStream: Fix volume not applying
2020-12-12 11:50:48 +10:00
Connor McLaughlin
eefbd8f6a6
CubebAudioStream: Use cubeb's volume control
2020-12-12 11:50:37 +10:00
Connor McLaughlin
907e0de35a
FrontendCommon: Fix volume hotkeys starting at 0% when muted
2020-12-12 11:50:20 +10:00
Connor McLaughlin
98766a490f
Log: Change success to verbose and move down in ordering
2020-12-09 01:03:32 +10:00
Connor McLaughlin
678146b907
HostInterface: Add separate volume control for fast forwarding
2020-12-09 01:03:32 +10:00
Silent
a4124fdc1b
Another fix for XInput backend
2020-12-07 18:08:48 +01: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
a511882cb8
D3D11HostDisplay: Add an option to force a blit/discard swap chain
2020-12-06 23:46:23 +10:00
Connor McLaughlin
3ccfc42b0f
D3D11HostDisplay: Use shader cache for postprocessing shaders
2020-12-06 23:37:41 +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
Silent
39768edd74
XInput: Fix mapping triggers to axes
2020-12-04 17:55:01 +01:00
Connor McLaughlin
362905e3df
GPU: Add display line offset game setting
...
Use when games need additional cropping.
2020-12-04 00:33:04 +10:00
Connor McLaughlin
c3932e945d
GameSettings: Fix PGXP culling disabled message showing when PGXP disabled
2020-11-30 01:15:44 +10:00
Connor McLaughlin
eaafd0a00c
Cheats: Support parsing built-in database
2020-11-30 01:15:44 +10:00
Connor McLaughlin
d1a42df121
GameList: Fix cover image detection based on file title
2020-11-28 02:04:18 +10:00
Connor McLaughlin
16a6c1706e
Qt: Fix manual redump database downloading/updating
2020-11-28 00:42:09 +10:00
Connor McLaughlin
3137eb41c4
GameList: Make cover functions const
2020-11-28 00:14:45 +10:00
Connor McLaughlin
263f7b673b
GameList: Use shipped redump database/compatibility settings
2020-11-28 00:14:45 +10:00
Connor McLaughlin
5f69216f70
HostInterface: Add OpenPackageFile method
2020-11-28 00:14:45 +10:00
Connor McLaughlin
859f23f4d5
libretro: Add compatibility settings loading
2020-11-28 00:14:44 +10:00
Connor McLaughlin
b73fd7a4e8
SDLControllerInterface: Ship game controller db with builds
2020-11-28 00:14:44 +10:00
Albert Liu
32e47fba93
System: Limit maximum loadable save state version
2020-11-26 19:51:45 -08:00
Connor McLaughlin
f7a75941b5
GameSettings: Add PGXP tolerance and MSAA
2020-11-27 01:40:50 +10:00
Connor McLaughlin
24fef20485
CommonHostInterface: Compress screenshots in background/use worker thread
2020-11-27 01:40:50 +10:00
Connor McLaughlin
df14fa4d75
CommonHostInterface: Fix compatible/old version save states not showing in browser
2020-11-27 01:40:50 +10:00
Connor McLaughlin
7fd22958ae
OpenGLHostDisplay: Fix crash in libretro core
2020-11-24 14:54:06 +10:00
Connor McLaughlin
497759b4d6
VulkanHostDisplay: Support 16-bit scanout
2020-11-21 21:12:38 +10:00
Connor McLaughlin
cb407263ea
XInputControllerInterface: Fix device connected spam
2020-11-21 18:58:27 +10:00
Connor McLaughlin
7f058169b9
OpenGLHostDisplay: Add a GLES2 render path
2020-11-21 18:39:04 +10:00
Connor McLaughlin
d3d881aa6b
GPU/Software: Reduce number of copies by one, enable 16-bit scanout
2020-11-21 18:39:04 +10:00
Connor McLaughlin
3185c5df0f
Merge pull request #1078 from CookiePLMonster/sdl-joystick-support
...
Add SDL_Joystick support
2020-11-21 18:37:20 +10:00
Connor McLaughlin
e4d2b7331b
CommonHostInterface: Add resize window to scale functions
2020-11-19 00:40:02 +10:00
Silent
086f251370
Tidy up SDL controller methods interface
2020-11-15 16:12:39 +01:00
Silent
2880b71b48
Support for SDL Joysticks
...
This enables use of non-controller peripherals,
such as DirectInput steering wheels or flight sticks
2020-11-15 16:12:39 +01:00
Albert Liu
d87ab23fec
ControllerInterface: Move axis scaling into AnalogController class
2020-11-11 23:55:23 -08:00
Connor McLaughlin
56ab103559
GameSettings: Fix CD-ROM read speedup incorrectly saved to ini
2020-11-08 00:22:35 +10:00
Connor McLaughlin
3e6bc0e10d
Android: Implement disc changing via playlists
2020-11-08 00:22:35 +10:00
Connor McLaughlin
8cb89636eb
Android: Empty audio buffers when returning from activity
2020-11-08 00:22:35 +10:00
Connor McLaughlin
2b66492ed8
HostInterface: Add proper turbo speed setting
2020-11-03 22:59:26 +10:00
Connor McLaughlin
2c8a4ff154
HostDisplay: Add an option to decouple display fps from emulator fps
...
Makes Android so much faster...
2020-11-03 16:17:45 +10:00
Connor McLaughlin
d102b2facd
Qt: Fix selecting fullscreen mode breaking other backend borderless
2020-11-03 16:17:45 +10:00
Connor McLaughlin
414bc30f24
HostDisplay: Implement exclusive fullscreen for D3D11 renderer
2020-11-02 00:56:05 +10:00
Connor McLaughlin
ed0777cd8d
OpenGLHostDisplay: Make sure vsync is on at startup
2020-10-31 14:27:58 +10:00
Connor McLaughlin
fdb770a596
ImGui: Get rid of serializing GL calls in OpenGL renderer
...
Gives a 25% performance improvement on NVIDIA.
2020-10-31 14:27:58 +10:00
Connor McLaughlin
2eaebd8921
GPU: Implement support for multisample antialiasing
2020-10-31 14:27:58 +10:00
Connor McLaughlin
7210b0826a
GameSettings: Make DMA/GPU tweak settings overridable
2020-10-30 00:44:40 +10:00
Connor McLaughlin
29467d40c8
DMA: Add debug window
2020-10-30 00:44:39 +10:00
Connor McLaughlin
62dbaaf02c
Qt: Fix power off button not exiting in batch mode
2020-10-30 00:44:39 +10:00
Connor McLaughlin
7ce55ca800
Android: Fix race/crash when switching away/back to the emulation activity
2020-10-27 11:58:46 +10:00
Albert Liu
f69889264d
Core: Make some additional OSD messages translatable
2020-10-22 02:07:48 -07:00
Connor McLaughlin
b694577c38
Qt: Add new cheat manager
2020-10-21 01:11:30 +10:00
Albert Liu
9b8fbeb087
CommonHostInterface: Activate hotkeys on press instead of release
2020-10-19 16:35:12 -07:00
Connor McLaughlin
49cea927f0
Build: Add ARM64 platform for Windows
2020-10-14 00:48:48 +10:00
Connor McLaughlin
a372a1d782
GameList: Fix progress disappearing when scanning >1 directory
2020-10-12 00:40:06 +10:00
Connor McLaughlin
ad61815cad
GameList: Don't keep cache open after rewriting
2020-10-11 20:55:49 +10:00
Connor McLaughlin
1db1d64a1f
GameSettings: Simplify controller type check
2020-10-11 14:38:31 +10:00
Connor McLaughlin
303357df27
GameSettings: Only replace analog -> digital controller when forcing
...
e.g. Die Hard Trilogy can also work with Konami Justifier.
2020-10-11 12:46:12 +10:00
Connor McLaughlin
d39c9f5d1c
Clean up some compiler warnings
2020-10-11 12:21:08 +10:00
Connor McLaughlin
c89d94c2ff
Move Cubeb AudioStream to FrontendCommon
...
This way it doesn't need to be built for libretro.
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
a3f2f13fa9
GameSettings: Add CD-ROM Read Speedup
2020-10-05 00:18:10 +10: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
7278f055cb
FrontendCommon: Attempt two at hotkey translation
2020-10-05 00:18:10 +10:00
Connor McLaughlin
55f0915534
Qt: Hopefully fix save state slot hotkeys being untranslatable
2020-10-04 00:12:01 +10:00
Connor McLaughlin
968c835249
CommonHostInterface: Add reset hotkey
2020-10-04 00:12:01 +10:00
Connor McLaughlin
36511fda18
Qt: Add set cover image option to context menu
2020-10-04 00:12:01 +10:00
Connor McLaughlin
ca0bfc39a2
CDROM: Add a setting and hotkey to mute CD audio
2020-10-04 00:12:01 +10:00
Connor McLaughlin
c051538d03
HostInterface: Mark some more OSD messages as being translatable
2020-10-03 01:06:04 +10:00
Connor McLaughlin
caf100ec0d
Qt: Make hotkey categories translatable
2020-10-03 01:06:04 +10:00
Connor McLaughlin
5bc61849eb
FrontendCommon: Add duck icon to loading screens
2020-10-02 00:01:51 +10:00
Connor McLaughlin
9a23c5547a
GameSettings: Add CPU overclocking as game option
2020-09-30 23:48:34 +10:00
Connor McLaughlin
2c971ce0c7
VulkanHostDisplay: Fix errors for shaders with many options
2020-09-30 22:52:55 +10:00
Connor McLaughlin
8342fec2c8
VulkanHostDisplay: Execute command buffer before reloading post shaders
2020-09-27 01:34:29 +10:00
Connor McLaughlin
f26e75fa37
GameSettings: Add force 4:3 for 24-bit
2020-09-26 15:21:17 +10:00
Connor McLaughlin
e7cfc69975
Cheats: Fix parsing of Retroarch cheats
2020-09-26 01:13:48 +10:00
Connor McLaughlin
699242b1a7
GameList: Fix compatibility xml saving
2020-09-24 22:16:23 +10:00
Connor McLaughlin
41f36d0673
GameList: Fix cover search from game serial/code
2020-09-24 12:33:11 +10:00
Connor McLaughlin
b193374dd4
GameList: Add method to look up a cover image
2020-09-24 00:31:44 +10:00
Connor McLaughlin
f022bdb328
PostProcessingShader: Fix a compile warning
2020-09-23 20:19:38 +10:00
Silent
92d0dabf54
Make path separators in UI more consistent
2020-09-20 00:08:17 +02:00
Connor McLaughlin
d274c553c5
OpenGLHostDisplay: Fix incorrect top alignment
2020-09-20 01:36:49 +10:00
Silent
67392a37ec
Fix Discord RPC not reporting the game title
2020-09-19 15:00:03 +02:00
Connor McLaughlin
67d0bbedb1
ControllerInterface: Don't use a minimum strength of 0.01
2020-09-17 19:56:11 +10:00
Connor McLaughlin
3096f0953f
PostProcessing: Use ints-for-bools CPU-side as well
2020-09-16 11:52:23 +10:00
Connor McLaughlin
3bd9f85af8
PostProcessingShaderGen: Use ints instead of bools for options
2020-09-16 11:52:23 +10:00
Connor McLaughlin
352a3405e8
OpenGLHostDisplay: Fix offset image in libretro
2020-09-16 01:14:56 +10:00
Silent
a35a2838b6
Fix XML loading not handling UTF-8 paths
2020-09-14 20:33:56 +02:00
Connor McLaughlin
daa5e02853
GameSettings: Add trait for disabling PGXP texture correction
2020-09-15 00:31:35 +10:00
Connor McLaughlin
51c595759f
GameList: Fix incorrect serialization of some options
2020-09-15 00:31:35 +10:00
Connor McLaughlin
bb6af3c8fc
Merge pull request #845 from CookiePLMonster/fix-resume
...
Fix issues with a -resume parameter
2020-09-14 00:11:42 +10:00
Connor McLaughlin
9c28b3e167
CommonHostInterface: Add post processing toggle hotkeys
2020-09-13 22:31:31 +10:00
Connor McLaughlin
441f26706e
Qt: Move post processing to its own setting category
2020-09-13 22:27:30 +10:00
Connor McLaughlin
7a5f167c1c
VulkanHostDisplay: Fix a possible crash at shutdown with large post shaders
2020-09-13 20:21:23 +10:00
Connor McLaughlin
2492eb8678
FrontendCommon: Add a hotkey to reload post processing
2020-09-13 20:21:05 +10:00
Connor McLaughlin
c1006bd0ff
PostProcessing: Allow fragment coordinate access from shader
2020-09-13 18:50:40 +10:00
Connor McLaughlin
60ed9e7191
PostProcessingShader: Fix errors in shader parsing
2020-09-13 18:39:40 +10:00
Connor McLaughlin
a053f389bd
VulkanHostDisplay: Don't choke when we lose the surface
2020-09-13 14:37:00 +10:00
Connor McLaughlin
26dff586f3
OpenGLHostDisplay: Fix vertical alignment
2020-09-13 14:36:31 +10:00
Connor McLaughlin
c9372a674a
More build fixes...
2020-09-13 12:40:32 +10:00
Connor McLaughlin
a1f527eddf
VulkanHostDisplay: Build fix for libretro
2020-09-13 12:27:34 +10:00
Connor McLaughlin
68d08ddbcb
Merge branch 'postprocessing'
2020-09-13 12:14:21 +10:00
Connor McLaughlin
3847be86b0
Fix a bunch of random warnings
2020-09-13 11:54:51 +10:00
Silent
95d5417017
Fix -resume causing a quiet exit if there is no resume savestate
2020-09-12 19:58:37 +02:00
Connor McLaughlin
2819715260
FrontendCommon: Add a post processing implementation
2020-09-13 01:23:43 +10:00
Silent
cf513c1c24
Simplify quicksave/quickload logic
2020-09-12 16:07:22 +02:00
Connor McLaughlin
6f250a4ff7
GPU/HW: Add JINC2 and xBRZ texture filtering options
...
Shaders ported from beetle-psx.
2020-09-12 00:26:34 +10:00
Connor McLaughlin
5b17ad11a7
GameList: Fix cache corruption after scanning for new games
2020-09-10 00:23:24 +10:00
Connor McLaughlin
03f052e12e
FrontendCommon: Add auto cheat loading option
2020-09-09 23:44:02 +10:00
Connor McLaughlin
9a52c54c2f
Vulkan: Don't force debug device/validation layers
2020-09-08 17:22:34 +10:00
Connor McLaughlin
455f359125
FrontendCommon: Fix descriptor/image validation errors in imgui render
2020-09-08 11:44:54 +10:00
Connor McLaughlin
9bb278b166
CommonHostInterface: Fix crash on shutdown when using save state selector
2020-09-06 21:03:27 +10:00
Connor McLaughlin
d5d79e952c
Fix CMake build
2020-09-06 18:37:10 +10:00
Connor McLaughlin
726e5d46b1
Merge pull request #821 from CookiePLMonster/d3d11-memleaks
...
Fix D3D11 resource leaks
2020-09-06 17:59:20 +10:00
Connor McLaughlin
75ad685ae8
CommonHostInterface: Fix incorrect version error string in save state selector
2020-09-06 17:48:58 +10:00
Connor McLaughlin
2c36750a0e
VulkanHostDisplay: Fix imgui image textures not rendering
2020-09-06 17:47:23 +10:00
Connor McLaughlin
ac6b9dc87f
dep/imgui: Move implementations to frontend-common
2020-09-06 17:28:19 +10:00
Silent
33df4ab1bd
Seek before reading save state screenshot
...
Fixes corrupted thumbnails in the save state UI
2020-09-05 21:46:46 +02:00
Silent
89e0290d06
Fix resource leaks in AutoStagingTexture::EnsureSize and D3D11HostDisplay::DownloadTexture
2020-09-04 23:44:19 +02:00
Connor McLaughlin
a2eaaf0e89
PGXP: Allocate large storage dynamically
...
This causes performance issues on ARM otherwise.
2020-09-03 00:11:40 +10:00
Connor McLaughlin
b2057ac6cc
GameSettings: Add disallow force NTSC timings trait
2020-09-02 00:03:53 +10:00
Connor McLaughlin
c9cefe4020
GameSettings: Add a bunch more user settings
2020-09-02 00:00:48 +10:00
Connor McLaughlin
bf85fbe331
GameSettings: Fix widescreen hack not saving to cache
2020-09-01 20:32:55 +10:00
Connor McLaughlin
0af22825ad
FrontendCommon: Drop imgui deps for libretro build
2020-09-01 12:48:57 +10:00
Connor McLaughlin
6bbbb96d4b
Move GameList to FrontendCommon
...
Reduces libretro core dependencies further.
2020-09-01 12:46:44 +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
Silent
8def7420c4
XInput: Try to use XInput 1.3 if 1.4 is not present
...
This simple change enables the use of Guide button
for Windows 7 users, provided they have DirectX End-User
Runtimes installed. XInput 9.1.0 does not have the hidden
XInputGetStateEx export, so it was not possible to poll for
Guide button.
2020-08-22 22:52:54 +02:00
Silent
1c4bbc8cde
XInput: Do not use XINPUT_CAPS_FFB_SUPPORTED
...
There are several reasons for this:
1. XINPUT_CAPS_FFB_SUPPORTED flag was introduced in Windows 8,
and therefore only supported by XInput 1.4
2. Despite the name, this flag does NOT indicate whether normal rumble
is supported. This flag is reserved for more complex force feedback,
and according to MSDN it may have went unused on Windows.
This fixes a future (the method is not used yet) bug where
XInputControllerInterface::GetControllerRumbleMotorCount would
erroreously report no rumble support.
2020-08-22 22:46:12 +02:00
Connor McLaughlin
3c46f7b44c
ControllerInterface: Add XInput controller backend
2020-08-22 16:50:19 +10:00
Connor McLaughlin
ab002e78e1
Support translating strings in emulator core
2020-08-22 13:06:20 +10:00
Hugo Hromic
1e10bef09e
SDLControllerInterface: Add support for optional game controller database
...
If an optional "gamecontrollerdb.txt" file exists in the user directory,
then SDL game controller mappings will be loaded from it.
There is an officially endorsed community sourced database in
https://github.com/gabomdq/SDL_GameControllerDB
2020-08-21 23:51:07 +01:00
Connor McLaughlin
bca609a2a6
Qt: Add option to disable per-game settings
2020-08-21 00:09:37 +10:00
Connor McLaughlin
60d3fffec1
Add per-game overrides (mainly for compatibility)
2020-08-21 00:09:37 +10:00
Connor McLaughlin
3ca1d5b275
CommonHostInterface: Fix lag when OSD message display disabled
2020-08-16 01:40:18 +10:00
Connor McLaughlin
10a46a7fd8
OSD: Add option to show display resolution
2020-08-16 00:20:11 +10:00
Connor McLaughlin
f5fb8186c7
Switch some messages to the OSD and increase durations
2020-08-16 00:20:10 +10:00
Connor McLaughlin
c5db7db182
Build: Compile source as UTF-8 with MSVC
2020-08-15 00:04:38 +10:00
jpchow26
2a43b8b182
Update ini_settings_interface.cpp ( #734 )
...
* Update ini_settings_interface.cpp
Fix compiler error on Windows.
2020-08-11 02:59:58 +10:00
Connor McLaughlin
5c6e92cdfc
GPU/HW: Disable coordinate clamping when unnecessary
2020-08-10 23:28:37 +10:00
Connor McLaughlin
ac42510780
INISettingsInterface: Fix saving/loading with Unicode paths
2020-08-09 04:40:21 +10:00
Connor McLaughlin
fbdc9ae631
CommonHostInterface: Remove additional API reset/restore on screenshot
2020-08-04 21:08:56 +10:00
Connor McLaughlin
0c1b637549
PGXP: Add initial implementation
2020-08-02 00:25:07 +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
3edb8e113e
StringUtil: Add wide string<->utf8 conversion for Windows
2020-07-31 16:04:00 +10:00
Connor McLaughlin
8665a24eee
CommonHostInterface: Fix crash when there's no controller interface
2020-07-26 23:59:47 +10:00
Albert Liu
79576ca956
AnalogController: Expose axis scale setting to frontend
2020-07-24 19:18:41 -07:00
Connor McLaughlin
4a3e5ed644
VulkanHostDisplay: Fix custom crosshair rendering on NVIDIA
2020-07-24 02:40:46 +10:00
Albert Liu
855fc9a31c
CommonHostInterface: Prevent some potential null pointer dereferences
2020-07-21 17:14:11 -07:00
Connor McLaughlin
68d98af497
Qt: Remove usage of QString where possible for settings
2020-07-21 20:10:06 +10:00
Connor McLaughlin
eb7da791ea
CommonHostInterface: Fix command line help not printing on Windows
2020-07-21 20:09:54 +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
8febf5df04
D3D11HostDisplay: Fix reversed feature level order
2020-07-12 00:44:13 +10:00
Connor McLaughlin
d6ec1fd84e
Build fix
2020-07-10 14:46:44 +10:00
Connor McLaughlin
c01854e9d1
Define LIBRETRO macro when building core, skip swap chain
2020-07-10 14:02:45 +10:00
Connor McLaughlin
a5fe740e30
Fix a bunch of compiler warnings
2020-07-09 13:30:16 +10:00
Connor McLaughlin
60a739e305
D3D11HostDisplay: Add __has_include check for dxgi1_5.h
2020-07-09 13:24:56 +10:00
Connor McLaughlin
5984f977ca
D3D11HostDisplay: Ensure we only get feature level 10-11
2020-07-09 13:00:31 +10:00
Connor McLaughlin
97a946bd62
CommonHostInterface: Implement frame step hotkey
2020-07-08 02:05:36 +10:00
Connor McLaughlin
76cb52407b
SDLControllerInterface: Init joystick API as well
2020-07-06 02:47:33 +10:00
Connor McLaughlin
b9ffca1ddf
libretro: Vulkan renderer support
2020-07-04 22:14:07 +10:00
Connor McLaughlin
2c4fce3f0d
D3D11HostDisplay: Don't create swap chain for headless
2020-07-04 17:37:50 +10:00
Albert Liu
0a0a2024fd
SDLControllerInterface: Prefer cbutton.which for button events
...
Functionally the same as caxis.which due to SDL_Event union, but prefer
using SDL_ControllerButtonEvent members for button events.
2020-07-02 17:45:44 -07:00
Connor McLaughlin
655dff84e2
VulkanHostDisplay: Fix software cursor rendering
2020-07-01 01:57:25 +10:00
Connor McLaughlin
400ee3d9b3
OpenGLHostDisplay: Fix software cursor rendering
2020-07-01 01:57:25 +10:00
Connor McLaughlin
8cd9e0887e
libretro: Use framebuffer view dimensions not texture dimensions
2020-07-01 01:57:25 +10:00
Connor McLaughlin
ed6065d7f5
D3D11HostDisplay: Fix software cursor rendering
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
1a45ee3018
CommonHostInterface: Use largeImage fields in Discord presence payload
...
Fixes application icon not showing up in Discord Rich Presence.
2020-06-26 22:28:48 -07:00
Connor McLaughlin
58b0e6859a
Frontend: Reset/restore GPU state before saving screenshot
...
Fixes driver crashes in Vulkan.
2020-06-27 02:59:58 +10:00
Albert Liu
293c2f50cd
ControllerInterface: Make axis-to-button deadzone customizable
2020-06-23 08:15:17 -07:00
Albert Liu
6b7c068f83
ControllerInterface: Implement axis scaling for axis-to-axis mappings
...
This feature allows us to work around analog stick range issues at the
intercardinal directions in certain titles (e.g. Rockman DASH 2) caused
by modern controllers having a tighter logical range of reporting than
PS1 analog controllers.
2020-06-23 08:14:37 -07:00
Connor McLaughlin
eaca5eca07
GPU/Vulkan: Use Metal layer instead NSView on macOS.
2020-06-22 15:58:07 +10:00
Connor McLaughlin
f846817848
Vulkan: Fix crash when opening settings window -> resizing
2020-06-22 15:58:00 +10:00
Connor McLaughlin
1455e793d5
Vulkan: Fix crash when drag-resizing window
2020-06-22 15:57:54 +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
1b5f8db2fc
Vulkan/Context: Support specifying GPU to use
2020-06-20 03:34:19 +10:00
Connor McLaughlin
7fce9b102e
FrontendCommon: Add GPU enumeration methods to D3D11/Vulkan host displays
2020-06-20 03:34:19 +10:00
Connor McLaughlin
1e26ded73c
SDL: Use FrontendCommon D3D11 host display wrapper
2020-06-20 03:34:19 +10:00
Connor McLaughlin
6eb2079088
FrontendCommon: Add D3D11 helper for host display
2020-06-20 03:33:34 +10:00
Connor McLaughlin
6aacf0019a
FrontendCommon: Add a Vulkan host display interface
2020-06-19 00:18:19 +10:00
Connor McLaughlin
63cc4ab197
CommonHostInterface: Release save state selector before display
...
This can have GPU objects, so needs to be released first.
2020-06-19 00:16:59 +10:00
Albert Liu
8a94fc944a
CommonHostInterface: Fix minor log message typo
2020-06-16 09:53:18 -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
Connor McLaughlin
075380f8e0
Move most helper logic from base HostInterface to FrontendCommon
2020-06-09 02:35:37 +10:00
Connor McLaughlin
b9bfe30b1e
SDL: Fix compilation on older versions
2020-06-07 01:38:38 +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
Albert Liu
e1e3cf4f5a
CommonHostInterface: Simplify input profile saving
2020-05-27 17:49:06 -07:00
Albert Liu
f8fea1b215
INISettingsInterface: Return bool on saving settings
2020-05-27 17:48:33 -07:00
Connor McLaughlin
b17a5832e5
System: Simplify save state booting
...
Fixes memory card warning messages on load state.
2020-05-27 02:01:11 +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
6477e5fb54
CommonHostInterface: Add volume up/down/mute hotkeys
2020-05-10 00:54:23 +10:00
Connor McLaughlin
c67e877d82
CommonHostInterface: Fix -state command line parameter not working
2020-05-08 00:57:46 +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
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
fce35d6dbe
CommonHostInterface: Support mouse bindings
2020-04-26 17:21:49 +10:00
Connor McLaughlin
a111e36ad7
CommonHostInterface: Add proper fast forward toggle
2020-04-26 01:22:44 +10:00
Connor McLaughlin
b9954a943a
CommonHostInterface: Default hotkeys for new save state UI
...
- F1: Load
- F2: Save
- F3: Select Previous
- F4: Select Next
2020-04-21 03:07:53 +10:00
Connor McLaughlin
2a710798cc
CommonHostInterface: Add save state selector UI
2020-04-21 03:07:40 +10:00
Connor McLaughlin
7c2244f20f
FrontendCommon: Add placeholder icon binary
2020-04-21 02:50:48 +10:00
Connor McLaughlin
277c03aca0
Add auto-generated Git version to window titles
2020-04-17 02:10:56 +10:00
Connor McLaughlin
f75ea052a6
FrontendCommon: Add input profile support
2020-04-15 01:44: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
915989fa25
CommonHostInterface: Remove extra newlines in messages
2020-04-14 04:05:10 +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
e843fcd9f0
SDLControllerInterface: Fix broken input when player IDs clash
2020-04-11 19:36:53 +10:00
Connor McLaughlin
674bcdfeec
INISettingsInterface: Add Save() method
2020-04-11 00:00:21 +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
70ccdcfc30
INISettingsInterface: Make constructor parameter a std::string
2020-04-05 22:57:29 +10:00
Connor McLaughlin
cae2e09957
SDLControllerInterface: Pass player ID to hooks not joystick ID
...
Should fix controllers which show up as non-zero players.
2020-04-05 01:28:08 +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
361bedc2c3
SDLControllerInterface: Hackfix for non-player-id supporting controllers
2020-03-22 21:31:54 +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
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
1ee68ad12a
CommonHostInterface: Add Screenshot hotkey
2020-03-18 22:28:03 +10:00
Connor McLaughlin
8f39a0f154
Qt: Properly implement "Start Fullscreen"
2020-03-12 13:53:58 +10:00
Connor McLaughlin
ef2796b780
CommonHostInterface: Fix controller inputs not binding
...
Fixes #46 .
2020-03-06 21:55:27 +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
a298e93004
CMake: Fix Linux build
...
Fixes #36 .
2020-02-28 22:43:34 +10:00
Connor McLaughlin
f2adb71a70
CommonHostInterface: Bind face buttons to keypad by default
2020-02-28 18:15:21 +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
4f794b1c37
Add precompiled versions of D3D11 display shaders
2020-02-20 23:21:54 +09:00
Connor McLaughlin
b7dfe06f74
Qt: Support axes in input binding widgets
2020-02-18 00:06:11 +09:00
Connor McLaughlin
0f7365117b
SDLControllerInterface: Add missing include
2020-02-16 00:39:06 +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
59cf799491
Qt: Implement controller interface/binding
2020-02-16 00:14:53 +09:00
Connor McLaughlin
1e009133ae
Rename 'Default' audio backend to 'SDL'
2020-02-16 00:14:35 +09:00
Connor McLaughlin
745c2785b2
Move shared frontend code from SDL to a seperate project
2020-02-16 00:13:53 +09:00