diff --git a/Source/Core/Common/x64Emitter.cpp b/Source/Core/Common/x64Emitter.cpp index 46b117a87f..0a122e1121 100644 --- a/Source/Core/Common/x64Emitter.cpp +++ b/Source/Core/Common/x64Emitter.cpp @@ -1862,7 +1862,7 @@ void XEmitter::WriteVEXOp4(u8 opPrefix, u16 op, X64Reg regOp1, X64Reg regOp2, co Write8((u8)regOp3 << 4); } -void CheckAVXSupport() +static void CheckAVXSupport() { if (!cpu_info.bAVX) PanicAlertFmt("Trying to use AVX on a system that doesn't support it. Bad programmer."); diff --git a/Source/Core/DolphinQt/Config/GameConfigEdit.cpp b/Source/Core/DolphinQt/Config/GameConfigEdit.cpp index 8c93f84263..3c49fcae05 100644 --- a/Source/Core/DolphinQt/Config/GameConfigEdit.cpp +++ b/Source/Core/DolphinQt/Config/GameConfigEdit.cpp @@ -257,7 +257,13 @@ void GameConfigEdit::OpenExternalEditor() if (m_read_only) return; - file.open(QIODevice::WriteOnly); + if (!file.open(QIODevice::WriteOnly)) + { + ModalMessageBox::warning(this, tr("Error"), + tr("Failed to create the configuration file:\n%1").arg(m_path)); + return; + } + file.close(); } diff --git a/Source/Core/DolphinQt/Settings/OnScreenDisplayPane.cpp b/Source/Core/DolphinQt/Settings/OnScreenDisplayPane.cpp index 7c279d4437..53f1888709 100644 --- a/Source/Core/DolphinQt/Settings/OnScreenDisplayPane.cpp +++ b/Source/Core/DolphinQt/Settings/OnScreenDisplayPane.cpp @@ -186,10 +186,6 @@ void OnScreenDisplayPane::AddDescriptions() "but the slower it will be to update." "

If unsure, leave this " "at 1000ms."); - static const char TR_LOG_RENDERTIME_DESCRIPTION[] = QT_TR_NOOP( - "Logs the render time of every frame to User/Logs/render_time.txt.

Use this " - "feature to measure Dolphin's performance.

If " - "unsure, leave this unchecked."); static const char TR_SHOW_NETPLAY_PING_DESCRIPTION[] = QT_TR_NOOP( "Shows the player's maximum ping while playing on " diff --git a/Source/Core/VideoCommon/Assets/MaterialAsset.cpp b/Source/Core/VideoCommon/Assets/MaterialAsset.cpp index 5f7b158334..5f5c97a9f1 100644 --- a/Source/Core/VideoCommon/Assets/MaterialAsset.cpp +++ b/Source/Core/VideoCommon/Assets/MaterialAsset.cpp @@ -222,7 +222,7 @@ bool MaterialData::FromJson(const CustomAssetLibrary::AssetID& asset_id, const picojson::object& json, MaterialData* data) { const auto parse_properties = [&](const char* name, - std::vector* properties) -> bool { + std::vector* material_properties) -> bool { const auto properties_iter = json.find(name); if (properties_iter == json.end()) { @@ -237,7 +237,7 @@ bool MaterialData::FromJson(const CustomAssetLibrary::AssetID& asset_id, } const auto& properties_array = properties_iter->second.get(); - if (!ParseMaterialProperties(asset_id, properties_array, properties)) + if (!ParseMaterialProperties(asset_id, properties_array, material_properties)) return false; return true; }; diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomPipeline.cpp b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomPipeline.cpp index d335ed4adb..aa392f0a96 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomPipeline.cpp +++ b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomPipeline.cpp @@ -31,144 +31,6 @@ bool IsBuiltInMacro(std::string_view value) return Common::Contains(built_in, value); } -std::vector GlobalConflicts(std::string_view source) -{ - std::string_view last_identifier = ""; - std::vector global_result; - u32 scope = 0; - for (u32 i = 0; i < source.size(); i++) - { - // If we're out of global scope, we don't care - // about any of the details - if (scope > 0) - { - if (source[i] == '{') - { - scope++; - } - else if (source[i] == '}') - { - scope--; - } - continue; - } - - const auto parse_identifier = [&] { - const u32 start = i; - for (; i < source.size(); i++) - { - if (!Common::IsAlpha(source[i]) && source[i] != '_' && !std::isdigit(source[i])) - break; - } - u32 end = i; - i--; // unwind - return source.substr(start, end - start); - }; - - if (Common::IsAlpha(source[i]) || source[i] == '_') - { - const std::string_view identifier = parse_identifier(); - if (IsQualifier(identifier)) - continue; - if (IsBuiltInMacro(identifier)) - continue; - last_identifier = identifier; - } - else if (source[i] == '#') - { - const auto parse_until_end_of_preprocessor = [&] { - bool continue_until_next_newline = false; - for (; i < source.size(); i++) - { - if (source[i] == '\n') - { - if (continue_until_next_newline) - continue_until_next_newline = false; - else - break; - } - else if (source[i] == '\\') - { - continue_until_next_newline = true; - } - } - }; - i++; - const std::string_view identifier = parse_identifier(); - if (identifier == "define") - { - i++; - // skip whitespace - while (source[i] == ' ') - { - i++; - } - global_result.emplace_back(parse_identifier()); - parse_until_end_of_preprocessor(); - } - else - { - parse_until_end_of_preprocessor(); - } - } - else if (source[i] == '{') - { - scope++; - } - else if (source[i] == '(') - { - // Unlikely the user will be using layouts but... - if (last_identifier == "layout") - continue; - - // Since we handle equality, we can assume the identifier - // before '(' is a function definition - global_result.emplace_back(last_identifier); - } - else if (source[i] == '=') - { - global_result.emplace_back(last_identifier); - i++; - for (; i < source.size(); i++) - { - if (source[i] == ';') - break; - } - } - else if (source[i] == '/') - { - if ((i + 1) >= source.size()) - continue; - - if (source[i + 1] == '/') - { - // Go to end of line... - for (; i < source.size(); i++) - { - if (source[i] == '\n') - break; - } - } - else if (source[i + 1] == '*') - { - // Multiline, look for first '*/' - for (; i < source.size(); i++) - { - if (source[i] == '/' && source[i - 1] == '*') - break; - } - } - } - } - - // Sort the conflicts from largest to smallest string - // this way we can ensure smaller strings that are a substring - // of the larger string are able to be replaced appropriately - std::ranges::sort(global_result, std::ranges::greater{}, - [](const std::string& s) { return s.size(); }); - return global_result; -} - } // namespace void CustomPipeline::UpdatePixelData(std::shared_ptr,