mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-03 07:52:31 +00:00
Patch is enabled only when game version matches patch version (#3336)
Removed redundancies from CheatsPatches::onSaveButtonClicked()
This commit is contained in:
parent
968cfe1180
commit
d286631798
@ -389,61 +389,41 @@ void CheatsPatches::onSaveButtonClicked() {
|
|||||||
xmlWriter.writeStartElement(xmlReader.name().toString());
|
xmlWriter.writeStartElement(xmlReader.name().toString());
|
||||||
|
|
||||||
QString name = xmlReader.attributes().value("Name").toString();
|
QString name = xmlReader.attributes().value("Name").toString();
|
||||||
|
QString version = xmlReader.attributes().value("AppVer").toString();
|
||||||
|
|
||||||
|
bool versionMatch = version == m_gameVersion;
|
||||||
bool isEnabled = false;
|
bool isEnabled = false;
|
||||||
bool hasIsEnabled = false;
|
|
||||||
bool foundPatchInfo = false;
|
bool foundPatchInfo = false;
|
||||||
|
|
||||||
// Check and update the isEnabled attribute
|
// Check and update the isEnabled attribute
|
||||||
for (const QXmlStreamAttribute& attr : xmlReader.attributes()) {
|
for (const QXmlStreamAttribute& attr : xmlReader.attributes()) {
|
||||||
if (attr.name() == QStringLiteral("isEnabled")) {
|
if (attr.name() == QStringLiteral("isEnabled"))
|
||||||
hasIsEnabled = true;
|
continue;
|
||||||
auto it = m_patchInfos.find(name);
|
xmlWriter.writeAttribute(attr.name().toString(), attr.value().toString());
|
||||||
if (it != m_patchInfos.end()) {
|
|
||||||
QCheckBox* checkBox = findCheckBoxByName(it->name);
|
|
||||||
if (checkBox) {
|
|
||||||
foundPatchInfo = true;
|
|
||||||
isEnabled = checkBox->isChecked();
|
|
||||||
xmlWriter.writeAttribute("isEnabled", isEnabled ? "true" : "false");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!foundPatchInfo) {
|
|
||||||
auto maskIt = m_patchInfos.find(name + " (any version)");
|
|
||||||
if (maskIt != m_patchInfos.end()) {
|
|
||||||
QCheckBox* checkBox = findCheckBoxByName(maskIt->name);
|
|
||||||
if (checkBox) {
|
|
||||||
foundPatchInfo = true;
|
|
||||||
isEnabled = checkBox->isChecked();
|
|
||||||
xmlWriter.writeAttribute("isEnabled",
|
|
||||||
isEnabled ? "true" : "false");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
xmlWriter.writeAttribute(attr.name().toString(), attr.value().toString());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hasIsEnabled) {
|
auto it = m_patchInfos.find(name);
|
||||||
auto it = m_patchInfos.find(name);
|
if (it != m_patchInfos.end()) {
|
||||||
if (it != m_patchInfos.end()) {
|
QCheckBox* checkBox = findCheckBoxByName(it->name);
|
||||||
QCheckBox* checkBox = findCheckBoxByName(it->name);
|
if (checkBox) {
|
||||||
|
foundPatchInfo = true;
|
||||||
|
isEnabled = checkBox->isChecked();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!foundPatchInfo) {
|
||||||
|
auto maskIt = m_patchInfos.find(name + " (any version)");
|
||||||
|
if (maskIt != m_patchInfos.end()) {
|
||||||
|
QCheckBox* checkBox = findCheckBoxByName(maskIt->name);
|
||||||
if (checkBox) {
|
if (checkBox) {
|
||||||
|
versionMatch = true;
|
||||||
foundPatchInfo = true;
|
foundPatchInfo = true;
|
||||||
isEnabled = checkBox->isChecked();
|
isEnabled = checkBox->isChecked();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!foundPatchInfo) {
|
}
|
||||||
auto maskIt = m_patchInfos.find(name + " (any version)");
|
if (foundPatchInfo) {
|
||||||
if (maskIt != m_patchInfos.end()) {
|
xmlWriter.writeAttribute("isEnabled",
|
||||||
QCheckBox* checkBox = findCheckBoxByName(maskIt->name);
|
(isEnabled && versionMatch) ? "true" : "false");
|
||||||
if (checkBox) {
|
|
||||||
foundPatchInfo = true;
|
|
||||||
isEnabled = checkBox->isChecked();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
xmlWriter.writeAttribute("isEnabled", isEnabled ? "true" : "false");
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
xmlWriter.writeStartElement(xmlReader.name().toString());
|
xmlWriter.writeStartElement(xmlReader.name().toString());
|
||||||
|
Loading…
Reference in New Issue
Block a user