From 3db0022082ba17a506e9fae26b51e051dc7722aa Mon Sep 17 00:00:00 2001 From: pineappleEA Date: Wed, 3 Jan 2024 01:45:11 +0100 Subject: [PATCH] early-access version 4044 --- README.md | 2 +- .../org/yuzu/yuzu_emu/fragments/AddonsFragment.kt | 2 +- .../java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt | 3 +-- src/core/hle/kernel/k_thread.cpp | 8 ++++---- src/core/hle/service/hid/hid_server.cpp | 14 +++++++------- src/yuzu/multiplayer/direct_connect.cpp | 2 +- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 419e65c42..ee5781af4 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 4042. +This is the source code for early-access 4044. ## Legal Notice diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AddonsFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AddonsFragment.kt index 0dce8ad8d..816336820 100755 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AddonsFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AddonsFragment.kt @@ -149,7 +149,7 @@ class AddonsFragment : Fragment() { } val isValid = externalAddonDirectory.listFiles() - .any { AddonUtil.validAddonDirectories.contains(it.name) } + .any { AddonUtil.validAddonDirectories.contains(it.name?.lowercase()) } val errorMessage = MessageDialogFragment.newInstance( requireActivity(), titleId = R.string.invalid_directory, diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt index bb69b8bd5..c87486c90 100755 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt @@ -30,7 +30,6 @@ import org.yuzu.yuzu_emu.NativeLibrary.StickType import org.yuzu.yuzu_emu.R import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting import org.yuzu.yuzu_emu.features.settings.model.IntSetting -import org.yuzu.yuzu_emu.features.settings.model.Settings import org.yuzu.yuzu_emu.overlay.model.OverlayControl import org.yuzu.yuzu_emu.overlay.model.OverlayControlData import org.yuzu.yuzu_emu.overlay.model.OverlayLayout @@ -302,7 +301,7 @@ class InputOverlay(context: Context, attrs: AttributeSet?) : MotionEvent.ACTION_POINTER_UP -> if (dpadBeingConfigured === dpad) { // Persist button position by saving new place. saveControlPosition( - Settings.PREF_BUTTON_DPAD, + OverlayControl.COMBINED_DPAD.id, dpadBeingConfigured!!.bounds.centerX(), dpadBeingConfigured!!.bounds.centerY(), layout diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp index 1eaebb362..c1baed917 100755 --- a/src/core/hle/kernel/k_thread.cpp +++ b/src/core/hle/kernel/k_thread.cpp @@ -1258,11 +1258,11 @@ ThreadState KThread::RequestTerminate() { // Change the thread's priority to be higher than any system thread's. this->IncreaseBasePriority(TerminatingThreadPriority); - // If the thread is runnable, send a termination interrupt to other cores. + // If the thread is runnable, send a termination interrupt to cores it may be running on. if (this->GetState() == ThreadState::Runnable) { - if (const u64 core_mask = m_physical_affinity_mask.GetAffinityMask() & - ~(1ULL << GetCurrentCoreId(m_kernel)); - core_mask != 0) { + // NOTE: We do not mask the "current core", because this code may not actually be + // executing from the thread representing the "current core". + if (const u64 core_mask = m_physical_affinity_mask.GetAffinityMask(); core_mask != 0) { Kernel::KInterruptManager::SendInterProcessorInterrupt(m_kernel, core_mask); } } diff --git a/src/core/hle/service/hid/hid_server.cpp b/src/core/hle/service/hid/hid_server.cpp index 6c96f8463..a953c92b3 100755 --- a/src/core/hle/service/hid/hid_server.cpp +++ b/src/core/hle/service/hid/hid_server.cpp @@ -989,7 +989,7 @@ void IHidServer::SetSupportedNpadStyleSet(HLERequestContext& ctx) { Core::HID::NpadStyleTag style_tag{parameters.supported_style_set}; const auto revision = npad->GetRevision(parameters.applet_resource_user_id); - if (style_tag.gamecube != 0 && revision < NpadRevision::Revision3) { + if (style_tag.palma != 0 && revision < NpadRevision::Revision3) { // GetResourceManager()->GetPalma()->EnableBoostMode(parameters.applet_resource_user_id, // true); } @@ -1346,6 +1346,7 @@ void IHidServer::SwapNpadAssignment(HLERequestContext& ctx) { IPC::ResponseBuilder rb{ctx, 2}; rb.Push(result); } + void IHidServer::IsUnintendedHomeButtonInputProtectionEnabled(HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; struct Parameters { @@ -1357,8 +1358,8 @@ void IHidServer::IsUnintendedHomeButtonInputProtectionEnabled(HLERequestContext& const auto parameters{rp.PopRaw()}; - LOG_WARNING(Service_HID, "(STUBBED) called, npad_id={}, applet_resource_user_id={}", - parameters.npad_id, parameters.applet_resource_user_id); + LOG_INFO(Service_HID, "called, npad_id={}, applet_resource_user_id={}", parameters.npad_id, + parameters.applet_resource_user_id); if (!IsNpadIdValid(parameters.npad_id)) { IPC::ResponseBuilder rb{ctx, 3}; @@ -1373,7 +1374,7 @@ void IHidServer::IsUnintendedHomeButtonInputProtectionEnabled(HLERequestContext& IPC::ResponseBuilder rb{ctx, 3}; rb.Push(result); - rb.Push(is_enabled); + rb.Push(is_enabled); } void IHidServer::EnableUnintendedHomeButtonInputProtection(HLERequestContext& ctx) { @@ -1388,9 +1389,8 @@ void IHidServer::EnableUnintendedHomeButtonInputProtection(HLERequestContext& ct const auto parameters{rp.PopRaw()}; - LOG_WARNING(Service_HID, - "(STUBBED) called, is_enabled={}, npad_id={}, applet_resource_user_id={}", - parameters.is_enabled, parameters.npad_id, parameters.applet_resource_user_id); + LOG_INFO(Service_HID, "called, is_enabled={}, npad_id={}, applet_resource_user_id={}", + parameters.is_enabled, parameters.npad_id, parameters.applet_resource_user_id); if (!IsNpadIdValid(parameters.npad_id)) { IPC::ResponseBuilder rb{ctx, 3}; diff --git a/src/yuzu/multiplayer/direct_connect.cpp b/src/yuzu/multiplayer/direct_connect.cpp index 0e9271904..6277daded 100755 --- a/src/yuzu/multiplayer/direct_connect.cpp +++ b/src/yuzu/multiplayer/direct_connect.cpp @@ -94,7 +94,7 @@ void DirectConnectWindow::Connect() { // Store settings UISettings::values.multiplayer_nickname = ui->nickname->text().toStdString(); UISettings::values.multiplayer_ip = ui->ip->text().toStdString(); - if (ui->port->isModified() && !ui->port->text().isEmpty()) { + if (!ui->port->text().isEmpty()) { UISettings::values.multiplayer_port = ui->port->text().toInt(); } else { UISettings::values.multiplayer_port = UISettings::values.multiplayer_port.GetDefault();