Commit Graph

24437 Commits

Author SHA1 Message Date
Tilka 2e8d1dd1db
Merge pull request #8889 from JosJuice/movie-frame-update-frequency
Core: Call Movie::FrameUpdate per field, not per line
2020-06-27 18:10:08 +01:00
Tilka b36ab8360e
Merge pull request #8820 from iwubcode/freelook_field_of_view
Core / VideoCommon / DolphinQt - allow tweaking freelook camera's field of view
2020-06-27 18:00:48 +01:00
JMC47 1ab37990b1
Merge pull request #8808 from sepalani/net-widgets-block
NetworkWidget: Add Blocking column
2020-06-26 07:38:52 -04:00
iwubcode bb6582783b Core: update save state version 2020-06-25 13:35:47 -05:00
iwubcode 69bd6bbdef DolphinQt: change freelook fov by the step size 2020-06-25 13:34:42 -05:00
iwubcode 8ccb684711 VideoCommon: change freelook camera fov step size and expose it 2020-06-25 13:34:42 -05:00
iwubcode dc4b938526 DolphinQt: use hotkeys for field of view to modify freelook camera 2020-06-25 13:34:42 -05:00
iwubcode 7aa153d57e HotkeyManager: Add hotkeys for freelook field-of-view x and y 2020-06-25 13:34:42 -05:00
iwubcode 3d7d4dfc8a VideoCommon: Use freelook field of view to change the perspective of the camera 2020-06-25 13:34:42 -05:00
Tilka 98de22a1e6
Merge pull request #8900 from JosJuice/disc-deduplicate
DiscIO: Deduplicate some VolumeGC/VolumeWii code
2020-06-25 16:10:04 +01:00
JosJuice a2c51e027f DolphinQt: Fix a -Wshadow warning in ConvertDialog 2020-06-25 16:44:02 +02:00
JosJuice d17b801518 DiscIO: Deduplicate some VolumeGC/VolumeWii code 2020-06-25 16:37:21 +02:00
JosJuice 94fd583147 DolphinQt: Fix a -Wswitch warning in ConvertDialog 2020-06-25 16:34:43 +02:00
Tilka 6468978dd0
Merge pull request #8897 from JosJuice/qt-file-format-columns
DolphinQt: Add columns with file format details
2020-06-25 15:21:44 +01:00
Tilka 4eb4b1d2b7
Merge pull request #8898 from JosJuice/windows-cmake-new-lambda-processor
Replace Windows CMake lambda constexpr capture workaround
2020-06-25 15:19:09 +01:00
JMC47 502ab789d9
Merge pull request #8813 from nbouteme/master
Make SO_POLL complete asynchronously in IOS_NET SO
2020-06-25 08:20:56 -04:00
JosJuice c9edfa0eaa Replace Windows CMake lambda constexpr capture workaround
While manually capturing constexpr variables used in lambda
expressions does work, it's really easy to forget doing so since
we don't have a Windows CMake builder and the workaround isn't
necessary anywhere else. Fortunately, MSVC has a flag that fixes
the constexpr capture behavior, so let's use that instead.
2020-06-25 13:11:29 +02:00
JosJuice 265e0d00d6 DolphinQt: Add columns with file format details 2020-06-25 12:49:36 +02:00
Tilka 26ed3b318c
Merge pull request #8891 from JosJuice/file-details
Show file format details in game properties
2020-06-25 11:00:49 +01:00
nbouteme b68ab560dc Make SO_POLL complete asynchronously 2020-06-24 12:59:41 +02:00
Techjar 0eb9ac7777 Include SRAM in savestates
This fixes an issue with saving after loading a savestate in Pokemon Colosseum.
2020-06-24 02:42:50 -04:00
Pierre Bourdon cf36877608
Merge pull request #8879 from AdmiralCurtiss/gci-folder-savestates
Keep memory card header and use it to reinitialize GCI folders on mismatch. (Fix savestate with GCI folders)
2020-06-24 08:36:58 +02:00
JosJuice 8c205ef8f3 DolphinQt: Show version number for WIA/RVZ introduction 2020-06-21 21:16:10 +02:00
JosJuice d494e0230c Show file format details in game properties 2020-06-21 20:47:23 +02:00
Tilka 9982251899
Merge pull request #8538 from JosJuice/wia
Add support for the WIA and RVZ disc image formats
2020-06-21 11:40:58 +01:00
JosJuice 660d81a10b RVZ: Bump version number to 1.0 2020-06-21 12:38:03 +02:00
JosJuice 9eb36afeb0 Core: Call Movie::FrameUpdate per field, not per line
Fixes https://bugs.dolphin-emu.org/issues/12066.

