Added a new game option to allow the user to decide how to sort sets in filter and award section (by sector, by name or by release date).
This commit is contained in:
@@ -1342,6 +1342,10 @@ Enable Prefetching=Habilitar captura previa
|
||||
#Juego:
|
||||
Game=Juego
|
||||
Interface Options=Opciones de Interfaz
|
||||
Sort sets by=Solicitar ediciones por
|
||||
Sector=Sector
|
||||
Name=Nombre
|
||||
Date=Fecha
|
||||
Language=Idioma
|
||||
Closed hand=Cartas en mano
|
||||
visible=Visible
|
||||
|
||||
@@ -870,6 +870,10 @@ Enable Prefetching=Abilita la pre-elaborazione
|
||||
#Gioco:
|
||||
Game=Gioco
|
||||
Interface Options=Opzioni dell'interfaccia
|
||||
Sort sets by=Ordina le espansioni per
|
||||
Sector=Settore
|
||||
Name=Nome
|
||||
Date=Data
|
||||
Language=linguaggio
|
||||
Closed hand=Carte in mano
|
||||
visible=Visible
|
||||
|
||||
@@ -47,6 +47,7 @@ public:
|
||||
SHOWBORDER,
|
||||
BLKBORDER,
|
||||
SHOWTOKENS,
|
||||
SORTINGSETS,
|
||||
GDVLARGEIMAGE,
|
||||
CARDPREFETCHING,
|
||||
OSD,
|
||||
@@ -274,6 +275,19 @@ private:
|
||||
static OptionASkipPhase mDef;
|
||||
};
|
||||
|
||||
class OptionASortingSets : public EnumDefinition
|
||||
{
|
||||
public:
|
||||
static EnumDefinition * getInstance()
|
||||
{
|
||||
return &mDef;
|
||||
}
|
||||
|
||||
private:
|
||||
OptionASortingSets();
|
||||
static OptionASortingSets mDef;
|
||||
};
|
||||
|
||||
class OptionWhosFirst : public EnumDefinition
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -335,6 +335,10 @@ class Constants
|
||||
GRADE_UNSUPPORTED = 4,
|
||||
GRADE_DANGEROUS = 5,
|
||||
|
||||
BY_SECTOR=0,
|
||||
BY_NAME=1,
|
||||
BY_DATE=2,
|
||||
|
||||
ASKIP_NONE=0,
|
||||
ASKIP_SAFE=1,
|
||||
ASKIP_FULL=2,
|
||||
|
||||
@@ -23,6 +23,7 @@ const string Options::optionNames[] = {
|
||||
"ShowBorder",
|
||||
"BlackBorder",
|
||||
"ShowTokens",
|
||||
"SortingSets",
|
||||
"GDVLargeImages",
|
||||
"CardPrefetching",
|
||||
"displayOSD",
|
||||
@@ -493,6 +494,11 @@ GameOption * GameOptions::get(int optionID)
|
||||
goEnum->def = OptionMaxGrade::getInstance();
|
||||
go = goEnum;
|
||||
break;
|
||||
case Options::SORTINGSETS:
|
||||
goEnum = NEW GameOptionEnum();
|
||||
goEnum->def = OptionASortingSets::getInstance();
|
||||
go = goEnum;
|
||||
break;
|
||||
case Options::ASPHASES:
|
||||
goEnum = NEW GameOptionEnum();
|
||||
goEnum->def = OptionASkipPhase::getInstance();
|
||||
@@ -960,6 +966,17 @@ OptionMaxGrade::OptionMaxGrade()
|
||||
;
|
||||
// MARK: -
|
||||
|
||||
// MARK: OptionASortingSets
|
||||
|
||||
OptionASortingSets OptionASortingSets::mDef = OptionASortingSets();
|
||||
OptionASortingSets::OptionASortingSets()
|
||||
{
|
||||
mDef.values.push_back(EnumDefinition::assoc(Constants::BY_SECTOR, "Sector"));
|
||||
mDef.values.push_back(EnumDefinition::assoc(Constants::BY_NAME, "Name"));
|
||||
mDef.values.push_back(EnumDefinition::assoc(Constants::BY_DATE, "Date"));
|
||||
}
|
||||
// MARK: -
|
||||
|
||||
// MARK: OptionASkipPhase
|
||||
|
||||
OptionASkipPhase OptionASkipPhase::mDef = OptionASkipPhase();
|
||||
|
||||
@@ -99,7 +99,12 @@ void GameStateAwards::Start()
|
||||
vector<pair<string, string> > orderedSet;
|
||||
for(int i = 0; i < setlist.size(); i++){
|
||||
sprintf(buf, "%s", setlist[i].c_str());
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getOrderIndex(), buf)); // Now sets are sorted by new Order Index tag.
|
||||
if (options[Options::SORTINGSETS].number == 2) // Now sets can be sorted by sector(orderindex) or name or release date.
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getDate(), buf));
|
||||
else if (options[Options::SORTINGSETS].number == 1)
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getName(), buf));
|
||||
else
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getOrderIndex(), buf));
|
||||
}
|
||||
sort(orderedSet.begin(),orderedSet.end());
|
||||
for (unsigned int i = 0; i < orderedSet.size(); i++)
|
||||
|
||||
@@ -73,6 +73,8 @@ void GameStateOptions::Start()
|
||||
|
||||
optionsList = NEW WGuiList("Game");
|
||||
optionsList->Add(NEW WGuiHeader("Interface Options"));
|
||||
optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::SORTINGSETS, "Sort sets by", Constants::BY_DATE, 1,
|
||||
Constants::BY_NAME, "", Constants::BY_SECTOR))); // Now sets can be sorted by sector(orderindex) or name or release date.
|
||||
optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::CLOSEDHAND, "Closed hand", 1, 1, 0)));
|
||||
optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::HANDDIRECTION, "Hand direction", 1, 1, 0)));
|
||||
optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::MANADISPLAY, "Mana display", 3, 1, 0)));
|
||||
|
||||
@@ -2221,7 +2221,12 @@ void WGuiFilterItem::updateValue()
|
||||
vector<pair<string, string> > orderedSet;
|
||||
for(int i = 0; i < setlist.size(); i++){
|
||||
if (options[Options::optionSet(i)].number == 0) continue;
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getOrderIndex(), setlist[i].c_str())); // Now sets are sorted by new Order Index tag.
|
||||
if (options[Options::SORTINGSETS].number == Constants::BY_DATE) // Now sets can be sorted by sector(orderindex) or name or release date.
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getDate(), setlist[i].c_str()));
|
||||
else if (options[Options::SORTINGSETS].number == Constants::BY_NAME)
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getName(), setlist[i].c_str()));
|
||||
else
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getOrderIndex(), setlist[i].c_str()));
|
||||
}
|
||||
sort(orderedSet.begin(),orderedSet.end());
|
||||
for (unsigned int i = 0; i < orderedSet.size(); i++){
|
||||
|
||||
Reference in New Issue
Block a user