QTfrontend/gamecfgwidget.cpp
changeset 1797 fedd8649fdd9
parent 1784 dfe9bafb4590
child 1802 dd148e2506e2
equal deleted inserted replaced
1796:4bcdf0bf58b8 1797:fedd8649fdd9
    60 	GBoxOptionsLayout->addWidget(CB_border, 3, 0, 1, 2);
    60 	GBoxOptionsLayout->addWidget(CB_border, 3, 0, 1, 2);
    61 
    61 
    62 	L_TurnTime = new QLabel(QLabel::tr("Turn time"), GBoxOptions);
    62 	L_TurnTime = new QLabel(QLabel::tr("Turn time"), GBoxOptions);
    63 	L_InitHealth = new QLabel(QLabel::tr("Initial health"), GBoxOptions);
    63 	L_InitHealth = new QLabel(QLabel::tr("Initial health"), GBoxOptions);
    64 	L_SuddenDeath = new QLabel(QLabel::tr("Turns before SD"), GBoxOptions);
    64 	L_SuddenDeath = new QLabel(QLabel::tr("Turns before SD"), GBoxOptions);
    65 	L_CaseProb = new QLabel(QLabel::tr("Bonus factor"), GBoxOptions);
    65 	L_CaseProb = new QLabel(QLabel::tr("Crate drops"), GBoxOptions);
    66 	GBoxOptionsLayout->addWidget(L_TurnTime, 4, 0);
    66 	GBoxOptionsLayout->addWidget(L_TurnTime, 4, 0);
    67 	GBoxOptionsLayout->addWidget(L_InitHealth, 5, 0);
    67 	GBoxOptionsLayout->addWidget(L_InitHealth, 5, 0);
    68 	GBoxOptionsLayout->addWidget(L_SuddenDeath, 6, 0);
    68 	GBoxOptionsLayout->addWidget(L_SuddenDeath, 6, 0);
    69 	GBoxOptionsLayout->addWidget(L_CaseProb, 7, 0);
    69 	GBoxOptionsLayout->addWidget(L_CaseProb, 7, 0);
    70 	GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Weapons"), GBoxOptions), 8, 0);
    70 	GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Weapons"), GBoxOptions), 8, 0);
       
    71 	GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Generated Map Filter"), GBoxOptions), 9, 0);
    71 
    72 
    72 	SB_TurnTime = new QSpinBox(GBoxOptions);
    73 	SB_TurnTime = new QSpinBox(GBoxOptions);
    73 	SB_TurnTime->setRange(1, 99);
    74 	SB_TurnTime->setRange(1, 99);
    74 	SB_TurnTime->setValue(45);
    75 	SB_TurnTime->setValue(45);
    75 	SB_TurnTime->setSingleStep(15);
    76 	SB_TurnTime->setSingleStep(15);
    93 	GBoxOptionsLayout->addWidget(SB_SuddenDeath, 6, 1);
    94 	GBoxOptionsLayout->addWidget(SB_SuddenDeath, 6, 1);
    94 	GBoxOptionsLayout->addWidget(SB_CaseProb, 7, 1);
    95 	GBoxOptionsLayout->addWidget(SB_CaseProb, 7, 1);
    95 	
    96 	
    96 	WeaponsName = new QComboBox(GBoxOptions);
    97 	WeaponsName = new QComboBox(GBoxOptions);
    97 	GBoxOptionsLayout->addWidget(WeaponsName, 8, 1);
    98 	GBoxOptionsLayout->addWidget(WeaponsName, 8, 1);
       
    99 
       
   100 	CB_TemplateFilter = new QComboBox(GBoxOptions);
       
   101     CB_TemplateFilter->addItem(tr("All"), 0);
       
   102     CB_TemplateFilter->addItem(tr("Small"), 1);
       
   103     CB_TemplateFilter->addItem(tr("Medium"), 2);
       
   104     CB_TemplateFilter->addItem(tr("Large"), 3);
       
   105     CB_TemplateFilter->addItem(tr("Cavern"), 4);
       
   106     CB_TemplateFilter->addItem(tr("Wacky"), 5);
       
   107 	GBoxOptionsLayout->addWidget(CB_TemplateFilter, 9, 1);
    98 
   108 
    99 	connect(SB_InitHealth, SIGNAL(valueChanged(int)), this, SIGNAL(initHealthChanged(int)));
   109 	connect(SB_InitHealth, SIGNAL(valueChanged(int)), this, SIGNAL(initHealthChanged(int)));
   100 	connect(SB_TurnTime, SIGNAL(valueChanged(int)), this, SIGNAL(turnTimeChanged(int)));
   110 	connect(SB_TurnTime, SIGNAL(valueChanged(int)), this, SIGNAL(turnTimeChanged(int)));
   101 	connect(SB_SuddenDeath, SIGNAL(valueChanged(int)), this, SIGNAL(suddenDeathTurnsChanged(int)));
   111 	connect(SB_SuddenDeath, SIGNAL(valueChanged(int)), this, SIGNAL(suddenDeathTurnsChanged(int)));
   102 	connect(SB_CaseProb, SIGNAL(valueChanged(int)), this, SIGNAL(caseProbabilityChanged(int)));
   112 	connect(SB_CaseProb, SIGNAL(valueChanged(int)), this, SIGNAL(caseProbabilityChanged(int)));
   103 	connect(CB_mode_Forts, SIGNAL(toggled(bool)), this, SIGNAL(fortsModeChanged(bool)));
   113 	connect(CB_mode_Forts, SIGNAL(toggled(bool)), this, SIGNAL(fortsModeChanged(bool)));
   104 	connect(CB_teamsDivide, SIGNAL(toggled(bool)), this, SIGNAL(teamsDivideChanged(bool)));
   114 	connect(CB_teamsDivide, SIGNAL(toggled(bool)), this, SIGNAL(teamsDivideChanged(bool)));
   105 	connect(CB_solid, SIGNAL(toggled(bool)), this, SIGNAL(solidChanged(bool)));
   115 	connect(CB_solid, SIGNAL(toggled(bool)), this, SIGNAL(solidChanged(bool)));
   106 	connect(CB_border, SIGNAL(toggled(bool)), this, SIGNAL(borderChanged(bool)));
   116 	connect(CB_border, SIGNAL(toggled(bool)), this, SIGNAL(borderChanged(bool)));
   107 	connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int)));
   117 	connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int)));
       
   118 	connect(CB_TemplateFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(templateFilterChanged(int)));
       
   119 	connect(CB_TemplateFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(templateFilterChanged(int)));
   108 
   120 
   109 	connect(pMapContainer, SIGNAL(seedChanged(const QString &)), this, SIGNAL(seedChanged(const QString &)));
   121 	connect(pMapContainer, SIGNAL(seedChanged(const QString &)), this, SIGNAL(seedChanged(const QString &)));
   110 	connect(pMapContainer, SIGNAL(mapChanged(const QString &)), this, SIGNAL(mapChanged(const QString &)));
   122 	connect(pMapContainer, SIGNAL(mapChanged(const QString &)), this, SIGNAL(mapChanged(const QString &)));
   111 	connect(pMapContainer, SIGNAL(themeChanged(const QString &)), this, SIGNAL(themeChanged(const QString &)));
   123 	connect(pMapContainer, SIGNAL(themeChanged(const QString &)), this, SIGNAL(themeChanged(const QString &)));
   112 }
   124 }
   160 quint32 GameCFGWidget::getCaseProbability() const
   172 quint32 GameCFGWidget::getCaseProbability() const
   161 {
   173 {
   162 	return SB_CaseProb->value();
   174 	return SB_CaseProb->value();
   163 }
   175 }
   164 
   176 
       
   177 quint32 GameCFGWidget::getTemplateFilter() const
       
   178 {
       
   179 	return CB_TemplateFilter->itemData(CB_TemplateFilter->currentIndex()).toInt();
       
   180 }
       
   181 
   165 QStringList GameCFGWidget::getFullConfig() const
   182 QStringList GameCFGWidget::getFullConfig() const
   166 {
   183 {
   167 	QStringList sl;
   184 	QStringList sl;
   168 	sl.append("eseed " + getCurrentSeed());
   185 	sl.append("eseed " + getCurrentSeed());
   169 	sl.append(QString("e$gmflags %1").arg(getGameFlags()));
   186 	sl.append(QString("e$gmflags %1").arg(getGameFlags()));
   170 	sl.append(QString("e$turntime %1").arg(getTurnTime() * 1000));
   187 	sl.append(QString("e$turntime %1").arg(getTurnTime() * 1000));
   171 	sl.append(QString("e$sd_turns %1").arg(getSuddenDeathTurns()));
   188 	sl.append(QString("e$sd_turns %1").arg(getSuddenDeathTurns()));
   172 	sl.append(QString("e$casefreq %1").arg(getCaseProbability()));
   189 	sl.append(QString("e$casefreq %1").arg(getCaseProbability()));
       
   190 	sl.append(QString("e$template_filter %1").arg(getTemplateFilter()));
   173 
   191 
   174 	QString currentMap = getCurrentMap();
   192 	QString currentMap = getCurrentMap();
   175 	if (currentMap.size() > 0)
   193 	if (currentMap.size() > 0)
   176 		sl.append("emap " + currentMap);
   194 		sl.append("emap " + currentMap);
   177 	sl.append("etheme " + getCurrentTheme());
   195 	sl.append("etheme " + getCurrentTheme());
   246 		WeaponsName->setItemData(pos, ammo);
   264 		WeaponsName->setItemData(pos, ammo);
   247 		WeaponsName->setCurrentIndex(pos);
   265 		WeaponsName->setCurrentIndex(pos);
   248 	}
   266 	}
   249 }
   267 }
   250 
   268 
       
   269 void GameCFGWidget::setTemplateFilter(int filter)
       
   270 {
       
   271 	CB_TemplateFilter->setCurrentIndex(filter);
       
   272 }
       
   273 
       
   274 void GameCFGWidget::templateFilterChanged(int filter)
       
   275 {
       
   276 	pMapContainer->setTemplateFilter(filter);
       
   277 	emit newTemplateFilter(filter);
       
   278 }
       
   279 
   251 void GameCFGWidget::ammoChanged(int index)
   280 void GameCFGWidget::ammoChanged(int index)
   252 {
   281 {
   253 	if (index >= 0)
   282 	if (index >= 0)
   254 		emit newWeaponScheme(WeaponsName->itemText(index), WeaponsName->itemData(index).toString());
   283 		emit newWeaponScheme(WeaponsName->itemText(index), WeaponsName->itemData(index).toString());
   255 }
   284 }