dolphin/Source/Core/Core
Léo Lam 5021a13aa9
DSPHLE: Fix running and is_stream checks in AX HLE
A voice is considered running if and only if `running` equals 1,
not if `running` is not equal to 0.

This fixes https://bugs.dolphin-emu.org/issues/12508 because for some
reason *The Sims 2 - Castaway* sets `running` to 8 when a stream
finishes playing; previously our AX HLE would just loop the voice
and eventually crash after accessing invalid memory addresses.

Thanks to JMC47 and delroth's help, I've verified that this is the
correct check for the following ucodes:

GC:
* 0x3ad3b7ac
* 0x3daf59b9
* 0x4e8a8b21
* 0x07f88145
* 0xe2136399
* 0x3389a79e

Wii:
* 0x347112ba
* 0xfa450138
* 0xadbc06bd

And while I was fixing the running check, I noticed that the is_stream
field was also being handled incorrectly, so I've fixed that as well.
2021-07-14 19:21:35 +02:00
..
Boot treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Config Merge pull request #9846 from jordan-woyak/report-dup-setting 2021-07-13 03:32:49 +02:00
ConfigLoaders Merge pull request #9846 from jordan-woyak/report-dup-setting 2021-07-13 03:32:49 +02:00
Debugger treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DSP treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FifoPlayer treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HLE treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HW DSPHLE: Fix running and is_stream checks in AX HLE 2021-07-14 19:21:35 +02:00
IOS Implement resetting DI via HW_RESETS 2021-07-06 11:05:08 -07:00
PowerPC JitArm64: Optimize FloatCompare's CR value emitting 2021-07-12 22:54:37 +02:00
ActionReplay.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ActionReplay.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ARDecrypt.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ARDecrypt.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BootManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BootManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CheatCodes.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CMakeLists.txt NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
CommonTitles.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ConfigManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ConfigManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Core.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Core.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CoreTiming.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CoreTiming.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DolphinAnalytics.cpp Apple M1: Build, Analytics, and Memory Management 2021-05-22 15:25:17 -07:00
DolphinAnalytics.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DSPEmulator.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DSPEmulator.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookConfig.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookManager.cpp FreeLookManager: Use proper names for left, right, and middle click on Quartz ciface 2021-07-06 16:16:52 -04:00
FreeLookManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GeckoCode.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GeckoCode.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GeckoCodeConfig.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GeckoCodeConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Host.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HotkeyManager.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
HotkeyManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
LibusbUtils.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
LibusbUtils.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
MachineContext.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
MemoryWatcher.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
MemoryWatcher.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
MemTools.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
MemTools.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Movie.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Movie.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayClient.cpp NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
NetPlayClient.h NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
NetPlayCommon.cpp NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
NetPlayCommon.h NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
NetPlayProto.h NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
NetPlayServer.cpp NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
NetPlayServer.h NetPlay: Refactor some functions into a common header 2021-07-06 06:41:23 -04:00
NetworkCaptureLogger.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetworkCaptureLogger.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PatchEngine.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PatchEngine.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
State.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
State.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SyncIdentifier.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SysConf.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SysConf.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
System.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
System.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TitleDatabase.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TitleDatabase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiRoot.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiRoot.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiUtils.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiUtils.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00