mirror of
https://github.com/vcmi/vcmi.git
synced 2025-04-25 12:14:46 +02:00
Merge pull request #2305 from dydzio0614/unlimited-autosave
Ability to change autosave limit + set autosave prefix
This commit is contained in:
commit
07a8c75bec
@ -137,7 +137,6 @@ int main(int argc, char * argv[])
|
|||||||
("nointro,i", "skips intro movies")
|
("nointro,i", "skips intro movies")
|
||||||
("donotstartserver,d","do not attempt to start server and just connect to it instead server")
|
("donotstartserver,d","do not attempt to start server and just connect to it instead server")
|
||||||
("serverport", po::value<si64>(), "override port specified in config file")
|
("serverport", po::value<si64>(), "override port specified in config file")
|
||||||
("saveprefix", po::value<std::string>(), "prefix for auto save files")
|
|
||||||
("savefrequency", po::value<si64>(), "limit auto save creation to each N days")
|
("savefrequency", po::value<si64>(), "limit auto save creation to each N days")
|
||||||
("lobby", "parameters address, port, uuid to connect ro remote lobby session")
|
("lobby", "parameters address, port, uuid to connect ro remote lobby session")
|
||||||
("lobby-address", po::value<std::string>(), "address to remote lobby")
|
("lobby-address", po::value<std::string>(), "address to remote lobby")
|
||||||
@ -222,13 +221,6 @@ int main(int argc, char * argv[])
|
|||||||
else if(s->isNull())
|
else if(s->isNull())
|
||||||
s->Integer() = defaultValue;
|
s->Integer() = defaultValue;
|
||||||
};
|
};
|
||||||
auto setSettingString = [](std::string key, std::string arg, std::string defaultValue) {
|
|
||||||
Settings s = settings.write(vstd::split(key, "/"));
|
|
||||||
if(::vm.count(arg))
|
|
||||||
s->String() = ::vm[arg].as<std::string>();
|
|
||||||
else if(s->isNull())
|
|
||||||
s->String() = defaultValue;
|
|
||||||
};
|
|
||||||
|
|
||||||
setSettingBool("session/onlyai", "onlyAI");
|
setSettingBool("session/onlyai", "onlyAI");
|
||||||
if(vm.count("headless"))
|
if(vm.count("headless"))
|
||||||
@ -256,7 +248,6 @@ int main(int argc, char * argv[])
|
|||||||
|
|
||||||
// Init special testing settings
|
// Init special testing settings
|
||||||
setSettingInteger("session/serverport", "serverport", 0);
|
setSettingInteger("session/serverport", "serverport", 0);
|
||||||
setSettingString("session/saveprefix", "saveprefix", "");
|
|
||||||
setSettingInteger("general/saveFrequency", "savefrequency", 1);
|
setSettingInteger("general/saveFrequency", "savefrequency", 1);
|
||||||
|
|
||||||
// Initialize logging based on settings
|
// Initialize logging based on settings
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
#include "../lib/mapObjects/CGTownInstance.h"
|
#include "../lib/mapObjects/CGTownInstance.h"
|
||||||
#include "../lib/mapObjects/MiscObjects.h"
|
#include "../lib/mapObjects/MiscObjects.h"
|
||||||
#include "../lib/mapObjects/ObjectTemplate.h"
|
#include "../lib/mapObjects/ObjectTemplate.h"
|
||||||
|
#include "../lib/mapping/CMapHeader.h"
|
||||||
#include "../lib/pathfinder/CGPathNode.h"
|
#include "../lib/pathfinder/CGPathNode.h"
|
||||||
#include "../lib/CStack.h"
|
#include "../lib/CStack.h"
|
||||||
#include "../lib/JsonNode.h"
|
#include "../lib/JsonNode.h"
|
||||||
@ -192,24 +193,37 @@ void CPlayerInterface::playerStartsTurn(PlayerColor player)
|
|||||||
|
|
||||||
void CPlayerInterface::performAutosave()
|
void CPlayerInterface::performAutosave()
|
||||||
{
|
{
|
||||||
std::string prefix = settings["session"]["saveprefix"].String();
|
|
||||||
int frequency = static_cast<int>(settings["general"]["saveFrequency"].Integer());
|
int frequency = static_cast<int>(settings["general"]["saveFrequency"].Integer());
|
||||||
if(firstCall)
|
if(frequency > 0 && cb->getDate() % frequency == 0)
|
||||||
{
|
{
|
||||||
autosaveCount = getLastIndex(prefix + "Autosave_");
|
bool usePrefix = settings["general"]["useSavePrefix"].Bool();
|
||||||
|
std::string prefix = std::string();
|
||||||
|
|
||||||
if(firstCall > 0) //new game, not loaded
|
if(usePrefix)
|
||||||
{
|
{
|
||||||
int index = getLastIndex(prefix + "Newgame_");
|
prefix = settings["general"]["savePrefix"].String();
|
||||||
index %= SAVES_COUNT;
|
if(prefix.empty())
|
||||||
cb->save("Saves/" + prefix + "Newgame_Autosave_" + std::to_string(index + 1));
|
|
||||||
}
|
|
||||||
firstCall = 0;
|
|
||||||
}
|
|
||||||
else if(frequency > 0 && cb->getDate() % frequency == 0)
|
|
||||||
{
|
{
|
||||||
cb->save("Saves/" + prefix + "Autosave_" + std::to_string(autosaveCount++ + 1));
|
prefix = cb->getMapHeader()->name.substr(0, 5) + "_";
|
||||||
autosaveCount %= 5;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
autosaveCount++;
|
||||||
|
|
||||||
|
int autosaveCountLimit = settings["general"]["autosaveCountLimit"].Integer();
|
||||||
|
if(autosaveCountLimit > 0)
|
||||||
|
{
|
||||||
|
cb->save("Saves/" + prefix + "Autosave_" + std::to_string(autosaveCount));
|
||||||
|
autosaveCount %= autosaveCountLimit;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::string stringifiedDate = std::to_string(cb->getDate(Date::MONTH))
|
||||||
|
+ std::to_string(cb->getDate(Date::WEEK))
|
||||||
|
+ std::to_string(cb->getDate(Date::DAY_OF_WEEK));
|
||||||
|
|
||||||
|
cb->save("Saves/" + prefix + "Autosave_" + stringifiedDate);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,7 +235,10 @@ void CPlayerInterface::yourTurn()
|
|||||||
GH.curInt = this;
|
GH.curInt = this;
|
||||||
|
|
||||||
NotificationHandler::notify("Your turn");
|
NotificationHandler::notify("Your turn");
|
||||||
|
if(settings["general"]["startTurnAutosave"].Bool())
|
||||||
|
{
|
||||||
performAutosave();
|
performAutosave();
|
||||||
|
}
|
||||||
|
|
||||||
if (CSH->howManyPlayerInterfaces() > 1) //hot seat message
|
if (CSH->howManyPlayerInterfaces() > 1) //hot seat message
|
||||||
{
|
{
|
||||||
@ -1676,7 +1693,7 @@ void CPlayerInterface::advmapSpellCast(const CGHeroInstance * caster, int spellI
|
|||||||
CCS->soundh->playSound(castSoundPath);
|
CCS->soundh->playSound(castSoundPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerInterface::tryDiggging(const CGHeroInstance * h)
|
void CPlayerInterface::tryDigging(const CGHeroInstance * h)
|
||||||
{
|
{
|
||||||
int msgToShow = -1;
|
int msgToShow = -1;
|
||||||
|
|
||||||
|
@ -64,7 +64,6 @@ class CPlayerInterface : public CGameInterface, public IUpdateable
|
|||||||
// -1 - just loaded game; 1 - just started game; 0 otherwise
|
// -1 - just loaded game; 1 - just started game; 0 otherwise
|
||||||
int firstCall;
|
int firstCall;
|
||||||
int autosaveCount;
|
int autosaveCount;
|
||||||
static const int SAVES_COUNT = 5;
|
|
||||||
|
|
||||||
std::pair<const CCreatureSet *, const CCreatureSet *> lastBattleArmies;
|
std::pair<const CCreatureSet *, const CCreatureSet *> lastBattleArmies;
|
||||||
bool allowBattleReplay = false;
|
bool allowBattleReplay = false;
|
||||||
@ -203,9 +202,10 @@ public: // public interface for use by client via LOCPLINT access
|
|||||||
void stopMovement();
|
void stopMovement();
|
||||||
void moveHero(const CGHeroInstance *h, const CGPath& path);
|
void moveHero(const CGHeroInstance *h, const CGPath& path);
|
||||||
|
|
||||||
void tryDiggging(const CGHeroInstance *h);
|
void tryDigging(const CGHeroInstance *h);
|
||||||
void showShipyardDialogOrProblemPopup(const IShipyard *obj); //obj may be town or shipyard;
|
void showShipyardDialogOrProblemPopup(const IShipyard *obj); //obj may be town or shipyard;
|
||||||
void proposeLoadingGame();
|
void proposeLoadingGame();
|
||||||
|
void performAutosave();
|
||||||
|
|
||||||
///returns true if all events are processed internally
|
///returns true if all events are processed internally
|
||||||
bool capturedAllEvents();
|
bool capturedAllEvents();
|
||||||
@ -237,8 +237,6 @@ private:
|
|||||||
void doMoveHero(const CGHeroInstance *h, CGPath path);
|
void doMoveHero(const CGHeroInstance *h, CGPath path);
|
||||||
void setMovementStatus(bool value);
|
void setMovementStatus(bool value);
|
||||||
|
|
||||||
/// Performs autosave, if needed according to settings
|
|
||||||
void performAutosave();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Provides global access to instance of interface of currently active player
|
/// Provides global access to instance of interface of currently active player
|
||||||
|
@ -419,6 +419,12 @@ void AdventureMapInterface::hotkeyEndingTurn()
|
|||||||
|
|
||||||
LOCPLINT->makingTurn = false;
|
LOCPLINT->makingTurn = false;
|
||||||
LOCPLINT->cb->endTurn();
|
LOCPLINT->cb->endTurn();
|
||||||
|
|
||||||
|
if(!settings["general"]["startTurnAutosave"].Bool())
|
||||||
|
{
|
||||||
|
LOCPLINT->performAutosave();
|
||||||
|
}
|
||||||
|
|
||||||
mapAudio->onPlayerTurnEnded();
|
mapAudio->onPlayerTurnEnded();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ void AdventureMapShortcuts::digGrail()
|
|||||||
const CGHeroInstance *h = LOCPLINT->localState->getCurrentHero();
|
const CGHeroInstance *h = LOCPLINT->localState->getCurrentHero();
|
||||||
|
|
||||||
if(h && LOCPLINT->makingTurn)
|
if(h && LOCPLINT->makingTurn)
|
||||||
LOCPLINT->tryDiggging(h);
|
LOCPLINT->tryDigging(h);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdventureMapShortcuts::viewPuzzleMap()
|
void AdventureMapShortcuts::viewPuzzleMap()
|
||||||
|
@ -42,7 +42,7 @@ AdventureOptions::AdventureOptions()
|
|||||||
|
|
||||||
dig = std::make_shared<CButton>(Point(24, 139), "ADVDIG.DEF", CButton::tooltip(), [&](){ close(); }, EShortcut::ADVENTURE_DIG_GRAIL);
|
dig = std::make_shared<CButton>(Point(24, 139), "ADVDIG.DEF", CButton::tooltip(), [&](){ close(); }, EShortcut::ADVENTURE_DIG_GRAIL);
|
||||||
if(const CGHeroInstance *h = LOCPLINT->localState->getCurrentHero())
|
if(const CGHeroInstance *h = LOCPLINT->localState->getCurrentHero())
|
||||||
dig->addCallback(std::bind(&CPlayerInterface::tryDiggging, LOCPLINT, h));
|
dig->addCallback(std::bind(&CPlayerInterface::tryDigging, LOCPLINT, h));
|
||||||
else
|
else
|
||||||
dig->block(true);
|
dig->block(true);
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,12 @@
|
|||||||
"extraDump",
|
"extraDump",
|
||||||
"userRelativePointer",
|
"userRelativePointer",
|
||||||
"relativePointerSpeedMultiplier",
|
"relativePointerSpeedMultiplier",
|
||||||
|
"hapticFeedback",
|
||||||
"longTouchTimeMilliseconds",
|
"longTouchTimeMilliseconds",
|
||||||
"hapticFeedback"
|
"autosaveCountLimit",
|
||||||
|
"useSavePrefix",
|
||||||
|
"savePrefix",
|
||||||
|
"startTurnAutosave"
|
||||||
],
|
],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"playerName" : {
|
"playerName" : {
|
||||||
@ -106,6 +110,22 @@
|
|||||||
"hapticFeedback" : {
|
"hapticFeedback" : {
|
||||||
"type" : "boolean",
|
"type" : "boolean",
|
||||||
"default" : false
|
"default" : false
|
||||||
|
},
|
||||||
|
"autosaveCountLimit" : {
|
||||||
|
"type" : "number",
|
||||||
|
"default": 5
|
||||||
|
},
|
||||||
|
"useSavePrefix" : {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"savePrefix" : {
|
||||||
|
"type": "string",
|
||||||
|
"default": ""
|
||||||
|
},
|
||||||
|
"startTurnAutosave" : {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -102,6 +102,13 @@ void CSettingsView::loadSettings()
|
|||||||
|
|
||||||
ui->comboBoxAutoSave->setCurrentIndex(settings["general"]["saveFrequency"].Integer() > 0 ? 1 : 0);
|
ui->comboBoxAutoSave->setCurrentIndex(settings["general"]["saveFrequency"].Integer() > 0 ? 1 : 0);
|
||||||
|
|
||||||
|
ui->spinBoxAutoSaveLimit->setValue(settings["general"]["autosaveCountLimit"].Integer());
|
||||||
|
|
||||||
|
ui->checkBoxAutoSavePrefix->setChecked(settings["general"]["useSavePrefix"].Bool());
|
||||||
|
|
||||||
|
ui->lineEditAutoSavePrefix->setText(QString::fromStdString(settings["general"]["savePrefix"].String()));
|
||||||
|
ui->lineEditAutoSavePrefix->setEnabled(settings["general"]["useSavePrefix"].Bool());
|
||||||
|
|
||||||
Languages::fillLanguages(ui->comboBoxLanguage, false);
|
Languages::fillLanguages(ui->comboBoxLanguage, false);
|
||||||
|
|
||||||
std::string cursorType = settings["video"]["cursor"].String();
|
std::string cursorType = settings["video"]["cursor"].String();
|
||||||
@ -500,3 +507,25 @@ void CSettingsView::on_comboBoxAlliedPlayerAI_currentTextChanged(const QString &
|
|||||||
node->String() = arg1.toUtf8().data();
|
node->String() = arg1.toUtf8().data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSettingsView::on_checkBoxAutoSavePrefix_stateChanged(int arg1)
|
||||||
|
{
|
||||||
|
Settings node = settings.write["general"]["useSavePrefix"];
|
||||||
|
node->Bool() = arg1;
|
||||||
|
ui->lineEditAutoSavePrefix->setEnabled(arg1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSettingsView::on_spinBoxAutoSaveLimit_valueChanged(int arg1)
|
||||||
|
{
|
||||||
|
Settings node = settings.write["general"]["autosaveCountLimit"];
|
||||||
|
node->Float() = arg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSettingsView::on_lineEditAutoSavePrefix_textEdited(const QString &arg1)
|
||||||
|
{
|
||||||
|
Settings node = settings.write["general"]["savePrefix"];
|
||||||
|
node->String() = arg1.toStdString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -66,6 +66,12 @@ private slots:
|
|||||||
|
|
||||||
void on_comboBoxAlliedPlayerAI_currentTextChanged(const QString &arg1);
|
void on_comboBoxAlliedPlayerAI_currentTextChanged(const QString &arg1);
|
||||||
|
|
||||||
|
void on_checkBoxAutoSavePrefix_stateChanged(int arg1);
|
||||||
|
|
||||||
|
void on_spinBoxAutoSaveLimit_valueChanged(int arg1);
|
||||||
|
|
||||||
|
void on_lineEditAutoSavePrefix_textEdited(const QString &arg1);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::CSettingsView * ui;
|
Ui::CSettingsView * ui;
|
||||||
|
|
||||||
|
@ -42,7 +42,6 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
@ -107,26 +106,25 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>-331</y>
|
<y>0</y>
|
||||||
<width>610</width>
|
<width>610</width>
|
||||||
<height>679</height>
|
<height>790</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout" columnstretch="2,0,1,1,1">
|
<layout class="QGridLayout" name="gridLayout" columnstretch="2,0,1,1,1">
|
||||||
<item row="8" column="0">
|
<item row="18" column="0">
|
||||||
<widget class="QLabel" name="labelVideo">
|
<widget class="QLabel" name="labelArtificialIntelligence">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Video</string>
|
<string>Artificial Intelligence</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="24" column="2" colspan="3">
|
<item row="26" column="2" colspan="3">
|
||||||
<widget class="QLineEdit" name="lineEditRepositoryDefault">
|
<widget class="QLineEdit" name="lineEditRepositoryDefault">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true"/>
|
<string notr="true"/>
|
||||||
@ -136,168 +134,30 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="25" column="2" colspan="3">
|
<item row="26" column="1">
|
||||||
<widget class="QLineEdit" name="lineEditRepositoryExtra">
|
<widget class="QCheckBox" name="checkBoxRepositoryDefault">
|
||||||
<property name="text">
|
<property name="enabled">
|
||||||
<string notr="true"/>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="19" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxNeutralAI">
|
|
||||||
<property name="currentText">
|
|
||||||
<string notr="true">BattleAI</string>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">BattleAI</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">StupidAI</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0">
|
|
||||||
<widget class="QLabel" name="labelNetworkPort">
|
|
||||||
<property name="text">
|
|
||||||
<string>Network port</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="22" column="0">
|
|
||||||
<widget class="QLabel" name="labelRepositories">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Mod Repositories</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxAutoSave">
|
|
||||||
<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="21" column="0">
|
|
||||||
<widget class="QLabel" name="labelEnemyAI">
|
|
||||||
<property name="text">
|
|
||||||
<string>Enemy AI in battles</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="18" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxAlliedPlayerAI">
|
|
||||||
<property name="currentText">
|
|
||||||
<string notr="true">VCAI</string>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">VCAI</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">Nullkiller</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QLabel" name="labelTranslation">
|
|
||||||
<property name="text">
|
|
||||||
<string>Heroes III Translation</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="24" column="0">
|
|
||||||
<widget class="QLabel" name="labelRepositoryDefault">
|
|
||||||
<property name="text">
|
|
||||||
<string>Default repository</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="23" column="1" colspan="2">
|
|
||||||
<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="13" column="1" colspan="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="4">
|
|
||||||
<widget class="QPushButton" name="pushButtonTranslation">
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="checked">
|
||||||
</item>
|
<bool>true</bool>
|
||||||
<item row="14" column="0">
|
|
||||||
<widget class="QLabel" name="labelDisplayIndex">
|
|
||||||
<property name="text">
|
|
||||||
<string>Display index</string>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="15" column="1" colspan="4">
|
<item row="27" column="1">
|
||||||
<widget class="QComboBox" name="comboBoxCursorType">
|
<widget class="QCheckBox" name="checkBoxRepositoryExtra">
|
||||||
<item>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Hardware</string>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
<property name="checked">
|
||||||
<item>
|
<bool>true</bool>
|
||||||
<property name="text">
|
|
||||||
<string>Software</string>
|
|
||||||
</property>
|
</property>
|
||||||
</item>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="1" colspan="4">
|
<item row="12" column="1" colspan="4">
|
||||||
<widget class="QComboBox" name="comboBoxFullScreen">
|
<widget class="QComboBox" name="comboBoxFullScreen">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Select display mode for game
|
<string>Select display mode for game
|
||||||
@ -328,243 +188,21 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="25" column="1">
|
<item row="11" column="0">
|
||||||
<widget class="QCheckBox" name="checkBoxRepositoryExtra">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="labelLanguage">
|
|
||||||
<property name="text">
|
|
||||||
<string>VCMI Language</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="1" colspan="4">
|
|
||||||
<widget class="QSpinBox" name="spinBoxNetworkPort">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>1024</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>65535</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>3030</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="13" column="0">
|
|
||||||
<widget class="QLabel" name="labelShowIntro">
|
|
||||||
<property name="text">
|
|
||||||
<string>Show intro</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="1" colspan="3">
|
|
||||||
<widget class="QLabel" name="labelTranslationStatus">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="20" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxFriendlyAI">
|
|
||||||
<property name="editable">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="currentText">
|
|
||||||
<string notr="true">BattleAI</string>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">BattleAI</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">StupidAI</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="19" column="0">
|
|
||||||
<widget class="QLabel" name="labelNeutralAI">
|
|
||||||
<property name="text">
|
|
||||||
<string>Neutral AI in battles</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxResolution"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="labelGeneral">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>General</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="0">
|
|
||||||
<widget class="QLabel" name="labelResolution">
|
<widget class="QLabel" name="labelResolution">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Resolution</string>
|
<string>Resolution</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="24" column="1">
|
<item row="20" column="0">
|
||||||
<widget class="QCheckBox" name="checkBoxRepositoryDefault">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="17" column="0">
|
|
||||||
<widget class="QLabel" name="labelEnemyPlayerAI">
|
|
||||||
<property name="text">
|
|
||||||
<string>Adventure Map Enemies</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="0">
|
|
||||||
<widget class="QLabel" name="labelInterfaceScaling">
|
|
||||||
<property name="text">
|
|
||||||
<string>Interface Scaling</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="15" column="0">
|
|
||||||
<widget class="QLabel" name="labelCursorType">
|
|
||||||
<property name="text">
|
|
||||||
<string>Cursor</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="1" colspan="4">
|
|
||||||
<widget class="QSpinBox" name="spinBoxInterfaceScaling">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>50</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>400</number>
|
|
||||||
</property>
|
|
||||||
<property name="singleStep">
|
|
||||||
<number>10</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="labelLanguageBase">
|
|
||||||
<property name="text">
|
|
||||||
<string>Heroes III Data Language</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="18" column="0">
|
|
||||||
<widget class="QLabel" name="labelAlliedPlayerAI">
|
<widget class="QLabel" name="labelAlliedPlayerAI">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Adventure Map Allies</string>
|
<string>Adventure Map Allies</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="17" column="1" colspan="4">
|
<item row="23" column="1" colspan="4">
|
||||||
<widget class="QComboBox" name="comboBoxEnemyPlayerAI">
|
|
||||||
<property name="currentText">
|
|
||||||
<string notr="true">VCAI</string>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">VCAI</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">Nullkiller</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxLanguageBase"/>
|
|
||||||
</item>
|
|
||||||
<item row="25" column="0">
|
|
||||||
<widget class="QLabel" name="labelRepositoryExtra">
|
|
||||||
<property name="text">
|
|
||||||
<string>Additional repository</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="23" column="0">
|
|
||||||
<widget class="QLabel" name="labelAutoCheck">
|
|
||||||
<property name="text">
|
|
||||||
<string>Check on startup</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="23" column="3" colspan="2">
|
|
||||||
<widget class="QPushButton" name="refreshRepositoriesButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Refresh now</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="20" column="0">
|
|
||||||
<widget class="QLabel" name="labelFriendlyAI">
|
|
||||||
<property name="text">
|
|
||||||
<string>Friendly AI in battles</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="10" column="0">
|
|
||||||
<widget class="QLabel" name="labelFullScreen">
|
|
||||||
<property name="text">
|
|
||||||
<string>Fullscreen</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxLanguage"/>
|
|
||||||
</item>
|
|
||||||
<item row="14" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxDisplayIndex"/>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="0">
|
|
||||||
<widget class="QLabel" name="labelAutoSave">
|
|
||||||
<property name="text">
|
|
||||||
<string>Autosave</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="16" column="0">
|
|
||||||
<widget class="QLabel" name="labelArtificialIntelligence">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Artificial Intelligence</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="21" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxEnemyAI">
|
<widget class="QComboBox" name="comboBoxEnemyAI">
|
||||||
<property name="editable">
|
<property name="editable">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -584,14 +222,169 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="12" column="0">
|
<item row="24" column="0">
|
||||||
<widget class="QLabel" name="labelFramerateLimit">
|
<widget class="QLabel" name="labelRepositories">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Framerate Limit</string>
|
<string>Mod Repositories</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="12" column="1" colspan="4">
|
<item row="25" column="1" colspan="2">
|
||||||
|
<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="5" column="1" colspan="3">
|
||||||
|
<widget class="QLabel" name="labelTranslationStatus">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="26" column="0">
|
||||||
|
<widget class="QLabel" name="labelRepositoryDefault">
|
||||||
|
<property name="text">
|
||||||
|
<string>Default repository</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="27" column="0">
|
||||||
|
<widget class="QLabel" name="labelRepositoryExtra">
|
||||||
|
<property name="text">
|
||||||
|
<string>Additional repository</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="21" column="0">
|
||||||
|
<widget class="QLabel" name="labelNeutralAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Neutral AI in battles</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="4">
|
||||||
|
<widget class="QPushButton" name="pushButtonTranslation">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="13" column="1" colspan="4">
|
||||||
|
<widget class="QSpinBox" name="spinBoxInterfaceScaling">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>50</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>400</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="13" column="0">
|
||||||
|
<widget class="QLabel" name="labelInterfaceScaling">
|
||||||
|
<property name="text">
|
||||||
|
<string>Interface Scaling</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="labelLanguageBase">
|
||||||
|
<property name="text">
|
||||||
|
<string>Heroes III Data Language</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="0">
|
||||||
|
<widget class="QLabel" name="labelAutoSaveLimit">
|
||||||
|
<property name="text">
|
||||||
|
<string>Autosave limit (0 = off)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxLanguageBase"/>
|
||||||
|
</item>
|
||||||
|
<item row="22" column="0">
|
||||||
|
<widget class="QLabel" name="labelFriendlyAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Friendly AI in battles</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="22" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxFriendlyAI">
|
||||||
|
<property name="editable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">BattleAI</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">BattleAI</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">StupidAI</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxResolution"/>
|
||||||
|
</item>
|
||||||
|
<item row="20" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxAlliedPlayerAI">
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">VCAI</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">VCAI</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Nullkiller</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="0">
|
||||||
|
<widget class="QLabel" name="labelDisplayIndex">
|
||||||
|
<property name="text">
|
||||||
|
<string>Display index</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="19" column="0">
|
||||||
|
<widget class="QLabel" name="labelEnemyPlayerAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Adventure Map Enemies</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="14" column="1" colspan="4">
|
||||||
<widget class="QSpinBox" name="spinBoxFramerateLimit">
|
<widget class="QSpinBox" name="spinBoxFramerateLimit">
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>20</number>
|
<number>20</number>
|
||||||
@ -604,6 +397,239 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="15" column="0">
|
||||||
|
<widget class="QLabel" name="labelShowIntro">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show intro</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxAutoSave">
|
||||||
|
<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="1" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxLanguage"/>
|
||||||
|
</item>
|
||||||
|
<item row="17" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxCursorType">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Hardware</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Software</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="0">
|
||||||
|
<widget class="QLabel" name="labelFullScreen">
|
||||||
|
<property name="text">
|
||||||
|
<string>Fullscreen</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="17" column="0">
|
||||||
|
<widget class="QLabel" name="labelCursorType">
|
||||||
|
<property name="text">
|
||||||
|
<string>Cursor</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="27" column="2" colspan="3">
|
||||||
|
<widget class="QLineEdit" name="lineEditRepositoryExtra">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="23" column="0">
|
||||||
|
<widget class="QLabel" name="labelEnemyAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enemy AI in battles</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="25" column="0">
|
||||||
|
<widget class="QLabel" name="labelAutoCheck">
|
||||||
|
<property name="text">
|
||||||
|
<string>Check on startup</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="labelGeneral">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>General</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="21" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxNeutralAI">
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">BattleAI</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">BattleAI</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">StupidAI</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="25" column="3" colspan="2">
|
||||||
|
<widget class="QPushButton" name="refreshRepositoriesButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Refresh now</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1" colspan="4">
|
||||||
|
<widget class="QSpinBox" name="spinBoxNetworkPort">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1024</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>65535</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>3030</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QLabel" name="labelNetworkPort">
|
||||||
|
<property name="text">
|
||||||
|
<string>Network port</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="labelTranslation">
|
||||||
|
<property name="text">
|
||||||
|
<string>Heroes III Translation</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="labelLanguage">
|
||||||
|
<property name="text">
|
||||||
|
<string>VCMI Language</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0">
|
||||||
|
<widget class="QLabel" name="labelAutoSave">
|
||||||
|
<property name="text">
|
||||||
|
<string>Autosave</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="0">
|
||||||
|
<widget class="QLabel" name="labelVideo">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Video</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="19" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxEnemyPlayerAI">
|
||||||
|
<property name="currentText">
|
||||||
|
<string notr="true">VCAI</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">VCAI</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">Nullkiller</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxDisplayIndex"/>
|
||||||
|
</item>
|
||||||
|
<item row="14" column="0">
|
||||||
|
<widget class="QLabel" name="labelFramerateLimit">
|
||||||
|
<property name="text">
|
||||||
|
<string>Framerate Limit</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="15" column="1" colspan="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="9" column="0">
|
||||||
|
<widget class="QLabel" name="labelAutoSavePrefix">
|
||||||
|
<property name="text">
|
||||||
|
<string>Autosave prefix</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="1" colspan="4">
|
||||||
|
<widget class="QSpinBox" name="spinBoxAutoSaveLimit"/>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBoxAutoSavePrefix">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="2" colspan="3">
|
||||||
|
<widget class="QLineEdit" name="lineEditAutoSavePrefix">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>empty = map name prefix</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user