Commit Graph

28430 Commits

Author SHA1 Message Date
LC 6bd7687893
Merge pull request #9050 from stblr/memory-watcher-fix
MemoryWatcher: Do not follow invalid pointers
2020-09-01 07:24:05 -04:00
Ryan Meredith 05f3c4d579 Android: Remove unused files 2020-08-31 11:42:27 -04:00
Ryan Meredith 85ddb8fc86 Android: Minor cleanup 2 2020-08-31 11:23:59 -04:00
JosJuice bdd28c0edf DiscIO: Expand WIA/RVZ header size heuristic comments 2020-08-31 14:46:13 +02:00
Ryan Meredith 30ea98177a Android: Minor cleanup 2020-08-31 07:20:02 -04:00
Ryan Meredith 7d39ed9bcc Android: res cleanup 2020-08-31 06:49:10 -04:00
Jordan Woyak e0b64e0ef8
Merge pull request #9049 from Ebola16/GCAC
GCAdapter_Android: Minor cleanup
2020-08-30 19:48:07 -05:00
Shawn Hoffman e601bc5532 windows: keep an extra reference to BluetoothApis.dll 2020-08-30 17:46:32 -07:00
Jordan Woyak 0a63340c20
Merge pull request #9037 from shuffle2/code-cleanup
Code cleanup
2020-08-30 19:43:23 -05:00
Pablo Stebler ff168469b7
MemoryWatcher: Do not follow invalid pointers 2020-08-30 10:29:40 +02:00
JosJuice 047bb80337 DiscIO: Add parameters to BlobReader::SupportsReadWiiDecrypted
It's possible (but rare) for a WIA or RVZ file to support
this for some partitions but not all, and for the game and
the blob code to disagree on how large a partition is.
2020-08-29 15:18:52 +02:00
JosJuice 1a1b89e7e8 AudioInterface: Use 32029/48043 Hz in more places
In particular, I wanted to do change this in
AudioInterface::Init so that dumped GC audio doesn't need
to have a file split (changing from 32000 Hz to 32029 Hz)
when the emulated software initializes the AI registers.
I've also made the same change to DI's DTK code.
2020-08-29 13:24:39 +02:00
Sepalani 4c75b96254 HLE: Improve naming
Replace 'function' with 'hook' when appropriate
2020-08-28 20:29:05 +04:00
Shawn Hoffman 24e8ed8e27 msbuild: add experimental:deterministic for safety 2020-08-28 01:39:38 -07:00
Shawn Hoffman 5d334d4756 msbuild: explicitly disable incremental linking
Previously the default was used, which would
enable incremental linking for debug builds.
2020-08-27 23:59:22 -07:00
Shawn Hoffman 969ea6e4f5 msvc: enable /Zc:preprocessor and make build compile cleanly 2020-08-27 21:58:48 -07:00
Shawn Hoffman 4db06bf85b ogl: init ProgramShaderCache::s_ubo_align to 1.
silences a warning that it may cause div-by-zero.
2020-08-27 15:15:52 -07:00
Shawn Hoffman 8068ff92bf msbuild: use x64-hosted toolchain 2020-08-27 15:15:52 -07:00
Shawn Hoffman 9888adad54 msbuild: always enable /Gy and /Gw 2020-08-27 15:15:52 -07:00
Shawn Hoffman 9717a418b9 msbuild: properly enable /Brepro 2020-08-27 15:15:52 -07:00
Shawn Hoffman d35514399e msbuild: fix a typo 2020-08-27 15:15:52 -07:00
Shawn Hoffman 7279f31b24 msbuild: re-enable C4996 and C4351
C4996 enables warnings about deprecated items
C4351 was phased out (thus a no-op) years ago
2020-08-27 15:15:52 -07:00
Shawn Hoffman ae061276d6 msbuild: enable /Zc:externConstexpr,lambda note about preprocessor 2020-08-27 15:15:34 -07:00
Kate 5981a1929d Add support for FreeBSD/arm64 2020-08-27 21:54:04 +01:00
Sepalani 17ad2ac719 HLE: Rename GetFunctionIndex functions 2020-08-27 22:12:15 +04:00
Sepalani 6b05e48bd6 HLE: Make naming closer to the current coding style 2020-08-27 22:01:04 +04:00
Sepalani e0605d7911 HLE: Remove unused OSBreakPoints 2020-08-27 21:41:32 +04:00
Sepalani 79bfb48d68 HLE: Remove unused function 2020-08-27 21:07:42 +04:00
Ryan Meredith 9fe6466c79 Android: Better GCAdapter scanning thread management 2020-08-27 07:43:20 -04:00
Ryan Meredith acd717ffae GCAdapter_Android: Minor cleanup 2020-08-26 16:40:22 -04:00
Admiral H. Curtiss 306a5e6990 Jit64: Keep track of free code regions and reuse space when possible. 2020-08-24 19:31:32 +02:00
Admiral H. Curtiss fdab9783c7 Externals: Add rangeset. 2020-08-24 19:31:32 +02:00
Admiral H. Curtiss 5b52b3e9cb x64Emitter: Check end of allocated space when emitting code. 2020-08-24 19:31:32 +02:00
Shawn Hoffman fcc8dfd189 Common/Assert: no longer needs special impl for msvc 2020-08-23 13:57:05 -07:00
Shawn Hoffman 89b6a4cbee DolphinQt: resolve Qt5.15 deprecations 2020-08-23 13:57:05 -07:00
Shawn Hoffman c629af6319 replace is_pod with is_standard_layout && is_trivially_copyable 2020-08-23 13:57:05 -07:00
Shawn Hoffman 2c2fd21d41 msbuild: silence warnings about deprecated codecvt items 2020-08-23 13:57:05 -07:00
Shawn Hoffman 12ea56a6b2 remove extraneous WIN32_LEAN_AND_MEAN definition 2020-08-23 13:57:05 -07:00
Shawn Hoffman 181e0dba21 apply `if constexpr` in a couple places 2020-08-23 13:57:05 -07:00
Shawn Hoffman ccbc4c2d99 fix possible dangling shared_ptr ptr in ios 2020-08-23 13:57:05 -07:00
Shawn Hoffman 3ee4c53d65 wiimotereal: add some error handling. replace malloc with make_unique 2020-08-23 13:57:05 -07:00
Shawn Hoffman 938fd4e438 use constexpr for some compile-time expressions 2020-08-23 13:57:05 -07:00
Shawn Hoffman 79f5ea0474 initialize some variables which need to be 2020-08-23 13:57:05 -07:00
Shawn Hoffman c22748dc38 windows: fix some incorrect string lengths 2020-08-23 13:55:15 -07:00
Shawn Hoffman b021573a70 GekkoDisassembler: fix rld* 2020-08-23 13:55:14 -07:00
Shawn Hoffman 49590c9a42 FileUtil: handle some error conditions 2020-08-23 13:55:14 -07:00
Shawn Hoffman 3bc8a26083 don't use std::move on const variables 2020-08-23 13:55:14 -07:00
Shawn Hoffman 1b1fc39f02 handle to GetFileVersionInfoW must be zero 2020-08-23 13:55:14 -07:00
Shawn Hoffman 6ef9d70701 name some threads 2020-08-22 17:22:07 -07:00
Shawn Hoffman a769dff1d0 windows: additionally set thread name via SetThreadDescription 2020-08-22 17:22:07 -07:00
LC 4a34b74e68
Merge pull request #9035 from shuffle2/vs-pretty
misc vcxproj cleanup
2020-08-22 20:13:25 -04:00
LC f3431f3ff8
Merge pull request #9043 from Ebola16/GS
Android: Prevent getSetting ClassCastExceptions in ItemViews
2020-08-22 19:44:13 -04:00
Shawn Hoffman cff4806d8d windows: fix build if pch were to be disabled 2020-08-22 16:18:24 -07:00
Shawn Hoffman 1104fcf807 msbuild: allow _WIN32_WINNT to be naturally defined by headers 2020-08-22 16:17:51 -07:00
Shawn Hoffman c88d832e05 msbuild: prettify include paths 2020-08-22 16:17:51 -07:00
Shawn Hoffman af55938538 msbuild: use the moc dispatcher from Qt's vstools
The new method supports build parallelism and cleaner
integration into msbuild dependency flows.
2020-08-22 16:17:51 -07:00
Shawn Hoffman 03a263db20 msbuild: fixup linking of discord-rpc 2020-08-22 16:17:50 -07:00
Shawn Hoffman 2f47f486af msbuild: re-enable standalone vcxproj processing 2020-08-22 16:17:50 -07:00
Shawn Hoffman 1f8cda6281 DolphinQt: sort the files in vcxproj 2020-08-22 16:17:50 -07:00
Shawn Hoffman 390f509bbf windows: disable C4200 directly in libusb.h 2020-08-22 16:17:50 -07:00
Shawn Hoffman 94bf48b67c msbuild: refactor stuff out of project files (for dolphin) 2020-08-22 16:17:50 -07:00
Shawn Hoffman 3a0d8c0208 msbuild: enable D3DCommon to use pch 2020-08-22 16:17:50 -07:00
Shawn Hoffman 36ace8eb52 prettify some constructs in vcxproj files 2020-08-22 16:17:50 -07:00
JosJuice f7f0fa2d85 DiscIO: Adjust WIA/RVZ header size heuristic
The heuristic was not allocating enough space for Metroid: Other M,
at least when using the default settings. (This didn't break the
file, it just caused some headers to be placed at the end of the
file instead of at the start and wasted a few hundred kilobytes.)
2020-08-22 22:26:55 +02:00
Admiral H. Curtiss f859da112e Update Windows build to use Qt 5.15.0. 2020-08-22 20:08:38 +02:00
Ryan Meredith d5ea4b4b80 Android: Prevent getSetting ClassCastExceptions in ItemViews 2020-08-21 11:09:24 -04:00
JosJuice fc6c1931fa VolumeVerifier: Adjust problem descriptions for new netplay check
The new hash check catches essentially all desync problems
that VolumeVerifier can catch, so from the user's perspective,
such problems will result in Dolphin refusing to start the
game on netplay rather than actually getting a desync.
2020-08-19 17:21:38 +02:00
LC 905df6756b
Merge pull request #9024 from JosJuice/android-wiimote-false
Android: Fix defaults for WiimoteContinuousScanning/EnableSpeaker
2020-08-17 15:25:23 -04:00
LC 24ff8b8d1e
Merge pull request #9034 from JosJuice/android-menu-animation-rtl
Android: Take RTL layout into account for menu animations
2020-08-17 15:24:52 -04:00
JosJuice ac17e49243 Android: Take RTL layout into account for menu animations 2020-08-17 19:37:40 +02:00
Léo Lam d1439a1fa9
IOS/USB: Move scan thread logic into a separate class
This moves the scan thread logic and variables into a separate
ScanThread class. By turning ScanThread instances into members of the
most derived class, this ensures that the scan thread is always
properly stopped when the most derived class is destructed and fixes
a race condition that could cause the scan thread to call virtual
member functions from a derived class whose members have already
been destructed.

