1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00

Making more detailed options when choosing AI in launcher: http://

bugs.vcmi.eu/view.php?id=2369
This commit is contained in:
Michał Kalinowski 2017-01-17 12:17:37 +01:00 committed by FeniksFire
parent 76d3c98b85
commit 4d39f652bf
10 changed files with 389 additions and 286 deletions

View File

@ -2823,10 +2823,10 @@ void VCAI::requestSent(const CPackForServer *pack, int requestID)
std::string VCAI::getBattleAIName() const std::string VCAI::getBattleAIName() const
{ {
if(settings["server"]["neutralAI"].getType() == JsonNode::DATA_STRING) if(settings["server"]["enemyAI"].getType() == JsonNode::DATA_STRING)
return settings["server"]["neutralAI"].String(); return settings["server"]["enemyAI"].String();
else else
return "StupidAI"; return "BattleAI";
} }
void VCAI::validateObject(const CGObjectInstance *obj) void VCAI::validateObject(const CGObjectInstance *obj)

View File

@ -659,7 +659,7 @@ void CPlayerInterface::battleStart(const CCreatureSet *army1, const CCreatureSet
EVENT_HANDLER_CALLED_BY_CLIENT; EVENT_HANDLER_CALLED_BY_CLIENT;
if (settings["adventure"]["quickCombat"].Bool()) if (settings["adventure"]["quickCombat"].Bool())
{ {
autofightingAI = CDynLibHandler::getNewBattleAI(settings["server"]["neutralAI"].String()); autofightingAI = CDynLibHandler::getNewBattleAI(settings["server"]["friendlyAI"].String());
autofightingAI->init(cb); autofightingAI->init(cb);
autofightingAI->battleStart(army1, army2, int3(0,0,0), hero1, hero2, side); autofightingAI->battleStart(army1, army2, int3(0,0,0), hero1, hero2, side);
isAutoFightOn = true; isAutoFightOn = true;

View File

@ -879,7 +879,7 @@ void CBattleInterface::bAutofightf()
curInt->isAutoFightOn = true; curInt->isAutoFightOn = true;
blockUI(true); blockUI(true);
auto ai = CDynLibHandler::getNewBattleAI(settings["server"]["neutralAI"].String()); auto ai = CDynLibHandler::getNewBattleAI(settings["server"]["friendlyAI"].String());
ai->init(curInt->cb); ai->init(curInt->cb);
ai->battleStart(army1, army2, int3(0,0,0), attackingHeroInstance, defendingHeroInstance, curInt->cb->battleGetMySide()); ai->battleStart(army1, army2, int3(0,0,0), attackingHeroInstance, defendingHeroInstance, curInt->cb->battleGetMySide());
curInt->autofightingAI = ai; curInt->autofightingAI = ai;

View File

@ -212,7 +212,7 @@
"type" : "object", "type" : "object",
"additionalProperties" : false, "additionalProperties" : false,
"default": {}, "default": {},
"required" : [ "server", "port", "localInformation", "playerAI", "neutralAI" ], "required" : [ "server", "port", "localInformation", "playerAI", "friendlyAI","neutralAI", "enemyAI" ],
"properties" : { "properties" : {
"server" : { "server" : {
"type":"string", "type":"string",
@ -230,9 +230,17 @@
"type" : "string", "type" : "string",
"default" : "VCAI" "default" : "VCAI"
}, },
"friendlyAI" : {
"type" : "string",
"default" : "BattleAI"
},
"neutralAI" : { "neutralAI" : {
"type" : "string", "type" : "string",
"default" : "StupidAI" "default" : "StupidAI"
},
"enemyAI" : {
"type" : "string",
"default" : "BattleAI"
} }
} }
}, },

View File

@ -1,14 +1,13 @@
#include <QApplication>
#include "StdInc.h" #include "StdInc.h"
#include "mainwindow_moc.h" #include "mainwindow_moc.h"
#include <QApplication>
#include "sdldisplayquery.h" #include "sdldisplayquery.h"
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
QApplication vcmilauncher(argc, argv);
auto displayList = getDisplays(); auto displayList = getDisplays();
QApplication a(argc, argv); MainWindow mainWindow(displayList);
MainWindow w(displayList); mainWindow.show();
w.show(); return vcmilauncher.exec();
return a.exec();
} }

