RedPanda4552
1f74f82796
[SAVEVERSION+] Reimplement PAD system
...
Force pushed because git hates me
[SAVEVERSION+] Bump savestate version
CI: Update locations of pad/memcard sources
Discard leftover old PAD code
Fix additional merge oddities
Add translations for OSD messages
Copyright headers
Version bump
Fix a whole boatload of concurrency problems from file moves and other miscellaneous update problems
Partial redo of PS1 pad support
Fix incorrect mode due to analog behavior at startup
Mostly reimplement SIO0 memory card logic
Still needs pocketstation
Use new runtime wrapped translate function
Dead code
Fix multiple port/slot/presence issues for PS1
Save State version bump
Clean up some duplicate/unused headers
More header consistency
Remove old stray files
Fix incorrect return
Fix uninitialized array
Add missing overrides
Switch to init/close model used by other subsystems
Remove old input recording references
Rename SIO globals
Rename SIO2 FIFO globals
Remove commented SIO0 code for illegal write
Add guitar icon
2023-07-24 16:41:17 +01:00
Stenzek
1fa3111e67
Qt: Sync video capture state
2023-07-07 12:34:58 +10:00
Stenzek
adca796d94
Common: Remove SafeArray
...
And replace with std::vector.
2023-06-30 21:37:44 +10:00
Stenzek
6beaec8ba1
Common: Remove Exceptions
...
The satisfaction is immeasurable.
2023-06-30 21:37:44 +10:00
Stenzek
55e73bb4b9
MTGS: Convert to namespace
2023-06-25 12:54:14 +10:00
Stenzek
c9e9f92c93
Qt: Add Setup Wizard
2023-06-24 15:18:24 +10:00
Stenzek
adcfca4db3
Qt: Localization support
2023-06-20 22:46:00 +10:00
Stenzek
f7bc05c735
Host: Add message translation functions
2023-06-20 22:46:00 +10:00
Stenzek
36c27188a4
VMManager: Refactor and improve boot process
...
[SAVEVERSION+] VM struct changes.
- Serial/title is now linked to disc, instead of running ELF.
- Save states can be created during BIOS boot.
- Patches now apply based on the executing CRC, and only after the
entry point starts executing (fixes multi-game discs).
- Add "Fast Forward Boot" option.
- Split achievements download and activation, downloads occur on
initialization, but are not activated until after the ELF loads.
- Prevent HostFS access while in PS1 mode.
- Remove multiple sources of truth for ELF/CRC/etc.
- Move ELF state from global scope to VMManager.
- Prevent game fixes and hw fixes being active while booting game.
- Simplify game update.
- Flush recompilers after ELF loads. No point keeping boot code around
which gets overwritten.
2023-06-17 17:38:43 +10:00
Stenzek
65374f50cf
VMManager: Fix patches OSD not getting shown in some cases
2023-06-10 12:35:08 +10:00
DarkC
bf4672fb2b
Qt: Add missing bigpicture parameter to help text
2023-06-07 20:38:18 +01:00
Stenzek
81da9fb5a4
Patch: Add new toggleable cheat and patch interface
2023-05-31 16:38:14 +01:00
TellowKrinkle
ab1d2009a0
Core: Use 2MB stacks for µVU
2023-05-25 16:16:14 +01:00
Stenzek
90a6088d61
GSRunner: Fix log file writing
...
Wasn't getting flushed/closed on shutdown.
2023-05-21 08:52:45 +01:00
Stenzek
0f05967190
CommonHost: Purge and move functions to appropriate locations
2023-05-16 12:58:19 +01:00
Stenzek
80675399aa
Misc: Various cleanup
...
Move files from Frontend directory to pcsx2 and/or subdirectories.
Get rid of double GS init.
Combine HostSettings and Host.
Combine Frontend/Achievements.h and Achievements.h.
2023-05-13 07:12:12 +01:00
Stenzek
befbf57191
GS: Refactor exclusive fullscreen yet again
...
Also acquire render window as late as possible.
Limits the duration that the main window isn't displaying anything.
2023-04-26 16:00:39 +01:00
Stenzek
abc0f99ddd
Qt: Move themes to its own file
...
It's getting a bit out of hand.
2023-04-25 21:53:30 +01:00
Stenzek
3cae728aba
Qt: Recreate new window immediately when switching APIs
2023-04-08 12:42:34 +02:00
Stenzek
398cf43782
GS: Combine HostDisplay with GSDevice
...
GS/DX11: Don't throw bad_alloc on surface creation fail
GS: Link device and host display construction/destruction
FullscreenUI: Replace HostDisplayTexture with GSTexture
GS: Purge HostDisplayTexture
GS: Move everything in HostDisplay to GSDevice
GS: Move ImGui rendering to GSDevice
GS: Get rid of reset/store API state
2023-04-06 08:48:07 +01:00
refractionpcsx2
77f8a0f5f6
Counters: Retool UpdateVSyncRate
2023-04-06 08:47:35 +01:00
Stenzek
7cdcfd4b1a
Qt: Remove backup AppImage on next launch
2023-03-21 13:48:50 +00:00
Stenzek
520320535e
Qt: Clear all keyboard bind states when focus is lost
2023-03-02 15:49:04 +00:00
Stenzek
c7352d9e10
GS: Attempt to recreate device if GPU crashes
2023-02-11 15:33:55 +00:00
Ziemas
e1d6dfc324
Add command line boot and debug option
2023-02-04 12:30:07 +00:00
Stenzek
f447aded57
Qt: Better handle VM-requesting-shutdown case
...
This was a bit wonky in batch mode before. Now all possible exit paths
close the application at the same point.
2023-01-28 13:40:55 +00:00
Stenzek
1b40e4aaca
Qt: Fix -nogui/-batch closing
2023-01-28 02:51:02 +00:00
Stenzek
4c1d93a322
VMManager: Defer reset when running
...
Stops us resetting during the event test, which can leave things in a
pretty messed up state.
2023-01-25 15:51:53 +00:00
refractionpcsx2
8773ebf64b
VM: Queue shutdown message when called from inside emulation.
2023-01-23 16:45:58 +01:00
Stenzek
88c1f00b62
GS: Add audio capture and custom resolution
2023-01-21 16:56:57 +00:00
arcum42
2892f629f0
build/QT: Unmute the warnings for deprecation & overloading virtuals. Fix assorted warnings. Mute 'maybe initialized' warnings. Add a policy to take care of LTO warnings in cmake.
2023-01-11 00:55:21 +01:00
Connor McLaughlin
699c3d80b7
GS: Add video dumping via ffmpeg
2022-12-22 04:27:30 +00:00
Connor McLaughlin
fc14b8f0da
USB: Move to Qt (with *significant* refactoring)
2022-12-18 03:47:00 +00:00
Connor McLaughlin
9da8e9280f
Qt: Add disc path option for ELF game list entries
2022-12-12 13:35:37 +00:00
Connor McLaughlin
77e9938f0f
GS: Manually throttle fullscreen UI rendering
...
Fixes rendering at thousands of FPS when pausing if FSUI is active.
Avoids flickering when recreating swap chain in vulkan on menu open,
because we're no longer doing it.
2022-12-08 09:36:41 +00:00
Connor McLaughlin
1cb10eb889
FullscreenUI: Don't clear state when switching renderers
...
Fixes things like the achievement summary not being displayed, or if the
pause menu is never accessed, the popups from showing at all.
2022-12-04 04:27:38 +00:00
Connor McLaughlin
038e22e5db
MTGS: Make PresentCurrentFrame() callable from CPU thread
...
GS thread can use GSPresentCurrentFrame().
2022-11-26 16:32:39 +00:00
Connor McLaughlin
f8bd4d7155
Qt: Shuffle some settings around/hide advanced by default
2022-11-24 09:46:49 +00:00
Connor McLaughlin
edb9a5ba3c
Qt: Add -testconfig option
2022-11-23 15:55:39 +00:00
Connor McLaughlin
0dd766cec8
Qt: Work around theme switching issue in 6.4.0
...
Starting in dark theme then switching to native/light would not restore
the standard palette.
2022-11-20 17:25:55 +00:00
Connor McLaughlin
5e9710a8c6
Qt: Support overriding log file on command line
2022-10-22 23:19:54 +01:00
Connor McLaughlin
fb9c9cb172
Qt: Don't load confirm shutdown/render separate/etc from base
2022-10-22 10:13:40 +01:00
TellowKrinkle
8975f2d92c
Qt: Add comment on ODR violation workaround
2022-10-19 15:50:43 -05:00
Connor McLaughlin
e6dbd55644
Qt: Use vsync when any FSUI window is open
...
Fixes high GPU usage when pause menu is opened. Previously, it was fine
if you started from big picture mode, but not if you invoked it by
opening the menu.
2022-10-19 10:12:44 +01:00
Connor McLaughlin
e8877daca3
Qt: Register for device notifications on Windows
...
That way we know when a controller is connected/disconnected, and don't
have to poll unconnected XInput controllers.
2022-10-16 14:54:38 +01:00
Connor McLaughlin
bcd19dd0f5
Qt: Add Host::GetTopLevelWindowInfo()
2022-10-16 14:54:38 +01:00
Connor McLaughlin
44c8974aba
GS: Set vsync based on host decision
...
Fixes bug where after changing settings in the big picture UI, if you
didn't have a game running, it would turn off vsync, making GPU go brr.
Also cleans up HostDisplay a bit, removing redundant parameters.
2022-10-15 15:17:06 +01:00
Connor McLaughlin
0419de4baf
Qt: Add RetroAchievements implementation
2022-10-01 00:00:02 +01:00
Connor McLaughlin
1f5d672cbf
Qt: Open host input method on imgui text edit
...
This should open virtual keyboards on devices which do not have a
physical keyboard.
2022-09-17 17:51:14 +01:00
Silent
97e4f39492
QtHost: Fix Unicode command line arguments
2022-09-17 17:51:03 +01:00
Connor McLaughlin
6810a9d593
Qt: Deduplicate interface code and reduce core coupling
...
This enables more code sharing between interfaces in the future (e.g.
nogui, gsrunner, etc). Eventually I'll move everything in Frontend/ to
its own project.
- VMManager now no longer depends on anything in Frontend.
- Moved INISettingsInterface out of Frontend.
- Log settings can now be overridden per-game (if you really want to)..
- Hotkeys get their own file.
2022-09-15 11:50:51 +01:00
Connor McLaughlin
a228582984
Host: Add GetResourceFileTimestamp()
2022-09-09 21:21:14 +01:00
Connor McLaughlin
e064e96c96
HostDisplay: Make global pointer instead of function
2022-09-09 21:21:14 +01:00
Connor McLaughlin
b667236c92
Qt: Combine EmuThread.cpp and QtHost.cpp
...
These mostly called back between one another.
2022-09-09 21:21:14 +01:00
Connor McLaughlin
e4df563811
Qt: Implement settings reset
2022-09-09 21:21:14 +01:00
Connor McLaughlin
d86abebb50
VMManager: Add SetDefaultSettings()
...
Also removes the affinity control default for <=2 threads, best to let
the OS handle this.
2022-09-09 21:21:14 +01:00
Connor McLaughlin
1b3bf89ee8
PAD: Split set default controller and hotkey settings
2022-09-09 21:21:14 +01:00
Connor McLaughlin
05bed05afe
Frontend: Add fullscreen UI implementation
2022-08-29 13:39:09 +01:00
Connor McLaughlin
a19045f9d6
Host: Add ConfirmMessage() and OpenURL()
2022-08-29 13:39:09 +01:00
Connor McLaughlin
cc728642ed
Qt: Allow changing theme without recreating window
2022-07-24 15:42:29 +01:00
kenshen112
639552ae8f
CDVD: Change CDVDaccess to CDVDcommon
2022-07-19 22:36:31 +01:00
Connor McLaughlin
06e7d6c3df
Qt: Hide system console if enabled in nogui mode
2022-07-17 23:29:48 +01:00
Connor McLaughlin
e87d507c0c
GameList: Populate game list from cache in batch mode
...
Stop-gap until we make CDVD/scanning thread-safe, and can create game
list entries on demand.
2022-07-17 23:29:48 +01:00
Connor McLaughlin
5fc07180dd
Qt: Add -nogui command line parameter
2022-07-17 23:29:48 +01:00
Connor McLaughlin
a35990ee4c
Qt: Move Main.cpp to QtHost.cpp
2022-07-17 23:29:48 +01:00
Connor McLaughlin
dc8bb7cc2f
Qt: Use same data directory as wx with XDG_STD enabled
2022-07-05 13:05:57 +01:00
Connor McLaughlin
5391b529b6
Qt: Implement start disc
2022-06-28 20:01:42 +01:00
Connor McLaughlin
02d3c93c2c
Qt: Allow editing folder settings
2022-06-20 07:28:12 +01:00
Connor McLaughlin
a07ef0f5ee
Qt: Move logging setup into core
...
Sharable between frontends this way.
2022-06-20 07:28:12 +01:00
Connor McLaughlin
543fb282fe
VMManager: Set affinities for threads
2022-06-06 17:44:06 +01:00
Connor McLaughlin
ea1f451d35
Qt: Move flag/star icons to resources
2022-06-04 18:10:46 +01:00
Connor McLaughlin
dc4ef1163f
Qt: Add logging of early directory setup
...
Makes debugging this stuff easier in the future.
2022-05-31 11:01:14 +01:00
Connor McLaughlin
2c199e7c42
Qt: Add log timestamps
2022-05-25 10:15:48 +01:00
Connor McLaughlin
2a32864856
Qt: Get rid of duplicate base setting query helpers
2022-05-25 10:15:48 +01:00
Connor McLaughlin
0bab9474ae
Qt: Add file logging option
2022-05-25 10:15:48 +01:00
Connor McLaughlin
aa47018197
Qt: Apply patches on entry point compile
...
Fixes WRC4's entrypoint patch not being used.
2022-05-24 18:00:59 +01:00
Connor McLaughlin
f2713462cc
Qt: Fix starting after theme change
2022-05-24 11:34:56 +01:00
Connor McLaughlin
b6308bab4f
Qt: Initialize COM ourselves on EmuThread
...
If we don't, SDL initializes it first in STA mode, which prevents MT
mode from being used, which prevents us from using XAudio2.
2022-05-23 15:45:53 +01:00
Tyler Wilding
8fb09d07ed
input-rec: ensure controller logging is disabled by default
2022-05-22 20:29:42 -04:00
Tyler Wilding
2e8076d909
input-rec: begin achieving parity in Qt
2022-05-22 17:24:02 -04:00
Connor McLaughlin
ea051c6d5f
Everything: Get rid of wx entirely from the Qt build
2022-05-22 13:58:56 +01:00
Connor McLaughlin
893b3c629d
Everything: Remove a **lot** of wx, and px nonsense
...
- common has no wx left except for Path.
- pcsx2core only has it in a few places (memory cards and path related
stuff).
2022-05-22 13:58:56 +01:00
Connor McLaughlin
b1d6d84e6f
Qt: Get rid of wx module init
...
We're not using any wx thread junk anymore, so this can go.
2022-05-22 13:58:56 +01:00
Connor McLaughlin
d535331b4b
Misc: Remove __fastcall, __fc, __concall and friends
...
These have no meaning in x64 (apart from throwing compiler warnings),
and we don't do 32-bit anymore. Also saves needing to include
`Pcsx2Defs.h` in files which don't otherwise need it.
2022-05-12 14:58:03 +01:00
Connor McLaughlin
17f2fb4471
Qt: Fix nightly builds not showing version in title bar
2022-05-11 13:13:39 +02:00
Connor McLaughlin
91c717376f
Qt: Use app bundle resources directory on Mac
2022-05-05 09:51:56 +01:00
Connor McLaughlin
378588c67d
Qt: Implement more command line arguments
2022-05-05 09:51:56 +01:00
Connor McLaughlin
8751a2d330
Qt: Make win32 console less garbage
2022-05-05 09:51:56 +01:00
Connor McLaughlin
73f17be890
Qt: Implement proper data directory selection
2022-04-24 06:08:37 +01:00
Connor McLaughlin
69da1e4559
Qt: Install crash handler on startup
2022-04-21 14:21:49 +01:00
Connor McLaughlin
821e15f1ee
Qt: Add QtHost::RunOnUIThread()
2022-04-06 15:22:39 +01:00
Connor McLaughlin
0efe03e726
Qt: Implement Host::RunOnCPUThread()
2022-04-06 15:22:39 +01:00
Connor McLaughlin
d09b49e17c
Qt: Hook up automatic mapping
2022-03-25 12:51:31 +00:00
Connor McLaughlin
80cc2f0cb7
Qt: Log machine caps on startup
2022-03-22 13:38:26 +00:00
Connor McLaughlin
44728be719
Misc: Fix incorrect printf of std::string_view
2022-03-20 04:00:13 +00:00
Connor McLaughlin
2f028c5f40
Qt: Implement CTRL+C and confirm shutdown
2022-03-04 17:41:28 +00:00
Connor McLaughlin
56c8843406
Qt: Add log options to debug menu
2022-03-04 17:41:28 +00:00
Connor McLaughlin
93f9ae8a31
Qt: Add work in progress interface
2022-01-30 14:29:18 +00:00