I must've only tested the frame counter with an earlier version
of the PR that broke this, not the final version...
2020-06-20 19:32:08 +02:00
Pierre Bourdon 03e0d2c820
Merge pull request #8885 from delroth/spr-thrm
PowerPC: partially implement thermal related SPRs
2020-06-19 03:48:30 +02:00
Sepalani dc2733ce24 Socket: Fix ENOTCONN error code 2020-06-18 22:23:57 +04:00
Pierre Bourdon dd1fc711c7
PowerPC: partially implement thermal related SPRs
Doesn't support triggering interrupts when the thermal threshold is
exceeded, but allows polling for temperature information.

The THRM[123] registers are documented in most PPC datasheets, see e.g.
this PPC750CX one: http://datasheets.chipdb.org/IBM/PowerPC/750/750cx_um3-17-05.pdf
2020-06-18 07:37:44 +02:00
iwubcode a65ef35f1a VideoCommon: Clean freelook camera dirty state when getting the new view 2020-06-17 12:07:40 -05:00
JosJuice 224c6e799d RVZ: Extend GroupEntry 2020-06-17 13:48:45 +02:00
JosJuice f2c38c0e67 RVZ: Make m_rvz a template parameter
Needed for the next commit.
2020-06-17 13:48:45 +02:00
JosJuice ca4e4a6207 WIA/RVZ: Move (de)compression to a different file 2020-06-17 13:48:45 +02:00
JosJuice 2ec608f059 DolphinQt: Set block size to 128 KiB by default 2020-06-17 13:48:45 +02:00
JosJuice 3f753fc87d RVZ: Detect junk data in the same block as a file 2020-06-17 13:48:44 +02:00
JosJuice 4b74993374 RVZ: Store pseudorandom junk data efficiently 2020-06-17 13:48:42 +02:00
JosJuice 1e92b54bf5 WIA/RVZ: Skip some memory allocations when reusing chunks 2020-06-17 13:48:16 +02:00
JosJuice f5ef70fc76 RVZ: Don't store redundant exceptions when chunk size is < 2 MiB 2020-06-17 13:48:16 +02:00
JosJuice b06c50ed2e RVZ: Support chunk sizes between 32 KiB and 2 MiB
WIA doesn't support smaller than 2 MiB.
2020-06-17 13:48:15 +02:00
JosJuice 0d433baeb5 RVZ: Remove PURGE support
PURGE isn't especially useful, while requiring some annoying
special handling in the file format. If you want no compression,
use NONE. If you want fast compression, use Zstandard.
2020-06-17 13:48:15 +02:00
JosJuice 1f7c0b636f RVZ: Add Zstandard as a compression method 2020-06-17 13:48:12 +02:00
JosJuice e2ae2b3b0b Add new file format RVZ based on WIA 2020-06-17 13:47:34 +02:00
JosJuice f21a254042 WIA: Implement multithreaded compression 2020-06-17 13:47:34 +02:00
JosJuice 9dea8169e0 WIA: Write all headers at the start of the file
Gets rid of the need to seek to the end of the file
when opening a file.

The downside of this is that we waste a little space,
since we can't know in advance exactly how much
space the compressed parts of the headers will need.
2020-06-17 13:47:34 +02:00
JosJuice e5b9e1ba1f WIA: Reuse groups when writing
This is useful for the way Dolphin scrubs Wii discs.
The encrypted data is what gets zeroed out, but this
zeroed out data then gets decrypted before being stored,
and the resulting data does not compress well.
However, each block of decrypted scrubbed data is
identical given the same encryption key, and there's
nothing stopping us from making multiple group entries
point to the same offset in the file, so we only have
to store one copy of this data per partition.

For reference, wit zeroes out the decrypted data,
but Dolphin's WIA writer can't do this because it currently
doesn't know which parts of the disc are scrubbed.

This is also useful for things such as storing Datel discs
full of 0x55 blocks (repesenting unreadable blocks)
without compression enabled.
2020-06-17 13:47:34 +02:00
JosJuice 40e46aee57 WIA: Store all-zero data efficiently 2020-06-17 13:47:34 +02:00
JosJuice e8b019ac29 WIA: Implement compression 2020-06-17 13:47:30 +02:00
JosJuice e936c4acd8 WIA: Write hash exceptions 2020-06-17 13:43:54 +02:00
JosJuice 3b8c44fd0e WIA: Decrypt Wii data when writing 2020-06-17 13:43:54 +02:00