From 3c50c61606f97f2c6af22079343c94ea31eece80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sat, 3 Dec 2016 23:55:56 +0100 Subject: [PATCH] IOS HLE: Remove copy and pasted Open()/Close() This removes Open() and Close() functions from devices whenever they did nothing more than the base class (setting m_Active, returning a default reply). Also, since IOS close commands practically always return FS_SUCCESS, writing the return code is moved to HandleCommand() in WII_IPC_HLE, which has two benefits: it's not duplicated all over the place (so people will not forget it) and it gets rid of having to check the force parameter, since HandleCommand() is always called for real IOS commands, so command_address is guaranteed to be valid. --- Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp | 2 + .../Core/Core/IPC_HLE/WII_IPC_HLE_Device.cpp | 5 -- .../Core/IPC_HLE/WII_IPC_HLE_Device_DI.cpp | 14 ---- .../Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.h | 3 - .../IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp | 18 ++---- .../Core/IPC_HLE/WII_IPC_HLE_Device_es.cpp | 2 - .../Core/IPC_HLE/WII_IPC_HLE_Device_fs.cpp | 9 --- .../Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.h | 1 - .../Core/IPC_HLE/WII_IPC_HLE_Device_hid.cpp | 16 ----- .../Core/IPC_HLE/WII_IPC_HLE_Device_hid.h | 3 - .../Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp | 64 ------------------- .../Core/IPC_HLE/WII_IPC_HLE_Device_net.h | 22 ------- .../IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp | 16 ----- .../Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h | 3 - .../IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp | 2 - .../Core/IPC_HLE/WII_IPC_HLE_Device_stm.cpp | 25 -------- .../Core/IPC_HLE/WII_IPC_HLE_Device_stm.h | 3 - .../Core/IPC_HLE/WII_IPC_HLE_Device_stub.cpp | 2 - .../IPC_HLE/WII_IPC_HLE_Device_usb_bt_emu.cpp | 2 - .../WII_IPC_HLE_Device_usb_bt_real.cpp | 1 - .../IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp | 2 - .../IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp | 15 ----- .../Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.h | 3 - 23 files changed, 8 insertions(+), 225 deletions(-) diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp index b011f51d4e..461db5ac73 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp @@ -426,6 +426,8 @@ static IPCCommandResult HandleCommand(const u32 address) { case IPC_CMD_CLOSE: s_fdmap[fd].reset(); + // A close on a valid device returns FS_SUCCESS. + Memory::Write_U32(FS_SUCCESS, address + 4); return device->Close(address); case IPC_CMD_READ: return device->Read(address); diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.cpp index d2a8e11490..6542d47534 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device.cpp @@ -68,17 +68,12 @@ void IWII_IPC_HLE_Device::DoStateShared(PointerWrap& p) IPCCommandResult IWII_IPC_HLE_Device::Open(u32 command_address, u32 mode) { - WARN_LOG(WII_IPC_HLE, "%s does not support Open()", m_Name.c_str()); - Memory::Write_U32(FS_ENOENT, command_address + 4); m_Active = true; return GetDefaultReply(); } IPCCommandResult IWII_IPC_HLE_Device::Close(u32 command_address, bool force) { - WARN_LOG(WII_IPC_HLE, "%s does not support Close()", m_Name.c_str()); - if (!force) - Memory::Write_U32(FS_EINVAL, command_address + 4); m_Active = false; return GetDefaultReply(); } diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.cpp index e00fa4c84b..98673c4905 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.cpp @@ -32,20 +32,6 @@ void CWII_IPC_HLE_Device_di::DoState(PointerWrap& p) p.Do(m_commands_to_execute); } -IPCCommandResult CWII_IPC_HLE_Device_di::Open(u32 _CommandAddress, u32 _Mode) -{ - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_di::Close(u32 _CommandAddress, bool _bForce) -{ - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); - m_Active = false; - return GetDefaultReply(); -} - IPCCommandResult CWII_IPC_HLE_Device_di::IOCtl(u32 _CommandAddress) { // DI IOCtls are handled in a special way by Dolphin diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.h index 0e8ed43485..f7af22998b 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.h +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_DI.h @@ -27,9 +27,6 @@ public: void DoState(PointerWrap& p) override; - IPCCommandResult Open(u32 _CommandAddress, u32 _Mode) override; - IPCCommandResult Close(u32 _CommandAddress, bool _bForce) override; - IPCCommandResult IOCtl(u32 _CommandAddress) override; IPCCommandResult IOCtlV(u32 _CommandAddress) override; diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp index 3616bd39d1..3e25865646 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp @@ -84,17 +84,13 @@ IPCCommandResult CWII_IPC_HLE_Device_FileIO::Close(u32 _CommandAddress, bool _bF // accessing it. m_file.reset(); - // Close always return 0 for success - if (_CommandAddress && !_bForce) - Memory::Write_U32(0, _CommandAddress + 4); m_Active = false; return GetDefaultReply(); } -IPCCommandResult CWII_IPC_HLE_Device_FileIO::Open(u32 _CommandAddress, u32 _Mode) +IPCCommandResult CWII_IPC_HLE_Device_FileIO::Open(u32 command_address, u32 mode) { - m_Mode = _Mode; - u32 ReturnValue = 0; + m_Mode = mode; static const char* const Modes[] = {"Unk Mode", "Read only", "Write only", "Read and Write"}; @@ -104,19 +100,17 @@ IPCCommandResult CWII_IPC_HLE_Device_FileIO::Open(u32 _CommandAddress, u32 _Mode // It should be created by ISFS_CreateFile, not here if (File::Exists(m_filepath) && !File::IsDirectory(m_filepath)) { - INFO_LOG(WII_IPC_FILEIO, "FileIO: Open %s (%s == %08X)", m_Name.c_str(), Modes[_Mode], _Mode); + INFO_LOG(WII_IPC_FILEIO, "FileIO: Open %s (%s == %08X)", m_Name.c_str(), Modes[mode], mode); OpenFile(); - ReturnValue = m_DeviceID; } else { - WARN_LOG(WII_IPC_FILEIO, "FileIO: Open (%s) failed - File doesn't exist %s", Modes[_Mode], + WARN_LOG(WII_IPC_FILEIO, "FileIO: Open (%s) failed - File doesn't exist %s", Modes[mode], m_filepath.c_str()); - ReturnValue = FS_FILE_NOT_EXIST; + if (command_address) + Memory::Write_U32(FS_FILE_NOT_EXIST, command_address + 4); } - if (_CommandAddress) - Memory::Write_U32(ReturnValue, _CommandAddress + 4); m_Active = true; return GetDefaultReply(); } diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_es.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_es.cpp index 17a186f3bd..3621928537 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_es.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_es.cpp @@ -198,8 +198,6 @@ IPCCommandResult CWII_IPC_HLE_Device_es::Close(u32 _CommandAddress, bool _bForce m_AccessIdentID = 0x6000000; INFO_LOG(WII_IPC_ES, "ES: Close"); - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); m_Active = false; // clear the NAND content cache to make sure nothing remains open. DiscIO::CNANDContentManager::Access().ClearCache(); diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.cpp index e31b04b4d7..b8e2ec9c49 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.cpp @@ -56,15 +56,6 @@ IPCCommandResult CWII_IPC_HLE_Device_fs::Open(u32 _CommandAddress, u32 _Mode) return GetFSReply(); } -IPCCommandResult CWII_IPC_HLE_Device_fs::Close(u32 _CommandAddress, bool _bForce) -{ - INFO_LOG(WII_IPC_FILEIO, "Close"); - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); - m_Active = false; - return GetFSReply(); -} - // Get total filesize of contents of a directory (recursive) // Only used for ES_GetUsage atm, could be useful elsewhere? static u64 ComputeTotalFileSize(const File::FSTEntry& parentEntry) diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.h index 4d4933d164..b943f205dc 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.h +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_fs.h @@ -44,7 +44,6 @@ public: void DoState(PointerWrap& p) override; IPCCommandResult Open(u32 _CommandAddress, u32 _Mode) override; - IPCCommandResult Close(u32 _CommandAddress, bool _bForce) override; IPCCommandResult IOCtl(u32 _CommandAddress) override; IPCCommandResult IOCtlV(u32 _CommandAddress) override; diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.cpp index 73c6ec5101..6737c4377c 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.cpp @@ -104,22 +104,6 @@ CWII_IPC_HLE_Device_hid::~CWII_IPC_HLE_Device_hid() libusb_exit(nullptr); } -IPCCommandResult CWII_IPC_HLE_Device_hid::Open(u32 _CommandAddress, u32 _Mode) -{ - INFO_LOG(WII_IPC_HID, "HID::Open"); - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_hid::Close(u32 _CommandAddress, bool _bForce) -{ - INFO_LOG(WII_IPC_HID, "HID::Close"); - m_Active = false; - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); - return GetDefaultReply(); -} - IPCCommandResult CWII_IPC_HLE_Device_hid::IOCtl(u32 _CommandAddress) { if (Core::g_want_determinism) diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.h index 9ff0feda28..fb28b88eb5 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.h +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_hid.h @@ -40,9 +40,6 @@ public: virtual ~CWII_IPC_HLE_Device_hid(); - IPCCommandResult Open(u32 _CommandAddress, u32 _Mode) override; - IPCCommandResult Close(u32 _CommandAddress, bool _bForce) override; - IPCCommandResult IOCtlV(u32 _CommandAddress) override; IPCCommandResult IOCtl(u32 _CommandAddress) override; diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp index 01be4e0187..d708d64c1b 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.cpp @@ -72,22 +72,6 @@ CWII_IPC_HLE_Device_net_kd_request::~CWII_IPC_HLE_Device_net_kd_request() WiiSockMan::GetInstance().Clean(); } -IPCCommandResult CWII_IPC_HLE_Device_net_kd_request::Open(u32 _CommandAddress, u32 _Mode) -{ - INFO_LOG(WII_IPC_WC24, "NET_KD_REQ: Open"); - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_net_kd_request::Close(u32 _CommandAddress, bool _bForce) -{ - INFO_LOG(WII_IPC_WC24, "NET_KD_REQ: Close"); - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); - m_Active = false; - return GetDefaultReply(); -} - IPCCommandResult CWII_IPC_HLE_Device_net_kd_request::IOCtl(u32 _CommandAddress) { u32 Parameter = Memory::Read_U32(_CommandAddress + 0xC); @@ -353,22 +337,6 @@ CWII_IPC_HLE_Device_net_ncd_manage::~CWII_IPC_HLE_Device_net_ncd_manage() { } -IPCCommandResult CWII_IPC_HLE_Device_net_ncd_manage::Open(u32 _CommandAddress, u32 _Mode) -{ - INFO_LOG(WII_IPC_NET, "NET_NCD_MANAGE: Open"); - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_net_ncd_manage::Close(u32 _CommandAddress, bool _bForce) -{ - INFO_LOG(WII_IPC_NET, "NET_NCD_MANAGE: Close"); - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); - m_Active = false; - return GetDefaultReply(); -} - IPCCommandResult CWII_IPC_HLE_Device_net_ncd_manage::IOCtlV(u32 _CommandAddress) { u32 return_value = 0; @@ -451,22 +419,6 @@ CWII_IPC_HLE_Device_net_wd_command::~CWII_IPC_HLE_Device_net_wd_command() { } -IPCCommandResult CWII_IPC_HLE_Device_net_wd_command::Open(u32 CommandAddress, u32 Mode) -{ - INFO_LOG(WII_IPC_NET, "NET_WD_COMMAND: Open"); - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_net_wd_command::Close(u32 CommandAddress, bool Force) -{ - INFO_LOG(WII_IPC_NET, "NET_WD_COMMAND: Close"); - if (!Force) - Memory::Write_U32(0, CommandAddress + 4); - m_Active = false; - return GetDefaultReply(); -} - // This is just for debugging / playing around. // There really is no reason to implement wd unless we can bend it such that // we can talk to the DS. @@ -579,22 +531,6 @@ CWII_IPC_HLE_Device_net_ip_top::~CWII_IPC_HLE_Device_net_ip_top() #endif } -IPCCommandResult CWII_IPC_HLE_Device_net_ip_top::Open(u32 _CommandAddress, u32 _Mode) -{ - INFO_LOG(WII_IPC_NET, "NET_IP_TOP: Open"); - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_net_ip_top::Close(u32 _CommandAddress, bool _bForce) -{ - INFO_LOG(WII_IPC_NET, "NET_IP_TOP: Close"); - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); - m_Active = false; - return GetDefaultReply(); -} - static int inet_pton(const char* src, unsigned char* dst) { int saw_digit, octets; diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.h index 9fa0ba8822..1db4319582 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.h +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net.h @@ -30,8 +30,6 @@ public: virtual ~CWII_IPC_HLE_Device_net_kd_request(); - IPCCommandResult Open(u32 _CommandAddress, u32 _Mode) override; - IPCCommandResult Close(u32 _CommandAddress, bool _bForce) override; IPCCommandResult IOCtl(u32 _CommandAddress) override; private: @@ -88,20 +86,6 @@ public: } virtual ~CWII_IPC_HLE_Device_net_kd_time() {} - IPCCommandResult Open(u32 _CommandAddress, u32 _Mode) override - { - INFO_LOG(WII_IPC_NET, "NET_KD_TIME: Open"); - return GetDefaultReply(); - } - - IPCCommandResult Close(u32 _CommandAddress, bool _bForce) override - { - INFO_LOG(WII_IPC_NET, "NET_KD_TIME: Close"); - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); - return GetDefaultReply(); - } - IPCCommandResult IOCtl(u32 _CommandAddress) override { u32 Parameter = Memory::Read_U32(_CommandAddress + 0x0C); @@ -223,8 +207,6 @@ public: virtual ~CWII_IPC_HLE_Device_net_ip_top(); - IPCCommandResult Open(u32 _CommandAddress, u32 _Mode) override; - IPCCommandResult Close(u32 _CommandAddress, bool _bForce) override; IPCCommandResult IOCtl(u32 _CommandAddress) override; IPCCommandResult IOCtlV(u32 _CommandAddress) override; @@ -245,8 +227,6 @@ public: virtual ~CWII_IPC_HLE_Device_net_ncd_manage(); - IPCCommandResult Open(u32 _CommandAddress, u32 _Mode) override; - IPCCommandResult Close(u32 _CommandAddress, bool _bForce) override; IPCCommandResult IOCtlV(u32 _CommandAddress) override; private: @@ -273,8 +253,6 @@ public: virtual ~CWII_IPC_HLE_Device_net_wd_command(); - IPCCommandResult Open(u32 CommandAddress, u32 Mode) override; - IPCCommandResult Close(u32 CommandAddress, bool Force) override; IPCCommandResult IOCtlV(u32 CommandAddress) override; private: diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp index 8600094b96..ab77ef1596 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp @@ -75,22 +75,6 @@ int CWII_IPC_HLE_Device_net_ssl::GetSSLFreeID() const return 0; } -IPCCommandResult CWII_IPC_HLE_Device_net_ssl::Open(u32 _CommandAddress, u32 _Mode) -{ - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_net_ssl::Close(u32 _CommandAddress, bool _bForce) -{ - if (!_bForce) - { - Memory::Write_U32(0, _CommandAddress + 4); - } - m_Active = false; - return GetDefaultReply(); -} - IPCCommandResult CWII_IPC_HLE_Device_net_ssl::IOCtl(u32 _CommandAddress) { u32 BufferIn = Memory::Read_U32(_CommandAddress + 0x10); diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h index 07ae9ce81a..b8ec088776 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h @@ -87,9 +87,6 @@ public: virtual ~CWII_IPC_HLE_Device_net_ssl(); - IPCCommandResult Open(u32 _CommandAddress, u32 _Mode) override; - IPCCommandResult Close(u32 _CommandAddress, bool _bForce) override; - IPCCommandResult IOCtl(u32 _CommandAddress) override; IPCCommandResult IOCtlV(u32 _CommandAddress) override; diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp index 7d1be34771..74e5c45754 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_sdio_slot0.cpp @@ -89,8 +89,6 @@ IPCCommandResult CWII_IPC_HLE_Device_sdio_slot0::Close(u32 _CommandAddress, bool m_BlockLength = 0; m_BusWidth = 0; - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 0x4); m_Active = false; return GetDefaultReply(); } diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.cpp index 71bdb463ec..1b51ac690c 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.cpp @@ -18,22 +18,6 @@ void Stop(); static u32 s_event_hook_address = 0; -IPCCommandResult CWII_IPC_HLE_Device_stm_immediate::Open(u32 command_address, u32 mode) -{ - INFO_LOG(WII_IPC_STM, "STM immediate: Open"); - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_stm_immediate::Close(u32 command_address, bool force) -{ - INFO_LOG(WII_IPC_STM, "STM immediate: Close"); - if (!force) - Memory::Write_U32(0, command_address + 4); - m_Active = false; - return GetDefaultReply(); -} - IPCCommandResult CWII_IPC_HLE_Device_stm_immediate::IOCtl(u32 command_address) { u32 parameter = Memory::Read_U32(command_address + 0x0C); @@ -104,19 +88,10 @@ IPCCommandResult CWII_IPC_HLE_Device_stm_immediate::IOCtl(u32 command_address) return GetDefaultReply(); } -IPCCommandResult CWII_IPC_HLE_Device_stm_eventhook::Open(u32 command_address, u32 mode) -{ - m_Active = true; - return GetDefaultReply(); -} - IPCCommandResult CWII_IPC_HLE_Device_stm_eventhook::Close(u32 command_address, bool force) { s_event_hook_address = 0; - INFO_LOG(WII_IPC_STM, "STM eventhook: Close"); - if (!force) - Memory::Write_U32(0, command_address + 4); m_Active = false; return GetDefaultReply(); } diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.h index 85cfe85ce2..879568ea15 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.h +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stm.h @@ -44,8 +44,6 @@ public: } ~CWII_IPC_HLE_Device_stm_immediate() override = default; - IPCCommandResult Open(u32 command_address, u32 mode) override; - IPCCommandResult Close(u32 command_address, bool force) override; IPCCommandResult IOCtl(u32 command_address) override; }; @@ -59,7 +57,6 @@ public: } ~CWII_IPC_HLE_Device_stm_eventhook() override = default; - IPCCommandResult Open(u32 command_address, u32 mode) override; IPCCommandResult Close(u32 command_address, bool force) override; IPCCommandResult IOCtl(u32 command_address) override; diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stub.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stub.cpp index 23bdd37a7f..9a18f52f3a 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stub.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_stub.cpp @@ -21,8 +21,6 @@ IPCCommandResult CWII_IPC_HLE_Device_stub::Open(u32 command_address, u32 mode) IPCCommandResult CWII_IPC_HLE_Device_stub::Close(u32 command_address, bool force) { WARN_LOG(WII_IPC_HLE, "%s faking Close()", m_Name.c_str()); - if (!force) - Memory::Write_U32(FS_SUCCESS, command_address + 4); m_Active = false; return GetDefaultReply(); } diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_bt_emu.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_bt_emu.cpp index a45967f08c..c4f89c1643 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_bt_emu.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_bt_emu.cpp @@ -168,8 +168,6 @@ IPCCommandResult CWII_IPC_HLE_Device_usb_oh1_57e_305_emu::Close(u32 _CommandAddr m_HCIEndpoint.m_cmd_address = 0; m_ACLEndpoint.m_cmd_address = 0; - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); m_Active = false; return GetDefaultReply(); } diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_bt_real.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_bt_real.cpp index 26df4c2034..61b8992863 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_bt_real.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_bt_real.cpp @@ -153,7 +153,6 @@ IPCCommandResult CWII_IPC_HLE_Device_usb_oh1_57e_305_real::Close(u32 command_add StopTransferThread(); libusb_unref_device(m_device); m_handle = nullptr; - Memory::Write_U32(0, command_address + 4); } m_Active = false; diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp index 0a3df8dab3..0932a7473a 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp @@ -67,8 +67,6 @@ IPCCommandResult CWII_IPC_HLE_Device_usb_kbd::Close(u32 _CommandAddress, bool _b INFO_LOG(WII_IPC_HLE, "CWII_IPC_HLE_Device_usb_kbd: Close"); while (!m_MessageQueue.empty()) m_MessageQueue.pop(); - if (!_bForce) - Memory::Write_U32(0, _CommandAddress + 4); m_Active = false; return GetDefaultReply(); } diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp index dde4d2db5c..a613e39242 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp @@ -16,21 +16,6 @@ CWII_IPC_HLE_Device_usb_ven::~CWII_IPC_HLE_Device_usb_ven() { } -IPCCommandResult CWII_IPC_HLE_Device_usb_ven::Open(u32 command_address, u32 mode) -{ - m_Active = true; - return GetDefaultReply(); -} - -IPCCommandResult CWII_IPC_HLE_Device_usb_ven::Close(u32 command_address, bool force) -{ - if (!force) - Memory::Write_U32(0, command_address + 4); - - m_Active = false; - return GetDefaultReply(); -} - IPCCommandResult CWII_IPC_HLE_Device_usb_ven::IOCtlV(u32 command_address) { SIOCtlVBuffer command_buffer(command_address); diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.h b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.h index 667dcab8be..612400f1e0 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.h +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.h @@ -19,9 +19,6 @@ public: ~CWII_IPC_HLE_Device_usb_ven() override; - IPCCommandResult Open(u32 command_address, u32 mode) override; - IPCCommandResult Close(u32 command_address, bool force) override; - IPCCommandResult IOCtlV(u32 command_address) override; IPCCommandResult IOCtl(u32 command_address) override;