Don't align the area we write to the target to the block size. If the format matches, the writes don't need
to be block aligned. We still read the whole thing in, because that's the granularity that ReadTexture
operates at, but discard those pixels when updating the framebuffer. Onimusha 2 does this dance where it
uploads the left 4 pixels to the middle of the image, then moves it to the left, and because we process
the move in hardware, local memory never gets updated, and thus is stale.
[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.