A drawback of this approach is that the scan thread must be the last
member variable, so this commit also adds static assertions to ensure
that the assumption stays valid.
2020-08-17 15:14:45 +02:00
Léo Lam 55c931d624
Merge pull request #8995 from Tilka/warnings
Fix some more GCC warnings
2020-08-17 14:49:28 +02:00
Léo Lam 6104018fe1
Merge pull request #9020 from Tilka/usb
IOS/USB: fix potential race condition
2020-08-17 12:15:26 +02:00
Shawn Hoffman d40ae8a84b UnitTests: expliticly list files to be compiled.
Fixes VS warning / bad behavior.
2020-08-16 15:17:11 -07:00
Shawn Hoffman 9a5a705d01 Fix comparison to invalidated vector iterator.
GetFstEntryForPath may modify the children vector,
so do it before taking an iterator to the vector.
2020-08-16 15:17:11 -07:00
Shawn Hoffman 9d880c2db3 UnitTests: quiet warnings 2020-08-16 15:17:11 -07:00
Shawn Hoffman deb73d0167 msvc: temporary workaround for C4789 false positive 2020-08-16 12:49:00 -07:00
Jordan Woyak 0ad123bdbb BTEmu: Fix home menu inquiry assigning multiple wii remotes to wrong slots. 2020-08-16 11:38:13 -05:00
Jordan Woyak 6a6f1451ff Update state version. 2020-08-16 11:38:13 -05:00
Jordan Woyak 13ee6bd7bb BTEmu/Wiimote: Cleanups/Fixes. 2020-08-16 11:38:13 -05:00
LC 2c5920dccc
Merge pull request #9028 from cristian64/netplaybrowser_deadlock_on_exit
DolphinQt: Prevent deadlock when exiting the NetPlay Session Browser dialog
2020-08-16 08:57:35 -04:00
Christian Aguilera ddeb2236ae Removed RunOnObject() usage to prevent deadlock on exiting the NetPlay Session Browser dialog. 2020-08-16 12:32:50 +01:00
LC 6fc7135047
Merge pull request #8855 from shuffle2/dol
DolReader: treat overly large data segment as bss
2020-08-16 06:02:39 -04:00
Jordan Woyak 89ca9b51ad Bluetooth/WiimoteDevice: Remove some silly comments. 2020-08-15 21:23:37 -05:00
Jordan Woyak 1cddf9c527 BTEmu: Remove a wrong INFO_LOG. 2020-08-15 21:23:37 -05:00
Christian Aguilera eee1589aa3 Restoring NetPlay Session Browser dialog's settings before connecting widgets, to prevent multiple refresh requests on change. 2020-08-15 22:29:23 +01:00
JosJuice 07a0d44b36
Merge pull request #8571 from Pokechu22/di-interrupts
Fix gamecube games not noticing disc changes
2020-08-11 20:03:41 +02:00
JosJuice bd87285f3a FrameDump: Don't ignore the time base numerator
Fixes a regression where f72b756 made all dumped video super long.
2020-08-11 11:17:22 +02:00
JosJuice bd9d0964cd Android: Fix defaults for WiimoteContinuousScanning/EnableSpeaker
The default values need to match the default values defined in C++.
2020-08-11 09:18:15 +02:00
JosJuice 02fe1cdec4 Android: Rewrite GetRenderSurfaceScale in Java
Long sequences of JNI calls are both hard to read and slow.
2020-08-09 21:07:22 +02:00
Tillmann Karras ca61b6c1ab DiscIO: make use of std::nullopt
This also fixes a bogus GCC warning.
2020-08-08 21:53:27 +01:00
Tillmann Karras d2b06f4786 Fix various -Wshadow warnings 2020-08-08 21:45:03 +01:00
Tillmann Karras ee0d4661ab IOS/USB: deduplicate scan thread stopping
Unlike other functions, base ctors/dtors are always called automatically.
2020-08-08 21:40:23 +01:00
Tillmann Karras 1f4b9adbf5 ISO/USB: fix potential race condition 2020-08-08 21:40:23 +01:00
Tilka a161e58591
Merge pull request #8914 from JosJuice/jit64-low-dcbz
Jit64: Implement low DCBZ hack
2020-08-08 21:19:16 +01:00
Tilka 8b236fc8f8
Merge pull request #8986 from jordan-woyak/button-pressed-no-ext
WiimoteEmu: Don't check extension button press for Wii remote reconnection.
2020-08-08 21:06:46 +01:00
Tilka c0fde32d80
Merge pull request #9019 from JosJuice/verify-wad-split-tmd-ticket
VolumeVerifier: Split TMD error from ticket error for WADs
2020-08-08 21:05:21 +01:00
JosJuice 76228fa482 Jit64: Implement low DCBZ hack
I was hoping this would improve the performance of Cars 2 by
avoiding interpreter fallbacks, but it doesn't seem to have
made any measurable impact.
2020-08-08 22:03:34 +02:00
Tilka 3101d957b6
Merge pull request #8886 from JosJuice/stack-check-instruction
PatchEngine: Attempt to fix crash in IsStackSane
2020-08-08 20:59:48 +01:00
Tilka 6356cc8b08
Merge pull request #8910 from OatmealDome/os-deprecated-cleanup
Analytics: Replace usage of Gestalt for retrieving macOS version
2020-08-08 20:53:14 +01:00
Tilka f17b5dd41b
Merge pull request #8804 from iwubcode/dsu-improvements
DolphinQt / InputCommon - Support multiple DSU servers
2020-08-08 20:45:57 +01:00
JosJuice 7ef0bc0359 VolumeVerifier: Split TMD error from ticket error for WADs
When I first made VolumeVerifier, I figured that the distinction
between an unsigned ticket and an unsigned TMD was a technical
detail that users would have no reason to care about. However,
while this might be true for discs, it isn't equally true for
WADs, due to the widespread practice of fakesigning tickets to
set the console ID to 0. This practice does not require
fakesigning the TMD (though apparently people do it anyway,
at least sometimes...), and the presence of a correctly signed
TMD is a useful indicator that the contents have not been
tampered with, even if the ticket isn't correctly signed.
2020-08-08 21:15:51 +02:00
Tilka 76b955e090
Merge pull request #8940 from RenaKunisaki/master
add Break On Hit and Log On Hit for instruction breakpoints
2020-08-08 19:46:10 +01:00
Tilka 6d0bc03e00
Merge pull request #8992 from Sintendo/fselx-avx
Jit64: Avoid unnecessary MOVAPS instructions
2020-08-08 19:38:48 +01:00
Tilka d7a96f927c
Merge pull request #9002 from OatmealDome/renderwidget-sheet
MainWindow: Attach quit emulation sheet to RenderWidget if shown on macOS
2020-08-08 19:18:32 +01:00
Tilka 4c64446afe
Merge pull request #9005 from OatmealDome/macos-psn-arg
DolphinQt: Ignore "-psn" command line option on macOS
2020-08-08 19:11:39 +01:00
Tilka 340c08a88d
Merge pull request #9008 from Sintendo/dspjitlea
DSPJit: Various minor improvements
2020-08-08 19:08:24 +01:00
Tilka 3201944208
Merge pull request #9016 from JosJuice/jitarm64-fctiwzx-fcvt
JitArm64: Avoid double rounding in fctiwzx
2020-08-08 17:55:49 +01:00
JosJuice 8b4f16a310 JitArm64: Avoid double rounding in fctiwzx
FCVT doesn't necessarily round to zero, so the result
might be inaccurate if we use it. To ensure correct
rounding, we use FCVTS from double FPR to 32-bit GPR.
Unfortunately, FCVTS can't do double FPR to single FPR.
2020-08-07 22:44:04 +02:00
Jordan Woyak a77977d0aa
Merge pull request #8999 from AdmiralCurtiss/input-expression-math
Add a few input expression functions (trigonometry, sqrt, pow, min, max, clamp)
2020-08-07 14:40:29 -05:00
LC 5ec65a20d6
Merge pull request #9009 from JosJuice/android-settings-recreation
Android: Fix SettingsActivity lifecycle management
2020-08-06 19:46:16 -04:00
LC d8c0344ee8
Merge pull request #9010 from JosJuice/android-settingsadapter-redundant-static
Android: Remove some static variables from SettingsAdapter
2020-08-06 19:45:54 -04:00
LC 7b3056fee0
Merge pull request #9011 from JosJuice/android-settings-viewmodel
Android: Persist Settings using ViewModel
2020-08-06 19:45:17 -04:00
LC de5d0e54be
Merge pull request #9013 from JosJuice/savescreenshot-wait-for-completion
Remove wait_for_completion parameter from Renderer::SaveScreenshot
2020-08-06 19:44:43 -04:00
JosJuice 7385e9129c Remove wait_for_completion parameter from Renderer::SaveScreenshot
This is now unused. Seems like it was an improper fix
(there would be a race if saving the screenshot took longer
than 2 seconds) back when it was used too.
2020-08-06 21:57:12 +02:00
JosJuice 05e49b13ef Android: Fix SettingsActivity back stack behavior after stop+start
Fixes the behavior where the settings activity would go back to
the top-level menu after switching to a different app and back.
2020-08-05 21:21:45 +02:00
JosJuice a427eafa7b Android: Persist Settings using ViewModel
Just for maintainability. This is a shorter and more standard
solution compared to our current one where the Fragment
persists the Settings and passes it to the Activity.
2020-08-05 19:50:11 +02:00
JosJuice e3911736c2 Android: Remove some static variables from SettingsAdapter
All of these have non-static equivalents (mView and mClickedItem).
2020-08-05 18:47:17 +02:00
JosJuice c727f03590 Android: Properly restore state of SettingsActivityPresenter
Fixes https://bugs.dolphin-emu.org/issues/10815
2020-08-05 13:21:07 +02:00
Sintendo 363f3f82bb DSPJitRegCache: Simplify WriteReg
The intent here is to generate a more compact instruction if a 32-bit
immediate can be zero-extended to the desired 64-bit immediate.

Nowadays the emitter is smart enough to do this for us, so this logic is
redundant.
2020-08-05 10:23:28 +02:00
Sintendo 618d261b91 DSPJitMultiplier: addpaxz - AND constant directly
There's no need to load the 64-bit immediate into a temporary register.
x64 will sign-extend 32-bit immediates to 64 bits, giving us the exact
value we need in this case.

48 C7 C0 00 00 FF FF    mov         rax,0FFFFFFFFFFFF0000h
48 21 C2                and         rdx,rax

48 81 E2 00 00 FF FF    and         rdx,0FFFFFFFFFFFF0000h
2020-08-05 10:22:51 +02:00
Sintendo 49a4e09719 DSPJit: Replace/optimize LEAs
- LEA is a bit silly when the source and the destination are the same. A
simple ADD or SHL will do in those cases.

66 8D 04 45 00 00 00 00 lea         ax,[rax*2]
66 03 C0                add         ax,ax

48 8D 04 00             lea         rax,[rax+rax]
48 03 C0                add         rax,rax

66 8D 14 D5 00 00 00 00 lea         dx,[rdx*8]
66 C1 E2 03             shl         dx,3

- When scaling by 2, consider summing the register with itself instead.
The former always needs a 32-bit displacement, so the sum is more
compact.

