Commit graph

33851 commits

Author SHA1 Message Date
R2DLiu
6857a445e4 More errors pounded down 2020-07-16 18:35:28 -04:00
R2DLiu
51a060caec Fix random build errors 2020-07-16 18:35:28 -04:00
R2DLiu
746ab9586b rest of the fucking owl 2020-07-16 18:35:28 -04:00
R2DLiu
79cf986d36 everything up to exi devices moved 2020-07-16 18:35:27 -04:00
Edgar Handal
56977eb4cd Fix tab in cmake file 2020-07-16 18:34:12 -04:00
R2DLiu
a850aa8ee4 Add all the bullshit string util conversions. Lots to refactor eventually 2020-07-16 18:34:12 -04:00
R2DLiu
a946529236 Add legacy function removed from mainline 2020-07-16 18:34:11 -04:00
R2DLiu
89275f3126 FileUtils code moved. Refactor eventually 2020-07-16 18:34:11 -04:00
R2DLiu
f636d84302 Add Overwrite folder 2020-07-16 18:34:11 -04:00
R2DLiu
406a2de980 add semver library 2020-07-16 18:34:10 -04:00
R2DLiu
b4bfc604c8 add opencv-diff library; refactor slippi game a little 2020-07-16 18:34:10 -04:00
R2DLiu
54467c18b1 File IO Functions 2020-07-16 18:34:09 -04:00
Edgar Handal
0ea09f309d Use C++ style struct declarations to fix build 2020-07-16 18:34:09 -04:00
Edgar Handal
6e1c10f2ad Add Slippi pane to settings 2020-07-16 18:34:08 -04:00
Edgar Handal
3533d8cdde Fix tab in cmake file 2020-07-16 18:34:08 -04:00
Edgar Handal
7f091cdc02 Delete non-SSBM GameSetting .ini files 2020-07-16 18:34:08 -04:00
R2DLiu
5008d82eaf slippi game ported and restructured somewhat. TODO: refactor 2020-07-16 18:34:08 -04:00
LC
c59648337a
Merge pull request #8955 from JosJuice/android-no-ashmem
Android: Don't access /dev/ashmem on newer Android versions
2020-07-16 14:23:51 -04:00
LC
d987cf1dde
Merge pull request #8957 from JosJuice/android-strerror-r
Add Android check for strerror_r variant
2020-07-16 14:19:05 -04:00
JosJuice
00cde7cbbd Android: Don't access /dev/ashmem on newer Android versions
Fixes a critical regression where 95945a0 made us unable to
start emulation on Android 10 and newer. Android is restricting
direct access to /dev/ashmem starting with the new SDK version,
but we can use the new (and simpler) ASharedMemory API instead.
We have to keep using the /dev/ashmem approach on old versions
of Android, though.
2020-07-16 20:06:58 +02:00
JosJuice
f2cc3a2948 Add Android check for strerror_r variant
I don't know why Android does it like this, but at least
it's easy to fix. (We are currently at __ANDROID_API__ == 21.)
2020-07-16 18:51:58 +02:00
nyanpasu64
1a2b6ca2d6 Fix Windows CMake builds with shared zlib
On Linux, if shared zlib is present, zlib.h is always available and -lz
links to zlib, even if you don't run find_package(ZLIB).

For some reason I have zlib installed on Windows (possibly from vcpkg),
so find_package(ZLIB) succeeds and ZLIB_FOUND is true.
When Dolphin uses shared zlib on Windows, the problem is that zlib.h
is not in the default include path, and the CMake target is called
ZLIB::ZLIB and there's neither a target nor a library called z.

However, both find_package(ZLIB) and add_subdirectory(Externals/zlib)
create a target called ZLIB::ZLIB, so I'll switch to that instead.
Hopefully this change doesn't break anyone's build.
2020-07-15 23:25:18 -07:00
Admiral H. Curtiss
556e93f357 GCMemcard: Change behavior of TitlePresent() to more closely resemble how saves are actually identified.
This modifies GCMemcard::TitlePresent() to match my findings of how the GC BIOS and various games behave when you alter the fields in the directory entry.

It looks like for a save to be recognized by a game, the following have to be true:
- Game code and maker code must exactly match what the game expects.
- Filename is only checked up to the first null byte. All bytes afterwards can be whatever.

The BIOS itself does a full compare of the filename when checking for whether it should allow copying a file from one card to another, but behaves oddly in some cases when there's non-null bytes after the first null. See the big comment in `HasSameIdentity()` for details.
2020-07-15 19:17:22 +02:00
LC
b6ee3228be
Merge pull request #8953 from JosJuice/android-target-sdk-29
Android: Increase targetSdkVersion to 29
2020-07-14 12:51:44 -04:00
Tilka
a98df567b1
Merge pull request #8949 from JosJuice/android-cache
Android: Use system cache directory as cache directory
2020-07-13 12:21:21 +01:00
Tilka
695a96498a
Merge pull request #8922 from Filoppi/timer-fixes
Timer fixes
2020-07-13 00:16:45 +01:00
JMC47
3c70fb7277
Merge pull request #8950 from jordan-woyak/double-time-fix
Common/Timer: Fix integer underflow in Timer::GetDoubleTime for dates before ~2008.
2020-07-12 15:52:15 -04:00
Jordan Woyak
eab07866a3 Common/Timer: Fix integer underflow in Timer::GetDoubleTime for dates before ~2008. 2020-07-12 12:55:02 -05:00
LC
4d36f6a5b0
Merge pull request #8936 from jordan-woyak/wiimote-extension-calibration-fix
ControllerInterface/Wiimote: Provide fallback values for extensions with bad calibration.
2020-07-12 12:46:15 -04:00
LC
ecc6af7f7f
Merge pull request #8948 from jordan-woyak/speaker-data-writes
WiimoteEmu: Allow writes of the i2c bus to play speaker data.
2020-07-12 12:38:49 -04:00
JosJuice
05da2e30ad Android: Use system cache directory as cache directory
This lets Android automatically delete data in the cache
directory when the device is running low on space or
when Dolphin is uninstalled.
2020-07-12 13:33:07 +02:00
JosJuice
95945a000e Android: Increase targetSdkVersion to 29
Since updating to 28 took us so long that Google Play started
requiring updates to target 28 before we actually merged the PR that
made us target 28, I'm trying to get the update to 29 done early.

Setting targetSdkVersion to 28 would normally force scoped storage
on us, which we do not support yet. However, we can easily
avoid this by setting android:requestLegacyExternalStorage="true".
There will be no such luxury with targetSdkVersion 30, however...
2020-07-12 12:02:37 +02:00
Jordan Woyak
d9e7d0514c WiimoteEmu: Allow writes of the i2c bus to play speaker data. 2020-07-11 21:19:16 -05:00
Jordan Woyak
5299e902aa ControllerInterface/Wiimote: Provide fallback values for extensions with bad calibration data. 2020-07-11 19:55:14 -05:00
Rena Kunisaki
a553f22385 Add Break On Hit and Log On Hit for instruction breakpoints 2020-07-11 13:38:58 -04:00
LC
ed32a2a1fe
Merge pull request #8946 from jordan-woyak/unbreak-mayflash
InputCommon/GCAdapter: Unbreak Mayflash GCAdapters by allowing libusb_control_transfer call to fail.
2020-07-11 11:56:30 -04:00
LC
41a570c74e
Merge pull request #8947 from JosJuice/rvz-split-seed-read
RVZ: Fix split seed reads
2020-07-11 11:53:47 -04:00
JosJuice
f7c32bc04e RVZ: Fix split seed reads
This could cause read errors if chunks were laid out a certain
way in the file and the whole chunk wasn't being read at once.
Should fix https://bugs.dolphin-emu.org/issues/12184.
2020-07-11 17:45:16 +02:00
Tilka
5286fb2657
Merge pull request #8945 from JosJuice/qtbug-10561-again
DolphinQt: Attempt to fix ParallelProgressDialog constantly reopening
2020-07-11 03:38:54 +01:00
Jordan Woyak
b350d3cca3 InputCommon/GCAdapter: Unbreak Mayflash GCAdapters by allowing libusb_control_transfer call to fail. 2020-07-09 17:17:44 -05:00
JosJuice
9c7704c0ac DolphinQt: Attempt to fix ParallelProgressDialog constantly reopening
I believe the value returned by value() resets when we call
setValue() with the maximum (due to auto-reset). I have been
unable to test this because I can't reproduce the issue, which is
described at https://bugs.dolphin-emu.org/issues/12158#note-9.
2020-07-09 15:45:29 +02:00
LC
5281efe268
Merge pull request #8944 from JosJuice/qtbug-10561-workaround
DolphinQt: Replace QTBUG-10561 workaround with better workaround
2020-07-09 07:15:22 -04:00
JosJuice
aeeb85aa3a DolphinQt: Replace QTBUG-10561 workaround with better workaround
This workaround is not timing sensitive, unlike the old one.

Hopefully fixes https://bugs.dolphin-emu.org/issues/12158
and https://bugs.dolphin-emu.org/issues/12180.
2020-07-08 20:29:26 +02:00
JosJuice
a23e14fe76 Android: Fix saving Horizonal Wii Remote overlay A/B/1/2 positions
saveControlPosition was not applying the _H part of the key.
2020-07-08 15:51:11 +02:00
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
a5166be995
Merge pull request #8896 from JosJuice/android-game-details-scroll
Android: Wrap game details dialog in ScrollView
2020-07-08 08:48:42 -04:00
LC
5a696f4934
Merge pull request #8906 from JosJuice/android-button-id-typo
Android: Fix button ID typo
2020-07-08 08:47:33 -04:00