diff -r b432c4b9cc9b -r daffc14a518a QTfrontend/team.cpp --- a/QTfrontend/team.cpp Sat Sep 24 22:27:20 2011 +0400 +++ b/QTfrontend/team.cpp Sat Sep 24 22:14:10 2011 +0200 @@ -26,111 +26,110 @@ #include "team.h" #include "hwform.h" #include "pageeditteam.h" -#include "hwconsts.h" #include "hats.h" HWTeam::HWTeam(const QString & teamname) : - difficulty(0), - numHedgehogs(4), + m_difficulty(0), + m_numHedgehogs(4), m_isNetTeam(false) { - TeamName = teamname; - OldTeamName = TeamName; - for (int i = 0; i < 8; i++) + m_name = teamname; + OldTeamName = m_name; + for (int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { - Hedgehogs[i].Name = (QLineEdit::tr("hedgehog %1").arg(i+1)); - Hedgehogs[i].Hat = "NoHat"; + m_hedgehogs[i].Name = (QLineEdit::tr("hedgehog %1").arg(i+1)); + m_hedgehogs[i].Hat = "NoHat"; } - Grave = "Statue"; - Fort = "Plane"; - Voicepack = "Default"; - Flag = "hedgewars"; + m_grave = "Statue"; + m_fort = "Plane"; + m_voicepack = "Default"; + m_flag = "hedgewars"; for(int i = 0; i < BINDS_NUMBER; i++) { binds[i].action = cbinds[i].action; binds[i].strbind = cbinds[i].strbind; } - Rounds = 0; - Wins = 0; - CampaignProgress = 0; + m_rounds = 0; + m_wins = 0; + m_campaignProgress = 0; } HWTeam::HWTeam(const QStringList& strLst) : - numHedgehogs(4), + m_numHedgehogs(4), m_isNetTeam(true) { // net teams are configured from QStringList if(strLst.size() != 23) throw HWTeamConstructException(); - TeamName = strLst[0]; - Grave = strLst[1]; - Fort = strLst[2]; - Voicepack = strLst[3]; - Flag = strLst[4]; - Owner = strLst[5]; - difficulty = strLst[6].toUInt(); - for(int i = 0; i < 8; i++) + m_name = strLst[0]; + m_grave = strLst[1]; + m_fort = strLst[2]; + m_voicepack = strLst[3]; + m_flag = strLst[4]; + m_owner = strLst[5]; + m_difficulty = strLst[6].toUInt(); + for(int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { - Hedgehogs[i].Name=strLst[i * 2 + 7]; - Hedgehogs[i].Hat=strLst[i * 2 + 8]; + m_hedgehogs[i].Name=strLst[i * 2 + 7]; + m_hedgehogs[i].Hat=strLst[i * 2 + 8]; // Somehow claymore managed an empty hat. Until we figure out how, this should avoid a repeat // Checking net teams is probably pointless, but can't hurt. - if (Hedgehogs[i].Hat.isEmpty()) Hedgehogs[i].Hat = "NoHat"; + if (m_hedgehogs[i].Hat.isEmpty()) m_hedgehogs[i].Hat = "NoHat"; } - Rounds = 0; - Wins = 0; - CampaignProgress = 0; + m_rounds = 0; + m_wins = 0; + m_campaignProgress = 0; } HWTeam::HWTeam() : - difficulty(0), - numHedgehogs(4), + m_difficulty(0), + m_numHedgehogs(4), m_isNetTeam(false) { - TeamName = QString("Team"); - for (int i = 0; i < 8; i++) + m_name = QString("Team"); + for (int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { - Hedgehogs[i].Name.sprintf("hedgehog %d", i); - Hedgehogs[i].Hat = "NoHat"; + m_hedgehogs[i].Name.sprintf("hedgehog %d", i); + m_hedgehogs[i].Hat = "NoHat"; } - Grave = QString("Simple"); // default - Fort = QString("Island"); // default - Voicepack = "Default"; - Flag = "hedgewars"; + m_grave = QString("Simple"); // default + m_fort = QString("Island"); // default + m_voicepack = "Default"; + m_flag = "hedgewars"; for(int i = 0; i < BINDS_NUMBER; i++) { binds[i].action = cbinds[i].action; binds[i].strbind = cbinds[i].strbind; } - Rounds = 0; - Wins = 0; - CampaignProgress = 0; + m_rounds = 0; + m_wins = 0; + m_campaignProgress = 0; } -bool HWTeam::LoadFromFile() +bool HWTeam::loadFromFile() { - QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".hwt", QSettings::IniFormat, 0); + QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + m_name + ".hwt", QSettings::IniFormat, 0); teamfile.setIniCodec("UTF-8"); - TeamName = teamfile.value("Team/Name", TeamName).toString(); - Grave = teamfile.value("Team/Grave", "Statue").toString(); - Fort = teamfile.value("Team/Fort", "Plane").toString(); - Voicepack = teamfile.value("Team/Voicepack", "Default").toString(); - Flag = teamfile.value("Team/Flag", "hedgewars").toString(); - difficulty = teamfile.value("Team/Difficulty", 0).toInt(); - Rounds = teamfile.value("Team/Rounds", 0).toInt(); - Wins = teamfile.value("Team/Wins", 0).toInt(); - CampaignProgress = teamfile.value("Team/CampaignProgress", 0).toInt(); - for(int i = 0; i < 8; i++) + m_name = teamfile.value("Team/Name", m_name).toString(); + m_grave = teamfile.value("Team/Grave", "Statue").toString(); + m_fort = teamfile.value("Team/Fort", "Plane").toString(); + m_voicepack = teamfile.value("Team/Voicepack", "Default").toString(); + m_flag = teamfile.value("Team/Flag", "hedgewars").toString(); + m_difficulty = teamfile.value("Team/Difficulty", 0).toInt(); + m_rounds = teamfile.value("Team/Rounds", 0).toInt(); + m_wins = teamfile.value("Team/Wins", 0).toInt(); + m_campaignProgress = teamfile.value("Team/CampaignProgress", 0).toInt(); + for(int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { QString hh = QString("Hedgehog%1/").arg(i); - Hedgehogs[i].Name = teamfile.value(hh + "Name", QString("hedgehog %1").arg(i+1)).toString(); - Hedgehogs[i].Hat = teamfile.value(hh + "Hat", "NoHat").toString(); - Hedgehogs[i].Rounds = teamfile.value(hh + "Rounds", 0).toInt(); - Hedgehogs[i].Kills = teamfile.value(hh + "Kills", 0).toInt(); - Hedgehogs[i].Deaths = teamfile.value(hh + "Deaths", 0).toInt(); - Hedgehogs[i].Suicides = teamfile.value(hh + "Suicides", 0).toInt(); + m_hedgehogs[i].Name = teamfile.value(hh + "Name", QString("hedgehog %1").arg(i+1)).toString(); + m_hedgehogs[i].Hat = teamfile.value(hh + "Hat", "NoHat").toString(); + m_hedgehogs[i].Rounds = teamfile.value(hh + "Rounds", 0).toInt(); + m_hedgehogs[i].Kills = teamfile.value(hh + "Kills", 0).toInt(); + m_hedgehogs[i].Deaths = teamfile.value(hh + "Deaths", 0).toInt(); + m_hedgehogs[i].Suicides = teamfile.value(hh + "Suicides", 0).toInt(); } for(int i = 0; i < BINDS_NUMBER; i++) binds[i].strbind = teamfile.value(QString("Binds/%1").arg(binds[i].action), cbinds[i].strbind).toString(); @@ -142,49 +141,49 @@ return true; } -bool HWTeam::FileExists() +bool HWTeam::fileExists() { - QFile f(cfgdir->absolutePath() + "/Teams/" + TeamName + ".hwt"); + QFile f(cfgdir->absolutePath() + "/Teams/" + m_name + ".hwt"); return f.exists(); } -bool HWTeam::DeleteFile() +bool HWTeam::deleteFile() { if(m_isNetTeam) return false; - QFile cfgfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".hwt"); + QFile cfgfile(cfgdir->absolutePath() + "/Teams/" + m_name + ".hwt"); cfgfile.remove(); return true; } -bool HWTeam::SaveToFile() +bool HWTeam::saveToFile() { - if (OldTeamName != TeamName) + if (OldTeamName != m_name) { QFile cfgfile(cfgdir->absolutePath() + "/Teams/" + OldTeamName + ".hwt"); cfgfile.remove(); - OldTeamName = TeamName; + OldTeamName = m_name; } - QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + TeamName + ".hwt", QSettings::IniFormat, 0); + QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + m_name + ".hwt", QSettings::IniFormat, 0); teamfile.setIniCodec("UTF-8"); - teamfile.setValue("Team/Name", TeamName); - teamfile.setValue("Team/Grave", Grave); - teamfile.setValue("Team/Fort", Fort); - teamfile.setValue("Team/Voicepack", Voicepack); - teamfile.setValue("Team/Flag", Flag); - teamfile.setValue("Team/Difficulty", difficulty); - teamfile.setValue("Team/Rounds", Rounds); - teamfile.setValue("Team/Wins", Wins); - teamfile.setValue("Team/CampaignProgress", CampaignProgress); - for(int i = 0; i < 8; i++) + teamfile.setValue("Team/Name", m_name); + teamfile.setValue("Team/Grave", m_grave); + teamfile.setValue("Team/Fort", m_fort); + teamfile.setValue("Team/Voicepack", m_voicepack); + teamfile.setValue("Team/Flag", m_flag); + teamfile.setValue("Team/Difficulty", m_difficulty); + teamfile.setValue("Team/Rounds", m_rounds); + teamfile.setValue("Team/Wins", m_wins); + teamfile.setValue("Team/CampaignProgress", m_campaignProgress); + for(int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { QString hh = QString("Hedgehog%1/").arg(i); - teamfile.setValue(hh + "Name", Hedgehogs[i].Name); - teamfile.setValue(hh + "Hat", Hedgehogs[i].Hat); - teamfile.setValue(hh + "Rounds", Hedgehogs[i].Rounds); - teamfile.setValue(hh + "Kills", Hedgehogs[i].Kills); - teamfile.setValue(hh + "Deaths", Hedgehogs[i].Deaths); - teamfile.setValue(hh + "Suicides", Hedgehogs[i].Suicides); + teamfile.setValue(hh + "Name", m_hedgehogs[i].Name); + teamfile.setValue(hh + "Hat", m_hedgehogs[i].Hat); + teamfile.setValue(hh + "Rounds", m_hedgehogs[i].Rounds); + teamfile.setValue(hh + "Kills", m_hedgehogs[i].Kills); + teamfile.setValue(hh + "Deaths", m_hedgehogs[i].Deaths); + teamfile.setValue(hh + "Suicides", m_hedgehogs[i].Suicides); } for(int i = 0; i < BINDS_NUMBER; i++) teamfile.setValue(QString("Binds/%1").arg(binds[i].action), binds[i].strbind); @@ -198,21 +197,21 @@ void HWTeam::SetToPage(HWForm * hwform) { - hwform->ui.pageEditTeam->TeamNameEdit->setText(TeamName); - hwform->ui.pageEditTeam->CBTeamLvl->setCurrentIndex(difficulty); - for(int i = 0; i < 8; i++) + hwform->ui.pageEditTeam->TeamNameEdit->setText(m_name); + hwform->ui.pageEditTeam->CBTeamLvl->setCurrentIndex(m_difficulty); + for(int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { - hwform->ui.pageEditTeam->HHNameEdit[i]->setText(Hedgehogs[i].Name); - if (Hedgehogs[i].Hat.startsWith("Reserved")) - hwform->ui.pageEditTeam->HHHats[i]->setCurrentIndex(hwform->ui.pageEditTeam->HHHats[i]->findData("Reserved "+Hedgehogs[i].Hat.remove(0,40), Qt::DisplayRole)); + hwform->ui.pageEditTeam->HHNameEdit[i]->setText(m_hedgehogs[i].Name); + if (m_hedgehogs[i].Hat.startsWith("Reserved")) + hwform->ui.pageEditTeam->HHHats[i]->setCurrentIndex(hwform->ui.pageEditTeam->HHHats[i]->findData("Reserved "+m_hedgehogs[i].Hat.remove(0,40), Qt::DisplayRole)); else - hwform->ui.pageEditTeam->HHHats[i]->setCurrentIndex(hwform->ui.pageEditTeam->HHHats[i]->findData(Hedgehogs[i].Hat, Qt::DisplayRole)); + hwform->ui.pageEditTeam->HHHats[i]->setCurrentIndex(hwform->ui.pageEditTeam->HHHats[i]->findData(m_hedgehogs[i].Hat, Qt::DisplayRole)); } - hwform->ui.pageEditTeam->CBGrave->setCurrentIndex(hwform->ui.pageEditTeam->CBGrave->findText(Grave)); - hwform->ui.pageEditTeam->CBFlag->setCurrentIndex(hwform->ui.pageEditTeam->CBFlag->findData(Flag)); + hwform->ui.pageEditTeam->CBGrave->setCurrentIndex(hwform->ui.pageEditTeam->CBGrave->findText(m_grave)); + hwform->ui.pageEditTeam->CBFlag->setCurrentIndex(hwform->ui.pageEditTeam->CBFlag->findData(m_flag)); - hwform->ui.pageEditTeam->CBFort->setCurrentIndex(hwform->ui.pageEditTeam->CBFort->findText(Fort)); - hwform->ui.pageEditTeam->CBVoicepack->setCurrentIndex(hwform->ui.pageEditTeam->CBVoicepack->findText(Voicepack)); + hwform->ui.pageEditTeam->CBFort->setCurrentIndex(hwform->ui.pageEditTeam->CBFort->findText(m_fort)); + hwform->ui.pageEditTeam->CBVoicepack->setCurrentIndex(hwform->ui.pageEditTeam->CBVoicepack->findText(m_voicepack)); //hwform->ui.pageEditTeam->CBFort_activated(Fort); for(int i = 0; i < BINDS_NUMBER; i++) @@ -223,55 +222,55 @@ void HWTeam::GetFromPage(HWForm * hwform) { - TeamName = hwform->ui.pageEditTeam->TeamNameEdit->text(); - difficulty = hwform->ui.pageEditTeam->CBTeamLvl->currentIndex(); - for(int i = 0; i < 8; i++) + m_name = hwform->ui.pageEditTeam->TeamNameEdit->text(); + m_difficulty = hwform->ui.pageEditTeam->CBTeamLvl->currentIndex(); + for(int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { - Hedgehogs[i].Name = hwform->ui.pageEditTeam->HHNameEdit[i]->text(); + m_hedgehogs[i].Name = hwform->ui.pageEditTeam->HHNameEdit[i]->text(); if (hwform->ui.pageEditTeam->HHHats[i]->currentText().startsWith("Reserved")) - Hedgehogs[i].Hat = "Reserved"+playerHash+hwform->ui.pageEditTeam->HHHats[i]->currentText().remove(0,9); + m_hedgehogs[i].Hat = "Reserved"+playerHash+hwform->ui.pageEditTeam->HHHats[i]->currentText().remove(0,9); else - Hedgehogs[i].Hat = hwform->ui.pageEditTeam->HHHats[i]->currentText(); + m_hedgehogs[i].Hat = hwform->ui.pageEditTeam->HHHats[i]->currentText(); } - Grave = hwform->ui.pageEditTeam->CBGrave->currentText(); - Fort = hwform->ui.pageEditTeam->CBFort->currentText(); - Voicepack = hwform->ui.pageEditTeam->CBVoicepack->currentText(); - Flag = hwform->ui.pageEditTeam->CBFlag->itemData(hwform->ui.pageEditTeam->CBFlag->currentIndex()).toString(); + m_grave = hwform->ui.pageEditTeam->CBGrave->currentText(); + m_fort = hwform->ui.pageEditTeam->CBFort->currentText(); + m_voicepack = hwform->ui.pageEditTeam->CBVoicepack->currentText(); + m_flag = hwform->ui.pageEditTeam->CBFlag->itemData(hwform->ui.pageEditTeam->CBFlag->currentIndex()).toString(); for(int i = 0; i < BINDS_NUMBER; i++) { binds[i].strbind = hwform->ui.pageEditTeam->CBBind[i]->itemData(hwform->ui.pageEditTeam->CBBind[i]->currentIndex()).toString(); } } -QStringList HWTeam::TeamGameConfig(quint32 InitHealth) const +QStringList HWTeam::teamGameConfig(quint32 InitHealth) const { QStringList sl; if (m_isNetTeam) { - sl.push_back(QString("eaddteam %3 %1 %2").arg(teamColor.rgb() & 0xffffff).arg(TeamName).arg(QString(QCryptographicHash::hash(Owner.toLatin1(), QCryptographicHash::Md5).toHex()))); + sl.push_back(QString("eaddteam %3 %1 %2").arg(m_color.rgb() & 0xffffff).arg(m_name).arg(QString(QCryptographicHash::hash(m_owner.toLatin1(), QCryptographicHash::Md5).toHex()))); sl.push_back("erdriven"); } - else sl.push_back(QString("eaddteam %3 %1 %2").arg(teamColor.rgb() & 0xffffff).arg(TeamName).arg(playerHash)); + else sl.push_back(QString("eaddteam %3 %1 %2").arg(m_color.rgb() & 0xffffff).arg(m_name).arg(playerHash)); - sl.push_back(QString("egrave " + Grave)); - sl.push_back(QString("efort " + Fort)); - sl.push_back(QString("evoicepack " + Voicepack)); - sl.push_back(QString("eflag " + Flag)); + sl.push_back(QString("egrave " + m_grave)); + sl.push_back(QString("efort " + m_fort)); + sl.push_back(QString("evoicepack " + m_voicepack)); + sl.push_back(QString("eflag " + m_flag)); if (!m_isNetTeam) for(int i = 0; i < BINDS_NUMBER; i++) if(!binds[i].strbind.isEmpty()) sl.push_back(QString("ebind " + binds[i].strbind + " " + binds[i].action)); - for (int t = 0; t < numHedgehogs; t++) + for (int t = 0; t < m_numHedgehogs; t++) { sl.push_back(QString("eaddhh %1 %2 %3") - .arg(QString::number(difficulty), + .arg(QString::number(m_difficulty), QString::number(InitHealth), - Hedgehogs[t].Name)); + m_hedgehogs[t].Name)); sl.push_back(QString("ehat %1") - .arg(Hedgehogs[t].Hat)); + .arg(m_hedgehogs[t].Hat)); } return sl; } @@ -283,11 +282,67 @@ bool HWTeam::operator==(const HWTeam& t1) const { - return TeamName==t1.TeamName; + return m_name==t1.m_name; } bool HWTeam::operator<(const HWTeam& t1) const { - return TeamName