mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-22 22:13:35 +02:00
Merge branch 'release_131' into master
This commit is contained in:
commit
daa8a494fc
@ -254,6 +254,13 @@ void CBattleAI::yourTacticPhase(int distance)
|
|||||||
cb->battleMakeTacticAction(BattleAction::makeEndOFTacticPhase(cb->battleGetTacticsSide()));
|
cb->battleMakeTacticAction(BattleAction::makeEndOFTacticPhase(cb->battleGetTacticsSide()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t timeElapsed(std::chrono::time_point<std::chrono::high_resolution_clock> start)
|
||||||
|
{
|
||||||
|
auto end = std::chrono::high_resolution_clock::now();
|
||||||
|
|
||||||
|
return std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
|
||||||
|
}
|
||||||
|
|
||||||
void CBattleAI::activeStack( const CStack * stack )
|
void CBattleAI::activeStack( const CStack * stack )
|
||||||
{
|
{
|
||||||
LOG_TRACE_PARAMS(logAi, "stack: %s", stack->nodeName());
|
LOG_TRACE_PARAMS(logAi, "stack: %s", stack->nodeName());
|
||||||
@ -261,6 +268,8 @@ void CBattleAI::activeStack( const CStack * stack )
|
|||||||
BattleAction result = BattleAction::makeDefend(stack);
|
BattleAction result = BattleAction::makeDefend(stack);
|
||||||
setCbc(cb); //TODO: make solid sure that AIs always use their callbacks (need to take care of event handlers too)
|
setCbc(cb); //TODO: make solid sure that AIs always use their callbacks (need to take care of event handlers too)
|
||||||
|
|
||||||
|
auto start = std::chrono::high_resolution_clock::now();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if(stack->creatureId() == CreatureID::CATAPULT)
|
if(stack->creatureId() == CreatureID::CATAPULT)
|
||||||
@ -276,6 +285,8 @@ void CBattleAI::activeStack( const CStack * stack )
|
|||||||
|
|
||||||
attemptCastingSpell();
|
attemptCastingSpell();
|
||||||
|
|
||||||
|
logAi->trace("Spellcast attempt completed in %lld", timeElapsed(start));
|
||||||
|
|
||||||
if(cb->battleIsFinished() || !stack->alive())
|
if(cb->battleIsFinished() || !stack->alive())
|
||||||
{
|
{
|
||||||
//spellcast may finish battle or kill active stack
|
//spellcast may finish battle or kill active stack
|
||||||
@ -312,6 +323,8 @@ void CBattleAI::activeStack( const CStack * stack )
|
|||||||
movesSkippedByDefense = 0;
|
movesSkippedByDefense = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logAi->trace("BattleAI decission made in %lld", timeElapsed(start));
|
||||||
|
|
||||||
cb->battleMakeUnitAction(result);
|
cb->battleMakeUnitAction(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -494,7 +507,12 @@ void CBattleAI::attemptCastingSpell()
|
|||||||
{
|
{
|
||||||
spells::BattleCast temp(cb.get(), hero, spells::Mode::HERO, spell);
|
spells::BattleCast temp(cb.get(), hero, spells::Mode::HERO, spell);
|
||||||
|
|
||||||
for(auto & target : temp.findPotentialTargets())
|
if(!spell->isDamage() && spell->getTargetType() == spells::AimType::LOCATION)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
const bool FAST = true;
|
||||||
|
|
||||||
|
for(auto & target : temp.findPotentialTargets(FAST))
|
||||||
{
|
{
|
||||||
PossibleSpellcast ps;
|
PossibleSpellcast ps;
|
||||||
ps.dest = target;
|
ps.dest = target;
|
||||||
|
@ -600,6 +600,8 @@ void BattleExchangeEvaluator::updateReachabilityMap(HypotheticBattle & hb)
|
|||||||
if(unit->isTurret())
|
if(unit->isTurret())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
auto unitSpeed = unit->speed(turn);
|
||||||
|
|
||||||
if(turnBattle.battleCanShoot(unit))
|
if(turnBattle.battleCanShoot(unit))
|
||||||
{
|
{
|
||||||
for(BattleHex hex = BattleHex::TOP_LEFT; hex.isValid(); hex = hex + 1)
|
for(BattleHex hex = BattleHex::TOP_LEFT; hex.isValid(); hex = hex + 1)
|
||||||
@ -614,7 +616,7 @@ void BattleExchangeEvaluator::updateReachabilityMap(HypotheticBattle & hb)
|
|||||||
|
|
||||||
for(BattleHex hex = BattleHex::TOP_LEFT; hex.isValid(); hex = hex + 1)
|
for(BattleHex hex = BattleHex::TOP_LEFT; hex.isValid(); hex = hex + 1)
|
||||||
{
|
{
|
||||||
bool reachable = unitReachability.distances[hex] <= unit->speed(turn);
|
bool reachable = unitReachability.distances[hex] <= unitSpeed;
|
||||||
|
|
||||||
if(!reachable && unitReachability.accessibility[hex] == EAccessibility::ALIVE_STACK)
|
if(!reachable && unitReachability.accessibility[hex] == EAccessibility::ALIVE_STACK)
|
||||||
{
|
{
|
||||||
@ -624,7 +626,7 @@ void BattleExchangeEvaluator::updateReachabilityMap(HypotheticBattle & hb)
|
|||||||
{
|
{
|
||||||
for(BattleHex neighbor : hex.neighbouringTiles())
|
for(BattleHex neighbor : hex.neighbouringTiles())
|
||||||
{
|
{
|
||||||
reachable = unitReachability.distances[neighbor] <= unit->speed(turn);
|
reachable = unitReachability.distances[neighbor] <= unitSpeed;
|
||||||
|
|
||||||
if(reachable) break;
|
if(reachable) break;
|
||||||
}
|
}
|
||||||
|
@ -84,17 +84,6 @@ PotentialTargets::PotentialTargets(const battle::Unit * attacker, const Hypothet
|
|||||||
{
|
{
|
||||||
return lhs.damageDiff() > rhs.damageDiff();
|
return lhs.damageDiff() > rhs.damageDiff();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!possibleAttacks.empty())
|
|
||||||
{
|
|
||||||
auto & bestAp = possibleAttacks[0];
|
|
||||||
|
|
||||||
logGlobal->debug("Battle AI best: %s -> %s at %d from %d, affects %d units: d:%lld a:%lld c:%lld s:%lld",
|
|
||||||
bestAp.attack.attacker->unitType()->getJsonKey(),
|
|
||||||
state.battleGetUnitByPos(bestAp.dest)->unitType()->getJsonKey(),
|
|
||||||
(int)bestAp.dest, (int)bestAp.from, (int)bestAp.affectedUnits.size(),
|
|
||||||
bestAp.defenderDamageReduce, bestAp.attackerDamageReduce, bestAp.collateralDamageReduce, bestAp.shootersBlockedDmg);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t PotentialTargets::bestActionValue() const
|
int64_t PotentialTargets::bestActionValue() const
|
||||||
|
@ -170,7 +170,7 @@ std::vector<SlotInfo> ArmyManager::getBestArmy(const IBonusBearer * armyCarrier,
|
|||||||
|
|
||||||
std::vector<SlotInfo> newArmy;
|
std::vector<SlotInfo> newArmy;
|
||||||
uint64_t newValue = 0;
|
uint64_t newValue = 0;
|
||||||
newArmyInstance.clear();
|
newArmyInstance.clearSlots();
|
||||||
|
|
||||||
for(auto & slot : sortedSlots)
|
for(auto & slot : sortedSlots)
|
||||||
{
|
{
|
||||||
|
@ -84,7 +84,7 @@ Goals::TGoalVec RecruitHeroBehavior::decompose() const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(treasureSourcesCount < 5)
|
if(treasureSourcesCount < 5 && (town->garrisonHero || town->getUpperArmy()->getArmyStrength() < 10000))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(cb->getHeroesInfo().size() < cb->getTownsInfo().size() + 1
|
if(cb->getHeroesInfo().size() < cb->getTownsInfo().size() + 1
|
||||||
|
48
ChangeLog.md
48
ChangeLog.md
@ -1,3 +1,51 @@
|
|||||||
|
# 1.3.0 -> 1.3.1
|
||||||
|
|
||||||
|
### GENERAL:
|
||||||
|
* Fixed framerate drops on hero movement with active hota mod
|
||||||
|
* Fade-out animations will now be skipped when instant hero movement speed is used
|
||||||
|
* Restarting loaded campaing scenario will now correctly reapply starting bonus
|
||||||
|
* Reverted FPS limit on mobile systems back to 60 fps
|
||||||
|
* Fixed loading of translations for maps and campaigns
|
||||||
|
* Fixed loading of preconfigured starting army for heroes with preconfigured spells
|
||||||
|
* Background battlefield obstacles will now appear below creatures
|
||||||
|
* it is now possible to load save game located inside mod
|
||||||
|
* Added option to configure reserved screen area in Launcher on iOS
|
||||||
|
* Fixed border scrolling when game window is maximized
|
||||||
|
|
||||||
|
### AI PLAYER:
|
||||||
|
* BattleAI: Improved performance of AI spell selection
|
||||||
|
* NKAI: Fixed freeze on attempt to exchange army between garrisoned and visiting hero
|
||||||
|
* NKAI: Fixed town threat calculation
|
||||||
|
* NKAI: Fixed recruitment of new heroes
|
||||||
|
* VCAI: Added workaround to avoid freeze on attempting to reach unreachable location
|
||||||
|
* VCAI: Fixed spellcasting by Archangels
|
||||||
|
|
||||||
|
### RANDOM MAP GENERATOR:
|
||||||
|
* Fixed placement of roads inside rock in underground
|
||||||
|
* Fixed placement of shifted creature animations from HotA
|
||||||
|
* Fixed placement of treasures at the boundary of wide connections
|
||||||
|
* Added more potential locations for quest artifacts in zone
|
||||||
|
|
||||||
|
### STABILITY:
|
||||||
|
* When starting client without H3 data game will now show message instead of silently crashing
|
||||||
|
* When starting invalid map in campaign, game will now show message instead of silently crashing
|
||||||
|
* Blocked loading of saves made with different set of mods to prevent crashes
|
||||||
|
* Fixed crash on starting game with outdated mods
|
||||||
|
* Fixed crash on attempt to sacrifice all your artifacts in Altar of Sacrifice
|
||||||
|
* Fixed crash on leveling up after winning battle as defender
|
||||||
|
* Fixed possible crash on end of battle opening sound
|
||||||
|
* Fixed crash on accepting battle result after winning battle as defender
|
||||||
|
* Fixed possible crash on casting spell in battle by AI
|
||||||
|
* Fixed multiple possible crashes on managing mods on Android
|
||||||
|
* Fixed multiple possible crashes on importing data on Android
|
||||||
|
* Fixed crash on refusing rewards from town building
|
||||||
|
* Fixed possible crash on threat evaluation by NKAI
|
||||||
|
* Fixed crash on using haptic feedback on some Android systems
|
||||||
|
* Fixed crash on right-clicking flags area in RMG setup mode
|
||||||
|
* Fixed crash on opening Blacksmith window and Build Structure dialogs in some localizations
|
||||||
|
* Fixed possible crash on displaying animated main menu
|
||||||
|
* Fixed crash on recruiting hero in town located on the border of map
|
||||||
|
|
||||||
# 1.2.1 -> 1.3.0
|
# 1.2.1 -> 1.3.0
|
||||||
|
|
||||||
### GENERAL:
|
### GENERAL:
|
||||||
|
2
Global.h
2
Global.h
@ -118,6 +118,7 @@ static_assert(sizeof(bool) == 1, "Bool needs to be 1 byte in size.");
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
|
#include <optional>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
#include <random>
|
#include <random>
|
||||||
#include <set>
|
#include <set>
|
||||||
@ -126,6 +127,7 @@ static_assert(sizeof(bool) == 1, "Bool needs to be 1 byte in size.");
|
|||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
#include <variant>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
//The only available version is 3, as of Boost 1.50
|
//The only available version is 3, as of Boost 1.50
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
[![GitHub](https://github.com/vcmi/vcmi/actions/workflows/github.yml/badge.svg)](https://github.com/vcmi/vcmi/actions/workflows/github.yml)
|
[![GitHub](https://github.com/vcmi/vcmi/actions/workflows/github.yml/badge.svg)](https://github.com/vcmi/vcmi/actions/workflows/github.yml)
|
||||||
[![Coverity Scan Build Status](https://scan.coverity.com/projects/vcmi/badge.svg)](https://scan.coverity.com/projects/vcmi)
|
[![Coverity Scan Build Status](https://scan.coverity.com/projects/vcmi/badge.svg)](https://scan.coverity.com/projects/vcmi)
|
||||||
[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.3.0/total)](https://github.com/vcmi/vcmi/releases/tag/1.3.0)
|
[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.3.0/total)](https://github.com/vcmi/vcmi/releases/tag/1.3.0)
|
||||||
|
[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.3.1/total)](https://github.com/vcmi/vcmi/releases/tag/1.3.1)
|
||||||
[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/total)](https://github.com/vcmi/vcmi/releases)
|
[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/total)](https://github.com/vcmi/vcmi/releases)
|
||||||
# VCMI Project
|
# VCMI Project
|
||||||
VCMI is work-in-progress attempt to recreate engine for Heroes III, giving it new and extended possibilities.
|
VCMI is work-in-progress attempt to recreate engine for Heroes III, giving it new and extended possibilities.
|
||||||
|
@ -10,8 +10,8 @@ android {
|
|||||||
applicationId "is.xyz.vcmi"
|
applicationId "is.xyz.vcmi"
|
||||||
minSdk 19
|
minSdk 19
|
||||||
targetSdk 31
|
targetSdk 31
|
||||||
versionCode 1306
|
versionCode 1310
|
||||||
versionName "1.3.0"
|
versionName "1.3.1"
|
||||||
setProperty("archivesBaseName", "vcmi")
|
setProperty("archivesBaseName", "vcmi")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +54,7 @@
|
|||||||
#include <boost/uuid/uuid.hpp>
|
#include <boost/uuid/uuid.hpp>
|
||||||
#include <boost/uuid/uuid_io.hpp>
|
#include <boost/uuid/uuid_io.hpp>
|
||||||
#include <boost/uuid/uuid_generators.hpp>
|
#include <boost/uuid/uuid_generators.hpp>
|
||||||
|
#include <boost/asio.hpp>
|
||||||
#include "../lib/serializer/Cast.h"
|
#include "../lib/serializer/Cast.h"
|
||||||
#include "LobbyClientNetPackVisitors.h"
|
#include "LobbyClientNetPackVisitors.h"
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@ void CClient::loadGame(CGameState * initializedGameState)
|
|||||||
// try to deserialize client data including sleepingHeroes
|
// try to deserialize client data including sleepingHeroes
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
boost::filesystem::path clientSaveName = *CResourceHandler::get("local")->getResourceName(ResourceID(CSH->si->mapname, EResType::CLIENT_SAVEGAME));
|
boost::filesystem::path clientSaveName = *CResourceHandler::get()->getResourceName(ResourceID(CSH->si->mapname, EResType::CLIENT_SAVEGAME));
|
||||||
|
|
||||||
if(clientSaveName.empty())
|
if(clientSaveName.empty())
|
||||||
throw std::runtime_error("Cannot open client part of " + CSH->si->mapname);
|
throw std::runtime_error("Cannot open client part of " + CSH->si->mapname);
|
||||||
|
@ -169,10 +169,10 @@ void AdventureMapInterface::tick(uint32_t msPassed)
|
|||||||
void AdventureMapInterface::handleMapScrollingUpdate(uint32_t timePassed)
|
void AdventureMapInterface::handleMapScrollingUpdate(uint32_t timePassed)
|
||||||
{
|
{
|
||||||
/// Width of window border, in pixels, that triggers map scrolling
|
/// Width of window border, in pixels, that triggers map scrolling
|
||||||
static constexpr uint32_t borderScrollWidth = 15;
|
static constexpr int32_t borderScrollWidth = 15;
|
||||||
|
|
||||||
uint32_t scrollSpeedPixels = settings["adventure"]["scrollSpeedPixels"].Float();
|
int32_t scrollSpeedPixels = settings["adventure"]["scrollSpeedPixels"].Float();
|
||||||
uint32_t scrollDistance = scrollSpeedPixels * timePassed / 1000;
|
int32_t scrollDistance = scrollSpeedPixels * timePassed / 1000;
|
||||||
|
|
||||||
Point cursorPosition = GH.getCursorPosition();
|
Point cursorPosition = GH.getCursorPosition();
|
||||||
Point scrollDirection;
|
Point scrollDirection;
|
||||||
@ -822,6 +822,15 @@ void AdventureMapInterface::hotkeyZoom(int delta)
|
|||||||
void AdventureMapInterface::onScreenResize()
|
void AdventureMapInterface::onScreenResize()
|
||||||
{
|
{
|
||||||
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
||||||
|
|
||||||
|
// remember our activation state and reactive after reconstruction
|
||||||
|
// since othervice activate() calls for created elements will bypass virtual dispatch
|
||||||
|
// and will call directly CIntObject::activate() instead of dispatching virtual function call
|
||||||
|
bool widgetActive = isActive();
|
||||||
|
|
||||||
|
if (widgetActive)
|
||||||
|
deactivate();
|
||||||
|
|
||||||
widget.reset();
|
widget.reset();
|
||||||
pos.x = pos.y = 0;
|
pos.x = pos.y = 0;
|
||||||
pos.w = GH.screenDimensions().x;
|
pos.w = GH.screenDimensions().x;
|
||||||
@ -838,4 +847,7 @@ void AdventureMapInterface::onScreenResize()
|
|||||||
widget->getMapView()->onCenteredObject(LOCPLINT->localState->getCurrentArmy());
|
widget->getMapView()->onCenteredObject(LOCPLINT->localState->getCurrentArmy());
|
||||||
|
|
||||||
adjustActiveness();
|
adjustActiveness();
|
||||||
|
|
||||||
|
if (widgetActive)
|
||||||
|
activate();
|
||||||
}
|
}
|
||||||
|
@ -445,6 +445,8 @@ void BattleInterface::spellCast(const BattleSpellCast * sc)
|
|||||||
stacksController->addNewAnim(new EffectAnimation(*this, side ? "SP07_B.DEF" : "SP07_A.DEF", rightHero));
|
stacksController->addNewAnim(new EffectAnimation(*this, side ? "SP07_B.DEF" : "SP07_A.DEF", rightHero));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// animations will be executed by spell effects
|
||||||
}
|
}
|
||||||
|
|
||||||
void BattleInterface::battleStacksEffectsSet(const SetStackEffect & sse)
|
void BattleInterface::battleStacksEffectsSet(const SetStackEffect & sse)
|
||||||
|
@ -127,13 +127,26 @@ void BattleObstacleController::obstaclePlaced(const std::vector<std::shared_ptr<
|
|||||||
void BattleObstacleController::showAbsoluteObstacles(Canvas & canvas)
|
void BattleObstacleController::showAbsoluteObstacles(Canvas & canvas)
|
||||||
{
|
{
|
||||||
//Blit absolute obstacles
|
//Blit absolute obstacles
|
||||||
for(auto & oi : owner.curInt->cb->battleGetAllObstacles())
|
for(auto & obstacle : owner.curInt->cb->battleGetAllObstacles())
|
||||||
{
|
{
|
||||||
if(oi->obstacleType == CObstacleInstance::ABSOLUTE_OBSTACLE)
|
if(obstacle->obstacleType == CObstacleInstance::ABSOLUTE_OBSTACLE)
|
||||||
{
|
{
|
||||||
auto img = getObstacleImage(*oi);
|
auto img = getObstacleImage(*obstacle);
|
||||||
if(img)
|
if(img)
|
||||||
canvas.draw(img, Point(oi->getInfo().width, oi->getInfo().height));
|
canvas.draw(img, Point(obstacle->getInfo().width, obstacle->getInfo().height));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (obstacle->obstacleType == CObstacleInstance::USUAL)
|
||||||
|
{
|
||||||
|
if (obstacle->getInfo().isForegroundObstacle)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
auto img = getObstacleImage(*obstacle);
|
||||||
|
if(img)
|
||||||
|
{
|
||||||
|
Point p = getObstaclePosition(img, *obstacle);
|
||||||
|
canvas.draw(img, p);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -148,11 +161,10 @@ void BattleObstacleController::collectRenderableObjects(BattleRenderer & rendere
|
|||||||
if (obstacle->obstacleType == CObstacleInstance::MOAT)
|
if (obstacle->obstacleType == CObstacleInstance::MOAT)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
bool isForeground = obstacle->obstacleType == CObstacleInstance::USUAL && obstacle->getInfo().isForegroundObstacle;
|
if (obstacle->obstacleType == CObstacleInstance::USUAL && !obstacle->getInfo().isForegroundObstacle)
|
||||||
|
continue;
|
||||||
|
|
||||||
auto layer = isForeground ? EBattleFieldLayer::OBSTACLES_FG : EBattleFieldLayer::OBSTACLES_BG;
|
renderer.insert(EBattleFieldLayer::OBSTACLES, obstacle->pos, [this, obstacle]( BattleRenderer::RendererRef canvas ){
|
||||||
|
|
||||||
renderer.insert(layer, obstacle->pos, [this, obstacle]( BattleRenderer::RendererRef canvas ){
|
|
||||||
auto img = getObstacleImage(*obstacle);
|
auto img = getObstacleImage(*obstacle);
|
||||||
if(img)
|
if(img)
|
||||||
{
|
{
|
||||||
|
@ -16,12 +16,11 @@ class BattleInterface;
|
|||||||
|
|
||||||
enum class EBattleFieldLayer {
|
enum class EBattleFieldLayer {
|
||||||
// confirmed ordering requirements:
|
// confirmed ordering requirements:
|
||||||
OBSTACLES_BG = 0,
|
|
||||||
CORPSES = 0,
|
CORPSES = 0,
|
||||||
WALLS = 1,
|
WALLS = 1,
|
||||||
HEROES = 2,
|
HEROES = 2,
|
||||||
STACKS = 2, // after corpses, obstacles, walls
|
STACKS = 2, // after corpses, obstacles, walls
|
||||||
OBSTACLES_FG = 3, // after stacks
|
OBSTACLES = 3, // after stacks
|
||||||
STACK_AMOUNTS = 3, // after stacks, obstacles, corpses
|
STACK_AMOUNTS = 3, // after stacks, obstacles, corpses
|
||||||
EFFECTS = 4, // after obstacles, battlements
|
EFFECTS = 4, // after obstacles, battlements
|
||||||
};
|
};
|
||||||
|
@ -307,15 +307,13 @@ void BattleSiegeController::collectRenderableObjects(BattleRenderer & renderer)
|
|||||||
renderer.insert( EBattleFieldLayer::STACKS, getWallPiecePosition(wallPiece), [this, wallPiece](BattleRenderer::RendererRef canvas){
|
renderer.insert( EBattleFieldLayer::STACKS, getWallPiecePosition(wallPiece), [this, wallPiece](BattleRenderer::RendererRef canvas){
|
||||||
owner.stacksController->showStack(canvas, getTurretStack(wallPiece));
|
owner.stacksController->showStack(canvas, getTurretStack(wallPiece));
|
||||||
});
|
});
|
||||||
renderer.insert( EBattleFieldLayer::OBSTACLES_FG, getWallPiecePosition(wallPiece), [this, wallPiece](BattleRenderer::RendererRef canvas){
|
renderer.insert( EBattleFieldLayer::OBSTACLES, getWallPiecePosition(wallPiece), [this, wallPiece](BattleRenderer::RendererRef canvas){
|
||||||
showWallPiece(canvas, wallPiece);
|
showWallPiece(canvas, wallPiece);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
renderer.insert( EBattleFieldLayer::WALLS, getWallPiecePosition(wallPiece), [this, wallPiece](BattleRenderer::RendererRef canvas){
|
renderer.insert( EBattleFieldLayer::WALLS, getWallPiecePosition(wallPiece), [this, wallPiece](BattleRenderer::RendererRef canvas){
|
||||||
showWallPiece(canvas, wallPiece);
|
showWallPiece(canvas, wallPiece);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -499,7 +499,7 @@ void BattleStacksController::stacksAreAttacked(std::vector<StackAttackedInfo> at
|
|||||||
void BattleStacksController::stackTeleported(const CStack *stack, std::vector<BattleHex> destHex, int distance)
|
void BattleStacksController::stackTeleported(const CStack *stack, std::vector<BattleHex> destHex, int distance)
|
||||||
{
|
{
|
||||||
assert(destHex.size() > 0);
|
assert(destHex.size() > 0);
|
||||||
owner.checkForAnimations();
|
//owner.checkForAnimations(); // NOTE: at this point spellcast animations were added, but not executed
|
||||||
|
|
||||||
owner.addToAnimationStage(EAnimationEvents::HIT, [=](){
|
owner.addToAnimationStage(EAnimationEvents::HIT, [=](){
|
||||||
addNewAnim( new ColorTransformAnimation(owner, stack, "teleportFadeOut", nullptr) );
|
addNewAnim( new ColorTransformAnimation(owner, stack, "teleportFadeOut", nullptr) );
|
||||||
|
@ -31,8 +31,6 @@ namespace Cursor
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum class Combat {
|
enum class Combat {
|
||||||
INVALID = -1,
|
|
||||||
|
|
||||||
BLOCKED = 0,
|
BLOCKED = 0,
|
||||||
MOVE = 1,
|
MOVE = 1,
|
||||||
FLY = 2,
|
FLY = 2,
|
||||||
@ -157,12 +155,16 @@ public:
|
|||||||
template<typename Index>
|
template<typename Index>
|
||||||
Index get()
|
Index get()
|
||||||
{
|
{
|
||||||
assert((std::is_same<Index, Cursor::Default>::value )|| type != Cursor::Type::DEFAULT );
|
bool typeValid = true;
|
||||||
assert((std::is_same<Index, Cursor::Map>::value )|| type != Cursor::Type::ADVENTURE );
|
|
||||||
assert((std::is_same<Index, Cursor::Combat>::value )|| type != Cursor::Type::COMBAT );
|
|
||||||
assert((std::is_same<Index, Cursor::Spellcast>::value )|| type != Cursor::Type::SPELLBOOK );
|
|
||||||
|
|
||||||
return static_cast<Index>(frame);
|
typeValid &= (std::is_same<Index, Cursor::Default>::value )|| type != Cursor::Type::DEFAULT;
|
||||||
|
typeValid &= (std::is_same<Index, Cursor::Map>::value )|| type != Cursor::Type::ADVENTURE;
|
||||||
|
typeValid &= (std::is_same<Index, Cursor::Combat>::value )|| type != Cursor::Type::COMBAT;
|
||||||
|
typeValid &= (std::is_same<Index, Cursor::Spellcast>::value )|| type != Cursor::Type::SPELLBOOK;
|
||||||
|
|
||||||
|
if (typeValid)
|
||||||
|
return static_cast<Index>(frame);
|
||||||
|
return Index::POINTER;
|
||||||
}
|
}
|
||||||
|
|
||||||
Point getPivotOffsetDefault(size_t index);
|
Point getPivotOffsetDefault(size_t index);
|
||||||
|
@ -426,7 +426,7 @@ void SelectionTab::select(int position)
|
|||||||
|
|
||||||
if(inputName && inputName->isActive())
|
if(inputName && inputName->isActive())
|
||||||
{
|
{
|
||||||
auto filename = *CResourceHandler::get("local")->getResourceName(ResourceID(curItems[py]->fileURI, EResType::SAVEGAME));
|
auto filename = *CResourceHandler::get()->getResourceName(ResourceID(curItems[py]->fileURI, EResType::SAVEGAME));
|
||||||
inputName->setText(filename.stem().string());
|
inputName->setText(filename.stem().string());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,6 +247,20 @@ void MapViewController::afterRender()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool MapViewController::isEventInstant(const CGObjectInstance * obj)
|
||||||
|
{
|
||||||
|
if (!isEventVisible(obj))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if(!LOCPLINT->makingTurn && settings["adventure"]["enemyMoveTime"].Float() <= 0)
|
||||||
|
return true; // instant movement speed
|
||||||
|
|
||||||
|
if(LOCPLINT->makingTurn && settings["adventure"]["heroMoveTime"].Float() <= 0)
|
||||||
|
return true; // instant movement speed
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool MapViewController::isEventVisible(const CGObjectInstance * obj)
|
bool MapViewController::isEventVisible(const CGObjectInstance * obj)
|
||||||
{
|
{
|
||||||
if(adventureContext == nullptr)
|
if(adventureContext == nullptr)
|
||||||
@ -358,7 +372,8 @@ void MapViewController::onBeforeHeroEmbark(const CGHeroInstance * obj, const int
|
|||||||
{
|
{
|
||||||
if(isEventVisible(obj, from, dest))
|
if(isEventVisible(obj, from, dest))
|
||||||
{
|
{
|
||||||
fadeOutObject(obj);
|
if (!isEventInstant(obj))
|
||||||
|
fadeOutObject(obj);
|
||||||
setViewCenter(obj->getSightCenter());
|
setViewCenter(obj->getSightCenter());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -381,7 +396,8 @@ void MapViewController::onAfterHeroDisembark(const CGHeroInstance * obj, const i
|
|||||||
{
|
{
|
||||||
if(isEventVisible(obj, from, dest))
|
if(isEventVisible(obj, from, dest))
|
||||||
{
|
{
|
||||||
fadeInObject(obj);
|
if (!isEventInstant(obj))
|
||||||
|
fadeInObject(obj);
|
||||||
setViewCenter(obj->getSightCenter());
|
setViewCenter(obj->getSightCenter());
|
||||||
}
|
}
|
||||||
addObject(obj);
|
addObject(obj);
|
||||||
@ -391,7 +407,7 @@ void MapViewController::onObjectFadeIn(const CGObjectInstance * obj)
|
|||||||
{
|
{
|
||||||
assert(!hasOngoingAnimations());
|
assert(!hasOngoingAnimations());
|
||||||
|
|
||||||
if(isEventVisible(obj))
|
if(isEventVisible(obj) && !isEventInstant(obj) )
|
||||||
fadeInObject(obj);
|
fadeInObject(obj);
|
||||||
|
|
||||||
addObject(obj);
|
addObject(obj);
|
||||||
@ -401,7 +417,7 @@ void MapViewController::onObjectFadeOut(const CGObjectInstance * obj)
|
|||||||
{
|
{
|
||||||
assert(!hasOngoingAnimations());
|
assert(!hasOngoingAnimations());
|
||||||
|
|
||||||
if(isEventVisible(obj))
|
if(isEventVisible(obj) && !isEventInstant(obj) )
|
||||||
fadeOutObject(obj);
|
fadeOutObject(obj);
|
||||||
else
|
else
|
||||||
removeObject(obj);
|
removeObject(obj);
|
||||||
|
@ -50,6 +50,7 @@ class MapViewController : public IMapObjectObserver
|
|||||||
std::shared_ptr<MapRendererPuzzleMapContext> puzzleMapContext;
|
std::shared_ptr<MapRendererPuzzleMapContext> puzzleMapContext;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool isEventInstant(const CGObjectInstance * obj);
|
||||||
bool isEventVisible(const CGObjectInstance * obj);
|
bool isEventVisible(const CGObjectInstance * obj);
|
||||||
bool isEventVisible(const CGHeroInstance * obj, const int3 & from, const int3 & dest);
|
bool isEventVisible(const CGHeroInstance * obj, const int3 & from, const int3 & dest);
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
set(VCMI_VERSION_MAJOR 1)
|
set(VCMI_VERSION_MAJOR 1)
|
||||||
set(VCMI_VERSION_MINOR 3)
|
set(VCMI_VERSION_MINOR 3)
|
||||||
set(VCMI_VERSION_PATCH 0)
|
set(VCMI_VERSION_PATCH 1)
|
||||||
add_definitions(
|
add_definitions(
|
||||||
-DVCMI_VERSION_MAJOR=${VCMI_VERSION_MAJOR}
|
-DVCMI_VERSION_MAJOR=${VCMI_VERSION_MAJOR}
|
||||||
-DVCMI_VERSION_MINOR=${VCMI_VERSION_MINOR}
|
-DVCMI_VERSION_MINOR=${VCMI_VERSION_MINOR}
|
||||||
|
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,3 +1,9 @@
|
|||||||
|
vcmi (1.3.1) jammy; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Ivan Savenko <saven.ivan@gmail.com> Fri, 18 Aug 2023 16:00:00 +0200
|
||||||
|
|
||||||
vcmi (1.3.0) jammy; urgency=medium
|
vcmi (1.3.0) jammy; urgency=medium
|
||||||
|
|
||||||
* New upstream release
|
* New upstream release
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
<category>StrategyGame</category>
|
<category>StrategyGame</category>
|
||||||
</categories>
|
</categories>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="1.3.1" date="2023-08-18" />
|
||||||
<release version="1.3.0" date="2023-08-04" />
|
<release version="1.3.0" date="2023-08-04" />
|
||||||
<release version="1.2.1" date="2023-04-28" />
|
<release version="1.2.1" date="2023-04-28" />
|
||||||
<release version="1.2.0" date="2023-04-14" />
|
<release version="1.2.0" date="2023-04-14" />
|
||||||
|
@ -72,6 +72,8 @@ void CSettingsView::loadSettings()
|
|||||||
ui->comboBoxFullScreen->hide();
|
ui->comboBoxFullScreen->hide();
|
||||||
ui->labelFullScreen->hide();
|
ui->labelFullScreen->hide();
|
||||||
#else
|
#else
|
||||||
|
ui->labelReservedArea->hide();
|
||||||
|
ui->spinBoxReservedArea->hide();
|
||||||
if (settings["video"]["realFullscreen"].Bool())
|
if (settings["video"]["realFullscreen"].Bool())
|
||||||
ui->comboBoxFullScreen->setCurrentIndex(2);
|
ui->comboBoxFullScreen->setCurrentIndex(2);
|
||||||
else
|
else
|
||||||
@ -81,6 +83,7 @@ void CSettingsView::loadSettings()
|
|||||||
|
|
||||||
ui->spinBoxInterfaceScaling->setValue(settings["video"]["resolution"]["scaling"].Float());
|
ui->spinBoxInterfaceScaling->setValue(settings["video"]["resolution"]["scaling"].Float());
|
||||||
ui->spinBoxFramerateLimit->setValue(settings["video"]["targetfps"].Float());
|
ui->spinBoxFramerateLimit->setValue(settings["video"]["targetfps"].Float());
|
||||||
|
ui->spinBoxReservedArea->setValue(std::round(settings["video"]["reservedWidth"].Float() * 100));
|
||||||
|
|
||||||
ui->comboBoxFriendlyAI->setCurrentText(QString::fromStdString(settings["server"]["friendlyAI"].String()));
|
ui->comboBoxFriendlyAI->setCurrentText(QString::fromStdString(settings["server"]["friendlyAI"].String()));
|
||||||
ui->comboBoxNeutralAI->setCurrentText(QString::fromStdString(settings["server"]["neutralAI"].String()));
|
ui->comboBoxNeutralAI->setCurrentText(QString::fromStdString(settings["server"]["neutralAI"].String()));
|
||||||
@ -468,14 +471,12 @@ void CSettingsView::on_lineEditRepositoryExtra_textEdited(const QString &arg1)
|
|||||||
node->String() = arg1.toStdString();
|
node->String() = arg1.toStdString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSettingsView::on_spinBoxInterfaceScaling_valueChanged(int arg1)
|
void CSettingsView::on_spinBoxInterfaceScaling_valueChanged(int arg1)
|
||||||
{
|
{
|
||||||
Settings node = settings.write["video"]["resolution"]["scaling"];
|
Settings node = settings.write["video"]["resolution"]["scaling"];
|
||||||
node->Float() = arg1;
|
node->Float() = arg1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSettingsView::on_refreshRepositoriesButton_clicked()
|
void CSettingsView::on_refreshRepositoriesButton_clicked()
|
||||||
{
|
{
|
||||||
auto * mainWindow = dynamic_cast<MainWindow *>(qApp->activeWindow());
|
auto * mainWindow = dynamic_cast<MainWindow *>(qApp->activeWindow());
|
||||||
@ -487,7 +488,6 @@ void CSettingsView::on_refreshRepositoriesButton_clicked()
|
|||||||
mainWindow->getModView()->loadRepositories();
|
mainWindow->getModView()->loadRepositories();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSettingsView::on_spinBoxFramerateLimit_valueChanged(int arg1)
|
void CSettingsView::on_spinBoxFramerateLimit_valueChanged(int arg1)
|
||||||
{
|
{
|
||||||
Settings node = settings.write["video"]["targetfps"];
|
Settings node = settings.write["video"]["targetfps"];
|
||||||
@ -500,14 +500,12 @@ void CSettingsView::on_comboBoxEnemyPlayerAI_currentTextChanged(const QString &a
|
|||||||
node->String() = arg1.toUtf8().data();
|
node->String() = arg1.toUtf8().data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSettingsView::on_comboBoxAlliedPlayerAI_currentTextChanged(const QString &arg1)
|
void CSettingsView::on_comboBoxAlliedPlayerAI_currentTextChanged(const QString &arg1)
|
||||||
{
|
{
|
||||||
Settings node = settings.write["server"]["alliedAI"];
|
Settings node = settings.write["server"]["alliedAI"];
|
||||||
node->String() = arg1.toUtf8().data();
|
node->String() = arg1.toUtf8().data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSettingsView::on_checkBoxAutoSavePrefix_stateChanged(int arg1)
|
void CSettingsView::on_checkBoxAutoSavePrefix_stateChanged(int arg1)
|
||||||
{
|
{
|
||||||
Settings node = settings.write["general"]["useSavePrefix"];
|
Settings node = settings.write["general"]["useSavePrefix"];
|
||||||
@ -515,17 +513,21 @@ void CSettingsView::on_checkBoxAutoSavePrefix_stateChanged(int arg1)
|
|||||||
ui->lineEditAutoSavePrefix->setEnabled(arg1);
|
ui->lineEditAutoSavePrefix->setEnabled(arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSettingsView::on_spinBoxAutoSaveLimit_valueChanged(int arg1)
|
void CSettingsView::on_spinBoxAutoSaveLimit_valueChanged(int arg1)
|
||||||
{
|
{
|
||||||
Settings node = settings.write["general"]["autosaveCountLimit"];
|
Settings node = settings.write["general"]["autosaveCountLimit"];
|
||||||
node->Float() = arg1;
|
node->Float() = arg1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSettingsView::on_lineEditAutoSavePrefix_textEdited(const QString &arg1)
|
void CSettingsView::on_lineEditAutoSavePrefix_textEdited(const QString &arg1)
|
||||||
{
|
{
|
||||||
Settings node = settings.write["general"]["savePrefix"];
|
Settings node = settings.write["general"]["savePrefix"];
|
||||||
node->String() = arg1.toStdString();
|
node->String() = arg1.toStdString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSettingsView::on_spinBoxReservedArea_valueChanged(int arg1)
|
||||||
|
{
|
||||||
|
Settings node = settings.write["video"]["reservedWidth"];
|
||||||
|
node->Float() = float(arg1) / 100; // percentage -> ratio
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -72,6 +72,8 @@ private slots:
|
|||||||
|
|
||||||
void on_lineEditAutoSavePrefix_textEdited(const QString &arg1);
|
void on_lineEditAutoSavePrefix_textEdited(const QString &arg1);
|
||||||
|
|
||||||
|
void on_spinBoxReservedArea_valueChanged(int arg1);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::CSettingsView * ui;
|
Ui::CSettingsView * ui;
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
@ -106,35 +107,136 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>-197</y>
|
||||||
<width>610</width>
|
<width>610</width>
|
||||||
<height>790</height>
|
<height>768</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="18" column="0">
|
<item row="5" column="1" colspan="3">
|
||||||
<widget class="QLabel" name="labelArtificialIntelligence">
|
<widget class="QLabel" name="labelTranslationStatus">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="23" 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="17" column="0">
|
||||||
|
<widget class="QLabel" name="labelDisplayIndex">
|
||||||
|
<property name="text">
|
||||||
|
<string>Display index</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="21" 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="8" column="0">
|
||||||
|
<widget class="QLabel" name="labelAutoSaveLimit">
|
||||||
|
<property name="text">
|
||||||
|
<string>Autosave limit (0 = off)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="0">
|
||||||
|
<widget class="QLabel" name="labelFullScreen">
|
||||||
|
<property name="text">
|
||||||
|
<string>Fullscreen</string>
|
||||||
|
</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="0" column="0">
|
||||||
|
<widget class="QLabel" name="labelGeneral">
|
||||||
<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>Artificial Intelligence</string>
|
<string>General</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="26" column="2" colspan="3">
|
<item row="7" column="0">
|
||||||
<widget class="QLineEdit" name="lineEditRepositoryDefault">
|
<widget class="QLabel" name="labelAutoSave">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true"/>
|
<string>Autosave</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="readOnly">
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="18" 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="16" column="0">
|
||||||
|
<widget class="QLabel" name="labelShowIntro">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show intro</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="28" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBoxRepositoryExtra">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="26" column="1">
|
<item row="27" column="1">
|
||||||
<widget class="QCheckBox" name="checkBoxRepositoryDefault">
|
<widget class="QCheckBox" name="checkBoxRepositoryDefault">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -147,13 +249,358 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="27" column="1">
|
<item row="15" column="1" colspan="4">
|
||||||
<widget class="QCheckBox" name="checkBoxRepositoryExtra">
|
<widget class="QSpinBox" name="spinBoxFramerateLimit">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>20</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>1000</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="17" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxDisplayIndex"/>
|
||||||
|
</item>
|
||||||
|
<item row="15" column="0">
|
||||||
|
<widget class="QLabel" name="labelFramerateLimit">
|
||||||
|
<property name="text">
|
||||||
|
<string>Framerate Limit</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxLanguageBase"/>
|
||||||
|
</item>
|
||||||
|
<item row="20" column="0">
|
||||||
|
<widget class="QLabel" name="labelEnemyPlayerAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Adventure Map Enemies</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="27" column="0">
|
||||||
|
<widget class="QLabel" name="labelRepositoryDefault">
|
||||||
|
<property name="text">
|
||||||
|
<string>Default repository</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxResolution"/>
|
||||||
|
</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="10" column="0">
|
||||||
|
<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="9" column="0">
|
||||||
|
<widget class="QLabel" name="labelAutoSavePrefix">
|
||||||
|
<property name="text">
|
||||||
|
<string>Autosave prefix</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="0">
|
||||||
|
<widget class="QLabel" name="labelResolution">
|
||||||
|
<property name="text">
|
||||||
|
<string>Resolution</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="28" column="2" colspan="3">
|
||||||
|
<widget class="QLineEdit" name="lineEditRepositoryExtra">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="27" column="2" colspan="3">
|
||||||
|
<widget class="QLineEdit" name="lineEditRepositoryDefault">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="18" column="0">
|
||||||
|
<widget class="QLabel" name="labelCursorType">
|
||||||
|
<property name="text">
|
||||||
|
<string>Cursor</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="26" 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="26" column="3" colspan="2">
|
||||||
|
<widget class="QPushButton" name="refreshRepositoriesButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Refresh now</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="4">
|
||||||
|
<widget class="QPushButton" name="pushButtonTranslation">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="checked">
|
</widget>
|
||||||
<bool>true</bool>
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="labelTranslation">
|
||||||
|
<property name="text">
|
||||||
|
<string>Heroes III Translation</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" 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="24" 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="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="28" column="0">
|
||||||
|
<widget class="QLabel" name="labelRepositoryExtra">
|
||||||
|
<property name="text">
|
||||||
|
<string>Additional repository</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="24" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxEnemyAI">
|
||||||
|
<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="14" 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="8" column="1" colspan="4">
|
||||||
|
<widget class="QSpinBox" name="spinBoxAutoSaveLimit"/>
|
||||||
|
</item>
|
||||||
|
<item row="22" column="0">
|
||||||
|
<widget class="QLabel" name="labelNeutralAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Neutral AI in battles</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="14" column="0">
|
||||||
|
<widget class="QLabel" name="labelInterfaceScaling">
|
||||||
|
<property name="text">
|
||||||
|
<string>Interface Scaling</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="9" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBoxAutoSavePrefix">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="23" column="0">
|
||||||
|
<widget class="QLabel" name="labelFriendlyAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Friendly AI in battles</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="1" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxLanguage"/>
|
||||||
|
</item>
|
||||||
|
<item row="26" column="0">
|
||||||
|
<widget class="QLabel" name="labelAutoCheck">
|
||||||
|
<property name="text">
|
||||||
|
<string>Check on startup</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="22" 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="21" column="0">
|
||||||
|
<widget class="QLabel" name="labelAlliedPlayerAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Adventure Map Allies</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="19" 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="20" 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="9" column="2" colspan="3">
|
||||||
|
<widget class="QLineEdit" name="lineEditAutoSavePrefix">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>empty = map name prefix</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -188,445 +635,29 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="11" column="0">
|
<item row="13" column="0">
|
||||||
<widget class="QLabel" name="labelResolution">
|
<widget class="QLabel" name="labelReservedArea">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Resolution</string>
|
<string>Reserved screen area</string>
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="20" column="0">
|
|
||||||
<widget class="QLabel" name="labelAlliedPlayerAI">
|
|
||||||
<property name="text">
|
|
||||||
<string>Adventure Map Allies</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="23" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxEnemyAI">
|
|
||||||
<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="24" column="0">
|
|
||||||
<widget class="QLabel" name="labelRepositories">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Mod Repositories</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<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>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="13" column="1" colspan="4">
|
<item row="13" column="1" colspan="4">
|
||||||
<widget class="QSpinBox" name="spinBoxInterfaceScaling">
|
<widget class="QSpinBox" name="spinBoxReservedArea">
|
||||||
|
<property name="suffix">
|
||||||
|
<string notr="true">%</string>
|
||||||
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>50</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>400</number>
|
<number>25</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="singleStep">
|
<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">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>20</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>1000</number>
|
|
||||||
</property>
|
|
||||||
<property name="singleStep">
|
|
||||||
<number>10</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</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>
|
<number>1</number>
|
||||||
</property>
|
</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">
|
<property name="value">
|
||||||
<number>3030</number>
|
<number>0</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>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -407,123 +407,123 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="244"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="302"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="599"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="408"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>关闭</translation>
|
<translation>关闭</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="79"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="123"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="579"/>
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>人工智能</translation>
|
<translation>人工智能</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="84"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="233"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="434"/>
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>模组仓库</translation>
|
<translation>模组仓库</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="305"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="278"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="491"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="465"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="421"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="201"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="566"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="623"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="181"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="628"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="186"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="633"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="319"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="329"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="588"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="612"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="328"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="629"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="603"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="508"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="264"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="288"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="419"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="375"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="413"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>开启</translation>
|
<translation>开启</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>鼠标指针</translation>
|
<translation>鼠标指针</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="312"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="481"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>英雄无敌3数据语言</translation>
|
<translation>英雄无敌3数据语言</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="163"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="610"/>
|
||||||
<source>Select display mode for game
|
<source>Select display mode for game
|
||||||
|
|
||||||
Windowed - game will run inside a window that covers part of your screen
|
Windowed - game will run inside a window that covers part of your screen
|
||||||
@ -534,95 +534,100 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="431"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="641"/>
|
||||||
|
<source>Reserved screen area</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>硬件</translation>
|
<translation>硬件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="217"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>软件</translation>
|
<translation>软件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="535"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="397"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translatorcomment>发布版本里找不到这个项,不太清楚意义</translatorcomment>
|
<translatorcomment>发布版本里找不到这个项,不太清楚意义</translatorcomment>
|
||||||
<translation>英雄无敌3翻译</translation>
|
<translation>英雄无敌3翻译</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="472"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>启动时检查更新</translation>
|
<translation>启动时检查更新</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="444"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="177"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>全屏</translation>
|
<translation>全屏</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="69"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="197"/>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>通用设置</translation>
|
<translation>通用设置</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="532"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>VCMI语言</translation>
|
<translation>VCMI语言</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="194"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="335"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>分辨率</translation>
|
<translation>分辨率</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="204"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>自动存档</translation>
|
<translation>自动存档</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="376"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="146"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>显示器序号</translation>
|
<translation>显示器序号</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="528"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="184"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>网络端口</translation>
|
<translation>网络端口</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="74"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="561"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="321"/>
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>视频设置</translation>
|
<translation>视频设置</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="403"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="225"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>显示开场动画</translation>
|
<translation>显示开场动画</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="402"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="405"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>激活</translation>
|
<translation>激活</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="410"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>禁用</translation>
|
<translation>禁用</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="408"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="411"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>启用</translation>
|
<translation>启用</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="416"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>未安装</translation>
|
<translation>未安装</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="417"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>安装</translation>
|
<translation>安装</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -406,123 +406,123 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="244"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="302"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="599"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="408"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="79"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="123"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="579"/>
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="84"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="233"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="434"/>
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="305"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="278"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="491"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="465"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="421"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="201"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="566"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="623"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="181"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="628"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="186"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="633"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="319"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="329"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="588"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="612"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="328"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="629"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="603"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="508"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="264"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="288"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="419"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="375"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="413"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="312"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="481"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="163"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="610"/>
|
||||||
<source>Select display mode for game
|
<source>Select display mode for game
|
||||||
|
|
||||||
Windowed - game will run inside a window that covers part of your screen
|
Windowed - game will run inside a window that covers part of your screen
|
||||||
@ -533,94 +533,99 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="431"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="641"/>
|
||||||
|
<source>Reserved screen area</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="217"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="535"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="397"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="472"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="444"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="177"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="69"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="197"/>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="532"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="194"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="335"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="204"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="376"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="146"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="528"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="184"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="74"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="561"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="321"/>
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="403"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="225"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="402"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="405"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="410"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="408"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="411"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="416"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="417"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -411,43 +411,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="244"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="302"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="599"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="408"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Désactivé</translation>
|
<translation>Désactivé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="79"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="123"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="579"/>
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>Intelligence Artificielle</translation>
|
<translation>Intelligence Artificielle</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="84"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="233"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="434"/>
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Dépôts de Mod</translation>
|
<translation>Dépôts de Mod</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="419"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="375"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="413"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Activé</translation>
|
<translation>Activé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="465"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="421"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation>IA ennemie dans les batailles</translation>
|
<translation>IA ennemie dans les batailles</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="264"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="288"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation>Dépôt par défaut</translation>
|
<translation>Dépôt par défaut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="163"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="610"/>
|
||||||
<source>Select display mode for game
|
<source>Select display mode for game
|
||||||
|
|
||||||
Windowed - game will run inside a window that covers part of your screen
|
Windowed - game will run inside a window that covers part of your screen
|
||||||
@ -464,174 +464,179 @@ Mode fenêtré sans bord - le jeu s"exécutera dans une fenêtre qui couvre
|
|||||||
Mode exclusif plein écran - le jeu couvrira l"intégralité de votre écran et utilisera la résolution sélectionnée.</translation>
|
Mode exclusif plein écran - le jeu couvrira l"intégralité de votre écran et utilisera la résolution sélectionnée.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="623"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>Fenêtré</translation>
|
<translation>Fenêtré</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="181"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="628"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation>Fenêtré sans bord</translation>
|
<translation>Fenêtré sans bord</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="186"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="633"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation>Plein écran exclusif</translation>
|
<translation>Plein écran exclusif</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="278"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="641"/>
|
||||||
|
<source>Reserved screen area</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="491"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation>IA neutre dans les batailles</translation>
|
<translation>IA neutre dans les batailles</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="319"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation>Ennemis de la carte d"aventure</translation>
|
<translation>Ennemis de la carte d"aventure</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="612"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="328"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="629"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="603"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="305"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation>Mise à l"échelle de l"interface</translation>
|
<translation>Mise à l"échelle de l"interface</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Curseur</translation>
|
<translation>Curseur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="312"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="481"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>Langue des Données de Heroes III</translation>
|
<translation>Langue des Données de Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="588"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation>Limite de fréquence d"images</translation>
|
<translation>Limite de fréquence d"images</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="431"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Matériel</translation>
|
<translation>Matériel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="217"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Logiciel</translation>
|
<translation>Logiciel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="535"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="397"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation>Traduction de Heroes III</translation>
|
<translation>Traduction de Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="201"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="566"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation>Alliés de la carte d"aventure</translation>
|
<translation>Alliés de la carte d"aventure</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation>Dépôt supplémentaire</translation>
|
<translation>Dépôt supplémentaire</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="472"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>Vérifier au démarrage</translation>
|
<translation>Vérifier au démarrage</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="508"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation>Actualiser maintenant</translation>
|
<translation>Actualiser maintenant</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="329"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation>IA amicale dans les batailles</translation>
|
<translation>IA amicale dans les batailles</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="444"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="177"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>Plein écran</translation>
|
<translation>Plein écran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="69"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="197"/>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Général</translation>
|
<translation>Général</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="532"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>Langue de VCMI</translation>
|
<translation>Langue de VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="194"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="335"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Résolution</translation>
|
<translation>Résolution</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="204"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Sauvegarde automatique</translation>
|
<translation>Sauvegarde automatique</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="376"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="146"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Index d'affichage</translation>
|
<translation>Index d'affichage</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="528"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="184"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>Port de réseau</translation>
|
<translation>Port de réseau</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="74"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="561"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="321"/>
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Vidéo</translation>
|
<translation>Vidéo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="403"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="225"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Montrer l'intro</translation>
|
<translation>Montrer l'intro</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="402"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="405"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Actif</translation>
|
<translation>Actif</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="410"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Désactivé</translation>
|
<translation>Désactivé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="408"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="411"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Activé</translation>
|
<translation>Activé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="416"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>Pas Installé</translation>
|
<translation>Pas Installé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="417"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Installer</translation>
|
<translation>Installer</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -406,123 +406,123 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="244"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="302"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="599"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="408"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Aus</translation>
|
<translation>Aus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="79"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="123"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="579"/>
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>Künstliche Intelligenz</translation>
|
<translation>Künstliche Intelligenz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="84"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="233"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="434"/>
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Mod-Repositorien</translation>
|
<translation>Mod-Repositorien</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="305"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation>Skalierung der Benutzeroberfläche</translation>
|
<translation>Skalierung der Benutzeroberfläche</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="278"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="491"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation>Neutrale KI in Kämpfen</translation>
|
<translation>Neutrale KI in Kämpfen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="465"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="421"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation>Gegnerische KI in Kämpfen</translation>
|
<translation>Gegnerische KI in Kämpfen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation>Zusätzliches Repository</translation>
|
<translation>Zusätzliches Repository</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="201"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="566"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation>Abenteuerkarte Verbündete</translation>
|
<translation>Abenteuerkarte Verbündete</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation>Abenteuerkarte Feinde</translation>
|
<translation>Abenteuerkarte Feinde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="623"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>Fenstermodus</translation>
|
<translation>Fenstermodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="181"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="628"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation>Randloser Vollbildmodus</translation>
|
<translation>Randloser Vollbildmodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="186"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="633"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation>Exklusiver Vollbildmodus</translation>
|
<translation>Exklusiver Vollbildmodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="319"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation>Limit für Autospeicherung (0 = aus)</translation>
|
<translation>Limit für Autospeicherung (0 = aus)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="329"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation>Freundliche KI in Kämpfen</translation>
|
<translation>Freundliche KI in Kämpfen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="588"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation>Limit der Bildrate</translation>
|
<translation>Limit der Bildrate</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="612"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="328"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation>Präfix für Autospeicherung</translation>
|
<translation>Präfix für Autospeicherung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="629"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="603"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation>leer = Kartenname als Präfix</translation>
|
<translation>leer = Kartenname als Präfix</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="508"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation>Jetzt aktualisieren</translation>
|
<translation>Jetzt aktualisieren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="264"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="288"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation>Standard Repository</translation>
|
<translation>Standard Repository</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="419"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="375"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="413"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>An</translation>
|
<translation>An</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Zeiger</translation>
|
<translation>Zeiger</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="312"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="481"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>Sprache der Heroes III Daten</translation>
|
<translation>Sprache der Heroes III Daten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="163"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="610"/>
|
||||||
<source>Select display mode for game
|
<source>Select display mode for game
|
||||||
|
|
||||||
Windowed - game will run inside a window that covers part of your screen
|
Windowed - game will run inside a window that covers part of your screen
|
||||||
@ -539,94 +539,99 @@ Randloser Fenstermodus - das Spiel läuft in einem Fenster, das den gesamten Bil
|
|||||||
Exklusiver Vollbildmodus - das Spiel bedeckt den gesamten Bildschirm und verwendet die gewählte Auflösung.</translation>
|
Exklusiver Vollbildmodus - das Spiel bedeckt den gesamten Bildschirm und verwendet die gewählte Auflösung.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="431"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="641"/>
|
||||||
|
<source>Reserved screen area</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Hardware</translation>
|
<translation>Hardware</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="217"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Software</translation>
|
<translation>Software</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="535"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="397"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation>Heroes III Übersetzung</translation>
|
<translation>Heroes III Übersetzung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="472"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>Beim Start prüfen</translation>
|
<translation>Beim Start prüfen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="444"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="177"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>Vollbild</translation>
|
<translation>Vollbild</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="69"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="197"/>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Allgemein</translation>
|
<translation>Allgemein</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="532"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>VCMI-Sprache</translation>
|
<translation>VCMI-Sprache</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="194"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="335"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Auflösung</translation>
|
<translation>Auflösung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="204"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Autospeichern</translation>
|
<translation>Autospeichern</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="376"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="146"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Anzeige-Index</translation>
|
<translation>Anzeige-Index</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="528"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="184"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>Netzwerk-Port</translation>
|
<translation>Netzwerk-Port</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="74"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="561"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="321"/>
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Video</translation>
|
<translation>Video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="403"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="225"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Intro anzeigen</translation>
|
<translation>Intro anzeigen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="402"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="405"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Aktiv</translation>
|
<translation>Aktiv</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="410"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Deaktiviert</translation>
|
<translation>Deaktiviert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="408"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="411"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Aktivieren</translation>
|
<translation>Aktivieren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="416"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>Nicht installiert</translation>
|
<translation>Nicht installiert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="417"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Installieren</translation>
|
<translation>Installieren</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -406,123 +406,123 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="244"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="302"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="599"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="408"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Wyłączony</translation>
|
<translation>Wyłączony</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="79"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="123"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="579"/>
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>Sztuczna Inteligencja</translation>
|
<translation>Sztuczna Inteligencja</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="84"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="233"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="434"/>
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Repozytoria modów</translation>
|
<translation>Repozytoria modów</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="305"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation>Skala interfejsu</translation>
|
<translation>Skala interfejsu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="278"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="491"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation>AI bitewne jednostek neutralnych</translation>
|
<translation>AI bitewne jednostek neutralnych</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="465"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="421"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation>AI bitewne wrogów</translation>
|
<translation>AI bitewne wrogów</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation>Dodatkowe repozytorium</translation>
|
<translation>Dodatkowe repozytorium</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="201"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="566"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation>AI sojuszników mapy przygody</translation>
|
<translation>AI sojuszników mapy przygody</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation>AI wrogów mapy przygody</translation>
|
<translation>AI wrogów mapy przygody</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="623"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>Okno</translation>
|
<translation>Okno</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="181"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="628"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation>Pełny ekran (tryb okna)</translation>
|
<translation>Pełny ekran (tryb okna)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="186"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="633"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation>Pełny ekran klasyczny</translation>
|
<translation>Pełny ekran klasyczny</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="319"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation>Limit autozapisów (0 = brak)</translation>
|
<translation>Limit autozapisów (0 = brak)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="329"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation>AI bitewne sojuszników</translation>
|
<translation>AI bitewne sojuszników</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="588"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation>Limit FPS</translation>
|
<translation>Limit FPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="612"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="328"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation>Przedrostek autozapisu</translation>
|
<translation>Przedrostek autozapisu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="629"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="603"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation>puste = przedrostek z nazwy mapy</translation>
|
<translation>puste = przedrostek z nazwy mapy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="508"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation>Odśwież</translation>
|
<translation>Odśwież</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="264"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="288"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation>Domyślne repozytorium</translation>
|
<translation>Domyślne repozytorium</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="419"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="375"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="413"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Włączony</translation>
|
<translation>Włączony</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Kursor</translation>
|
<translation>Kursor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="312"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="481"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>Język plików Heroes III</translation>
|
<translation>Język plików Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="163"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="610"/>
|
||||||
<source>Select display mode for game
|
<source>Select display mode for game
|
||||||
|
|
||||||
Windowed - game will run inside a window that covers part of your screen
|
Windowed - game will run inside a window that covers part of your screen
|
||||||
@ -539,94 +539,99 @@ Pełny ekran w trybie okna - gra uruchomi się w oknie przysłaniającym cały e
|
|||||||
Pełny ekran klasyczny - gra przysłoni cały ekran uruchamiając się w wybranej przez ciebie rozdzielczości ekranu.</translation>
|
Pełny ekran klasyczny - gra przysłoni cały ekran uruchamiając się w wybranej przez ciebie rozdzielczości ekranu.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="431"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="641"/>
|
||||||
|
<source>Reserved screen area</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Sprzętowy</translation>
|
<translation>Sprzętowy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="217"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Programowy</translation>
|
<translation>Programowy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="535"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="397"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation>Tłumaczenie Heroes III</translation>
|
<translation>Tłumaczenie Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="472"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>Sprawdzaj przy uruchomieniu</translation>
|
<translation>Sprawdzaj przy uruchomieniu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="444"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="177"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>Pełny ekran</translation>
|
<translation>Pełny ekran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="69"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="197"/>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Ogólne</translation>
|
<translation>Ogólne</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="532"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>Język VCMI</translation>
|
<translation>Język VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="194"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="335"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Rozdzielczość</translation>
|
<translation>Rozdzielczość</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="204"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Autozapis</translation>
|
<translation>Autozapis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="376"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="146"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Numer wyświetlacza</translation>
|
<translation>Numer wyświetlacza</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="528"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="184"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>Port sieciowy</translation>
|
<translation>Port sieciowy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="74"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="561"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="321"/>
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Obraz</translation>
|
<translation>Obraz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="403"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="225"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Pokaż intro</translation>
|
<translation>Pokaż intro</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="402"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="405"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Aktywny</translation>
|
<translation>Aktywny</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="410"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Wyłączone</translation>
|
<translation>Wyłączone</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="408"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="411"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Włącz</translation>
|
<translation>Włącz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="416"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>Nie zainstalowano</translation>
|
<translation>Nie zainstalowano</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="417"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Zainstaluj</translation>
|
<translation>Zainstaluj</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -406,144 +406,149 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="305"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="244"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="302"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="599"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="408"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Отключено</translation>
|
<translation>Отключено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="419"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="375"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="413"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Включено</translation>
|
<translation>Включено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="278"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="491"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="465"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="421"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="472"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>Проверять при запуске</translation>
|
<translation>Проверять при запуске</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="444"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="177"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>Полноэкранный режим</translation>
|
<translation>Полноэкранный режим</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="69"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="197"/>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Общее</translation>
|
<translation>Общее</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="532"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>Язык VCMI</translation>
|
<translation>Язык VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Курсор</translation>
|
<translation>Курсор</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="79"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="123"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="579"/>
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>Искусственный интеллект</translation>
|
<translation>Искусственный интеллект</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="84"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="233"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="434"/>
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Репозитории модов</translation>
|
<translation>Репозитории модов</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="201"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="566"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="508"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="623"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="181"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="628"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="186"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="633"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="319"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="641"/>
|
||||||
|
<source>Reserved screen area</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="329"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="588"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="612"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="328"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="629"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="603"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="264"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="288"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="312"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="481"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>Язык данных Героев III</translation>
|
<translation>Язык данных Героев III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="163"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="610"/>
|
||||||
<source>Select display mode for game
|
<source>Select display mode for game
|
||||||
|
|
||||||
Windowed - game will run inside a window that covers part of your screen
|
Windowed - game will run inside a window that covers part of your screen
|
||||||
@ -554,73 +559,73 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="431"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Аппаратный</translation>
|
<translation>Аппаратный</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="217"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Программный</translation>
|
<translation>Программный</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="535"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="397"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation>Перевод Героев III</translation>
|
<translation>Перевод Героев III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="194"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="335"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Разрешение экрана</translation>
|
<translation>Разрешение экрана</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="204"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Автосохранение</translation>
|
<translation>Автосохранение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="376"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="146"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Дисплей</translation>
|
<translation>Дисплей</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="528"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="184"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>Сетевой порт</translation>
|
<translation>Сетевой порт</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="74"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="561"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="321"/>
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Графика</translation>
|
<translation>Графика</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="403"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="225"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Вступление</translation>
|
<translation>Вступление</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="402"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="405"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Активен</translation>
|
<translation>Активен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="410"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Отключен</translation>
|
<translation>Отключен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="408"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="411"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Включить</translation>
|
<translation>Включить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="416"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>Не установлен</translation>
|
<translation>Не установлен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="417"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Установить</translation>
|
<translation>Установить</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -406,165 +406,170 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="244"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="302"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="599"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="408"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Desactivado</translation>
|
<translation>Desactivado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="79"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="123"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="579"/>
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>Inteligencia Artificial</translation>
|
<translation>Inteligencia Artificial</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="84"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="233"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="434"/>
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Repositorios de Mods</translation>
|
<translation>Repositorios de Mods</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="305"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="278"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="491"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="465"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="421"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="201"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="566"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="623"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="181"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="628"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="186"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="633"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="319"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="329"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="588"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="612"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="328"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="629"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="603"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="508"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="264"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="288"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="419"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="375"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="413"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Encendido</translation>
|
<translation>Encendido</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Cursor</translation>
|
<translation>Cursor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="535"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="397"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation>Traducción de Heroes III</translation>
|
<translation>Traducción de Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="444"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="641"/>
|
||||||
|
<source>Reserved screen area</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="177"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>Pantalla completa</translation>
|
<translation>Pantalla completa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="69"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="197"/>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>General</translation>
|
<translation>General</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="532"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>Idioma de VCMI</translation>
|
<translation>Idioma de VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="194"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="335"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Resolución</translation>
|
<translation>Resolución</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="204"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Autoguardado</translation>
|
<translation>Autoguardado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="376"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="146"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Mostrar índice</translation>
|
<translation>Mostrar índice</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="528"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="184"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>Puerto de red</translation>
|
<translation>Puerto de red</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="74"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="561"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="321"/>
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Vídeo</translation>
|
<translation>Vídeo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="163"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="610"/>
|
||||||
<source>Select display mode for game
|
<source>Select display mode for game
|
||||||
|
|
||||||
Windowed - game will run inside a window that covers part of your screen
|
Windowed - game will run inside a window that covers part of your screen
|
||||||
@ -575,52 +580,52 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="431"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Hardware</translation>
|
<translation>Hardware</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="217"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Software</translation>
|
<translation>Software</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="403"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="225"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Mostrar introducción</translation>
|
<translation>Mostrar introducción</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="472"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>Comprovar al inicio</translation>
|
<translation>Comprovar al inicio</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="312"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="481"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>Idioma de los datos de Heroes III.</translation>
|
<translation>Idioma de los datos de Heroes III.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="402"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="405"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Activado</translation>
|
<translation>Activado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="410"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Desactivado</translation>
|
<translation>Desactivado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="408"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="411"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Activar</translation>
|
<translation>Activar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="416"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>No Instalado</translation>
|
<translation>No Instalado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="417"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Instalar</translation>
|
<translation>Instalar</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -406,123 +406,123 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="244"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="302"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="599"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="408"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Вимкнено</translation>
|
<translation>Вимкнено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="79"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="123"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="579"/>
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>Штучний інтелект</translation>
|
<translation>Штучний інтелект</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="84"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="233"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="434"/>
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Репозиторії модифікацій</translation>
|
<translation>Репозиторії модифікацій</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="305"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation>Масштабування інтерфейсу</translation>
|
<translation>Масштабування інтерфейсу</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="278"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="491"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation>Нейтральний ШІ в боях</translation>
|
<translation>Нейтральний ШІ в боях</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="465"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="421"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation>Ворожий ШІ в боях</translation>
|
<translation>Ворожий ШІ в боях</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation>Додатковий репозиторій</translation>
|
<translation>Додатковий репозиторій</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="201"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="566"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation>Союзники на мапі пригод</translation>
|
<translation>Союзники на мапі пригод</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation>Вороги на мапі пригод</translation>
|
<translation>Вороги на мапі пригод</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="623"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>У вікні</translation>
|
<translation>У вікні</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="181"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="628"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation>Повноекранне вікно</translation>
|
<translation>Повноекранне вікно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="186"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="633"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation>Повноекранний (ексклюзивно)</translation>
|
<translation>Повноекранний (ексклюзивно)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="319"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation>Кількість автозбережень</translation>
|
<translation>Кількість автозбережень</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="329"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation>Дружній ШІ в боях</translation>
|
<translation>Дружній ШІ в боях</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="588"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="271"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation>Обмеження частоти кадрів</translation>
|
<translation>Обмеження частоти кадрів</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="612"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="328"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation>Префікс назв автозбережень</translation>
|
<translation>Префікс назв автозбережень</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="629"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="603"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation>(використовувати назву карти)</translation>
|
<translation>(використовувати назву карти)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="508"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="383"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation>Оновити зараз</translation>
|
<translation>Оновити зараз</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="264"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="288"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation>Стандартний репозиторій</translation>
|
<translation>Стандартний репозиторій</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="419"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="375"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="413"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Увімкнено</translation>
|
<translation>Увімкнено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Курсор</translation>
|
<translation>Курсор</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="312"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="481"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>Мова Heroes III</translation>
|
<translation>Мова Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="163"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="610"/>
|
||||||
<source>Select display mode for game
|
<source>Select display mode for game
|
||||||
|
|
||||||
Windowed - game will run inside a window that covers part of your screen
|
Windowed - game will run inside a window that covers part of your screen
|
||||||
@ -539,94 +539,99 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
Повноекранний ексклюзивний режим - гра займатиме весь екран і використовуватиме вибрану роздільну здатність.</translation>
|
Повноекранний ексклюзивний режим - гра займатиме весь екран і використовуватиме вибрану роздільну здатність.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="431"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="641"/>
|
||||||
|
<source>Reserved screen area</source>
|
||||||
|
<translation>Зарезервована зона екрану</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Апаратний</translation>
|
<translation>Апаратний</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="217"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Програмний</translation>
|
<translation>Програмний</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="535"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="397"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation>Переклад Heroes III</translation>
|
<translation>Переклад Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="472"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>Перевіряти на старті</translation>
|
<translation>Перевіряти на старті</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="444"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="177"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>Повноекранний режим</translation>
|
<translation>Повноекранний режим</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="69"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="197"/>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Загальні налаштування</translation>
|
<translation>Загальні налаштування</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="542"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="532"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>Мова VCMI</translation>
|
<translation>Мова VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="194"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="335"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Роздільна здатність</translation>
|
<translation>Роздільна здатність</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="204"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Автозбереження</translation>
|
<translation>Автозбереження</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="376"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="146"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Дісплей</translation>
|
<translation>Дісплей</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="528"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="184"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>Мережевий порт</translation>
|
<translation>Мережевий порт</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="74"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="561"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="321"/>
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Графіка</translation>
|
<translation>Графіка</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="403"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="225"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Вступні відео</translation>
|
<translation>Вступні відео</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="402"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="405"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Активні</translation>
|
<translation>Активні</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="410"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Деактивований</translation>
|
<translation>Деактивований</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="408"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="411"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Активувати</translation>
|
<translation>Активувати</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="416"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>Не встановлено</translation>
|
<translation>Не встановлено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="417"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Встановити</translation>
|
<translation>Встановити</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -445,7 +445,7 @@ void CCreatureSet::setStackExp(const SlotID & slot, TExpType exp)
|
|||||||
stacks[slot]->experience = exp;
|
stacks[slot]->experience = exp;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCreatureSet::clear()
|
void CCreatureSet::clearSlots()
|
||||||
{
|
{
|
||||||
while(!stacks.empty())
|
while(!stacks.empty())
|
||||||
{
|
{
|
||||||
@ -533,12 +533,12 @@ void CCreatureSet::changeStackCount(const SlotID & slot, TQuantity toAdd)
|
|||||||
|
|
||||||
CCreatureSet::~CCreatureSet()
|
CCreatureSet::~CCreatureSet()
|
||||||
{
|
{
|
||||||
clear();
|
clearSlots();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCreatureSet::setToArmy(CSimpleArmy &src)
|
void CCreatureSet::setToArmy(CSimpleArmy &src)
|
||||||
{
|
{
|
||||||
clear();
|
clearSlots();
|
||||||
while(src)
|
while(src)
|
||||||
{
|
{
|
||||||
auto i = src.army.begin();
|
auto i = src.army.begin();
|
||||||
@ -1050,7 +1050,7 @@ void CStackBasicDescriptor::serializeJson(JsonSerializeFormat & handler)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSimpleArmy::clear()
|
void CSimpleArmy::clearSlots()
|
||||||
{
|
{
|
||||||
army.clear();
|
army.clear();
|
||||||
}
|
}
|
||||||
|
@ -181,7 +181,7 @@ using TCreatureQueue = std::priority_queue<TPairCreatureSlot, std::vector<TPairC
|
|||||||
class IArmyDescriptor
|
class IArmyDescriptor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void clear() = 0;
|
virtual void clearSlots() = 0;
|
||||||
virtual bool setCreature(SlotID slot, CreatureID cre, TQuantity count) = 0;
|
virtual bool setCreature(SlotID slot, CreatureID cre, TQuantity count) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -190,7 +190,7 @@ class DLL_LINKAGE CSimpleArmy : public IArmyDescriptor
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TSimpleSlots army;
|
TSimpleSlots army;
|
||||||
void clear() override;
|
void clearSlots() override;
|
||||||
bool setCreature(SlotID slot, CreatureID cre, TQuantity count) override;
|
bool setCreature(SlotID slot, CreatureID cre, TQuantity count) override;
|
||||||
operator bool() const;
|
operator bool() const;
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ public:
|
|||||||
|
|
||||||
void addToSlot(const SlotID & slot, const CreatureID & cre, TQuantity count, bool allowMerging = true); //Adds stack to slot. Slot must be empty or with same type creature
|
void addToSlot(const SlotID & slot, const CreatureID & cre, TQuantity count, bool allowMerging = true); //Adds stack to slot. Slot must be empty or with same type creature
|
||||||
void addToSlot(const SlotID & slot, CStackInstance * stack, bool allowMerging = true); //Adds stack to slot. Slot must be empty or with same type creature
|
void addToSlot(const SlotID & slot, CStackInstance * stack, bool allowMerging = true); //Adds stack to slot. Slot must be empty or with same type creature
|
||||||
void clear() override;
|
void clearSlots() override;
|
||||||
void setFormation(bool tight);
|
void setFormation(bool tight);
|
||||||
CArmedInstance *castToArmyObj();
|
CArmedInstance *castToArmyObj();
|
||||||
|
|
||||||
|
@ -313,19 +313,7 @@ void CGeneralTextHandler::registerStringOverride(const std::string & modContext,
|
|||||||
assert(!modContext.empty());
|
assert(!modContext.empty());
|
||||||
assert(!language.empty());
|
assert(!language.empty());
|
||||||
|
|
||||||
std::string baseModLanguage = getModLanguage(modContext);
|
// NOTE: implicitly creates entry, intended - strings added by maps, campaigns, vcmi and potentially - UI mods are not registered anywhere at the moment
|
||||||
|
|
||||||
if (baseModLanguage != language)
|
|
||||||
{
|
|
||||||
// this is translation - only add text to existing strings, do not register new ones
|
|
||||||
if (stringsLocalizations.count(UID.get()) == 0)
|
|
||||||
{
|
|
||||||
logMod->warn("Unknown string '%s' in mod '%s' for language '%s'. Ignoring", UID.get(), modContext, language);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// NOTE: implicitly creates entry, intended - strings added by vcmi (and potential UI mods) are not registered anywhere at the moment
|
|
||||||
auto & entry = stringsLocalizations[UID.get()];
|
auto & entry = stringsLocalizations[UID.get()];
|
||||||
|
|
||||||
entry.overrideLanguage = language;
|
entry.overrideLanguage = language;
|
||||||
@ -349,6 +337,9 @@ bool CGeneralTextHandler::validateTranslation(const std::string & language, cons
|
|||||||
if (string.second.baseLanguage == language && !string.second.baseValue.empty())
|
if (string.second.baseLanguage == language && !string.second.baseValue.empty())
|
||||||
continue; // Base string already uses our language
|
continue; // Base string already uses our language
|
||||||
|
|
||||||
|
if (string.second.baseLanguage.empty())
|
||||||
|
continue; // String added in localization, not present in base language (e.g. maps/campaigns)
|
||||||
|
|
||||||
if (config.Struct().count(string.first) > 0)
|
if (config.Struct().count(string.first) > 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -335,7 +335,7 @@ struct DLL_LINKAGE SetAvailableHero : public CPackForClient
|
|||||||
{
|
{
|
||||||
SetAvailableHero()
|
SetAvailableHero()
|
||||||
{
|
{
|
||||||
army.clear();
|
army.clearSlots();
|
||||||
}
|
}
|
||||||
void applyGs(CGameState * gs);
|
void applyGs(CGameState * gs);
|
||||||
|
|
||||||
|
@ -38,6 +38,8 @@
|
|||||||
|
|
||||||
VCMI_LIB_NAMESPACE_BEGIN
|
VCMI_LIB_NAMESPACE_BEGIN
|
||||||
|
|
||||||
|
#define THROW_IF_NO_BATTLE if (!gs->curB) throw std::runtime_error("Trying to apply pack when no battle!");
|
||||||
|
|
||||||
void CPack::visit(ICPackVisitor & visitor)
|
void CPack::visit(ICPackVisitor & visitor)
|
||||||
{
|
{
|
||||||
visitBasic(visitor);
|
visitBasic(visitor);
|
||||||
@ -2127,16 +2129,19 @@ void BattleStart::applyGs(CGameState * gs) const
|
|||||||
|
|
||||||
void BattleNextRound::applyGs(CGameState * gs) const
|
void BattleNextRound::applyGs(CGameState * gs) const
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
gs->curB->nextRound(round);
|
gs->curB->nextRound(round);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BattleSetActiveStack::applyGs(CGameState * gs) const
|
void BattleSetActiveStack::applyGs(CGameState * gs) const
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
gs->curB->nextTurn(stack);
|
gs->curB->nextTurn(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BattleTriggerEffect::applyGs(CGameState * gs) const
|
void BattleTriggerEffect::applyGs(CGameState * gs) const
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
CStack * st = gs->curB->getStack(stackID);
|
CStack * st = gs->curB->getStack(stackID);
|
||||||
assert(st);
|
assert(st);
|
||||||
switch(static_cast<BonusType>(effect))
|
switch(static_cast<BonusType>(effect))
|
||||||
@ -2232,6 +2237,7 @@ void BattleLogMessage::applyBattle(IBattleState * battleState)
|
|||||||
|
|
||||||
void BattleStackMoved::applyGs(CGameState *gs)
|
void BattleStackMoved::applyGs(CGameState *gs)
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
applyBattle(gs->curB);
|
applyBattle(gs->curB);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2242,6 +2248,7 @@ void BattleStackMoved::applyBattle(IBattleState * battleState)
|
|||||||
|
|
||||||
void BattleStackAttacked::applyGs(CGameState * gs)
|
void BattleStackAttacked::applyGs(CGameState * gs)
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
applyBattle(gs->curB);
|
applyBattle(gs->curB);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2252,6 +2259,7 @@ void BattleStackAttacked::applyBattle(IBattleState * battleState)
|
|||||||
|
|
||||||
void BattleAttack::applyGs(CGameState * gs)
|
void BattleAttack::applyGs(CGameState * gs)
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
CStack * attacker = gs->curB->getStack(stackAttacking);
|
CStack * attacker = gs->curB->getStack(stackAttacking);
|
||||||
assert(attacker);
|
assert(attacker);
|
||||||
|
|
||||||
@ -2265,6 +2273,8 @@ void BattleAttack::applyGs(CGameState * gs)
|
|||||||
|
|
||||||
void StartAction::applyGs(CGameState *gs)
|
void StartAction::applyGs(CGameState *gs)
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
|
|
||||||
CStack *st = gs->curB->getStack(ba.stackNumber);
|
CStack *st = gs->curB->getStack(ba.stackNumber);
|
||||||
|
|
||||||
if(ba.actionType == EActionType::END_TACTIC_PHASE)
|
if(ba.actionType == EActionType::END_TACTIC_PHASE)
|
||||||
@ -2313,7 +2323,7 @@ void StartAction::applyGs(CGameState *gs)
|
|||||||
|
|
||||||
void BattleSpellCast::applyGs(CGameState * gs) const
|
void BattleSpellCast::applyGs(CGameState * gs) const
|
||||||
{
|
{
|
||||||
assert(gs->curB);
|
THROW_IF_NO_BATTLE
|
||||||
|
|
||||||
if(castByHero)
|
if(castByHero)
|
||||||
{
|
{
|
||||||
@ -2326,6 +2336,7 @@ void BattleSpellCast::applyGs(CGameState * gs) const
|
|||||||
|
|
||||||
void SetStackEffect::applyGs(CGameState *gs)
|
void SetStackEffect::applyGs(CGameState *gs)
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
applyBattle(gs->curB);
|
applyBattle(gs->curB);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2344,6 +2355,7 @@ void SetStackEffect::applyBattle(IBattleState * battleState)
|
|||||||
|
|
||||||
void StacksInjured::applyGs(CGameState *gs)
|
void StacksInjured::applyGs(CGameState *gs)
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
applyBattle(gs->curB);
|
applyBattle(gs->curB);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2355,6 +2367,7 @@ void StacksInjured::applyBattle(IBattleState * battleState)
|
|||||||
|
|
||||||
void BattleUnitsChanged::applyGs(CGameState *gs)
|
void BattleUnitsChanged::applyGs(CGameState *gs)
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
applyBattle(gs->curB);
|
applyBattle(gs->curB);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2385,8 +2398,8 @@ void BattleUnitsChanged::applyBattle(IBattleState * battleState)
|
|||||||
|
|
||||||
void BattleObstaclesChanged::applyGs(CGameState * gs)
|
void BattleObstaclesChanged::applyGs(CGameState * gs)
|
||||||
{
|
{
|
||||||
if(gs->curB)
|
THROW_IF_NO_BATTLE;
|
||||||
applyBattle(gs->curB);
|
applyBattle(gs->curB);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BattleObstaclesChanged::applyBattle(IBattleState * battleState)
|
void BattleObstaclesChanged::applyBattle(IBattleState * battleState)
|
||||||
@ -2417,8 +2430,8 @@ CatapultAttack::~CatapultAttack() = default;
|
|||||||
|
|
||||||
void CatapultAttack::applyGs(CGameState * gs)
|
void CatapultAttack::applyGs(CGameState * gs)
|
||||||
{
|
{
|
||||||
if(gs->curB)
|
THROW_IF_NO_BATTLE
|
||||||
applyBattle(gs->curB);
|
applyBattle(gs->curB);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CatapultAttack::visitTyped(ICPackVisitor & visitor)
|
void CatapultAttack::visitTyped(ICPackVisitor & visitor)
|
||||||
@ -2444,6 +2457,7 @@ void CatapultAttack::applyBattle(IBattleState * battleState)
|
|||||||
|
|
||||||
void BattleSetStackProperty::applyGs(CGameState * gs) const
|
void BattleSetStackProperty::applyGs(CGameState * gs) const
|
||||||
{
|
{
|
||||||
|
THROW_IF_NO_BATTLE
|
||||||
CStack * stack = gs->curB->getStack(stackID);
|
CStack * stack = gs->curB->getStack(stackID);
|
||||||
switch(which)
|
switch(which)
|
||||||
{
|
{
|
||||||
|
@ -1732,6 +1732,10 @@ SpellID CBattleInfoCallback::getRandomCastedSpell(CRandomGenerator & rand,const
|
|||||||
TConstBonusListPtr bl = caster->getBonuses(Selector::type()(BonusType::SPELLCASTER));
|
TConstBonusListPtr bl = caster->getBonuses(Selector::type()(BonusType::SPELLCASTER));
|
||||||
if (!bl->size())
|
if (!bl->size())
|
||||||
return SpellID::NONE;
|
return SpellID::NONE;
|
||||||
|
|
||||||
|
if(bl->size() == 1)
|
||||||
|
return SpellID(bl->front()->subtype);
|
||||||
|
|
||||||
int totalWeight = 0;
|
int totalWeight = 0;
|
||||||
for(const auto & b : *bl)
|
for(const auto & b : *bl)
|
||||||
{
|
{
|
||||||
|
@ -58,7 +58,7 @@ std::string CBank::getHoverText(PlayerColor player) const
|
|||||||
void CBank::setConfig(const BankConfig & config)
|
void CBank::setConfig(const BankConfig & config)
|
||||||
{
|
{
|
||||||
bc = std::make_unique<BankConfig>(config);
|
bc = std::make_unique<BankConfig>(config);
|
||||||
clear(); // remove all stacks, if any
|
clearSlots(); // remove all stacks, if any
|
||||||
|
|
||||||
for(const auto & stack : config.guards)
|
for(const auto & stack : config.guards)
|
||||||
setCreature (SlotID(stacksCount()), stack.type->getId(), stack.count);
|
setCreature (SlotID(stacksCount()), stack.type->getId(), stack.count);
|
||||||
|
@ -356,6 +356,9 @@ void CTownRewardableBuilding::heroLevelUpDone(const CGHeroInstance *hero) const
|
|||||||
|
|
||||||
void CTownRewardableBuilding::blockingDialogAnswered(const CGHeroInstance *hero, ui32 answer) const
|
void CTownRewardableBuilding::blockingDialogAnswered(const CGHeroInstance *hero, ui32 answer) const
|
||||||
{
|
{
|
||||||
|
if(answer == 0)
|
||||||
|
return; // player refused
|
||||||
|
|
||||||
if(visitors.find(hero->id) != visitors.end())
|
if(visitors.find(hero->id) != visitors.end())
|
||||||
return; // query not for this building
|
return; // query not for this building
|
||||||
|
|
||||||
|
@ -1736,7 +1736,7 @@ CGObjectInstance * CMapLoaderH3M::readHero(const int3 & mapPosition, const Objec
|
|||||||
{
|
{
|
||||||
if(!object->spells.empty())
|
if(!object->spells.empty())
|
||||||
{
|
{
|
||||||
object->clear();
|
object->spells.clear();
|
||||||
logGlobal->debug("Hero %s subID=%d has spells set twice (in map properties and on adventure map instance). Using the latter set...", object->getNameTextID(), object->subID);
|
logGlobal->debug("Hero %s subID=%d has spells set twice (in map properties and on adventure map instance). Using the latter set...", object->getNameTextID(), object->subID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -376,6 +376,12 @@ void Area::translate(const int3 & shift)
|
|||||||
//toAbsolute(dTiles, shift);
|
//toAbsolute(dTiles, shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Area::erase_if(std::function<bool(const int3&)> predicate)
|
||||||
|
{
|
||||||
|
invalidate();
|
||||||
|
vstd::erase_if(dTiles, predicate);
|
||||||
|
}
|
||||||
|
|
||||||
Area operator- (const Area & l, const int3 & r)
|
Area operator- (const Area & l, const int3 & r)
|
||||||
{
|
{
|
||||||
Area result(l);
|
Area result(l);
|
||||||
|
@ -64,6 +64,7 @@ namespace rmg
|
|||||||
void intersect(const Area & area);
|
void intersect(const Area & area);
|
||||||
void subtract(const Area & area);
|
void subtract(const Area & area);
|
||||||
void translate(const int3 & shift);
|
void translate(const int3 & shift);
|
||||||
|
void erase_if(std::function<bool(const int3&)> predicate);
|
||||||
|
|
||||||
friend Area operator+ (const Area & l, const int3 & r); //translation
|
friend Area operator+ (const Area & l, const int3 & r); //translation
|
||||||
friend Area operator- (const Area & l, const int3 & r); //translation
|
friend Area operator- (const Area & l, const int3 & r); //translation
|
||||||
|
@ -344,16 +344,6 @@ void Object::Instance::finalize(RmgMap & map)
|
|||||||
setTemplate(terrainType->getId());
|
setTemplate(terrainType->getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dObject.ID == Obj::MONSTER)
|
|
||||||
{
|
|
||||||
//Make up for extra offset in HotA creature templates
|
|
||||||
auto visitableOffset = dObject.getVisitableOffset();
|
|
||||||
auto fixedPos = getPosition(true) + visitableOffset;
|
|
||||||
vstd::abetween(fixedPos.x, visitableOffset.x, map.width() - 1);
|
|
||||||
vstd::abetween(fixedPos.y, visitableOffset.y, map.height() - 1);
|
|
||||||
int3 parentPos = getPosition(true) - getPosition(false);
|
|
||||||
setPosition(fixedPos - parentPos);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dObject.isVisitable() && !map.isOnMap(dObject.visitablePos()))
|
if (dObject.isVisitable() && !map.isOnMap(dObject.visitablePos()))
|
||||||
throw rmgException(boost::to_string(boost::format("Visitable tile %s of object %d at %s is outside the map") % dObject.visitablePos().toString() % dObject.id % dObject.pos.toString()));
|
throw rmgException(boost::to_string(boost::format("Visitable tile %s of object %d at %s is outside the map") % dObject.visitablePos().toString() % dObject.id % dObject.pos.toString()));
|
||||||
|
@ -129,6 +129,19 @@ int3 ObjectManager::findPlaceForObject(const rmg::Area & searchArea, rmg::Object
|
|||||||
{
|
{
|
||||||
float bestWeight = 0.f;
|
float bestWeight = 0.f;
|
||||||
int3 result(-1, -1, -1);
|
int3 result(-1, -1, -1);
|
||||||
|
|
||||||
|
//Blocked area might not cover object position if it has an offset from (0,0)
|
||||||
|
auto outsideTheMap = [this, &obj]() -> bool
|
||||||
|
{
|
||||||
|
for (const auto& oi : obj.instances())
|
||||||
|
{
|
||||||
|
if (!map.isOnMap(oi->getPosition(true)))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
if(optimizer & OptimizeType::DISTANCE)
|
if(optimizer & OptimizeType::DISTANCE)
|
||||||
{
|
{
|
||||||
@ -149,6 +162,9 @@ int3 ObjectManager::findPlaceForObject(const rmg::Area & searchArea, rmg::Object
|
|||||||
|
|
||||||
if(!searchArea.contains(obj.getArea()) || !searchArea.overlap(obj.getAccessibleArea()))
|
if(!searchArea.contains(obj.getArea()) || !searchArea.overlap(obj.getAccessibleArea()))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (outsideTheMap())
|
||||||
|
continue;
|
||||||
|
|
||||||
float weight = weightFunction(tile);
|
float weight = weightFunction(tile);
|
||||||
if(weight > bestWeight)
|
if(weight > bestWeight)
|
||||||
@ -168,9 +184,12 @@ int3 ObjectManager::findPlaceForObject(const rmg::Area & searchArea, rmg::Object
|
|||||||
|
|
||||||
if (obj.getVisibleTop().y < 0)
|
if (obj.getVisibleTop().y < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(!searchArea.contains(obj.getArea()) || !searchArea.overlap(obj.getAccessibleArea()))
|
if(!searchArea.contains(obj.getArea()) || !searchArea.overlap(obj.getAccessibleArea()))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (outsideTheMap())
|
||||||
|
continue;
|
||||||
|
|
||||||
float weight = weightFunction(tile);
|
float weight = weightFunction(tile);
|
||||||
if(weight > bestWeight)
|
if(weight > bestWeight)
|
||||||
@ -416,7 +435,7 @@ bool ObjectManager::createRequiredObjects()
|
|||||||
|
|
||||||
//create object on specific positions
|
//create object on specific positions
|
||||||
//TODO: implement guards
|
//TODO: implement guards
|
||||||
for (const auto &objInfo : instantObjects)
|
for (const auto &objInfo : instantObjects) //Unused ATM
|
||||||
{
|
{
|
||||||
rmg::Object rmgObject(*objInfo.obj);
|
rmg::Object rmgObject(*objInfo.obj);
|
||||||
rmgObject.setPosition(objInfo.pos);
|
rmgObject.setPosition(objInfo.pos);
|
||||||
@ -433,6 +452,28 @@ bool ObjectManager::createRequiredObjects()
|
|||||||
|
|
||||||
void ObjectManager::placeObject(rmg::Object & object, bool guarded, bool updateDistance, bool createRoad/* = false*/)
|
void ObjectManager::placeObject(rmg::Object & object, bool guarded, bool updateDistance, bool createRoad/* = false*/)
|
||||||
{
|
{
|
||||||
|
//object.finalize(map);
|
||||||
|
|
||||||
|
if (object.instances().size() == 1 && object.instances().front()->object().ID == Obj::MONSTER)
|
||||||
|
{
|
||||||
|
//Fix for HoTA offset - lonely guards
|
||||||
|
|
||||||
|
auto monster = object.instances().front();
|
||||||
|
if (!monster->object().appearance)
|
||||||
|
{
|
||||||
|
//Needed to determine visitable offset
|
||||||
|
monster->setAnyTemplate();
|
||||||
|
}
|
||||||
|
object.getPosition();
|
||||||
|
auto visitableOffset = monster->object().getVisitableOffset();
|
||||||
|
auto fixedPos = monster->getPosition(true) + visitableOffset;
|
||||||
|
|
||||||
|
//Do not place guard outside the map
|
||||||
|
vstd::abetween(fixedPos.x, visitableOffset.x, map.width() - 1);
|
||||||
|
vstd::abetween(fixedPos.y, visitableOffset.y, map.height() - 1);
|
||||||
|
int3 parentOffset = monster->getPosition(true) - monster->getPosition(false);
|
||||||
|
monster->setPosition(fixedPos - parentOffset);
|
||||||
|
}
|
||||||
object.finalize(map);
|
object.finalize(map);
|
||||||
|
|
||||||
Zone::Lock lock(zone.areaMutex);
|
Zone::Lock lock(zone.areaMutex);
|
||||||
@ -443,8 +484,8 @@ void ObjectManager::placeObject(rmg::Object & object, bool guarded, bool updateD
|
|||||||
zone.freePaths().add(object.getVisitablePosition());
|
zone.freePaths().add(object.getVisitablePosition());
|
||||||
zone.areaUsed().unite(object.getArea());
|
zone.areaUsed().unite(object.getArea());
|
||||||
zone.areaUsed().erase(object.getVisitablePosition());
|
zone.areaUsed().erase(object.getVisitablePosition());
|
||||||
|
|
||||||
if(guarded)
|
if(guarded) //We assume the monster won't be guarded
|
||||||
{
|
{
|
||||||
auto guardedArea = object.instances().back()->getAccessibleArea();
|
auto guardedArea = object.instances().back()->getAccessibleArea();
|
||||||
guardedArea.add(object.instances().back()->getVisitablePosition());
|
guardedArea.add(object.instances().back()->getVisitablePosition());
|
||||||
@ -501,6 +542,7 @@ void ObjectManager::placeObject(rmg::Object & object, bool guarded, bool updateD
|
|||||||
{
|
{
|
||||||
case Obj::RANDOM_TREASURE_ART:
|
case Obj::RANDOM_TREASURE_ART:
|
||||||
case Obj::RANDOM_MINOR_ART: //In OH3 quest artifacts have higher value than normal arts
|
case Obj::RANDOM_MINOR_ART: //In OH3 quest artifacts have higher value than normal arts
|
||||||
|
case Obj::RANDOM_RESOURCE:
|
||||||
{
|
{
|
||||||
if (auto * qap = zone.getModificator<QuestArtifactPlacer>())
|
if (auto * qap = zone.getModificator<QuestArtifactPlacer>())
|
||||||
{
|
{
|
||||||
@ -629,8 +671,12 @@ bool ObjectManager::addGuard(rmg::Object & object, si32 strength, bool zoneGuard
|
|||||||
});
|
});
|
||||||
|
|
||||||
auto & instance = object.addInstance(*guard);
|
auto & instance = object.addInstance(*guard);
|
||||||
instance.setPosition(guardPos - object.getPosition());
|
|
||||||
instance.setAnyTemplate(); //terrain is irrelevant for monsters, but monsters need some template now
|
instance.setAnyTemplate(); //terrain is irrelevant for monsters, but monsters need some template now
|
||||||
|
|
||||||
|
//Fix HoTA monsters with offset template
|
||||||
|
auto visitableOffset = instance.object().getVisitableOffset();
|
||||||
|
auto fixedPos = guardPos - object.getPosition() + visitableOffset;
|
||||||
|
instance.setPosition(fixedPos);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -89,14 +89,15 @@ void QuestArtifactPlacer::placeQuestArtifacts(CRandomGenerator & rand)
|
|||||||
artifactToReplace->getObjectName(),
|
artifactToReplace->getObjectName(),
|
||||||
artifactToReplace->getPosition().toString(),
|
artifactToReplace->getPosition().toString(),
|
||||||
VLC->artifacts()->getById(artifactToPlace)->getNameTranslated());
|
VLC->artifacts()->getById(artifactToPlace)->getNameTranslated());
|
||||||
artifactToReplace->ID = Obj::ARTIFACT;
|
|
||||||
artifactToReplace->subID = artifactToPlace;
|
|
||||||
|
|
||||||
//Update appearance. Terrain is irrelevant.
|
//Update appearance. Terrain is irrelevant.
|
||||||
auto handler = VLC->objtypeh->getHandlerFor(Obj::ARTIFACT, artifactToPlace);
|
auto handler = VLC->objtypeh->getHandlerFor(Obj::ARTIFACT, artifactToPlace);
|
||||||
|
auto newObj = handler->create();
|
||||||
auto templates = handler->getTemplates();
|
auto templates = handler->getTemplates();
|
||||||
artifactToReplace->appearance = templates.front();
|
//artifactToReplace->appearance = templates.front();
|
||||||
//FIXME: Instance name is still "randomArtifact"
|
newObj->appearance = templates.front();
|
||||||
|
newObj->pos = artifactToReplace->pos;
|
||||||
|
mapProxy->insertObject(newObj);
|
||||||
|
|
||||||
for (auto z : map.getZones())
|
for (auto z : map.getZones())
|
||||||
{
|
{
|
||||||
@ -107,6 +108,7 @@ void QuestArtifactPlacer::placeQuestArtifacts(CRandomGenerator & rand)
|
|||||||
localQap->dropReplacedArtifact(artifactToReplace);
|
localQap->dropReplacedArtifact(artifactToReplace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mapProxy->removeObject(artifactToReplace);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,9 +18,12 @@
|
|||||||
#include "../threadpool/MapProxy.h"
|
#include "../threadpool/MapProxy.h"
|
||||||
#include "../../CModHandler.h"
|
#include "../../CModHandler.h"
|
||||||
#include "../../mapping/CMapEditManager.h"
|
#include "../../mapping/CMapEditManager.h"
|
||||||
|
#include "../../TerrainHandler.h"
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_BEGIN
|
VCMI_LIB_NAMESPACE_BEGIN
|
||||||
|
|
||||||
|
class TerrainType;
|
||||||
|
|
||||||
void RoadPlacer::process()
|
void RoadPlacer::process()
|
||||||
{
|
{
|
||||||
if(generator.getConfig().defaultRoadType.empty() && generator.getConfig().secondaryRoadType.empty())
|
if(generator.getConfig().defaultRoadType.empty() && generator.getConfig().secondaryRoadType.empty())
|
||||||
@ -114,6 +117,13 @@ void RoadPlacer::drawRoads(bool secondary)
|
|||||||
//Clean space under roads even if they won't be eventually generated
|
//Clean space under roads even if they won't be eventually generated
|
||||||
Zone::Lock lock(zone.areaMutex);
|
Zone::Lock lock(zone.areaMutex);
|
||||||
|
|
||||||
|
//Do not draw roads on underground rock or water
|
||||||
|
roads.erase_if([this](const int3& pos) -> bool
|
||||||
|
{
|
||||||
|
const auto* terrain = map.getTile(pos).terType;;
|
||||||
|
return !terrain->isPassable() || !terrain->isLand();
|
||||||
|
});
|
||||||
|
|
||||||
zone.areaPossible().subtract(roads);
|
zone.areaPossible().subtract(roads);
|
||||||
zone.freePaths().unite(roads);
|
zone.freePaths().unite(roads);
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,12 @@ void MapProxy::insertObjects(std::set<CGObjectInstance*>& objects)
|
|||||||
map.getEditManager()->insertObjects(objects);
|
map.getEditManager()->insertObjects(objects);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MapProxy::removeObject(CGObjectInstance * obj)
|
||||||
|
{
|
||||||
|
Lock lock(mx);
|
||||||
|
map.getEditManager()->removeObject(obj);
|
||||||
|
}
|
||||||
|
|
||||||
void MapProxy::drawTerrain(CRandomGenerator & generator, std::vector<int3> & tiles, TerrainId terrain)
|
void MapProxy::drawTerrain(CRandomGenerator & generator, std::vector<int3> & tiles, TerrainId terrain)
|
||||||
{
|
{
|
||||||
Lock lock(mx);
|
Lock lock(mx);
|
||||||
|
@ -26,6 +26,7 @@ public:
|
|||||||
|
|
||||||
void insertObject(CGObjectInstance * obj);
|
void insertObject(CGObjectInstance * obj);
|
||||||
void insertObjects(std::set<CGObjectInstance*>& objects);
|
void insertObjects(std::set<CGObjectInstance*>& objects);
|
||||||
|
void removeObject(CGObjectInstance* obj);
|
||||||
|
|
||||||
void drawTerrain(CRandomGenerator & generator, std::vector<int3> & tiles, TerrainId terrain);
|
void drawTerrain(CRandomGenerator & generator, std::vector<int3> & tiles, TerrainId terrain);
|
||||||
void drawRivers(CRandomGenerator & generator, std::vector<int3> & tiles, TerrainId terrain);
|
void drawRivers(CRandomGenerator & generator, std::vector<int3> & tiles, TerrainId terrain);
|
||||||
|
@ -590,7 +590,7 @@ std::vector<AimType> BattleSpellMechanics::getTargetTypes() const
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Destination> BattleSpellMechanics::getPossibleDestinations(size_t index, AimType aimType, const Target & current) const
|
std::vector<Destination> BattleSpellMechanics::getPossibleDestinations(size_t index, AimType aimType, const Target & current, bool fast) const
|
||||||
{
|
{
|
||||||
//TODO: BattleSpellMechanics::getPossibleDestinations
|
//TODO: BattleSpellMechanics::getPossibleDestinations
|
||||||
|
|
||||||
@ -602,19 +602,66 @@ std::vector<Destination> BattleSpellMechanics::getPossibleDestinations(size_t in
|
|||||||
switch(aimType)
|
switch(aimType)
|
||||||
{
|
{
|
||||||
case AimType::CREATURE:
|
case AimType::CREATURE:
|
||||||
case AimType::LOCATION:
|
{
|
||||||
for(int i = 0; i < GameConstants::BFIELD_SIZE; i++)
|
auto stacks = battle()->battleGetAllStacks();
|
||||||
|
|
||||||
|
for(auto stack : stacks)
|
||||||
{
|
{
|
||||||
BattleHex dest(i);
|
Target tmp = current;
|
||||||
if(dest.isAvailable())
|
tmp.emplace_back(stack->getPosition());
|
||||||
|
|
||||||
|
detail::ProblemImpl ignored;
|
||||||
|
|
||||||
|
if(canBeCastAt(tmp, ignored))
|
||||||
|
ret.emplace_back(stack->getPosition());
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case AimType::LOCATION:
|
||||||
|
if(fast)
|
||||||
|
{
|
||||||
|
auto stacks = battle()->battleGetAllStacks();
|
||||||
|
std::set<BattleHex> hexesToCheck;
|
||||||
|
|
||||||
|
for(auto stack : stacks)
|
||||||
{
|
{
|
||||||
Target tmp = current;
|
hexesToCheck.insert(stack->getPosition());
|
||||||
tmp.emplace_back(dest);
|
|
||||||
|
|
||||||
detail::ProblemImpl ignored;
|
for(auto adjacent : stack->getPosition().neighbouringTiles())
|
||||||
|
hexesToCheck.insert(adjacent);
|
||||||
|
}
|
||||||
|
|
||||||
if(canBeCastAt(tmp, ignored))
|
for(auto hex : hexesToCheck)
|
||||||
ret.emplace_back(dest);
|
{
|
||||||
|
if(hex.isAvailable())
|
||||||
|
{
|
||||||
|
Target tmp = current;
|
||||||
|
tmp.emplace_back(hex);
|
||||||
|
|
||||||
|
detail::ProblemImpl ignored;
|
||||||
|
|
||||||
|
if(canBeCastAt(tmp, ignored))
|
||||||
|
ret.emplace_back(hex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for(int i = 0; i < GameConstants::BFIELD_SIZE; i++)
|
||||||
|
{
|
||||||
|
BattleHex dest(i);
|
||||||
|
if(dest.isAvailable())
|
||||||
|
{
|
||||||
|
Target tmp = current;
|
||||||
|
tmp.emplace_back(dest);
|
||||||
|
|
||||||
|
detail::ProblemImpl ignored;
|
||||||
|
|
||||||
|
if(canBeCastAt(tmp, ignored))
|
||||||
|
ret.emplace_back(dest);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -50,7 +50,7 @@ public:
|
|||||||
/// Returns vector of all possible destinations for specified aim type
|
/// Returns vector of all possible destinations for specified aim type
|
||||||
/// index - ???
|
/// index - ???
|
||||||
/// current - ???
|
/// current - ???
|
||||||
std::vector<Destination> getPossibleDestinations(size_t index, AimType aimType, const Target & current) const override final;
|
std::vector<Destination> getPossibleDestinations(size_t index, AimType aimType, const Target & current, bool fast) const override final;
|
||||||
|
|
||||||
/// Returns true if spell can be cast on unit
|
/// Returns true if spell can be cast on unit
|
||||||
bool isReceptive(const battle::Unit * target) const override;
|
bool isReceptive(const battle::Unit * target) const override;
|
||||||
|
@ -326,7 +326,7 @@ bool BattleCast::castIfPossible(ServerCallback * server, Target target)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Target> BattleCast::findPotentialTargets() const
|
std::vector<Target> BattleCast::findPotentialTargets(bool fast) const
|
||||||
{
|
{
|
||||||
//TODO: for more than 2 destinations per target much more efficient algorithm is required
|
//TODO: for more than 2 destinations per target much more efficient algorithm is required
|
||||||
|
|
||||||
@ -354,7 +354,7 @@ std::vector<Target> BattleCast::findPotentialTargets() const
|
|||||||
if(previous.empty())
|
if(previous.empty())
|
||||||
{
|
{
|
||||||
Target empty;
|
Target empty;
|
||||||
destinations = m->getPossibleDestinations(index, targetTypes.at(index), empty);
|
destinations = m->getPossibleDestinations(index, targetTypes.at(index), empty, fast);
|
||||||
|
|
||||||
for(auto & destination : destinations)
|
for(auto & destination : destinations)
|
||||||
{
|
{
|
||||||
@ -367,7 +367,7 @@ std::vector<Target> BattleCast::findPotentialTargets() const
|
|||||||
{
|
{
|
||||||
for(const Target & current : previous)
|
for(const Target & current : previous)
|
||||||
{
|
{
|
||||||
destinations = m->getPossibleDestinations(index, targetTypes.at(index), current);
|
destinations = m->getPossibleDestinations(index, targetTypes.at(index), current, fast);
|
||||||
|
|
||||||
for(auto & destination : destinations)
|
for(auto & destination : destinations)
|
||||||
{
|
{
|
||||||
|
@ -139,7 +139,7 @@ public:
|
|||||||
///cast with silent check for permitted cast
|
///cast with silent check for permitted cast
|
||||||
bool castIfPossible(ServerCallback * server, Target target);
|
bool castIfPossible(ServerCallback * server, Target target);
|
||||||
|
|
||||||
std::vector<Target> findPotentialTargets() const;
|
std::vector<Target> findPotentialTargets(bool fast = false) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
///spell school level
|
///spell school level
|
||||||
@ -199,7 +199,7 @@ public:
|
|||||||
|
|
||||||
virtual std::vector<AimType> getTargetTypes() const = 0;
|
virtual std::vector<AimType> getTargetTypes() const = 0;
|
||||||
|
|
||||||
virtual std::vector<Destination> getPossibleDestinations(size_t index, AimType aimType, const Target & current) const = 0;
|
virtual std::vector<Destination> getPossibleDestinations(size_t index, AimType aimType, const Target & current, bool fast = false) const = 0;
|
||||||
|
|
||||||
virtual const Spell * getSpell() const = 0;
|
virtual const Spell * getSpell() const = 0;
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ bool RewardsWidget::commitChanges()
|
|||||||
pandora->resources = ResourceSet();
|
pandora->resources = ResourceSet();
|
||||||
pandora->artifacts.clear();
|
pandora->artifacts.clear();
|
||||||
pandora->spells.clear();
|
pandora->spells.clear();
|
||||||
pandora->creatures.clear();
|
pandora->creatures.clearSlots();
|
||||||
|
|
||||||
for(int row = 0; row < rewards; ++row)
|
for(int row = 0; row < rewards; ++row)
|
||||||
{
|
{
|
||||||
|
@ -2943,7 +2943,7 @@ bool CGameHandler::load(const std::string & filename)
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
CLoadFile lf(*CResourceHandler::get("local")->getResourceName(ResourceID(stem.to_string(), EResType::SAVEGAME)), MINIMAL_SERIALIZATION_VERSION);
|
CLoadFile lf(*CResourceHandler::get()->getResourceName(ResourceID(stem.to_string(), EResType::SAVEGAME)), MINIMAL_SERIALIZATION_VERSION);
|
||||||
loadCommonState(lf);
|
loadCommonState(lf);
|
||||||
logGlobal->info("Loading server state");
|
logGlobal->info("Loading server state");
|
||||||
lf >> *this;
|
lf >> *this;
|
||||||
|
@ -277,6 +277,12 @@ void CVCMIServer::prepareToRestart()
|
|||||||
* si = * gh->gs->initialOpts;
|
* si = * gh->gs->initialOpts;
|
||||||
si->seedToBeUsed = si->seedPostInit = 0;
|
si->seedToBeUsed = si->seedPostInit = 0;
|
||||||
state = EServerState::LOBBY;
|
state = EServerState::LOBBY;
|
||||||
|
if (si->campState)
|
||||||
|
{
|
||||||
|
assert(si->campState->currentScenario().has_value());
|
||||||
|
campaignMap = si->campState->currentScenario().value_or(CampaignScenarioID(0));
|
||||||
|
campaignBonus = si->campState->getBonusID(campaignMap).value_or(-1);
|
||||||
|
}
|
||||||
// FIXME: dirry hack to make sure old CGameHandler::run is finished
|
// FIXME: dirry hack to make sure old CGameHandler::run is finished
|
||||||
boost::this_thread::sleep(boost::posix_time::milliseconds(1000));
|
boost::this_thread::sleep(boost::posix_time::milliseconds(1000));
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ void HeroPoolProcessor::onHeroEscaped(const PlayerColor & color, const CGHeroIns
|
|||||||
sah.slotID = selectSlotForRole(color, sah.roleID);
|
sah.slotID = selectSlotForRole(color, sah.roleID);
|
||||||
sah.player = color;
|
sah.player = color;
|
||||||
sah.hid = hero->subID;
|
sah.hid = hero->subID;
|
||||||
sah.army.clear();
|
sah.army.clearSlots();
|
||||||
sah.army.setCreature(SlotID(0), hero->type->initialArmy.at(0).creature, 1);
|
sah.army.setCreature(SlotID(0), hero->type->initialArmy.at(0).creature, 1);
|
||||||
|
|
||||||
gameHandler->sendAndApply(&sah);
|
gameHandler->sendAndApply(&sah);
|
||||||
@ -148,7 +148,7 @@ void HeroPoolProcessor::selectNewHeroForSlot(const PlayerColor & color, TavernHe
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
sah.roleID = TavernSlotRole::SINGLE_UNIT;
|
sah.roleID = TavernSlotRole::SINGLE_UNIT;
|
||||||
sah.army.clear();
|
sah.army.clearSlots();
|
||||||
sah.army.setCreature(SlotID(0), newHero->type->initialArmy[0].creature, 1);
|
sah.army.setCreature(SlotID(0), newHero->type->initialArmy[0].creature, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -244,7 +244,7 @@ bool HeroPoolProcessor::hireHero(const ObjectInstanceID & objectID, const HeroTy
|
|||||||
hr.hid = recruitedHero->subID;
|
hr.hid = recruitedHero->subID;
|
||||||
hr.player = player;
|
hr.player = player;
|
||||||
hr.tile = recruitedHero->convertFromVisitablePos(targetPos );
|
hr.tile = recruitedHero->convertFromVisitablePos(targetPos );
|
||||||
if(gameHandler->getTile(hr.tile)->isWater() && !recruitedHero->boat)
|
if(gameHandler->getTile(targetPos)->isWater() && !recruitedHero->boat)
|
||||||
{
|
{
|
||||||
//Create a new boat for hero
|
//Create a new boat for hero
|
||||||
gameHandler->createObject(targetPos , Obj::BOAT, recruitedHero->getBoatType().getNum());
|
gameHandler->createObject(targetPos , Obj::BOAT, recruitedHero->getBoatType().getNum());
|
||||||
|
@ -34,7 +34,7 @@ public:
|
|||||||
|
|
||||||
MOCK_CONST_METHOD1(isReceptive, bool(const battle::Unit * ));
|
MOCK_CONST_METHOD1(isReceptive, bool(const battle::Unit * ));
|
||||||
MOCK_CONST_METHOD0(getTargetTypes, std::vector<AimType>());
|
MOCK_CONST_METHOD0(getTargetTypes, std::vector<AimType>());
|
||||||
MOCK_CONST_METHOD3(getPossibleDestinations, std::vector<Destination>(size_t, AimType, const Target &));
|
MOCK_CONST_METHOD4(getPossibleDestinations, std::vector<Destination>(size_t, AimType, const Target &, bool));
|
||||||
|
|
||||||
MOCK_CONST_METHOD0(getSpell, const Spell *());
|
MOCK_CONST_METHOD0(getSpell, const Spell *());
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user