JosJuice
f5da6e07d7
Android: Use correct encoding when converting strings
...
The functions with "UTF" in the name use "modified UTF-8" rather
than the standard UTF-8 which Dolphin uses, at least according
to Oracle's documentation, so it is incorrect for us to use them.
This change fixes the problem by converting between UTF-8 and
UTF-16 manually instead of letting JNI do it for us.
2020-07-08 14:52:05 +02:00
JosJuice
38791eec18
Common: Never convert from UCS-2 in WStringToUTF8
...
Probably not something we would run into in practice since
Windows uses a separate implementation, but let's do it
for the sake of correctness.
2020-07-08 14:51:35 +02:00
JosJuice
15d9fab0bb
Common: Rename UTF16ToUTF8
...
This function does *not* always convert from UTF-16. It converts
from UTF-16 on Windows and UTF-32 on other operating systems.
Also renaming UTF8ToUTF16 for consistency, even though it
technically doesn't have the same problem since it only was
implemented on Windows.
2020-07-08 14:51:35 +02:00
LC
87287181dd
Merge pull request #8907 from JosJuice/android-overlay-stick-gate
...
Android: Use octagonal stick gate in overlay
2020-07-08 08:50:47 -04:00
LC
4c50eadf34
Merge pull request #8908 from jordan-woyak/wiimote-battery-hax
...
WiimoteCommon: Tweak battery level math.
2020-07-08 08:46:58 -04:00
LC
b9ae7c350e
Merge pull request #8926 from JosJuice/sysconf-sound
...
DolphinQt: Expose SYSCONF sound setting
2020-07-08 08:41:23 -04:00
LC
0bff77d9e4
Merge pull request #8925 from JosJuice/tas-turbo-interval
...
DolphinQt: Allow customizing TAS input turbo interval
2020-07-08 08:40:46 -04:00
LC
a1195fbf91
Merge pull request #8933 from jordan-woyak/gcadapter-nyko
...
InputCommon/GCAdapter: Fix offbrand "GCAdapters".
2020-07-08 08:38:52 -04:00
JosJuice
6f298378a1
Reword "Please avoid forcing Dolphin to use MSAA by the driver" message
...
Some users who get this error don't seem to gain much understanding
of how to resolve the problem from reading the error message.
2020-07-08 11:34:36 +02:00
Jordan Woyak
f2fd5c7f90
InputCommon/GCAdapter: Fix offbrand "GCAdapters" with a libusb_control_transfer call.
2020-07-07 14:45:19 -05:00
JosJuice
7a45ca0334
DolphinQt: Mark Zstandard as recommended for RVZ
2020-07-05 12:52:59 +02:00
JosJuice
74f74ac928
DiscIO: Use Volume::IsDatelDisc in VolumeVerifier
...
I forgot to do this in the PR where I added Volume::IsDatelDisc.
2020-07-04 20:24:26 +02:00
Tilka
4f98653ec6
Merge pull request #8930 from JosJuice/datel-scrub-ignored
...
DolphinQt: Fix scrubbing not being disabled for Datel discs
2020-07-04 14:49:34 +01:00
Tilka
c5a3882617
Merge pull request #8929 from JosJuice/datel-covers
...
DiscIO: Fix downloading covers for non-GNHE5d Datel discs
2020-07-04 14:07:46 +01:00
JosJuice
5360ec80c8
DolphinQt: Fix scrubbing not being disabled for Datel discs
...
The code for disabling scrubbing for RVZ was overriding the code
for disabling scrubbing for Datel discs.
2020-07-04 15:06:05 +02:00
JosJuice
fb922781e7
RedumpVerifier: Treat Datel game IDs as empty
...
Replacement for the reverted commit
f9705fd117
.
2020-07-04 15:00:02 +02:00
JosJuice
f24566bf39
DiscIO: Add Volume::IsDatelDisc
2020-07-04 14:51:13 +02:00
JosJuice
f9aaf8b971
Revert "Return nothing from VolumeWii::GetGameTDBID if Datel"
...
This reverts commit f9705fd117
.
GameTDB.com has covers for non-GNHE5d Datel discs.
2020-07-04 14:45:15 +02:00
Connor McLaughlin
9c12a843f8
Merge pull request #8884 from iwubcode/freelook_performance_fix
...
VertexShaderManager: Only look for freelook config changes if we're using freelook
2020-07-04 14:19:59 +10:00
JosJuice
e1e57fc359
DolphinQt: Expose SYSCONF sound setting
2020-07-02 22:25:41 +02:00
iwubcode
0441d6aa5e
VertexShaderManager: Avoid accessing freelook control type configuration each call which caused a performance hit, move check to RenderBase where it is checked when config changes
2020-07-02 12:55:08 -05:00
JosJuice
1c4088e203
DolphinQt: Allow customizing TAS input turbo interval
...
As a side effect of 9c5c3c0
, Dolphin's frame counter was changed
to run at 60/50 Hz even if the game is running at a lower framerate
such as 30 fps. Since the TAS input turbo button functionality
toggled the state of a button every other frame as reported by
the frame counter, this change made the turbo button functionality
not work with 30/25 fps games.
I believe it would be hard to change the frame counter back to
how it used to work without undermining the point of 9c5c3c0
,
and I'm not sure if doing so would be desireable or not anyway,
so what I'm doing instead is letting the user determine how long
turbo button presses should last. This lets users avoid the 30/25
fps game problem while also granting additional flexibility.
Perhaps there is some game where it is useful to mash at a speed
which is slower than frame perfect.
2020-07-02 16:58:29 +02:00
Filoppi
4b5ca9923c
Fixes the timer returning 1 when it should return 0. The case mentioned by the comment does not exist anymore.
...
Also added a IsRunning function as it was impossible to know whether it had been started or not (I will use it in later PRs but it should be there anyway)
2020-07-01 22:29:30 +03:00
MerryMage
a10447eae2
JitArm64_Paired: Fix ps_msub when d == b
2020-07-01 20:11:54 +01:00
Tillmann Karras
a04ac23794
JitArm64: no intermediate rounding for paired FMA
2020-07-01 00:24:08 +01:00
Tillmann Karras
2a46c1f86f
JitArm64: annotate intentional fallthrough
2020-07-01 00:10:15 +01:00
LC
4ff560a6e4
Merge pull request #8913 from JosJuice/msvc-preprocessor
...
Support the new MSVC preprocessor
2020-06-30 04:34:10 -04:00
Markus Wick
5792881eeb
Merge pull request #8912 from JosJuice/fix-profiler
...
VideoCommon: Show profiler output again
2020-06-29 14:01:57 +02:00
JosJuice
293745afce
Support the new MSVC preprocessor
...
Intends to fix https://bugs.dolphin-emu.org/issues/12170 .
2020-06-29 13:50:59 +02:00
JosJuice
81d399a4f2
VideoCommon: Show profiler output again
...
This profiler was added in 94d9d13
, but must've broken at some point.
2020-06-29 11:59:47 +02:00
Markus Wick
4095fb6c20
Merge pull request #8911 from OatmealDome/arm64-fastmem-off
...
JitArm64: Don't assume fastmem arena is available
2020-06-29 09:20:19 +02:00
OatmealDome
089ffb9ef4
JitArm64: Don't assume fastmem arena is available
2020-06-29 00:42:56 -04:00
Jordan Woyak
d382c6bab9
WiimoteCommon: Tweak battery level math.
2020-06-28 19:40:26 -05:00
JosJuice
db75509ec5
Android: Enfore correct stick gate in overlay
...
Currently, the touch controller overlay uses a square gate for
sticks. This commit changes that so that it instead uses the
stick gate configured in the INI, which ensures that the values
sent to the core are appropriately scaled regardless of what
is configured in the INI and makes the overlay look nicer
if the INI is set to a stick gate that matches the graphics.
2020-06-29 01:20:02 +02:00
JMC47
961f937010
Merge pull request #8853 from CrunchBite/feature-xlink-kai-bba
...
Feature XLink Kai BBA
2020-06-27 23:32:49 -04:00
Admiral H. Curtiss
27e49c00b3
FreeLookCamera: Fix savestate branch inconsistency.
...
Fixes https://bugs.dolphin-emu.org/issues/12168
2020-06-28 02:31:37 +02:00
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
CrunchBite
067667fda5
Add XLink Kai UDP BBA
2020-06-26 14:52:30 -04: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
JosJuice
115edea34e
WIA: Add early support for WIA writing
2020-06-17 13:43:54 +02:00
JosJuice
791e363c9a
WIA: Make use of the exception lists
2020-06-17 13:43:54 +02:00
JosJuice
47067f661a
WIA: Properly check for overlapping data
2020-06-17 13:43:53 +02:00
JosJuice
04089f24f9
WIA: Implement re-encryption of Wii partition data
2020-06-17 13:43:53 +02:00
JosJuice
e3d291a529
WIA: Check the internal WIA hashes
2020-06-17 13:43:53 +02:00
JosJuice
827437c036
WIA: Fix the handling of chunk sizes larger than 2 MiB
2020-06-17 13:43:53 +02:00
JosJuice
0b407228b7
WIA: Add documentation
2020-06-17 13:43:53 +02:00
JosJuice
01a77ae8a1
WIA: Implement caching and partial decompression
2020-06-17 13:43:53 +02:00
JosJuice
b59ef81a7e
WIA: Implement bzip2, LZMA, and LZMA2 decompression
2020-06-17 13:43:52 +02:00
JosJuice
1579e061a3
WIA: Correctly handle data with size not divisible by chunk size
2020-06-17 13:43:52 +02:00
JosJuice
3c373c8aa8
WIA: Treat groups with size 0 as containing only zeroes
2020-06-17 13:43:52 +02:00
JosJuice
36991e2dde
WIA: Implement PURGE decompression
2020-06-17 13:43:52 +02:00
JosJuice
3672bd79f3
WIA: Implement ReadWiiDecrypted
2020-06-17 13:43:52 +02:00