[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.
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.
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
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.
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.
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.
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.