66 8D 14 45 00 00 00 00 lea dx,[rax*2]
66 8D 14 00             lea dx,[rax+rax]
2020-08-05 10:22:50 +02:00
OatmealDome 5c1693587f DolphinQt: Ignore "-psn" command line option on macOS 2020-08-04 15:55:51 -04:00
JosJuice b0f9bb9f13 Port some settings to the new config system
Other than the controller settings and JIT debug settings,
these are the only settings which were defined in Java code
but not defined in the new config system in C++. (There are
still a lot of settings that are defined in the new config
system but not yet saveable in the new config system, though.)
2020-08-03 15:07:53 +02:00
OatmealDome fae8f8d68b MainWindow: Attach quit emulation sheet to RenderWidget on macOS 2020-08-03 05:48:57 -04:00
Ryan Meredith 6020133f5b LogManager: Add missing include 2020-08-02 19:52:10 -04:00
JosJuice 5cad82137d Allow translations and custom names in GameFile::GetNetPlayName
There is no longer any major reason for why this function would
need to return the same result for all players.
2020-08-02 22:46:53 +02:00
JosJuice a41166bb37 Make netplay's "same game" check more robust
Instead of comparing the game ID, revision, disc number and name,
we can compare a hash of important parts of the disc including
all the aforementioned data but also additional data such as the
FST. The primary reason why I'm making this change is to let us
catch more desyncs before they happen, but this should also fix
https://bugs.dolphin-emu.org/issues/12115. As a bonus, the UI can
now distinguish the case where a client doesn't have the game at
all from the case where a client has the wrong version of the game.
2020-08-02 22:46:53 +02:00
Admiral H. Curtiss cdf2a29b5e Qt/IOWindow: Add a handful of math functions to the function dropdown. 2020-08-02 22:09:09 +02:00
Admiral H. Curtiss 2281cde28b InputCommon: Add a handful of math functions to the expression parser. 2020-08-02 22:09:09 +02:00
JosJuice 7414020563
Merge pull request #8966 from Ebola16/WP
Android: Clear game profiles and GameSettings
2020-08-02 22:06:16 +02:00
JosJuice e33876fbe2
Merge pull request #8978 from Ebola16/RS
Android: Settings and Emulation activities skip (Tv)MainActivity library rescan
2020-08-02 22:05:38 +02:00
JosJuice 234eaa0ff9
Merge pull request #7252 from Ebola16/Log
Android: Add Log Configuration to UI
2020-08-02 22:00:48 +02:00
JosJuice bf3d1fa2d8
Merge pull request #8858 from Ebola16/PUP
Android: Add Pause / Unpause Emulation Toggle
2020-08-02 21:56:25 +02:00
Sintendo 08bdeefe05 Jit64AsmCommon: Use AVX in ConvertDoubleToSingle
Using AVX we can eliminate another MOVAPS instruction here.

