mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-10 03:27:42 +01:00
DolphinAnalytics/WiimoteEmu: Remove now-irrelevant game quirk check.
This commit is contained in:
parent
59d25aceb6
commit
7a37d015b7
@ -137,8 +137,7 @@ void DolphinAnalytics::ReportGameStart()
|
||||
}
|
||||
|
||||
// Keep in sync with enum class GameQuirk definition.
|
||||
constexpr std::array<const char*, 34> GAME_QUIRKS_NAMES{
|
||||
"directly-reads-wiimote-input",
|
||||
constexpr std::array GAME_QUIRKS_NAMES{
|
||||
"uses-DVDLowStopLaser",
|
||||
"uses-DVDLowOffset",
|
||||
"uses-DVDLowReadDiskBca",
|
||||
|
@ -4,7 +4,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <array>
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
@ -21,10 +20,6 @@
|
||||
|
||||
enum class GameQuirk
|
||||
{
|
||||
// The Wii remote hardware makes it possible to bypass normal data reporting and directly
|
||||
// "read" extension or IR data. This would break our current TAS/NetPlay implementation.
|
||||
DIRECTLY_READS_WIIMOTE_INPUT = 0,
|
||||
|
||||
// Several Wii DI commands that are rarely/never used and not implemented by Dolphin
|
||||
USES_DVD_LOW_STOP_LASER,
|
||||
USES_DVD_LOW_OFFSET,
|
||||
|
@ -4,22 +4,19 @@
|
||||
#include "Core/HW/WiimoteEmu/WiimoteEmu.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <fstream>
|
||||
#include <iterator>
|
||||
|
||||
#include "Common/BitUtils.h"
|
||||
#include "Common/ChunkFile.h"
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/EnumUtils.h"
|
||||
#include "Common/FileUtil.h"
|
||||
#include "Common/Logging/Log.h"
|
||||
#include "Common/MsgHandler.h"
|
||||
#include "Common/Swap.h"
|
||||
|
||||
#include "Core/Core.h"
|
||||
#include "Core/DolphinAnalytics.h"
|
||||
#include "Core/HW/Wiimote.h"
|
||||
#include "Core/HW/WiimoteCommon/WiimoteHid.h"
|
||||
#include "InputCommon/ControllerEmu/ControlGroup/Attachments.h"
|
||||
|
||||
namespace WiimoteEmu
|
||||
{
|
||||
@ -490,19 +487,6 @@ bool Wiimote::ProcessReadDataRequest()
|
||||
break;
|
||||
}
|
||||
|
||||
// It is possible to bypass data reporting and directly read extension input.
|
||||
// While I am not aware of any games that actually do this,
|
||||
// our NetPlay and TAS methods are completely unprepared for it.
|
||||
const bool is_reading_ext = EncryptedExtension::I2C_ADDR == m_read_request.slave_address &&
|
||||
m_read_request.address < EncryptedExtension::CONTROLLER_DATA_BYTES;
|
||||
const bool is_reading_ir =
|
||||
CameraLogic::I2C_ADDR == m_read_request.slave_address &&
|
||||
m_read_request.address < CameraLogic::REPORT_DATA_OFFSET + CameraLogic::CAMERA_DATA_BYTES &&
|
||||
m_read_request.address + m_read_request.size > CameraLogic::REPORT_DATA_OFFSET;
|
||||
|
||||
if (is_reading_ext || is_reading_ir)
|
||||
DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::DIRECTLY_READS_WIIMOTE_INPUT);
|
||||
|
||||
// Top byte of address is ignored on the bus, but it IS maintained in the read-reply.
|
||||
auto const bytes_read = m_i2c_bus.BusRead(
|
||||
m_read_request.slave_address, (u8)m_read_request.address, bytes_to_read, reply.data);
|
||||
|
@ -3,19 +3,14 @@
|
||||
|
||||
#include "Core/HW/WiimoteEmu/Extension/Extension.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <cstring>
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/Inline.h"
|
||||
|
||||
#include "Core/HW/Wiimote.h"
|
||||
#include "Core/HW/WiimoteEmu/Extension/DesiredExtensionState.h"
|
||||
#include "Core/HW/WiimoteEmu/WiimoteEmu.h"
|
||||
|
||||
#include "Common/Logging/Log.h"
|
||||
|
||||
namespace WiimoteEmu
|
||||
{
|
||||
Extension::Extension(const char* name) : Extension(name, name)
|
||||
@ -91,11 +86,9 @@ int EncryptedExtension::BusRead(u8 slave_addr, u8 addr, int count, u8* data_out)
|
||||
if (I2C_ADDR != slave_addr)
|
||||
return 0;
|
||||
|
||||
if (0x00 == addr)
|
||||
if (offsetof(Register, controller_data) == addr)
|
||||
{
|
||||
// This is where real hardware would update controller data
|
||||
// We do it in Update() for TAS determinism
|
||||
// TAS code fails to sync data reads and such..
|
||||
}
|
||||
|
||||
auto const result = RawRead(&m_reg, addr, count, data_out);
|
||||
|
Loading…
x
Reference in New Issue
Block a user