# HG changeset patch # User Wuzzy # Date 1507662011 -7200 # Node ID 5f68b259305c8a649ff8d39bdf9cf74d5de5c7e6 # Parent 047c5b7ec422123b455b2a016d048c8bd63143ab Mark custom forts with asterisk in team editor diff -r 047c5b7ec422 -r 5f68b259305c ChangeLog.txt --- a/ChangeLog.txt Tue Oct 10 17:39:11 2017 +0200 +++ b/ChangeLog.txt Tue Oct 10 21:00:11 2017 +0200 @@ -273,6 +273,7 @@ + Allow to randomize hog names, hats, team name, flag, grave, voice and fort separately + “Random team” button is now able to randomly select from all available hats + Creating new game/weapon schemes guarantees unique names + + Mark custom forts with asterisk in team editor * Fix flag being selectable for computer players although it had no effect * Campaign screen does no longer show AI-controlled teams * Campaign names and campaign mission names can now be translated diff -r 047c5b7ec422 -r 5f68b259305c QTfrontend/ui/page/pageeditteam.cpp --- a/QTfrontend/ui/page/pageeditteam.cpp Tue Oct 10 17:39:11 2017 +0200 +++ b/QTfrontend/ui/page/pageeditteam.cpp Tue Oct 10 21:00:11 2017 +0200 @@ -32,6 +32,7 @@ #include "HWApplication.h" #include "keybinder.h" +#include "physfs.h" #include "DataManager.h" #include "hatbutton.h" @@ -277,7 +278,7 @@ connect(btnTestSound, SIGNAL(clicked()), this, SLOT(testSound())); - connect(CBFort, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(CBFort_activated(const QString &))); + connect(CBFort, SIGNAL(currentIndexChanged(const int)), this, SLOT(CBFort_activated(const int))); } PageEditTeam::PageEditTeam(QWidget* parent) : @@ -314,8 +315,21 @@ // forts list = dataMgr.entryList("Forts", QDir::Files, QStringList("*L.png")); - list.replaceInStrings(QRegExp("L\\.png$"), ""); - CBFort->addItems(list); + foreach (QString file, list) + { + QString fortPath = PHYSFS_getRealDir(QString("Forts/%1").arg(file).toLocal8Bit().data()); + + QString fort = file.replace(QRegExp("L\\.png$"), ""); + QString fortDisplay; + + bool isDLC = !fortPath.startsWith(datadir->absolutePath()); + if (isDLC) + fortDisplay = "*" + fort; + else + fortDisplay = fort; + + CBFort->addItem(fortDisplay, fort); + } // graves @@ -389,9 +403,10 @@ HHNameEdit[idx]->setText(QLineEdit::tr("hedgehog %1").arg(idx+1)); } -void PageEditTeam::CBFort_activated(const QString & fortname) +void PageEditTeam::CBFort_activated(const int index) { - QPixmap pix("physfs://Forts/" + fortname + "L.png"); + QString fortName = CBFort->itemData(index).toString(); + QPixmap pix("physfs://Forts/" + fortName + "L.png"); FortPreview->setPixmap(pix); } @@ -559,7 +574,7 @@ CBGrave->setCurrentIndex(CBGrave->findText(team.grave())); CBFlag->setCurrentIndex(CBFlag->findData(team.flag())); - CBFort->setCurrentIndex(CBFort->findText(team.fort())); + CBFort->setCurrentIndex(CBFort->findData(team.fort())); CBVoicepack->setCurrentIndex(CBVoicepack->findText(team.voicepack())); QStandardItemModel * binds = DataManager::instance().bindsModel(); @@ -595,7 +610,7 @@ } team.setGrave(CBGrave->currentText()); - team.setFort(CBFort->currentText()); + team.setFort(CBFort->itemData(CBFort->currentIndex()).toString()); team.setVoicepack(CBVoicepack->currentText()); team.setFlag(CBFlag->itemData(CBFlag->currentIndex()).toString()); diff -r 047c5b7ec422 -r 5f68b259305c QTfrontend/ui/page/pageeditteam.h --- a/QTfrontend/ui/page/pageeditteam.h Tue Oct 10 17:39:11 2017 +0200 +++ b/QTfrontend/ui/page/pageeditteam.h Tue Oct 10 21:00:11 2017 +0200 @@ -44,7 +44,7 @@ public slots: void CBTeamLvl_activated(const int index); - void CBFort_activated(const QString & gravename); + void CBFort_activated(const int index); private: QTabWidget * tbw;