Narr the Reg 2 лет назад
Родитель
Сommit
d10464de30

+ 0 - 2
src/core/hle/service/hid/controllers/console_six_axis.cpp

@@ -1,13 +1,11 @@
 // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "core/core.h"
 #include "core/core_timing.h"
 #include "core/hid/emulated_console.h"
 #include "core/hid/hid_core.h"
 #include "core/hle/service/hid/controllers/console_six_axis.h"
 #include "core/hle/service/hid/controllers/shared_memory_format.h"
-#include "core/memory.h"
 
 namespace Service::HID {
 

+ 0 - 2
src/core/hle/service/hid/controllers/debug_pad.cpp

@@ -1,8 +1,6 @@
 // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include <cstring>
-#include "common/common_types.h"
 #include "common/settings.h"
 #include "core/core_timing.h"
 #include "core/hid/emulated_controller.h"

+ 0 - 1
src/core/hle/service/hid/controllers/debug_pad.h

@@ -3,7 +3,6 @@
 
 #pragma once
 
-#include "common/common_types.h"
 #include "core/hle/service/hid/controllers/controller_base.h"
 #include "core/hle/service/hid/controllers/types/debug_pad_types.h"
 

+ 1 - 2
src/core/hle/service/hid/controllers/gesture.cpp

@@ -1,11 +1,10 @@
 // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include "common/logging/log.h"
 #include "common/math_util.h"
 #include "common/settings.h"
-#include "core/core_timing.h"
 #include "core/frontend/emu_window.h"
+#include "core/hid/emulated_console.h"
 #include "core/hid/hid_core.h"
 #include "core/hle/service/hid/controllers/gesture.h"
 #include "core/hle/service/hid/controllers/shared_memory_format.h"

+ 4 - 1
src/core/hle/service/hid/controllers/gesture.h

@@ -6,10 +6,13 @@
 #include <array>
 
 #include "common/common_types.h"
-#include "core/hid/emulated_console.h"
 #include "core/hle/service/hid/controllers/controller_base.h"
 #include "core/hle/service/hid/controllers/types/touch_types.h"
 
+namespace Core::HID {
+class EmulatedConsole;
+}
+
 namespace Service::HID {
 struct GestureSharedMemoryFormat;
 

+ 0 - 2
src/core/hle/service/hid/controllers/keyboard.cpp

@@ -1,8 +1,6 @@
 // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include <cstring>
-#include "common/common_types.h"
 #include "common/settings.h"
 #include "core/core_timing.h"
 #include "core/hid/emulated_devices.h"

+ 0 - 2
src/core/hle/service/hid/controllers/keyboard.h

@@ -3,10 +3,8 @@
 
 #pragma once
 
-#include "common/common_types.h"
 #include "core/hle/service/hid/controllers/controller_base.h"
 #include "core/hle/service/hid/controllers/types/keyboard_types.h"
-#include "core/hle/service/hid/ring_lifo.h"
 
 namespace Service::HID {
 struct KeyboardSharedMemoryFormat;

+ 0 - 2
src/core/hle/service/hid/controllers/mouse.cpp

@@ -1,8 +1,6 @@
 // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include <cstring>
-#include "common/common_types.h"
 #include "core/core_timing.h"
 #include "core/frontend/emu_window.h"
 #include "core/hid/emulated_devices.h"

+ 0 - 2
src/core/hle/service/hid/controllers/mouse.h

@@ -3,9 +3,7 @@
 
 #pragma once
 
-#include "common/common_types.h"
 #include "core/hle/service/hid/controllers/controller_base.h"
-#include "core/hle/service/hid/ring_lifo.h"
 
 namespace Core::HID {
 class EmulatedDevices;

+ 1 - 4
src/core/hle/service/hid/controllers/npad.h

@@ -8,13 +8,10 @@
 #include <mutex>
 #include <span>
 
-#include "common/bit_field.h"
 #include "common/common_types.h"
-
 #include "core/hid/hid_types.h"
 #include "core/hle/service/hid/controllers/controller_base.h"
 #include "core/hle/service/hid/controllers/types/npad_types.h"
-#include "core/hle/service/hid/ring_lifo.h"
 
 namespace Core::HID {
 class EmulatedController;
@@ -192,7 +189,7 @@ private:
 
     std::atomic<u64> press_state{};
 
-    std::array<NpadControllerData, NPAD_COUNT> controller_data{};
+    std::array<NpadControllerData, NpadCount> controller_data{};
     KernelHelpers::ServiceContext& service_context;
     std::mutex mutex;
     std::vector<Core::HID::NpadIdType> supported_npad_id_types{};

+ 2 - 1
src/core/hle/service/hid/controllers/shared_memory_format.h

@@ -171,7 +171,7 @@ static_assert(sizeof(NpadSharedMemoryEntry) == 0x5000, "NpadSharedMemoryEntry is
 
 // This is nn::hid::detail::NpadSharedMemoryFormat
 struct NpadSharedMemoryFormat {
-    std::array<NpadSharedMemoryEntry, NPAD_COUNT> npad_entry;
+    std::array<NpadSharedMemoryEntry, NpadCount> npad_entry;
 };
 static_assert(sizeof(NpadSharedMemoryFormat) == 0x32000,
               "NpadSharedMemoryFormat is an invalid size");
@@ -198,6 +198,7 @@ struct ConsoleSixAxisSensorSharedMemoryFormat {
 static_assert(sizeof(ConsoleSixAxisSensorSharedMemoryFormat) == 0x20,
               "ConsoleSixAxisSensorSharedMemoryFormat is an invalid size");
 
+// This is nn::hid::detail::SharedMemoryFormat
 struct SharedMemoryFormat {
     void Initialize() {}
 

+ 4 - 0
src/core/hle/service/hid/controllers/shared_memory_holder.cpp

@@ -10,6 +10,10 @@
 namespace Service::HID {
 SharedMemoryHolder::SharedMemoryHolder() {}
 
+SharedMemoryHolder::~SharedMemoryHolder() {
+    Finalize();
+}
+
 Result SharedMemoryHolder::Initialize(Core::System& system) {
     shared_memory = Kernel::KSharedMemory::Create(system.Kernel());
     const Result result = shared_memory->Initialize(

+ 1 - 1
src/core/hle/service/hid/controllers/shared_memory_holder.h

@@ -3,7 +3,6 @@
 
 #pragma once
 
-#include "common/common_types.h"
 #include "core/hle/result.h"
 
 namespace Core {
@@ -21,6 +20,7 @@ struct SharedMemoryFormat;
 class SharedMemoryHolder {
 public:
     SharedMemoryHolder();
+    ~SharedMemoryHolder();
 
     Result Initialize(Core::System& system);
     void Finalize();

+ 0 - 2
src/core/hle/service/hid/controllers/stubbed.cpp

@@ -1,8 +1,6 @@
 // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
 // SPDX-License-Identifier: GPL-2.0-or-later
 
-#include <cstring>
-#include "common/common_types.h"
 #include "core/core_timing.h"
 #include "core/hle/service/hid/controllers/shared_memory_format.h"
 #include "core/hle/service/hid/controllers/stubbed.h"

+ 0 - 1
src/core/hle/service/hid/controllers/stubbed.h

@@ -3,7 +3,6 @@
 
 #pragma once
 
-#include "common/common_types.h"
 #include "core/hle/service/hid/controllers/controller_base.h"
 
 namespace Service::HID {

+ 0 - 2
src/core/hle/service/hid/controllers/touchscreen.cpp

@@ -2,10 +2,8 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 
 #include <algorithm>
-#include <cstring>
 #include "common/common_types.h"
 #include "common/settings.h"
-#include "core/core.h"
 #include "core/core_timing.h"
 #include "core/frontend/emu_window.h"
 #include "core/hid/emulated_console.h"

+ 0 - 2
src/core/hle/service/hid/controllers/touchscreen.h

@@ -5,11 +5,9 @@
 
 #include <array>
 
-#include "common/common_types.h"
 #include "core/hid/hid_types.h"
 #include "core/hle/service/hid/controllers/controller_base.h"
 #include "core/hle/service/hid/controllers/types/touch_types.h"
-#include "core/hle/service/hid/ring_lifo.h"
 
 namespace Core::HID {
 class EmulatedConsole;

+ 0 - 4
src/core/hle/service/hid/controllers/types/mouse_types.h

@@ -3,10 +3,6 @@
 
 #pragma once
 
-#include "common/common_funcs.h"
 #include "common/common_types.h"
-#include "common/vector_math.h"
-#include "core/hid/hid_types.h"
-#include "core/hle/service/hid/ring_lifo.h"
 
 namespace Service::HID {} // namespace Service::HID

+ 2 - 3
src/core/hle/service/hid/controllers/types/npad_types.h

@@ -3,14 +3,13 @@
 
 #pragma once
 
+#include "common/bit_field.h"
 #include "common/common_funcs.h"
 #include "common/common_types.h"
-#include "common/vector_math.h"
 #include "core/hid/hid_types.h"
-#include "core/hle/service/hid/ring_lifo.h"
 
 namespace Service::HID {
-static constexpr std::size_t NPAD_COUNT = 10;
+static constexpr std::size_t NpadCount = 10;
 
 // This is nn::hid::NpadJoyHoldType
 enum class NpadJoyHoldType : u64 {

+ 1 - 0
src/core/hle/service/hid/resource_manager.cpp

@@ -231,6 +231,7 @@ void ResourceManager::UpdateControllers(std::uintptr_t user_data,
                                         std::chrono::nanoseconds ns_late) {
     auto& core_timing = system.CoreTiming();
     debug_pad->OnUpdate(core_timing);
+    digitizer->OnUpdate(core_timing);
     unique_pad->OnUpdate(core_timing);
     gesture->OnUpdate(core_timing);
     touch_screen->OnUpdate(core_timing);