IOS: Add UpdateWantDeterminism to devices
This will be useful for the USB devices to disconnect and hide any real devices when Core::g_want_determinism is true.
This commit is contained in:
parent
b7cc25535f
commit
e246afb049
|
@ -54,7 +54,7 @@
|
||||||
#include "Core/HW/SystemTimers.h"
|
#include "Core/HW/SystemTimers.h"
|
||||||
#include "Core/HW/VideoInterface.h"
|
#include "Core/HW/VideoInterface.h"
|
||||||
#include "Core/HW/Wiimote.h"
|
#include "Core/HW/Wiimote.h"
|
||||||
#include "Core/IOS/Network/Socket.h"
|
#include "Core/IOS/IPC.h"
|
||||||
#include "Core/IOS/USB/Bluetooth/BTEmu.h"
|
#include "Core/IOS/USB/Bluetooth/BTEmu.h"
|
||||||
#include "Core/IOS/USB/Bluetooth/WiimoteDevice.h"
|
#include "Core/IOS/USB/Bluetooth/WiimoteDevice.h"
|
||||||
#include "Core/Movie.h"
|
#include "Core/Movie.h"
|
||||||
|
@ -975,7 +975,7 @@ void UpdateWantDeterminism(bool initial)
|
||||||
bool was_unpaused = Core::PauseAndLock(true);
|
bool was_unpaused = Core::PauseAndLock(true);
|
||||||
|
|
||||||
g_want_determinism = new_want_determinism;
|
g_want_determinism = new_want_determinism;
|
||||||
IOS::HLE::WiiSockMan::GetInstance().UpdateWantDeterminism(new_want_determinism);
|
IOS::HLE::UpdateWantDeterminism(new_want_determinism);
|
||||||
Fifo::UpdateWantDeterminism(new_want_determinism);
|
Fifo::UpdateWantDeterminism(new_want_determinism);
|
||||||
// We need to clear the cache because some parts of the JIT depend on want_determinism, e.g. use
|
// We need to clear the cache because some parts of the JIT depend on want_determinism, e.g. use
|
||||||
// of FMA.
|
// of FMA.
|
||||||
|
|
|
@ -159,6 +159,7 @@ public:
|
||||||
virtual IPCCommandResult IOCtl(const IOCtlRequest& ioctl) { return Unsupported(ioctl); }
|
virtual IPCCommandResult IOCtl(const IOCtlRequest& ioctl) { return Unsupported(ioctl); }
|
||||||
virtual IPCCommandResult IOCtlV(const IOCtlVRequest& ioctlv) { return Unsupported(ioctlv); }
|
virtual IPCCommandResult IOCtlV(const IOCtlVRequest& ioctlv) { return Unsupported(ioctlv); }
|
||||||
virtual void Update() {}
|
virtual void Update() {}
|
||||||
|
virtual void UpdateWantDeterminism(bool new_want_determinism) {}
|
||||||
virtual DeviceType GetDeviceType() const { return m_device_type; }
|
virtual DeviceType GetDeviceType() const { return m_device_type; }
|
||||||
virtual bool IsOpened() const { return m_is_active; }
|
virtual bool IsOpened() const { return m_is_active; }
|
||||||
static IPCCommandResult GetDefaultReply(s32 return_value);
|
static IPCCommandResult GetDefaultReply(s32 return_value);
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
#include "Core/IOS/IPC.h"
|
#include "Core/IOS/IPC.h"
|
||||||
#include "Core/IOS/Network/Net.h"
|
#include "Core/IOS/Network/Net.h"
|
||||||
#include "Core/IOS/Network/SSL.h"
|
#include "Core/IOS/Network/SSL.h"
|
||||||
|
#include "Core/IOS/Network/Socket.h"
|
||||||
#include "Core/IOS/SDIO/SDIOSlot0.h"
|
#include "Core/IOS/SDIO/SDIOSlot0.h"
|
||||||
#include "Core/IOS/STM/STM.h"
|
#include "Core/IOS/STM/STM.h"
|
||||||
#include "Core/IOS/USB/Bluetooth/BTEmu.h"
|
#include "Core/IOS/USB/Bluetooth/BTEmu.h"
|
||||||
|
@ -851,5 +852,12 @@ void UpdateDevices()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UpdateWantDeterminism(const bool new_want_determinism)
|
||||||
|
{
|
||||||
|
WiiSockMan::GetInstance().UpdateWantDeterminism(new_want_determinism);
|
||||||
|
for (const auto& device : s_device_map)
|
||||||
|
device.second->UpdateWantDeterminism(new_want_determinism);
|
||||||
|
}
|
||||||
} // namespace HLE
|
} // namespace HLE
|
||||||
} // namespace IOS
|
} // namespace IOS
|
||||||
|
|
|
@ -77,6 +77,8 @@ void Update();
|
||||||
// Update Devices
|
// Update Devices
|
||||||
void UpdateDevices();
|
void UpdateDevices();
|
||||||
|
|
||||||
|
void UpdateWantDeterminism(bool new_want_determinism);
|
||||||
|
|
||||||
void ExecuteCommand(u32 address);
|
void ExecuteCommand(u32 address);
|
||||||
|
|
||||||
void EnqueueRequest(u32 address);
|
void EnqueueRequest(u32 address);
|
||||||
|
|
Loading…
Reference in New Issue