[Card] Respect disabled sets when loading v3 card databases (#6882)

This commit is contained in:
DawnFire42 2026-06-16 11:10:07 -04:00
parent 45d0cedb5c
commit 5e027adc7f
No known key found for this signature in database
GPG key ID: 24BB855EE2911B33

View file

@ -217,12 +217,16 @@ void CockatriceXml3Parser::loadCardsFromXml(QXmlStreamReader &xml)
// NOTE: attributes must be read before readElementText() // NOTE: attributes must be read before readElementText()
QXmlStreamAttributes attrs = xml.attributes(); QXmlStreamAttributes attrs = xml.attributes();
QString setName = xml.readElementText(QXmlStreamReader::IncludeChildElements); QString setName = xml.readElementText(QXmlStreamReader::IncludeChildElements);
PrintingInfo setInfo(internalAddSet(setName)); auto set = internalAddSet(setName);
// Only load printings from sets the user has enabled, matching the v4 loader's
// behaviour. Without this check, disabling a set has no effect on v3 databases.
if (set->getEnabled()) {
PrintingInfo setInfo(set);
if (attrs.hasAttribute("muId")) { if (attrs.hasAttribute("muId")) {
setInfo.setProperty("muid", attrs.value("muId").toString()); setInfo.setProperty("muid", attrs.value("muId").toString());
} }
if (attrs.hasAttribute("muId")) { if (attrs.hasAttribute("uuId")) {
setInfo.setProperty("uuid", attrs.value("uuId").toString()); setInfo.setProperty("uuid", attrs.value("uuId").toString());
} }
@ -238,6 +242,7 @@ void CockatriceXml3Parser::loadCardsFromXml(QXmlStreamReader &xml)
setInfo.setProperty("rarity", attrs.value("rarity").toString()); setInfo.setProperty("rarity", attrs.value("rarity").toString());
} }
_sets[setName].append(setInfo); _sets[setName].append(setInfo);
}
// related cards // related cards
} else if (xmlName == "related" || xmlName == "reverse-related") { } else if (xmlName == "related" || xmlName == "reverse-related") {
CardRelationType attach = CardRelationType::DoesNotAttach; CardRelationType attach = CardRelationType::DoesNotAttach;