diff --git a/Source/Core/Core/DolphinAnalytics.cpp b/Source/Core/Core/DolphinAnalytics.cpp index 8b5f9e8695..a857a074c1 100644 --- a/Source/Core/Core/DolphinAnalytics.cpp +++ b/Source/Core/Core/DolphinAnalytics.cpp @@ -141,7 +141,7 @@ void AddPlatformInformationToReportBuilder(Common::AnalyticsReportBuilder* build } } // namespace - // Under arm64, we need to call objc_msgSend to receive a struct. +// Under arm64, we need to call objc_msgSend to receive a struct. DolphinAnalytics::DolphinAnalytics() { ReloadConfig(); @@ -262,7 +262,7 @@ constexpr std::array GAME_QUIRKS_NAMES{ "invalid-texture-coordinate-component-format", "invalid-color-component-format", }; -static_assert(GAME_QUIRKS_NAMES.size() == static_cast(GameQuirk::COUNT), +static_assert(GAME_QUIRKS_NAMES.size() == static_cast(GameQuirk::Count), "Game quirks names and enum definition are out of sync."); void DolphinAnalytics::ReportGameQuirk(GameQuirk quirk) diff --git a/Source/Core/Core/DolphinAnalytics.h b/Source/Core/Core/DolphinAnalytics.h index b7d0439406..75bd8d9f88 100644 --- a/Source/Core/Core/DolphinAnalytics.h +++ b/Source/Core/Core/DolphinAnalytics.h @@ -21,86 +21,86 @@ enum class GameQuirk { // Several Wii DI commands that are rarely/never used and not implemented by Dolphin - USES_DVD_LOW_STOP_LASER, - USES_DVD_LOW_OFFSET, - USES_DVD_LOW_READ_DISK_BCA, // NSMBW known to use this - USES_DVD_LOW_REQUEST_DISC_STATUS, - USES_DVD_LOW_REQUEST_RETRY_NUMBER, - USES_DVD_LOW_SER_MEAS_CONTROL, + UsesDVDLowStopLaser, + UsesDVDLowOffset, + UsesDVDLowReadDiskBCA, // NSMBW known to use this + UsesDVDLowRequestDiscStatus, + UsesDVDLowRequestRetryNumber, + UsesDVDLowSerMeasControl, // Dolphin only implements the simple DVDLowOpenPartition, not any of the variants where some // already-read data is provided - USES_DIFFERENT_PARTITION_COMMAND, + UsesDifferentPartitionCommand, // IOS has implementations for ioctls 0x85 and 0x89 and a stub for 0x87, but // DVDLowMaskCoverInterrupt/DVDLowUnmaskCoverInterrupt/DVDLowUnmaskStatusInterrupts // are all stubbed on the PPC side so they presumably will never be used. // (DVDLowClearCoverInterrupt is used, though) - USES_DI_INTERRUPT_MASK_COMMAND, + UsesDIInterruptMaskCommand, // Some games configure a mismatched number of texture coordinates or colors between the transform // and TEV/BP stages of the rendering pipeline. Currently, Dolphin just skips over these objects // as the hardware renderers are not equipped to handle the case where the registers between // stages are mismatched. - MISMATCHED_GPU_TEXGENS_BETWEEN_XF_AND_BP, - MISMATCHED_GPU_COLORS_BETWEEN_XF_AND_BP, + MismatchedGPUTexgensBetweenXFAndBP, + MismatchedGPUColorsBetweenXFAndBP, // The WD module can be configured to operate in six different modes. // In practice, only mode 1 (DS communications) and mode 3 (AOSS access point scanning) // are used by games and the system menu respectively. - USES_UNCOMMON_WD_MODE, + UsesUncommonWDMode, - USES_WD_UNIMPLEMENTED_IOCTL, + UsesWDUnimplementedIoctl, // Some games use invalid/unknown graphics commands (see e.g. bug 10931). // These are different from unknown opcodes: it is known that a BP/CP/XF command is being used, // but the command itself is not understood. - USES_UNKNOWN_BP_COMMAND, - USES_UNKNOWN_CP_COMMAND, - USES_UNKNOWN_XF_COMMAND, + UsesUnknownBPCommand, + UsesUnknownCPCommand, + UsesUnknownXFCommand, // YAGCD and Dolphin's implementation disagree about what is valid in some cases - USES_MAYBE_INVALID_CP_COMMAND, + UsesMaybeInvalidCPCommand, // These commands are used by a few games (e.g. bug 12461), and seem to relate to perf queries. // Track them separately. - USES_CP_PERF_COMMAND, + UsesCPPerfCommand, // We don't implement all AX features yet. - USES_UNIMPLEMENTED_AX_COMMAND, - USES_AX_INITIAL_TIME_DELAY, - USES_AX_WIIMOTE_LOWPASS, - USES_AX_WIIMOTE_BIQUAD, + UsesUnimplementedAXCommand, + UsesAXInitialTimeDelay, + UsesAXWiimoteLowpass, + UsesAXWiimoteBiquad, // We don't implement XFMEM_CLIPDISABLE yet. - SETS_XF_CLIPDISABLE_BIT_0, - SETS_XF_CLIPDISABLE_BIT_1, - SETS_XF_CLIPDISABLE_BIT_2, + SetsXFClipdisableBit0, + SetsXFClipdisableBit1, + SetsXFClipdisableBit2, // Similar to the XF-BP mismatch, CP and XF might be configured with different vertex formats. // Real hardware seems to hang in this case, so games probably don't do this, but it would // be good to know if anything does it. - MISMATCHED_GPU_COLORS_BETWEEN_CP_AND_XF, - MISMATCHED_GPU_NORMALS_BETWEEN_CP_AND_XF, - MISMATCHED_GPU_TEX_COORDS_BETWEEN_CP_AND_XF, + MismatchedGPUColorsBetweenCPAndXF, + MismatchedGPUNormalsBetweenCPAndXF, + MismatchedGPUTexCoordsBetweenCPAndXF, // Both CP and XF have normally-identical matrix index information. We currently always // use the CP one in the hardware renderers and the XF one in the software renderer, // but testing is needed to find out which of these is actually used for what. - MISMATCHED_GPU_MATRIX_INDICES_BETWEEN_CP_AND_XF, + MismatchedGPUMatrixIndicesBetweenCPAndXF, // Only a few games use the Bounding Box feature. Note that every game initializes the bounding // box registers (using BPMEM_CLEARBBOX1/BPMEM_CLEARBBOX2) on startup, as part of the SDK, but // only a few read them (from PE_BBOX_LEFT etc.) - READS_BOUNDING_BOX, + ReadsBoundingBox, // A few games use invalid vertex component formats, but the two known cases (Fifa Street and // Def Jam: Fight for New York, see https://bugs.dolphin-emu.org/issues/12719) only use invalid // normal formats and lighting is disabled in those cases, so it doesn't end up mattering. // It's possible other games use invalid formats, possibly on other vertex components. - INVALID_POSITION_COMPONENT_FORMAT, - INVALID_NORMAL_COMPONENT_FORMAT, - INVALID_TEXTURE_COORDINATE_COMPONENT_FORMAT, - INVALID_COLOR_COMPONENT_FORMAT, + InvalidPositionComponentFormat, + InvalidNormalComponentFormat, + InvalidTextureCoordinateComponentFormat, + InvalidColorComponentFormat, - COUNT, + Count, }; class DolphinAnalytics @@ -186,7 +186,7 @@ private: std::vector m_performance_samples; // What quirks have already been reported about the current game. - std::array(GameQuirk::COUNT)> m_reported_quirks; + std::array(GameQuirk::Count)> m_reported_quirks; // Builder that contains all non variable data that should be sent with all // reports. diff --git a/Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp b/Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp index f82abf5d23..6beeace583 100644 --- a/Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp +++ b/Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp @@ -180,7 +180,7 @@ void AXUCode::HandleCommandList() break; case CMD_UNK_08: - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNIMPLEMENTED_AX_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesUnimplementedAXCommand); curr_idx += 10; break; // TODO: check diff --git a/Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h b/Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h index 502ab657ed..0b79c11ed1 100644 --- a/Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h +++ b/Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h @@ -536,7 +536,7 @@ void ProcessVoice(HLEAccelerator* accelerator, PB_TYPE& pb, const AXBuffers& buf if (pb.initial_time_delay.on) { // TODO - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_AX_INITIAL_TIME_DELAY); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesAXInitialTimeDelay); } #ifdef AX_WII @@ -548,12 +548,12 @@ void ProcessVoice(HLEAccelerator* accelerator, PB_TYPE& pb, const AXBuffers& buf // Only one filter at most for Wiimotes. if (pb.remote_iir.on == 2) { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_AX_WIIMOTE_BIQUAD); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesAXWiimoteBiquad); BiquadFilter(samples, count, pb.remote_iir.biquad); } else { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_AX_WIIMOTE_LOWPASS); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesAXWiimoteLowpass); LowPassFilter(samples, count, pb.remote_iir.lpf); } } diff --git a/Source/Core/Core/HW/DVD/DVDInterface.cpp b/Source/Core/Core/HW/DVD/DVDInterface.cpp index 1c6ea07aa0..410f5763a5 100644 --- a/Source/Core/Core/HW/DVD/DVDInterface.cpp +++ b/Source/Core/Core/HW/DVD/DVDInterface.cpp @@ -885,14 +885,14 @@ void DVDInterface::ExecuteCommand(ReplyType reply_type) // Wii-exclusive case DICommand::StopLaser: ERROR_LOG_FMT(DVDINTERFACE, "DVDLowStopLaser"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DVD_LOW_STOP_LASER); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDVDLowStopLaser); SetDriveError(DriveError::InvalidCommand); interrupt_type = DIInterruptType::DEINT; break; // Wii-exclusive case DICommand::Offset: ERROR_LOG_FMT(DVDINTERFACE, "DVDLowOffset"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DVD_LOW_OFFSET); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDVDLowOffset); SetDriveError(DriveError::InvalidCommand); interrupt_type = DIInterruptType::DEINT; break; @@ -900,7 +900,7 @@ void DVDInterface::ExecuteCommand(ReplyType reply_type) case DICommand::ReadBCA: { WARN_LOG_FMT(DVDINTERFACE, "DVDLowReadDiskBca - supplying dummy data to appease NSMBW"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DVD_LOW_READ_DISK_BCA); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDVDLowReadDiskBCA); // NSMBW checks that the first 0x33 bytes of the BCA are 0, then it expects a 1. // Most (all?) other games have 0x34 0's at the start of the BCA, but don't actually // read it. NSMBW doesn't care about the other 12 bytes (which contain manufacturing data?) @@ -915,14 +915,14 @@ void DVDInterface::ExecuteCommand(ReplyType reply_type) // Wii-exclusive case DICommand::RequestDiscStatus: ERROR_LOG_FMT(DVDINTERFACE, "DVDLowRequestDiscStatus"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DVD_LOW_REQUEST_DISC_STATUS); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDVDLowRequestDiscStatus); SetDriveError(DriveError::InvalidCommand); interrupt_type = DIInterruptType::DEINT; break; // Wii-exclusive case DICommand::RequestRetryNumber: ERROR_LOG_FMT(DVDINTERFACE, "DVDLowRequestRetryNumber"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DVD_LOW_REQUEST_RETRY_NUMBER); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDVDLowRequestRetryNumber); SetDriveError(DriveError::InvalidCommand); interrupt_type = DIInterruptType::DEINT; break; @@ -935,7 +935,7 @@ void DVDInterface::ExecuteCommand(ReplyType reply_type) // Wii-exclusive case DICommand::SerMeasControl: ERROR_LOG_FMT(DVDINTERFACE, "DVDLowSerMeasControl"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DVD_LOW_SER_MEAS_CONTROL); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDVDLowSerMeasControl); SetDriveError(DriveError::InvalidCommand); interrupt_type = DIInterruptType::DEINT; break; diff --git a/Source/Core/Core/IOS/DI/DI.cpp b/Source/Core/Core/IOS/DI/DI.cpp index 0f1413229f..6f4ea1f8e6 100644 --- a/Source/Core/Core/IOS/DI/DI.cpp +++ b/Source/Core/Core/IOS/DI/DI.cpp @@ -261,7 +261,7 @@ std::optional DIDevice::StartIOCtl(const IOCtlRequest& reque case DIIoctl::DVDLowMaskCoverInterrupt: INFO_LOG_FMT(IOS_DI, "DVDLowMaskCoverInterrupt"); system.GetDVDInterface().SetInterruptEnabled(DVD::DIInterruptType::CVRINT, false); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DI_INTERRUPT_MASK_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDIInterruptMaskCommand); return DIResult::Success; case DIIoctl::DVDLowClearCoverInterrupt: DEBUG_LOG_FMT(IOS_DI, "DVDLowClearCoverInterrupt"); @@ -269,7 +269,7 @@ std::optional DIDevice::StartIOCtl(const IOCtlRequest& reque return DIResult::Success; case DIIoctl::DVDLowUnmaskStatusInterrupts: INFO_LOG_FMT(IOS_DI, "DVDLowUnmaskStatusInterrupts"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DI_INTERRUPT_MASK_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDIInterruptMaskCommand); // Dummied out return DIResult::Success; case DIIoctl::DVDLowGetCoverStatus: @@ -282,7 +282,7 @@ std::optional DIDevice::StartIOCtl(const IOCtlRequest& reque case DIIoctl::DVDLowUnmaskCoverInterrupt: INFO_LOG_FMT(IOS_DI, "DVDLowUnmaskCoverInterrupt"); system.GetDVDInterface().SetInterruptEnabled(DVD::DIInterruptType::CVRINT, true); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DI_INTERRUPT_MASK_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDIInterruptMaskCommand); return DIResult::Success; case DIIoctl::DVDLowReset: { @@ -319,7 +319,7 @@ std::optional DIDevice::StartIOCtl(const IOCtlRequest& reque } case DIIoctl::DVDLowOpenPartition: ERROR_LOG_FMT(IOS_DI, "DVDLowOpenPartition as an ioctl - rejecting"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); return DIResult::SecurityError; case DIIoctl::DVDLowClosePartition: INFO_LOG_FMT(IOS_DI, "DVDLowClosePartition"); @@ -372,23 +372,23 @@ std::optional DIDevice::StartIOCtl(const IOCtlRequest& reque // Dolphin as games are unlikely to use them. case DIIoctl::DVDLowGetNoDiscOpenPartitionParams: ERROR_LOG_FMT(IOS_DI, "DVDLowGetNoDiscOpenPartitionParams as an ioctl - rejecting"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); return DIResult::SecurityError; case DIIoctl::DVDLowNoDiscOpenPartition: ERROR_LOG_FMT(IOS_DI, "DVDLowNoDiscOpenPartition as an ioctl - rejecting"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); return DIResult::SecurityError; case DIIoctl::DVDLowGetNoDiscBufferSizes: ERROR_LOG_FMT(IOS_DI, "DVDLowGetNoDiscBufferSizes as an ioctl - rejecting"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); return DIResult::SecurityError; case DIIoctl::DVDLowOpenPartitionWithTmdAndTicket: ERROR_LOG_FMT(IOS_DI, "DVDLowOpenPartitionWithTmdAndTicket as an ioctl - rejecting"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); return DIResult::SecurityError; case DIIoctl::DVDLowOpenPartitionWithTmdAndTicketView: ERROR_LOG_FMT(IOS_DI, "DVDLowOpenPartitionWithTmdAndTicketView as an ioctl - rejecting"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); return DIResult::SecurityError; case DIIoctl::DVDLowGetStatusRegister: { @@ -721,14 +721,14 @@ std::optional DIDevice::IOCtlV(const IOCtlVRequest& request) { ERROR_LOG_FMT(IOS_DI, "DVDLowOpenPartition with ticket - not implemented, ignoring ticket parameter"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); } if (request.in_vectors[2].address != 0) { ERROR_LOG_FMT( IOS_DI, "DVDLowOpenPartition with cert chain - not implemented, ignoring certs parameter"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); } const u64 partition_offset = @@ -752,26 +752,26 @@ std::optional DIDevice::IOCtlV(const IOCtlVRequest& request) } case DIIoctl::DVDLowGetNoDiscOpenPartitionParams: ERROR_LOG_FMT(IOS_DI, "DVDLowGetNoDiscOpenPartitionParams - dummied out"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); request.DumpUnknown(system, GetDeviceName(), Common::Log::LogType::IOS_DI); break; case DIIoctl::DVDLowNoDiscOpenPartition: ERROR_LOG_FMT(IOS_DI, "DVDLowNoDiscOpenPartition - dummied out"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); request.DumpUnknown(system, GetDeviceName(), Common::Log::LogType::IOS_DI); break; case DIIoctl::DVDLowGetNoDiscBufferSizes: ERROR_LOG_FMT(IOS_DI, "DVDLowGetNoDiscBufferSizes - dummied out"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); request.DumpUnknown(system, GetDeviceName(), Common::Log::LogType::IOS_DI); break; case DIIoctl::DVDLowOpenPartitionWithTmdAndTicket: ERROR_LOG_FMT(IOS_DI, "DVDLowOpenPartitionWithTmdAndTicket - not implemented"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); break; case DIIoctl::DVDLowOpenPartitionWithTmdAndTicketView: ERROR_LOG_FMT(IOS_DI, "DVDLowOpenPartitionWithTmdAndTicketView - not implemented"); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_DIFFERENT_PARTITION_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesDifferentPartitionCommand); break; default: ERROR_LOG_FMT(IOS_DI, "Unknown ioctlv {:#04x}", request.request); diff --git a/Source/Core/Core/IOS/Network/WD/Command.cpp b/Source/Core/Core/IOS/Network/WD/Command.cpp index d86ee5f39f..6da09c948b 100644 --- a/Source/Core/Core/IOS/Network/WD/Command.cpp +++ b/Source/Core/Core/IOS/Network/WD/Command.cpp @@ -198,7 +198,7 @@ std::optional NetWDCommandDevice::Open(const OpenRequest& request) if (mode != WD::Mode::DSCommunications && mode != WD::Mode::AOSSAccessPointScan) { ERROR_LOG_FMT(IOS_NET, "Unsupported WD operating mode: {}", mode); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNCOMMON_WD_MODE); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesUncommonWDMode); return IPCReply(s32(ResultCode::UnavailableCommand)); } @@ -390,7 +390,7 @@ std::optional NetWDCommandDevice::IOCtlV(const IOCtlVRequest& request) case IOCTLV_WD_CHANGE_GAMEINFO: case IOCTLV_WD_CHANGE_VTSF: default: - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_WD_UNIMPLEMENTED_IOCTL); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesWDUnimplementedIoctl); request.Dump(GetSystem(), GetDeviceName(), Common::Log::LogType::IOS_NET, Common::Log::LogLevel::LWARNING); } diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index bb910e653e..a15a9d3e88 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -783,7 +783,7 @@ static void BPWritten(PixelShaderManager& pixel_shader_manager, XFStateManager& break; } - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNKNOWN_BP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesUnknownBPCommand); WARN_LOG_FMT(VIDEO, "Unknown BP opcode: address = {:#010x} value = {:#010x}", bp.address, bp.newvalue); } diff --git a/Source/Core/VideoCommon/CPMemory.cpp b/Source/Core/VideoCommon/CPMemory.cpp index b3761ddf52..9b47a13da0 100644 --- a/Source/Core/VideoCommon/CPMemory.cpp +++ b/Source/Core/VideoCommon/CPMemory.cpp @@ -99,7 +99,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) if (!(sub_cmd == UNKNOWN_20 && value == 0)) { // All titles using libogc or the official SDK issue 0x20 with value=0 on startup - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_CP_PERF_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesCPPerfCommand); DEBUG_LOG_FMT(VIDEO, "Unknown CP command possibly relating to perf queries used: {:02x}", sub_cmd); } @@ -108,7 +108,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) case MATINDEX_A: if (sub_cmd != MATINDEX_A) { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_MAYBE_INVALID_CP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesMaybeInvalidCPCommand); WARN_LOG_FMT(VIDEO, "CP MATINDEX_A: an exact value of {:02x} was expected " "but instead a value of {:02x} was seen", @@ -121,7 +121,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) case MATINDEX_B: if (sub_cmd != MATINDEX_B) { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_MAYBE_INVALID_CP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesMaybeInvalidCPCommand); WARN_LOG_FMT(VIDEO, "CP MATINDEX_B: an exact value of {:02x} was expected " "but instead a value of {:02x} was seen", @@ -134,7 +134,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) case VCD_LO: if (sub_cmd != VCD_LO) // Stricter than YAGCD { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_MAYBE_INVALID_CP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesMaybeInvalidCPCommand); WARN_LOG_FMT(VIDEO, "CP VCD_LO: an exact value of {:02x} was expected " "but instead a value of {:02x} was seen", @@ -147,7 +147,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) case VCD_HI: if (sub_cmd != VCD_HI) // Stricter than YAGCD { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_MAYBE_INVALID_CP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesMaybeInvalidCPCommand); WARN_LOG_FMT(VIDEO, "CP VCD_HI: an exact value of {:02x} was expected " "but instead a value of {:02x} was seen", @@ -160,7 +160,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) case CP_VAT_REG_A: if ((sub_cmd - CP_VAT_REG_A) >= CP_NUM_VAT_REG) { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_MAYBE_INVALID_CP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesMaybeInvalidCPCommand); WARN_LOG_FMT(VIDEO, "CP_VAT_REG_A: Invalid VAT {}", sub_cmd - CP_VAT_REG_A); } vtx_attr[sub_cmd & CP_VAT_MASK].g0.Hex = value; @@ -169,7 +169,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) case CP_VAT_REG_B: if ((sub_cmd - CP_VAT_REG_B) >= CP_NUM_VAT_REG) { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_MAYBE_INVALID_CP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesMaybeInvalidCPCommand); WARN_LOG_FMT(VIDEO, "CP_VAT_REG_B: Invalid VAT {}", sub_cmd - CP_VAT_REG_B); } vtx_attr[sub_cmd & CP_VAT_MASK].g1.Hex = value; @@ -178,7 +178,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) case CP_VAT_REG_C: if ((sub_cmd - CP_VAT_REG_C) >= CP_NUM_VAT_REG) { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_MAYBE_INVALID_CP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesMaybeInvalidCPCommand); WARN_LOG_FMT(VIDEO, "CP_VAT_REG_C: Invalid VAT {}", sub_cmd - CP_VAT_REG_C); } vtx_attr[sub_cmd & CP_VAT_MASK].g2.Hex = value; @@ -195,7 +195,7 @@ void CPState::LoadCPReg(u8 sub_cmd, u32 value) break; default: - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNKNOWN_CP_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesUnknownCPCommand); WARN_LOG_FMT(VIDEO, "Unknown CP register {:02x} set to {:08x}", sub_cmd, value); } } diff --git a/Source/Core/VideoCommon/VertexLoaderManager.cpp b/Source/Core/VideoCommon/VertexLoaderManager.cpp index 0f44d16023..e7b2cb5df2 100644 --- a/Source/Core/VideoCommon/VertexLoaderManager.cpp +++ b/Source/Core/VideoCommon/VertexLoaderManager.cpp @@ -300,18 +300,15 @@ static void CheckCPConfiguration(int vtx_attr_group) // eventually simulate the behavior we have test cases for it. if (num_cp_colors != xfmem.invtxspec.numcolors) [[unlikely]] { - DolphinAnalytics::Instance().ReportGameQuirk( - GameQuirk::MISMATCHED_GPU_COLORS_BETWEEN_CP_AND_XF); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::MismatchedGPUColorsBetweenCPAndXF); } if (num_cp_normals != num_xf_normals) [[unlikely]] { - DolphinAnalytics::Instance().ReportGameQuirk( - GameQuirk::MISMATCHED_GPU_NORMALS_BETWEEN_CP_AND_XF); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::MismatchedGPUNormalsBetweenCPAndXF); } if (num_cp_tex_coords != xfmem.invtxspec.numtextures) [[unlikely]] { - DolphinAnalytics::Instance().ReportGameQuirk( - GameQuirk::MISMATCHED_GPU_TEX_COORDS_BETWEEN_CP_AND_XF); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::MismatchedGPUTexCoordsBetweenCPAndXF); } // Don't bail out, though; we can still render something successfully @@ -327,7 +324,7 @@ static void CheckCPConfiguration(int vtx_attr_group) g_main_cp_state.matrix_index_a.Hex, xfmem.MatrixIndexA.Hex, g_main_cp_state.matrix_index_b.Hex, xfmem.MatrixIndexB.Hex); DolphinAnalytics::Instance().ReportGameQuirk( - GameQuirk::MISMATCHED_GPU_MATRIX_INDICES_BETWEEN_CP_AND_XF); + GameQuirk::MismatchedGPUMatrixIndicesBetweenCPAndXF); } if (g_main_cp_state.vtx_attr[vtx_attr_group].g0.PosFormat >= ComponentFormat::InvalidFloat5) @@ -337,7 +334,7 @@ static void CheckCPConfiguration(int vtx_attr_group) g_main_cp_state.vtx_attr[vtx_attr_group].g0.Hex, g_main_cp_state.vtx_attr[vtx_attr_group].g1.Hex, g_main_cp_state.vtx_attr[vtx_attr_group].g2.Hex); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::INVALID_POSITION_COMPONENT_FORMAT); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::InvalidPositionComponentFormat); } if (g_main_cp_state.vtx_attr[vtx_attr_group].g0.NormalFormat >= ComponentFormat::InvalidFloat5) { @@ -346,7 +343,7 @@ static void CheckCPConfiguration(int vtx_attr_group) g_main_cp_state.vtx_attr[vtx_attr_group].g0.Hex, g_main_cp_state.vtx_attr[vtx_attr_group].g1.Hex, g_main_cp_state.vtx_attr[vtx_attr_group].g2.Hex); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::INVALID_NORMAL_COMPONENT_FORMAT); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::InvalidNormalComponentFormat); } for (size_t i = 0; i < 8; i++) { @@ -359,7 +356,7 @@ static void CheckCPConfiguration(int vtx_attr_group) g_main_cp_state.vtx_attr[vtx_attr_group].g1.Hex, g_main_cp_state.vtx_attr[vtx_attr_group].g2.Hex); DolphinAnalytics::Instance().ReportGameQuirk( - GameQuirk::INVALID_TEXTURE_COORDINATE_COMPONENT_FORMAT); + GameQuirk::InvalidTextureCoordinateComponentFormat); } } for (size_t i = 0; i < 2; i++) @@ -371,7 +368,7 @@ static void CheckCPConfiguration(int vtx_attr_group) g_main_cp_state.vtx_attr[vtx_attr_group].g0.Hex, g_main_cp_state.vtx_attr[vtx_attr_group].g1.Hex, g_main_cp_state.vtx_attr[vtx_attr_group].g2.Hex); - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::INVALID_COLOR_COMPONENT_FORMAT); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::InvalidColorComponentFormat); } } } diff --git a/Source/Core/VideoCommon/VertexManagerBase.cpp b/Source/Core/VideoCommon/VertexManagerBase.cpp index 64246df904..706ee571f8 100644 --- a/Source/Core/VideoCommon/VertexManagerBase.cpp +++ b/Source/Core/VideoCommon/VertexManagerBase.cpp @@ -459,13 +459,11 @@ void VertexManagerBase::Flush() // eventually simulate the behavior we have test cases for it. if (xfmem.numTexGen.numTexGens != bpmem.genMode.numtexgens) { - DolphinAnalytics::Instance().ReportGameQuirk( - GameQuirk::MISMATCHED_GPU_TEXGENS_BETWEEN_XF_AND_BP); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::MismatchedGPUTexgensBetweenXFAndBP); } if (xfmem.numChan.numColorChans != bpmem.genMode.numcolchans) { - DolphinAnalytics::Instance().ReportGameQuirk( - GameQuirk::MISMATCHED_GPU_COLORS_BETWEEN_XF_AND_BP); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::MismatchedGPUColorsBetweenXFAndBP); } return; diff --git a/Source/Core/VideoCommon/VideoBackendBase.cpp b/Source/Core/VideoCommon/VideoBackendBase.cpp index 73035e0e1b..88c0cf9122 100644 --- a/Source/Core/VideoCommon/VideoBackendBase.cpp +++ b/Source/Core/VideoCommon/VideoBackendBase.cpp @@ -124,7 +124,7 @@ u32 VideoBackendBase::Video_GetQueryResult(PerfQueryType type) u16 VideoBackendBase::Video_GetBoundingBox(int index) { - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::READS_BOUNDING_BOX); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::ReadsBoundingBox); if (!g_ActiveConfig.bBBoxEnable) { diff --git a/Source/Core/VideoCommon/XFStructs.cpp b/Source/Core/VideoCommon/XFStructs.cpp index 54adb0e4d3..ad6e59906b 100644 --- a/Source/Core/VideoCommon/XFStructs.cpp +++ b/Source/Core/VideoCommon/XFStructs.cpp @@ -48,11 +48,11 @@ static void XFRegWritten(Core::System& system, XFStateManager& xf_state_manager, { ClipDisable setting{.hex = value}; if (setting.disable_clipping_detection) - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SETS_XF_CLIPDISABLE_BIT_0); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SetsXFClipdisableBit0); if (setting.disable_trivial_rejection) - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SETS_XF_CLIPDISABLE_BIT_1); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SetsXFClipdisableBit1); if (setting.disable_cpoly_clipping_acceleration) - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SETS_XF_CLIPDISABLE_BIT_2); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SetsXFClipdisableBit2); break; } @@ -180,7 +180,7 @@ static void XFRegWritten(Core::System& system, XFStateManager& xf_state_manager, case 0x104d: case 0x104e: case 0x104f: - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNKNOWN_XF_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesUnknownXFCommand); DEBUG_LOG_FMT(VIDEO, "Possible Normal Mtx XF reg?: {:x}={:x}", address, value); break; @@ -191,7 +191,7 @@ static void XFRegWritten(Core::System& system, XFStateManager& xf_state_manager, case 0x1017: default: - DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNKNOWN_XF_COMMAND); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::UsesUnknownXFCommand); WARN_LOG_FMT(VIDEO, "Unknown XF Reg: {:x}={:x}", address, value); break; }