Before:
0F 28 C8                movaps      xmm1,xmm0
66 0F DB 0D CF 2C 00 00 pand        xmm1,xmmword ptr [1F8D283B220h]

After:
C5 F9 DB 0D D2 2C 00 00 vpand       xmm1,xmm0,xmmword ptr [271835FB220h]
2020-08-02 18:07:47 +02:00
Felk f775e9b99d OnScreenDisplay: fix names rgba -> argb 2020-08-02 01:37:20 +02:00
Tilka dbacffd75d
Merge pull request #8731 from Pokechu22/dsp-lle-cpu-int-crash
Fix crash when using DSP LLE with CPU interpreter (or fastmem off)
2020-08-01 15:26:27 +01:00
JosJuice 13f20ecd34 DolphinQt: Don't capture local pointer by reference
This may be the cause of a crash that has been reported on the
forums, but I'm not sure since I can't reproduce it myself.
2020-07-31 11:33:48 +02:00
LC 0f4cf4a84d
Merge pull request #8991 from JosJuice/android-rumble-without-touchscreen
Android: Remove touchscreen check for rumble
2020-07-30 21:45:56 -04:00
LC 0aaddf8b19
Merge pull request #8990 from JosJuice/wia-conversion-warning
DiscIO: Fix conversion warning
2020-07-30 21:45:24 -04:00
JosJuice 9be5fe5996 CMake: Add -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING
The CMake Windows build was broken because of me adding a usage
of std::codecvt_utf8_utf16 to StringUtil.cpp. Kinda silly to have
a warning for an API with no standard replacement available...
2020-07-30 20:22:57 +02:00
Pokechu22 9183c0c482 Bump state version 2020-07-29 16:57:37 -07:00
Pokechu22 e5e23c6b27 Mark several DVDInterface functions as static 2020-07-29 16:57:36 -07:00
Pokechu22 4415df463f Remove DVDInterface::Reset
It only resets the registers, which isn't something that needs to be done except for in DVDInterface::Init
2020-07-29 16:57:36 -07:00
Pokechu22 0fa96df818 Remove DriveState::DiscChangeDetected hack
Since both GameCube and Wii resets now work correctly, this hack is not needed anymore.
2020-07-29 16:57:36 -07:00
Pokechu22 a73eaf5712 Fix DVDLowReset spinup flag being read incorrectly 2020-07-29 16:57:35 -07:00
Pokechu22 9a8d426645 Implement PI_RESET_CODE resetting DI 2020-07-29 16:57:35 -07:00
Pokechu22 b8715b42d2 Only reset drive chip state (not DI registers) when changing discs
Resetting the DI registers disables interrupts, which means any errors reported (for instance) are just not sent though.
2020-07-29 16:57:35 -07:00
Pokechu22 537e40afb5 Only update DIMAR and DILENGTH if transfer completed without error
Turns out, Gamecube games actually do check DILENGTH, and if DILENGTH is at 0, they'll think the transfer completed successfully even if DEINT is used, since after all, surely that means everything was sent.  That caused all sorts of issues, from audio looping when a disc is removed since it's re-using the same buffer to just flat-out crashing instead of showing the disc removed screen.
2020-07-29 16:57:35 -07:00
Pokechu22 fba51b2956 Split drive state and drive error into 2 fields, and fix some inaccuracies
In particular:
- Trying to play audio in a non-ready state returns the state-specific error, not an audio buf error
- Audio status cannot be requested in non-ready states
- The audio buffer cannot be configured in states other than ReadyNoReadsMade
- Using the stop motor command while the motor is already stopped doesn't change states

Additionally, the internal state IDs are used (which distinguish ReadyNoReadsMade and Ready), instead of the state IDs exposed in request error.  This makes some of the weird behavior a bit more obvious.

State and error behavior of the seek command was not implemented in this commit.
2020-07-29 16:57:34 -07:00