View File

@ -84,5 +84,4 @@ void MainWindow::startExecutable(QString name)
QMessageBox::Ok); QMessageBox::Ok);
return; return;
} }
} }

View File

@ -11,7 +11,8 @@ class QTableWidgetItem;
class MainWindow : public QMainWindow class MainWindow : public QMainWindow
{ {
Q_OBJECT Q_OBJECT
private:
Ui::MainWindow *ui;
void load(); void load();
void startExecutable(QString name); void startExecutable(QString name);
public: public:
@ -20,7 +21,4 @@ public:
private slots: private slots:
void on_startGameButton_clicked(); void on_startGameButton_clicked();
private:
Ui::MainWindow *ui;
}; };

View File

@ -45,10 +45,14 @@ void CSettingsView::loadSettings()
ui->comboBoxFullScreen->setCurrentIndex(settings["video"]["fullscreen"].Bool()); ui->comboBoxFullScreen->setCurrentIndex(settings["video"]["fullscreen"].Bool());
ui->comboBoxShowIntro->setCurrentIndex(settings["video"]["showIntro"].Bool()); ui->comboBoxShowIntro->setCurrentIndex(settings["video"]["showIntro"].Bool());
int friendlyAIIndex = ui->comboBoxFriendlyAI->findText(QString::fromUtf8(settings["server"]["friendlyAI"].String().c_str()));
int neutralAIIndex = ui->comboBoxNeutralAI->findText(QString::fromUtf8(settings["server"]["neutralAI"].String().c_str())); int neutralAIIndex = ui->comboBoxNeutralAI->findText(QString::fromUtf8(settings["server"]["neutralAI"].String().c_str()));
int enemyAIIndex = ui->comboBoxEnemyAI->findText(QString::fromUtf8(settings["server"]["enemyAI"].String().c_str()));
int playerAIIndex = ui->comboBoxPlayerAI->findText(QString::fromUtf8(settings["server"]["playerAI"].String().c_str())); int playerAIIndex = ui->comboBoxPlayerAI->findText(QString::fromUtf8(settings["server"]["playerAI"].String().c_str()));
ui->comboBoxFriendlyAI->setCurrentIndex(friendlyAIIndex);
ui->comboBoxNeutralAI->setCurrentIndex(neutralAIIndex); ui->comboBoxNeutralAI->setCurrentIndex(neutralAIIndex);
ui->comboBoxEnemyAI->setCurrentIndex(enemyAIIndex);
ui->comboBoxPlayerAI->setCurrentIndex(playerAIIndex); ui->comboBoxPlayerAI->setCurrentIndex(playerAIIndex);
ui->spinBoxNetworkPort->setValue(settings["server"]["port"].Float()); ui->spinBoxNetworkPort->setValue(settings["server"]["port"].Float());
@ -118,12 +122,24 @@ void CSettingsView::on_comboBoxPlayerAI_currentIndexChanged(const QString &arg1)
node->String() = arg1.toUtf8().data(); node->String() = arg1.toUtf8().data();
} }
void CSettingsView::on_comboBoxFriendlyAI_currentIndexChanged(const QString & arg1)
{
Settings node = settings.write["server"]["friendlyAI"];
node->String() = arg1.toUtf8().data();
}
void CSettingsView::on_comboBoxNeutralAI_currentIndexChanged(const QString &arg1) void CSettingsView::on_comboBoxNeutralAI_currentIndexChanged(const QString &arg1)
{ {
Settings node = settings.write["server"]["neutralAI"]; Settings node = settings.write["server"]["neutralAI"];
node->String() = arg1.toUtf8().data(); node->String() = arg1.toUtf8().data();
} }
void CSettingsView::on_comboBoxEnemyAI_currentIndexChanged(const QString & arg1)
{
Settings node = settings.write["server"]["enemyAI"];
node->String() = arg1.toUtf8().data();
}
void CSettingsView::on_spinBoxNetworkPort_valueChanged(int arg1) void CSettingsView::on_spinBoxNetworkPort_valueChanged(int arg1)
{ {
Settings node = settings.write["server"]["port"]; Settings node = settings.write["server"]["port"];

View File

@ -1,5 +1,4 @@
#pragma once #pragma once
#include "../StdInc.h" #include "../StdInc.h"
namespace Ui { namespace Ui {
@ -9,7 +8,6 @@ namespace Ui {
class CSettingsView : public QWidget class CSettingsView : public QWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit CSettingsView(QWidget *parent = 0); explicit CSettingsView(QWidget *parent = 0);
~CSettingsView(); ~CSettingsView();
@ -24,8 +22,12 @@ private slots:
void on_comboBoxPlayerAI_currentIndexChanged(const QString &arg1); void on_comboBoxPlayerAI_currentIndexChanged(const QString &arg1);
void on_comboBoxFriendlyAI_currentIndexChanged(const QString &arg1);
void on_comboBoxNeutralAI_currentIndexChanged(const QString &arg1); void on_comboBoxNeutralAI_currentIndexChanged(const QString &arg1);
void on_comboBoxEnemyAI_currentIndexChanged(const QString &arg1);
void on_spinBoxNetworkPort_valueChanged(int arg1); void on_spinBoxNetworkPort_valueChanged(int arg1);
void on_plainTextEditRepos_textChanged(); void on_plainTextEditRepos_textChanged();

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>714</width> <width>738</width>
<height>429</height> <height>459</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -26,8 +26,8 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item row="10" column="1" colspan="4"> <item row="0" column="6" colspan="4">
<widget class="QLabel" name="LauncherSettings"> <widget class="QLabel" name="labelDataDirs">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
@ -35,7 +35,89 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Launcher Settings</string> <string>Data Directories</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="4">
<widget class="QLabel" name="labelVideo">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Video</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="labelResolution">
<property name="text">
<string>Resolution</string>
</property>
</widget>
</item>
<item row="3" column="9">
<widget class="QPushButton" name="openTempDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="9" column="4">
<widget class="QComboBox" name="comboBoxNeutralAI">
<item>
<property name="text">
<string>BattleAI</string>
</property>
</item>
<item>
<property name="text">
<string>StupidAI</string>
</property>
</item>
</widget>
</item>
<item row="2" column="6">
<widget class="QLabel" name="labelUserDataDir">
<property name="text">
<string>User data directory</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QLabel" name="labelEnemyAI">
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="text">
<string>Enemy AI</string>
</property>
</widget>
</item>
<item row="15" column="1" colspan="4">
<widget class="QLabel" name="labelAutoCheck">
<property name="text">
<string>Check repositories on startup</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="labelDisplayIndex">
<property name="text">
<string>Display index</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="labelShowIntro">
<property name="text">
<string>Show intro</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -52,10 +134,94 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="6"> <item row="4" column="4">
<widget class="QLabel" name="labelUserDataDir"> <widget class="QComboBox" name="comboBoxDisplayIndex">
<item>
<property name="text"> <property name="text">
<string>User data directory</string> <string>0</string>
</property>
</item>
</widget>
</item>
<item row="1" column="8">
<widget class="QPushButton" name="changeGameDataDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Change</string>
</property>
</widget>
</item>
<item row="7" column="4">
<widget class="QComboBox" name="comboBoxPlayerAI">
<item>
<property name="text">
<string>VCAI</string>
</property>
</item>
</widget>
</item>
<item row="3" column="7" colspan="2">
<widget class="QLineEdit" name="lineEditTempDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="6">
<widget class="QLabel" name="labelTempDir">
<property name="text">
<string>Log files directory</string>
</property>
</widget>
</item>
<item row="15" column="6">
<widget class="QComboBox" name="comboBoxAutoCheck">
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text">
<string>Off</string>
</property>
</item>
<item>
<property name="text">
<string>On</string>
</property>
</item>
</widget>
</item>
<item row="16" column="1" colspan="4">
<widget class="QLabel" name="labelRepositories">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Repositories</string>
</property>
</widget>
</item>
<item row="1" column="9">
<widget class="QPushButton" name="openGameDataDir">
<property name="text">
<string>Open</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -72,13 +238,122 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="8"> <item row="18" column="1" colspan="9">
<widget class="QPushButton" name="changeGameDataDir"> <widget class="QPlainTextEdit" name="plainTextEditRepos">
<property name="lineWrapMode">
<enum>QPlainTextEdit::NoWrap</enum>
</property>
<property name="plainText">
<string>http://downloads.vcmi.eu/Mods/repository.json</string>
</property>
</widget>
</item>
<item row="2" column="9">
<widget class="QPushButton" name="openUserDataDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QLabel" name="labelFriendlyAI">
<property name="minimumSize">
<size>
<width>0</width>
<height>22</height>
</size>
</property>
<property name="text">
<string>Friendly AI</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="labelPlayerAI">
<property name="text">
<string>Player AI</string>
</property>
</widget>
</item>
<item row="12" column="4">
<widget class="QComboBox" name="comboBoxEnemyAI">
<property name="editable">
<bool>false</bool>
</property>
<property name="currentText">
<string>BattleAI</string>
</property>
<item>
<property name="text">
<string>BattleAI</string>
</property>
</item>
<item>
<property name="text">
<string>StupidAI</string>
</property>
</item>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="labelFullScreen">
<property name="text">
<string>Fullscreen</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="4">
<spacer name="spacerSections">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>56</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="7">
<widget class="QLineEdit" name="lineEditGameDir">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/usr/share/vcmi</string>
</property>
</widget>
</item>
<item row="1" column="6">
<widget class="QLabel" name="labelGameDir">
<property name="text">
<string>Extra data directory</string>
</property>
</widget>
</item>
<item row="2" column="7" colspan="2">
<widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text"> <property name="text">
<string>Change</string> <string>/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
@ -100,7 +375,7 @@
</widget> </widget>
</item> </item>
<item row="6" column="1" colspan="4"> <item row="6" column="1" colspan="4">
<widget class="QLabel" name="labelAISettings"> <widget class="QLabel" name="labelAIMovingOnTheMap">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
@ -108,21 +383,44 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>AI Settings</string> <string>AI on the map</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="9"> <item row="3" column="4">
<widget class="QPushButton" name="openGameDataDir"> <widget class="QComboBox" name="comboBoxShowIntro">
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text"> <property name="text">
<string>Open</string> <string>Off</string>
</property>
</item>
<item>
<property name="text">
<string>On</string>
</property>
</item>
</widget>
</item>
<item row="14" column="1" colspan="4">
<widget class="QLabel" name="LauncherSettings">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Launcher Settings</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="6"> <item row="7" column="6">
<widget class="QLabel" name="labelGameDir"> <widget class="QLabel" name="labelNetworkPort">
<property name="text"> <property name="text">
<string>Extra data directory</string> <string>Network port</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -185,101 +483,42 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="13" column="1" colspan="4">
<widget class="QLabel" name="labelFullScreen"> <spacer name="spacerRepos">
<property name="text"> <property name="orientation">
<string>Fullscreen</string> <enum>Qt::Vertical</enum>
</property> </property>
</widget> <property name="sizeType">
</item> <enum>QSizePolicy::Fixed</enum>
<item row="14" column="1" colspan="9">
<widget class="QPlainTextEdit" name="plainTextEditRepos">
<property name="lineWrapMode">
<enum>QPlainTextEdit::NoWrap</enum>
</property> </property>
<property name="plainText"> <property name="sizeHint" stdset="0">
<string>http://downloads.vcmi.eu/Mods/repository.json</string>
</property>
</widget>
</item>
<item row="2" column="9">
<widget class="QPushButton" name="openUserDataDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="1" column="7">
<widget class="QLineEdit" name="lineEditGameDir">
<property name="minimumSize">
<size> <size>
<width>150</width> <width>20</width>
<height>0</height> <height>8</height>
</size> </size>
</property> </property>
<property name="text"> </spacer>
<string>/usr/share/vcmi</string>
</property>
</widget>
</item> </item>
<item row="8" column="4"> <item row="11" column="4">
<widget class="QComboBox" name="comboBoxNeutralAI"> <widget class="QComboBox" name="comboBoxFriendlyAI">
<item> <property name="editable">
<property name="text"> <bool>false</bool>
<string>StupidAI</string> </property>
<property name="currentText">
<string>BattleAI</string>
</property> </property>
</item>
<item> <item>
<property name="text"> <property name="text">
<string>BattleAI</string> <string>BattleAI</string>
</property> </property>
</item> </item>
</widget>
</item>
<item row="3" column="9">
<widget class="QPushButton" name="openTempDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="labelResolution">
<property name="text">
<string>Resolution</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLabel" name="labelNeutralAI">
<property name="text">
<string>Neutral AI</string>
</property>
</widget>
</item>
<item row="8" column="6">
<widget class="QLabel" name="labelEncoding">
<property name="text">
<string>Heroes III character set</string>
</property>
</widget>
</item>
<item row="7" column="4">
<widget class="QComboBox" name="comboBoxPlayerAI">
<item> <item>
<property name="text"> <property name="text">
<string>VCAI</string> <string>StupidAI</string>
</property> </property>
</item> </item>
</widget> </widget>
</item> </item>
<item row="7" column="1">
<widget class="QLabel" name="labelPlayerAI">
<property name="text">
<string>Player AI</string>
</property>
</widget>
</item>
<item row="8" column="7" colspan="3"> <item row="8" column="7" colspan="3">
<widget class="QComboBox" name="comboBoxEncoding"> <widget class="QComboBox" name="comboBoxEncoding">
<item> <item>
@ -309,154 +548,22 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="7" column="6"> <item row="8" column="1">
<widget class="QLabel" name="labelNetworkPort"> <widget class="QLabel" name="labelAIInTheBattlefield">
<property name="text">
<string>Network port</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="4">
<widget class="QLabel" name="labelVideo">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<italic>true</italic>
<bold>true</bold> <bold>true</bold>
<underline>false</underline>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Video</string> <string>AI in the battlefield</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="12" column="1" colspan="4"> <item row="9" column="5">
<widget class="QLabel" name="labelRepositories">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Repositories</string>
</property>
</widget>
</item>
<item row="3" column="6">
<widget class="QLabel" name="labelTempDir">
<property name="text">
<string>Log files directory</string>
</property>
</widget>
</item>
<item row="2" column="7" colspan="2">
<widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="7" colspan="2">
<widget class="QLineEdit" name="lineEditTempDir">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="labelShowIntro">
<property name="text">
<string>Show intro</string>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QComboBox" name="comboBoxShowIntro">
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text">
<string>Off</string>
</property>
</item>
<item>
<property name="text">
<string>On</string>
</property>
</item>
</widget>
</item>
<item row="5" column="1" colspan="4">
<spacer name="spacerSections">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>56</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="9" column="1" colspan="4">
<spacer name="spacerRepos">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="6" colspan="4">
<widget class="QLabel" name="labelDataDirs">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Data Directories</string>
</property>
</widget>
</item>
<item row="1" column="5" rowspan="3">
<spacer name="spacerColumns"> <spacer name="spacerColumns">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -472,46 +579,20 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="11" column="6"> <item row="8" column="6">
<widget class="QComboBox" name="comboBoxAutoCheck"> <widget class="QLabel" name="labelEncoding">
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text"> <property name="text">
<string>Off</string> <string>Heroes III character set</string>
</property>
</item>
<item>
<property name="text">
<string>On</string>
</property>
</item>
</widget>
</item>
<item row="11" column="1" colspan="4">
<widget class="QLabel" name="labelAutoCheck">
<property name="text">
<string>Check repositories on startup</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="9" column="1">
<widget class="QLabel" name="labelDisplayIndex"> <widget class="QLabel" name="labelNeutralAI">
<property name="text"> <property name="text">
<string>Display index</string> <string>Neutral AI</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="4">
<widget class="QComboBox" name="comboBoxDisplayIndex">
<item>
<property name="text">
<string>0</string>
</property>
</item>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>