- Removed some none working cards from mtg.txt
- Added the "unofficial" grade 
- Added a system to give a grade to an entire file, avoids reading the file any further if not necessary
- Added Zeth's addons to the primitives folder, with a grade of "Unofficial"
This commit is contained in:
wagic.the.homebrew@gmail.com
2010-07-25 06:29:33 +00:00
parent 35e5b64dfd
commit c1073c83e6
5 changed files with 6802 additions and 33 deletions
+4 -3
View File
@@ -724,9 +724,10 @@ OptionMaxGrade OptionMaxGrade::mDef;
OptionMaxGrade::OptionMaxGrade(){
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_SUPPORTED, "1: 100% Supported"));
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_BORDERLINE, "0: Borderline (99% OK)"));
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_CRAPPY, "-1: Crappy (bugs)"));
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_UNSUPPORTED, "-2: Unsupported"));
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_DANGEROUS, "-3: Dangerous (risk of crash)"));
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_UNOFFICIAL, "-1: Unofficial (unverified cards)"));
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_CRAPPY, "-2: Crappy (bugs)"));
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_UNSUPPORTED, "-3: Unsupported"));
mDef.values.push_back(EnumDefinition::assoc(Constants::GRADE_DANGEROUS, "-4: Dangerous (risk of crash)"));
};
OptionClosedHand OptionClosedHand::mDef;
+17 -6
View File
@@ -22,11 +22,12 @@ using std::string;
static inline int getGrade(int v) {
switch (v) {
case 'S': case 's': return Constants::GRADE_SUPPORTED;
case 'B': case 'b': return Constants::GRADE_BORDERLINE;
case 'C': case 'c': return Constants::GRADE_CRAPPY;
case 'U': case 'u': return Constants::GRADE_UNSUPPORTED;
case 'D': case 'd': return Constants::GRADE_DANGEROUS;
case 'P': case 'p': return Constants::GRADE_SUPPORTED;
case 'R': case 'r': return Constants::GRADE_BORDERLINE;
case 'O': case 'o': return Constants::GRADE_UNOFFICIAL;
case 'A': case 'a': return Constants::GRADE_CRAPPY;
case 'S': case 's': return Constants::GRADE_UNSUPPORTED;
case 'N': case 'n': return Constants::GRADE_DANGEROUS;
}
return 0;
}
@@ -96,7 +97,7 @@ int MTGAllCards::processConfLine(string &s, MTGCard *card, CardPrimitive * primi
break;
case 'g': //grade
currentGrade = getGrade(val[0]);
if (s.size() - i - 1 > 2) currentGrade = getGrade(val[2]);
break;
case 'k': //kicker
if (!primitive) primitive = NEW CardPrimitive();
@@ -233,6 +234,16 @@ int MTGAllCards::load(const char * config_file, const char * set_name,int autolo
if (s[0] == '['){
currentGrade = Constants::GRADE_SUPPORTED; // Default value
conf_read_mode = ('m' == s[1]) ? MTGAllCards::READ_METADATA : MTGAllCards::READ_CARD; // M for metadata.
} else {
//Global grade for file, to avoid reading the entire file if unnnecessary
if (s[0]=='g' && s.size() > 8) {
int fileGrade = getGrade(s[8]);
int maxGrade = options[Options::MAX_GRADE].number;
if (!maxGrade) maxGrade = Constants::GRADE_BORDERLINE; //Default setting for grade is borderline?
if (fileGrade > maxGrade) {
return total_cards;
}
}
}
continue;
case MTGAllCards::READ_METADATA: