mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-19 21:10:12 +02:00
commit
dceae7398c
2
.github/workflows/github.yml
vendored
2
.github/workflows/github.yml
vendored
@ -312,7 +312,7 @@ jobs:
|
|||||||
${{ github.workspace }}/android/vcmi-app/src/main/jniLibs
|
${{ github.workspace }}/android/vcmi-app/src/main/jniLibs
|
||||||
|
|
||||||
- name: Upload build
|
- name: Upload build
|
||||||
if: ${{ (matrix.pack == 1 || startsWith(matrix.platform, 'android')) && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/beta' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/features/')) && matrix.platform != 'msvc' }}
|
if: ${{ (matrix.pack == 1 || startsWith(matrix.platform, 'android')) && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/beta' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/features/')) && matrix.platform != 'msvc' && matrix.platform != 'mingw-32' }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
if cd '${{github.workspace}}/android/vcmi-app/build/outputs/apk/daily' ; then
|
if cd '${{github.workspace}}/android/vcmi-app/build/outputs/apk/daily' ; then
|
||||||
|
@ -147,7 +147,7 @@ BattleAction BattleEvaluator::selectStackAction(const CStack * stack)
|
|||||||
(int)bestAttack.from,
|
(int)bestAttack.from,
|
||||||
(int)bestAttack.attack.attacker->getPosition().hex,
|
(int)bestAttack.attack.attacker->getPosition().hex,
|
||||||
bestAttack.attack.chargeDistance,
|
bestAttack.attack.chargeDistance,
|
||||||
bestAttack.attack.attacker->speed(0, true),
|
bestAttack.attack.attacker->getMovementRange(0),
|
||||||
bestAttack.defenderDamageReduce,
|
bestAttack.defenderDamageReduce,
|
||||||
bestAttack.attackerDamageReduce,
|
bestAttack.attackerDamageReduce,
|
||||||
score
|
score
|
||||||
@ -225,7 +225,7 @@ BattleAction BattleEvaluator::selectStackAction(const CStack * stack)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return BattleAction::makeDefend(stack);
|
return stack->waited() ? BattleAction::makeDefend(stack) : BattleAction::makeWait(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t timeElapsed(std::chrono::time_point<std::chrono::high_resolution_clock> start)
|
uint64_t timeElapsed(std::chrono::time_point<std::chrono::high_resolution_clock> start)
|
||||||
@ -553,7 +553,7 @@ bool BattleEvaluator::attemptCastingSpell(const CStack * activeStack)
|
|||||||
auto needFullEval = vstd::contains_if(allUnits, [&](const battle::Unit * u) -> bool
|
auto needFullEval = vstd::contains_if(allUnits, [&](const battle::Unit * u) -> bool
|
||||||
{
|
{
|
||||||
auto original = cb->getBattle(battleID)->battleGetUnitByID(u->unitId());
|
auto original = cb->getBattle(battleID)->battleGetUnitByID(u->unitId());
|
||||||
return !original || u->speed() != original->speed();
|
return !original || u->getMovementRange() != original->getMovementRange();
|
||||||
});
|
});
|
||||||
|
|
||||||
DamageCache safeCopy = damageCache;
|
DamageCache safeCopy = damageCache;
|
||||||
@ -609,7 +609,7 @@ bool BattleEvaluator::attemptCastingSpell(const CStack * activeStack)
|
|||||||
|
|
||||||
if(ourUnit * goodEffect == 1)
|
if(ourUnit * goodEffect == 1)
|
||||||
{
|
{
|
||||||
if(ourUnit && goodEffect && (unit->isClone() || unit->isGhost() || !unit->unitSlot().validSlot()))
|
if(ourUnit && goodEffect && (unit->isClone() || unit->isGhost()))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ps.value += dpsReduce * scoreEvaluator.getPositiveEffectMultiplier();
|
ps.value += dpsReduce * scoreEvaluator.getPositiveEffectMultiplier();
|
||||||
|
@ -258,7 +258,9 @@ EvaluationResult BattleExchangeEvaluator::findBestTarget(
|
|||||||
|
|
||||||
updateReachabilityMap(hb);
|
updateReachabilityMap(hb);
|
||||||
|
|
||||||
if(result.bestAttack.attack.shooting && hb->battleHasShootingPenalty(activeStack, result.bestAttack.dest))
|
if(result.bestAttack.attack.shooting
|
||||||
|
&& !activeStack->waited()
|
||||||
|
&& hb->battleHasShootingPenalty(activeStack, result.bestAttack.dest))
|
||||||
{
|
{
|
||||||
if(!canBeHitThisTurn(result.bestAttack))
|
if(!canBeHitThisTurn(result.bestAttack))
|
||||||
return result; // lets wait
|
return result; // lets wait
|
||||||
@ -295,7 +297,7 @@ MoveTarget BattleExchangeEvaluator::findMoveTowardsUnreachable(
|
|||||||
if(targets.unreachableEnemies.empty())
|
if(targets.unreachableEnemies.empty())
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
auto speed = activeStack->speed();
|
auto speed = activeStack->getMovementRange();
|
||||||
|
|
||||||
if(speed == 0)
|
if(speed == 0)
|
||||||
return result;
|
return result;
|
||||||
@ -322,7 +324,7 @@ MoveTarget BattleExchangeEvaluator::findMoveTowardsUnreachable(
|
|||||||
|
|
||||||
auto turnsToRich = (distance - 1) / speed + 1;
|
auto turnsToRich = (distance - 1) / speed + 1;
|
||||||
auto hexes = closestStack->getSurroundingHexes();
|
auto hexes = closestStack->getSurroundingHexes();
|
||||||
auto enemySpeed = closestStack->speed();
|
auto enemySpeed = closestStack->getMovementRange();
|
||||||
auto speedRatio = speed / static_cast<float>(enemySpeed);
|
auto speedRatio = speed / static_cast<float>(enemySpeed);
|
||||||
auto multiplier = speedRatio > 1 ? 1 : speedRatio;
|
auto multiplier = speedRatio > 1 ? 1 : speedRatio;
|
||||||
|
|
||||||
@ -481,11 +483,6 @@ float BattleExchangeEvaluator::evaluateExchange(
|
|||||||
DamageCache & damageCache,
|
DamageCache & damageCache,
|
||||||
std::shared_ptr<HypotheticBattle> hb)
|
std::shared_ptr<HypotheticBattle> hb)
|
||||||
{
|
{
|
||||||
if(ap.from.hex == 127)
|
|
||||||
{
|
|
||||||
logAi->trace("x");
|
|
||||||
}
|
|
||||||
|
|
||||||
BattleScore score = calculateExchange(ap, turn, targets, damageCache, hb);
|
BattleScore score = calculateExchange(ap, turn, targets, damageCache, hb);
|
||||||
|
|
||||||
#if BATTLE_TRACE_LEVEL >= 1
|
#if BATTLE_TRACE_LEVEL >= 1
|
||||||
@ -687,11 +684,6 @@ BattleScore BattleExchangeEvaluator::calculateExchange(
|
|||||||
for(auto hex : hexes)
|
for(auto hex : hexes)
|
||||||
reachabilityMap[hex] = getOneTurnReachableUnits(turn, hex);
|
reachabilityMap[hex] = getOneTurnReachableUnits(turn, hex);
|
||||||
|
|
||||||
if(!ap.attack.shooting)
|
|
||||||
{
|
|
||||||
v.adjustPositions(melleeAttackers, ap, reachabilityMap);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if BATTLE_TRACE_LEVEL>=1
|
#if BATTLE_TRACE_LEVEL>=1
|
||||||
logAi->trace("Exchange score: enemy: %2f, our -%2f", v.getScore().enemyDamageReduce, v.getScore().ourDamageReduce);
|
logAi->trace("Exchange score: enemy: %2f, our -%2f", v.getScore().enemyDamageReduce, v.getScore().ourDamageReduce);
|
||||||
#endif
|
#endif
|
||||||
@ -699,69 +691,6 @@ BattleScore BattleExchangeEvaluator::calculateExchange(
|
|||||||
return v.getScore();
|
return v.getScore();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BattleExchangeVariant::adjustPositions(
|
|
||||||
std::vector<const battle::Unit*> attackers,
|
|
||||||
const AttackPossibility & ap,
|
|
||||||
std::map<BattleHex, battle::Units> & reachabilityMap)
|
|
||||||
{
|
|
||||||
auto hexes = ap.attack.defender->getSurroundingHexes();
|
|
||||||
|
|
||||||
boost::sort(attackers, [&](const battle::Unit * u1, const battle::Unit * u2) -> bool
|
|
||||||
{
|
|
||||||
if(attackerValue[u1->unitId()].isRetalitated && !attackerValue[u2->unitId()].isRetalitated)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if(attackerValue[u2->unitId()].isRetalitated && !attackerValue[u1->unitId()].isRetalitated)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return attackerValue[u1->unitId()].value > attackerValue[u2->unitId()].value;
|
|
||||||
});
|
|
||||||
|
|
||||||
vstd::erase_if_present(hexes, ap.from);
|
|
||||||
vstd::erase_if_present(hexes, ap.attack.attacker->occupiedHex(ap.attack.attackerPos));
|
|
||||||
|
|
||||||
float notRealizedDamage = 0;
|
|
||||||
|
|
||||||
for(auto unit : attackers)
|
|
||||||
{
|
|
||||||
if(unit->unitId() == ap.attack.attacker->unitId())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(!vstd::contains_if(hexes, [&](BattleHex h) -> bool
|
|
||||||
{
|
|
||||||
return vstd::contains(reachabilityMap[h], unit);
|
|
||||||
}))
|
|
||||||
{
|
|
||||||
notRealizedDamage += attackerValue[unit->unitId()].value;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto desiredPosition = vstd::minElementByFun(hexes, [&](BattleHex h) -> float
|
|
||||||
{
|
|
||||||
auto score = vstd::contains(reachabilityMap[h], unit)
|
|
||||||
? reachabilityMap[h].size()
|
|
||||||
: 0;
|
|
||||||
|
|
||||||
if(unit->doubleWide())
|
|
||||||
{
|
|
||||||
auto backHex = unit->occupiedHex(h);
|
|
||||||
|
|
||||||
if(vstd::contains(hexes, backHex))
|
|
||||||
score += reachabilityMap[backHex].size();
|
|
||||||
}
|
|
||||||
|
|
||||||
return score;
|
|
||||||
});
|
|
||||||
|
|
||||||
hexes.erase(desiredPosition);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(notRealizedDamage > ap.attackValue() && notRealizedDamage > attackerValue[ap.attack.attacker->unitId()].value)
|
|
||||||
{
|
|
||||||
dpsScore = BattleScore(EvaluationResult::INEFFECTIVE_SCORE, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool BattleExchangeEvaluator::canBeHitThisTurn(const AttackPossibility & ap)
|
bool BattleExchangeEvaluator::canBeHitThisTurn(const AttackPossibility & ap)
|
||||||
{
|
{
|
||||||
for(auto pos : ap.attack.attacker->getSurroundingHexes())
|
for(auto pos : ap.attack.attacker->getSurroundingHexes())
|
||||||
@ -824,7 +753,7 @@ std::vector<const battle::Unit *> BattleExchangeEvaluator::getOneTurnReachableUn
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto unitSpeed = unit->speed(turn);
|
auto unitSpeed = unit->getMovementRange(turn);
|
||||||
auto radius = unitSpeed * (turn + 1);
|
auto radius = unitSpeed * (turn + 1);
|
||||||
|
|
||||||
ReachabilityInfo unitReachability = vstd::getOrCompute(
|
ReachabilityInfo unitReachability = vstd::getOrCompute(
|
||||||
@ -887,10 +816,10 @@ bool BattleExchangeEvaluator::checkPositionBlocksOurStacks(HypotheticBattle & hb
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
auto blockedUnitDamage = unit->getMinDamage(hb.battleCanShoot(unit)) * unit->getCount();
|
auto blockedUnitDamage = unit->getMinDamage(hb.battleCanShoot(unit)) * unit->getCount();
|
||||||
auto ratio = blockedUnitDamage / (blockedUnitDamage + activeUnitDamage);
|
float ratio = blockedUnitDamage / (float)(blockedUnitDamage + activeUnitDamage + 0.01);
|
||||||
|
|
||||||
auto unitReachability = turnBattle.getReachability(unit);
|
auto unitReachability = turnBattle.getReachability(unit);
|
||||||
auto unitSpeed = unit->speed(turn); // Cached value, to avoid performance hit
|
auto unitSpeed = unit->getMovementRange(turn); // Cached value, to avoid performance hit
|
||||||
|
|
||||||
for(BattleHex hex = BattleHex::TOP_LEFT; hex.isValid(); hex = hex + 1)
|
for(BattleHex hex = BattleHex::TOP_LEFT; hex.isValid(); hex = hex + 1)
|
||||||
{
|
{
|
||||||
|
@ -106,11 +106,6 @@ public:
|
|||||||
|
|
||||||
const BattleScore & getScore() const { return dpsScore; }
|
const BattleScore & getScore() const { return dpsScore; }
|
||||||
|
|
||||||
void adjustPositions(
|
|
||||||
std::vector<const battle::Unit *> attackers,
|
|
||||||
const AttackPossibility & ap,
|
|
||||||
std::map<BattleHex, battle::Units> & reachabilityMap);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BattleScore dpsScore;
|
BattleScore dpsScore;
|
||||||
std::map<uint32_t, AttackerValue> attackerValue;
|
std::map<uint32_t, AttackerValue> attackerValue;
|
||||||
|
@ -117,7 +117,7 @@ std::vector<SlotInfo>::iterator ArmyManager::getWeakestCreature(std::vector<Slot
|
|||||||
if(left.creature->getLevel() != right.creature->getLevel())
|
if(left.creature->getLevel() != right.creature->getLevel())
|
||||||
return left.creature->getLevel() < right.creature->getLevel();
|
return left.creature->getLevel() < right.creature->getLevel();
|
||||||
|
|
||||||
return left.creature->speed() > right.creature->speed();
|
return left.creature->getMovementRange() > right.creature->getMovementRange();
|
||||||
});
|
});
|
||||||
|
|
||||||
return weakest;
|
return weakest;
|
||||||
|
@ -63,7 +63,7 @@ std::vector<SlotInfo>::iterator ArmyManager::getWeakestCreature(std::vector<Slot
|
|||||||
if(left.creature->getLevel() != right.creature->getLevel())
|
if(left.creature->getLevel() != right.creature->getLevel())
|
||||||
return left.creature->getLevel() < right.creature->getLevel();
|
return left.creature->getLevel() < right.creature->getLevel();
|
||||||
|
|
||||||
return left.creature->speed() > right.creature->speed();
|
return left.creature->getMovementRange() > right.creature->getMovementRange();
|
||||||
});
|
});
|
||||||
|
|
||||||
return weakest;
|
return weakest;
|
||||||
|
@ -41,6 +41,7 @@ namespace AIPathfinding
|
|||||||
std::shared_ptr<AINodeStorage> nodeStorage)
|
std::shared_ptr<AINodeStorage> nodeStorage)
|
||||||
:PathfinderConfig(nodeStorage, makeRuleset(cb, ai, nodeStorage)), hero(nodeStorage->getHero())
|
:PathfinderConfig(nodeStorage, makeRuleset(cb, ai, nodeStorage)), hero(nodeStorage->getHero())
|
||||||
{
|
{
|
||||||
|
options.ignoreGuards = false;
|
||||||
options.useEmbarkAndDisembark = true;
|
options.useEmbarkAndDisembark = true;
|
||||||
options.useTeleportTwoWay = true;
|
options.useTeleportTwoWay = true;
|
||||||
options.useTeleportOneWay = true;
|
options.useTeleportOneWay = true;
|
||||||
|
@ -405,7 +405,10 @@ std::optional<BattleAction> CBattleCallback::makeSurrenderRetreatDecision(const
|
|||||||
|
|
||||||
std::shared_ptr<CPlayerBattleCallback> CBattleCallback::getBattle(const BattleID & battleID)
|
std::shared_ptr<CPlayerBattleCallback> CBattleCallback::getBattle(const BattleID & battleID)
|
||||||
{
|
{
|
||||||
return activeBattles.at(battleID);
|
if (activeBattles.count(battleID))
|
||||||
|
return activeBattles.at(battleID);
|
||||||
|
|
||||||
|
throw std::runtime_error("Failed to find battle " + std::to_string(battleID.getNum()) + " of player " + player->toString() + ". Number of ongoing battles: " + std::to_string(activeBattles.size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<PlayerColor> CBattleCallback::getPlayerID() const
|
std::optional<PlayerColor> CBattleCallback::getPlayerID() const
|
||||||
@ -415,10 +418,18 @@ std::optional<PlayerColor> CBattleCallback::getPlayerID() const
|
|||||||
|
|
||||||
void CBattleCallback::onBattleStarted(const IBattleInfo * info)
|
void CBattleCallback::onBattleStarted(const IBattleInfo * info)
|
||||||
{
|
{
|
||||||
|
if (activeBattles.count(info->getBattleID()) > 0)
|
||||||
|
throw std::runtime_error("Player " + player->toString() + " is already engaged in battle " + std::to_string(info->getBattleID().getNum()));
|
||||||
|
|
||||||
|
logGlobal->debug("Battle %d started for player %s", info->getBattleID(), player->toString());
|
||||||
activeBattles[info->getBattleID()] = std::make_shared<CPlayerBattleCallback>(info, *getPlayerID());
|
activeBattles[info->getBattleID()] = std::make_shared<CPlayerBattleCallback>(info, *getPlayerID());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CBattleCallback::onBattleEnded(const BattleID & battleID)
|
void CBattleCallback::onBattleEnded(const BattleID & battleID)
|
||||||
{
|
{
|
||||||
|
if (activeBattles.count(battleID) == 0)
|
||||||
|
throw std::runtime_error("Player " + player->toString() + " is not engaged in battle " + std::to_string(battleID.getNum()));
|
||||||
|
|
||||||
|
logGlobal->debug("Battle %d ended for player %s", battleID, player->toString());
|
||||||
activeBattles.erase(battleID);
|
activeBattles.erase(battleID);
|
||||||
}
|
}
|
||||||
|
88
ChangeLog.md
88
ChangeLog.md
@ -1,3 +1,91 @@
|
|||||||
|
# 1.4.2 -> 1.4.3
|
||||||
|
|
||||||
|
### General
|
||||||
|
* Fixed the synchronisation of the audio and video of the opening movies.
|
||||||
|
* Fixed a bug that caused spells from mods to not show up in the Mage's Guild.
|
||||||
|
* Changed the default SDL driver on Windows from opengl to autodetection
|
||||||
|
* When a hero visits a town with a garrisoned hero, they will now automatically exchange spells if one of them has the Scholar skill.
|
||||||
|
* Movement and mana points are now replenished for new heroes in taverns.
|
||||||
|
|
||||||
|
### Multiplayer
|
||||||
|
* Simturn contact detection will now correctly check for hero moving range
|
||||||
|
* Simturn contact detection will now ignore wandering monsters
|
||||||
|
* Right-clicking the Simturns AI option now displays a tooltip
|
||||||
|
* Interaction attempts with other players during simturns will now have more concise error messages
|
||||||
|
* Turn timers are now limited to 24 hours in order to prevent bugs caused by an integer overflow.
|
||||||
|
* Fixed delays when editing turn timer duration
|
||||||
|
* Ending a turn during simturns will now block the interface correctly.
|
||||||
|
|
||||||
|
### Campaigns
|
||||||
|
* Player will no longer start the United Front of Song for the Father campaign with two Nimbuses.
|
||||||
|
* Fixed missing campaign description after loading saved game
|
||||||
|
* Campaign completion checkmarks will now be displayed after the entire campaign has been completed, rather than just after the first scenario.
|
||||||
|
* Fixed positioning of prologue and epilogue text during campaign scenario intros
|
||||||
|
|
||||||
|
### Interface
|
||||||
|
* Added an option to hide adventure map window when town or battle window are open
|
||||||
|
* Fixed switching between pages on small version of spellbook
|
||||||
|
* Saves with long filenames are now truncated in the UI to prevent overflow.
|
||||||
|
* Added option to sort saved games by change date
|
||||||
|
* Game now shows correct resource when selecting start bonus
|
||||||
|
* It is now possible to inspect commander skills during battles.
|
||||||
|
* Fixed incorrect cursor being displayed when hovering over navigable water tiles
|
||||||
|
* Fixed incorrect cursor display when hovering over water objects accessible from shore
|
||||||
|
|
||||||
|
### Stability
|
||||||
|
* Fixed a crash when using the 'vcmiobelisk' cheat more than once.
|
||||||
|
* Fixed crash when reaching level 201. The maximum level is now limited to 197.
|
||||||
|
* Fixed crash when accessing a spell with an invalid SPELLCASTER bonus
|
||||||
|
* Fixed crash when trying to play music for an inaccessible tile
|
||||||
|
* Fixed memory corruption on loading of old mods with illegal 'index' field
|
||||||
|
* Fixed possible crash on server shutdown on Android
|
||||||
|
* Fixed possible crash when the affinity of the hero class is set to an invalid value
|
||||||
|
* Fixed crash on invalid creature in hero army due to outdated or broken mods
|
||||||
|
* Failure to initialise video subsystem now displays error message instead of silent crash
|
||||||
|
|
||||||
|
### Random Maps Generator
|
||||||
|
* Fixed possible creation of a duplicate hero in a random map when the player has chosen the starting hero.
|
||||||
|
* Fixed banning of quest artifacts on random maps
|
||||||
|
* Fixed banning of heroes in prison on random maps
|
||||||
|
|
||||||
|
### Battles
|
||||||
|
* Battle turn queue now displays current turn
|
||||||
|
* Added option to show unit statistics sidebar in battle
|
||||||
|
* Right-clicking on a unit in the battle turn queue now displays the unit details popup.
|
||||||
|
* Fixed error messages for SUMMON_GUARDIANS and TRANSMUTATION bonuses
|
||||||
|
* Fixed Dendroid Bind ability
|
||||||
|
* Black Dragons no longer hate Giants, only Titans
|
||||||
|
* Spellcasting units such as Archangels can no longer cast spells on themselves.
|
||||||
|
* Coronius specialty will now correctly select affected units
|
||||||
|
|
||||||
|
### Launcher
|
||||||
|
* Welcome screen will automatically detect existing Heroes 3 installation on Windows
|
||||||
|
* It is now possible to install mods by dragging and dropping onto the launcher.
|
||||||
|
* It is now possible to install maps and campaigns by dragging and dropping onto the launcher.
|
||||||
|
* Czech launcher translation added
|
||||||
|
* Added option to select preferred SDL driver in launcher
|
||||||
|
|
||||||
|
### Map Editor
|
||||||
|
* Fixed saving of allowed abilities, spells, artifacts or heroes
|
||||||
|
|
||||||
|
### AI
|
||||||
|
* AI will no longer attempt to move immobilized units, such as those under the effect of Dendroid Bind.
|
||||||
|
* Fixed shooters not shooting when they have a range penalty
|
||||||
|
* Fixed Fire Elemental spell casting
|
||||||
|
* Fixed rare bug where unit would sometimes do nothing in battle
|
||||||
|
|
||||||
|
### Modding
|
||||||
|
* Added better reporting of "invalid identifiers" errors with suggestions on how to fix them
|
||||||
|
* Added FEROCITY bonus (HotA Aysiud)
|
||||||
|
* Added ENEMY_ATTACK_REDUCTION bonus (HotA Nix)
|
||||||
|
* Added REVENGE bonus (HotA Haspid)
|
||||||
|
* Extended DEATH_STARE bonus to support Pirates ability (HotA)
|
||||||
|
* DEATH_STARE now supports spell ID in addInfo field to override used spell
|
||||||
|
* SPELL_BEFORE_ATTACK bonus now supports spell priorities
|
||||||
|
* FIRST_STRIKE bonus supports subtypes damageTypeMelee, damageTypeRanged and damageTypeAll
|
||||||
|
* BLOCKS_RETALIATION now also blocks FIRST_STRIKE bonus
|
||||||
|
* Added 'canCastOnSelf' field for spells to allow creatures to cast spells on themselves.
|
||||||
|
|
||||||
# 1.4.1 -> 1.4.2
|
# 1.4.1 -> 1.4.2
|
||||||
|
|
||||||
### General
|
### General
|
||||||
|
6
Global.h
6
Global.h
@ -100,6 +100,12 @@ static_assert(sizeof(bool) == 1, "Bool needs to be 1 byte in size.");
|
|||||||
|
|
||||||
#define _USE_MATH_DEFINES
|
#define _USE_MATH_DEFINES
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
// Enable additional debug checks from glibc / libstdc++ when building with enabled assertions
|
||||||
|
// Since these defines must be declared BEFORE including glibc header we can not check for __GLIBCXX__ macro to detect that glibc is in use
|
||||||
|
# define _GLIBCXX_ASSERTIONS
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <any>
|
#include <any>
|
||||||
#include <array>
|
#include <array>
|
||||||
|
7
Mods/vcmi/Sprites/lobby/selectionTabSortDate.json
Normal file
7
Mods/vcmi/Sprites/lobby/selectionTabSortDate.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"basepath" : "lobby/",
|
||||||
|
"images" :
|
||||||
|
[
|
||||||
|
{ "frame" : 0, "file" : "selectionTabSortDate.png"}
|
||||||
|
]
|
||||||
|
}
|
BIN
Mods/vcmi/Sprites/lobby/selectionTabSortDate.png
Normal file
BIN
Mods/vcmi/Sprites/lobby/selectionTabSortDate.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
@ -70,6 +70,7 @@
|
|||||||
"vcmi.lobby.mapPreview" : "Map preview",
|
"vcmi.lobby.mapPreview" : "Map preview",
|
||||||
"vcmi.lobby.noPreview" : "no preview",
|
"vcmi.lobby.noPreview" : "no preview",
|
||||||
"vcmi.lobby.noUnderground" : "no underground",
|
"vcmi.lobby.noUnderground" : "no underground",
|
||||||
|
"vcmi.lobby.sortDate" : "Sorts maps by change date",
|
||||||
|
|
||||||
"vcmi.client.errors.missingCampaigns" : "{Missing data files}\n\nCampaigns data files were not found! You may be using incomplete or corrupted Heroes 3 data files. Please reinstall game data.",
|
"vcmi.client.errors.missingCampaigns" : "{Missing data files}\n\nCampaigns data files were not found! You may be using incomplete or corrupted Heroes 3 data files. Please reinstall game data.",
|
||||||
"vcmi.server.errors.existingProcess" : "Another VCMI server process is running. Please terminate it before starting a new game.",
|
"vcmi.server.errors.existingProcess" : "Another VCMI server process is running. Please terminate it before starting a new game.",
|
||||||
@ -144,6 +145,8 @@
|
|||||||
"vcmi.adventureOptions.mapScrollSpeed1.help": "Set the map scrolling speed to very slow.",
|
"vcmi.adventureOptions.mapScrollSpeed1.help": "Set the map scrolling speed to very slow.",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed5.help": "Set the map scrolling speed to very fast.",
|
"vcmi.adventureOptions.mapScrollSpeed5.help": "Set the map scrolling speed to very fast.",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed6.help": "Set the map scrolling speed to instantaneous.",
|
"vcmi.adventureOptions.mapScrollSpeed6.help": "Set the map scrolling speed to instantaneous.",
|
||||||
|
"vcmi.adventureOptions.hideBackground.hover" : "Hide Background",
|
||||||
|
"vcmi.adventureOptions.hideBackground.help" : "{Hide Background}\n\nHide the adventuremap in the background and show a texture instead.",
|
||||||
|
|
||||||
"vcmi.battleOptions.queueSizeLabel.hover": "Show Turn Order Queue",
|
"vcmi.battleOptions.queueSizeLabel.hover": "Show Turn Order Queue",
|
||||||
"vcmi.battleOptions.queueSizeNoneButton.hover": "OFF",
|
"vcmi.battleOptions.queueSizeNoneButton.hover": "OFF",
|
||||||
@ -183,6 +186,10 @@
|
|||||||
"vcmi.battleWindow.damageEstimation.damage.1" : "%d damage",
|
"vcmi.battleWindow.damageEstimation.damage.1" : "%d damage",
|
||||||
"vcmi.battleWindow.damageEstimation.kills" : "%d will perish",
|
"vcmi.battleWindow.damageEstimation.kills" : "%d will perish",
|
||||||
"vcmi.battleWindow.damageEstimation.kills.1" : "%d will perish",
|
"vcmi.battleWindow.damageEstimation.kills.1" : "%d will perish",
|
||||||
|
"vcmi.battleWindow.killed" : "Killed",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.0" : "%d %s were killed by accurate shots!",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.1" : "%d %s was killed with an accurate shot!",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.2" : "%d %s were killed by accurate shots!",
|
||||||
|
|
||||||
"vcmi.battleResultsWindow.applyResultsLabel" : "Apply battle result",
|
"vcmi.battleResultsWindow.applyResultsLabel" : "Apply battle result",
|
||||||
|
|
||||||
@ -366,6 +373,8 @@
|
|||||||
"core.bonus.ENCHANTER.description": "Can cast mass ${subtype.spell} every turn",
|
"core.bonus.ENCHANTER.description": "Can cast mass ${subtype.spell} every turn",
|
||||||
"core.bonus.ENCHANTED.name": "Enchanted",
|
"core.bonus.ENCHANTED.name": "Enchanted",
|
||||||
"core.bonus.ENCHANTED.description": "Affected by permanent ${subtype.spell}",
|
"core.bonus.ENCHANTED.description": "Affected by permanent ${subtype.spell}",
|
||||||
|
"core.bonus.ENEMY_ATTACK_REDUCTION.name": "Ignore Attack (${val}%)",
|
||||||
|
"core.bonus.ENEMY_ATTACK_REDUCTION.description": "When being attacked, ${val}% of the attacker's attack is ignored",
|
||||||
"core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Ignore Defense (${val}%)",
|
"core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Ignore Defense (${val}%)",
|
||||||
"core.bonus.ENEMY_DEFENCE_REDUCTION.description": "When attacking, ${val}% of the defender's defense is ignored",
|
"core.bonus.ENEMY_DEFENCE_REDUCTION.description": "When attacking, ${val}% of the defender's defense is ignored",
|
||||||
"core.bonus.FIRE_IMMUNITY.name": "Fire immunity",
|
"core.bonus.FIRE_IMMUNITY.name": "Fire immunity",
|
||||||
@ -378,6 +387,8 @@
|
|||||||
"core.bonus.FEAR.description": "Causes Fear on an enemy stack",
|
"core.bonus.FEAR.description": "Causes Fear on an enemy stack",
|
||||||
"core.bonus.FEARLESS.name": "Fearless",
|
"core.bonus.FEARLESS.name": "Fearless",
|
||||||
"core.bonus.FEARLESS.description": "Immune to Fear ability",
|
"core.bonus.FEARLESS.description": "Immune to Fear ability",
|
||||||
|
"core.bonus.FEROCITY.name": "Ferocity",
|
||||||
|
"core.bonus.FEROCITY.description": "Attacks ${val} additional times if killed anybody",
|
||||||
"core.bonus.FLYING.name": "Fly",
|
"core.bonus.FLYING.name": "Fly",
|
||||||
"core.bonus.FLYING.description": "Flies when moving (ignores obstacles)",
|
"core.bonus.FLYING.description": "Flies when moving (ignores obstacles)",
|
||||||
"core.bonus.FREE_SHOOTING.name": "Shoot Close",
|
"core.bonus.FREE_SHOOTING.name": "Shoot Close",
|
||||||
@ -432,6 +443,8 @@
|
|||||||
"core.bonus.REBIRTH.description": "${val}% of stack will rise after death",
|
"core.bonus.REBIRTH.description": "${val}% of stack will rise after death",
|
||||||
"core.bonus.RETURN_AFTER_STRIKE.name": "Attack and Return",
|
"core.bonus.RETURN_AFTER_STRIKE.name": "Attack and Return",
|
||||||
"core.bonus.RETURN_AFTER_STRIKE.description": "Returns after melee attack",
|
"core.bonus.RETURN_AFTER_STRIKE.description": "Returns after melee attack",
|
||||||
|
"core.bonus.REVENGE.name": "Revenge",
|
||||||
|
"core.bonus.REVENGE.description": "Deals extra damage based on attacker's lost health in battle",
|
||||||
"core.bonus.SHOOTER.name": "Ranged",
|
"core.bonus.SHOOTER.name": "Ranged",
|
||||||
"core.bonus.SHOOTER.description": "Creature can shoot",
|
"core.bonus.SHOOTER.description": "Creature can shoot",
|
||||||
"core.bonus.SHOOTS_ALL_ADJACENT.name": "Shoot all around",
|
"core.bonus.SHOOTS_ALL_ADJACENT.name": "Shoot all around",
|
||||||
|
@ -70,7 +70,9 @@
|
|||||||
"vcmi.lobby.mapPreview" : "Kartenvorschau",
|
"vcmi.lobby.mapPreview" : "Kartenvorschau",
|
||||||
"vcmi.lobby.noPreview" : "Keine Vorschau",
|
"vcmi.lobby.noPreview" : "Keine Vorschau",
|
||||||
"vcmi.lobby.noUnderground" : "Kein Untergrund",
|
"vcmi.lobby.noUnderground" : "Kein Untergrund",
|
||||||
|
"vcmi.lobby.sortDate" : "Ordnet Karten nach Änderungsdatum",
|
||||||
|
|
||||||
|
"vcmi.client.errors.missingCampaigns" : "{Fehlende Dateien}\n\nEs wurden keine Kampagnendateien gefunden! Möglicherweise verwendest du unvollständige oder beschädigte Heroes 3 Datendateien. Bitte installiere die Spieldaten neu.",
|
||||||
"vcmi.server.errors.existingProcess" : "Es läuft ein weiterer vcmiserver-Prozess, bitte beendet diesen zuerst",
|
"vcmi.server.errors.existingProcess" : "Es läuft ein weiterer vcmiserver-Prozess, bitte beendet diesen zuerst",
|
||||||
"vcmi.server.errors.modsToEnable" : "{Erforderliche Mods um das Spiel zu laden}",
|
"vcmi.server.errors.modsToEnable" : "{Erforderliche Mods um das Spiel zu laden}",
|
||||||
"vcmi.server.errors.modsToDisable" : "{Folgende Mods müssen deaktiviert werden}",
|
"vcmi.server.errors.modsToDisable" : "{Folgende Mods müssen deaktiviert werden}",
|
||||||
@ -101,7 +103,7 @@
|
|||||||
"vcmi.systemOptions.resolutionMenu.help" : "Ändere die Spielauflösung.",
|
"vcmi.systemOptions.resolutionMenu.help" : "Ändere die Spielauflösung.",
|
||||||
"vcmi.systemOptions.scalingButton.hover" : "Interface-Skalierung: %p%",
|
"vcmi.systemOptions.scalingButton.hover" : "Interface-Skalierung: %p%",
|
||||||
"vcmi.systemOptions.scalingButton.help" : "{Interface-Skalierung}\n\nÄndern der Skalierung des Interfaces im Spiel",
|
"vcmi.systemOptions.scalingButton.help" : "{Interface-Skalierung}\n\nÄndern der Skalierung des Interfaces im Spiel",
|
||||||
"vcmi.systemOptions.scalingMenu.hover" : "Skalierung des Interfaces auswählen",
|
"vcmi.systemOptions.scalingMenu.hover" : "Skalierung auswählen",
|
||||||
"vcmi.systemOptions.scalingMenu.help" : "Ändern der Skalierung des Interfaces im Spiel.",
|
"vcmi.systemOptions.scalingMenu.help" : "Ändern der Skalierung des Interfaces im Spiel.",
|
||||||
"vcmi.systemOptions.longTouchButton.hover" : "Berührungsdauer für langer Touch: %d ms", // Translation note: "ms" = "milliseconds"
|
"vcmi.systemOptions.longTouchButton.hover" : "Berührungsdauer für langer Touch: %d ms", // Translation note: "ms" = "milliseconds"
|
||||||
"vcmi.systemOptions.longTouchButton.help" : "{Berührungsdauer für langer Touch}\n\nBei Verwendung des Touchscreens erscheinen Popup-Fenster nach Berührung des Bildschirms für die angegebene Dauer (in Millisekunden)",
|
"vcmi.systemOptions.longTouchButton.help" : "{Berührungsdauer für langer Touch}\n\nBei Verwendung des Touchscreens erscheinen Popup-Fenster nach Berührung des Bildschirms für die angegebene Dauer (in Millisekunden)",
|
||||||
@ -135,12 +137,16 @@
|
|||||||
"vcmi.adventureOptions.leftButtonDrag.help" : "{Ziehen der Karte mit Links}\n\nWenn aktiviert, wird die Maus bei gedrückter linker Taste in die Kartenansicht gezogen",
|
"vcmi.adventureOptions.leftButtonDrag.help" : "{Ziehen der Karte mit Links}\n\nWenn aktiviert, wird die Maus bei gedrückter linker Taste in die Kartenansicht gezogen",
|
||||||
"vcmi.adventureOptions.smoothDragging.hover" : "Nahtloses Ziehen der Karte",
|
"vcmi.adventureOptions.smoothDragging.hover" : "Nahtloses Ziehen der Karte",
|
||||||
"vcmi.adventureOptions.smoothDragging.help" : "{Nahtloses Ziehen der Karte}\n\nWenn aktiviert hat das Ziehen der Karte einen sanften Auslaufeffekt.",
|
"vcmi.adventureOptions.smoothDragging.help" : "{Nahtloses Ziehen der Karte}\n\nWenn aktiviert hat das Ziehen der Karte einen sanften Auslaufeffekt.",
|
||||||
|
"vcmi.adventureOptions.skipAdventureMapAnimations.hover" : "Fading-Effekte überspringen",
|
||||||
|
"vcmi.adventureOptions.skipAdventureMapAnimations.help" : "{Fading-Effekte überspringen}\n\nWenn diese Funktion aktiviert ist, werden das Ausblenden von Objekten und ähnliche Effekte übersprungen (Ressourcensammlung, Anlegen von Schiffen usw.). Macht die Benutzeroberfläche in einigen Fällen auf Kosten der Ästhetik reaktiver. Besonders nützlich in PvP-Spielen. Für maximale Bewegungsgeschwindigkeit ist das Überspringen unabhängig von dieser Einstellung aktiv.",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed1.hover": "",
|
"vcmi.adventureOptions.mapScrollSpeed1.hover": "",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed5.hover": "",
|
"vcmi.adventureOptions.mapScrollSpeed5.hover": "",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed6.hover": "",
|
"vcmi.adventureOptions.mapScrollSpeed6.hover": "",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed1.help": "Geschwindigkeit des Kartenbildlaufs auf sehr langsam einstellen",
|
"vcmi.adventureOptions.mapScrollSpeed1.help": "Geschwindigkeit des Kartenbildlaufs auf sehr langsam einstellen",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed5.help": "Geschwindigkeit des Kartenbildlaufs auf sehr schnell einstellen",
|
"vcmi.adventureOptions.mapScrollSpeed5.help": "Geschwindigkeit des Kartenbildlaufs auf sehr schnell einstellen",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed6.help": "Geschwindigkeit des Kartenbildlaufs auf sofort einstellen",
|
"vcmi.adventureOptions.mapScrollSpeed6.help": "Geschwindigkeit des Kartenbildlaufs auf sofort einstellen",
|
||||||
|
"vcmi.adventureOptions.hideBackground.hover" : "Hintergrund ausblenden",
|
||||||
|
"vcmi.adventureOptions.hideBackground.help" : "{Hintergrund ausblenden}\n\nDie Abenteuerkarte im Hintergrund ausblenden und stattdessen eine Textur anzeigen.",
|
||||||
|
|
||||||
"vcmi.battleOptions.queueSizeLabel.hover": "Reihenfolge der Kreaturen anzeigen",
|
"vcmi.battleOptions.queueSizeLabel.hover": "Reihenfolge der Kreaturen anzeigen",
|
||||||
"vcmi.battleOptions.queueSizeNoneButton.hover": "AUS",
|
"vcmi.battleOptions.queueSizeNoneButton.hover": "AUS",
|
||||||
@ -180,6 +186,10 @@
|
|||||||
"vcmi.battleWindow.damageEstimation.damage.1" : "%d Schaden",
|
"vcmi.battleWindow.damageEstimation.damage.1" : "%d Schaden",
|
||||||
"vcmi.battleWindow.damageEstimation.kills" : "%d werden verenden",
|
"vcmi.battleWindow.damageEstimation.kills" : "%d werden verenden",
|
||||||
"vcmi.battleWindow.damageEstimation.kills.1" : "%d werden verenden",
|
"vcmi.battleWindow.damageEstimation.kills.1" : "%d werden verenden",
|
||||||
|
"vcmi.battleWindow.killed" : "Getötet",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.0" : "%d %s wurden durch gezielte Schüsse getötet!",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.1" : "%d %s wurde mit einem gezielten Schuss getötet!",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.2" : "%d %s wurden durch gezielte Schüsse getötet!",
|
||||||
|
|
||||||
"vcmi.battleResultsWindow.applyResultsLabel" : "Kampfergebnis übernehmen",
|
"vcmi.battleResultsWindow.applyResultsLabel" : "Kampfergebnis übernehmen",
|
||||||
|
|
||||||
@ -242,18 +252,29 @@
|
|||||||
|
|
||||||
"vcmi.optionsTab.turnOptions.hover" : "Spielzug-Optionen",
|
"vcmi.optionsTab.turnOptions.hover" : "Spielzug-Optionen",
|
||||||
"vcmi.optionsTab.turnOptions.help" : "Optionen zu Spielzug-Timer und simultanen Zügen",
|
"vcmi.optionsTab.turnOptions.help" : "Optionen zu Spielzug-Timer und simultanen Zügen",
|
||||||
|
"vcmi.optionsTab.selectPreset" : "Voreinstellung",
|
||||||
|
|
||||||
"vcmi.optionsTab.chessFieldBase.hover" : "Basis-Timer",
|
"vcmi.optionsTab.chessFieldBase.hover" : "Basis-Timer",
|
||||||
"vcmi.optionsTab.chessFieldTurn.hover" : "Spielzug-Timer",
|
"vcmi.optionsTab.chessFieldTurn.hover" : "Spielzug-Timer",
|
||||||
"vcmi.optionsTab.chessFieldBattle.hover" : "Kampf-Timer",
|
"vcmi.optionsTab.chessFieldBattle.hover" : "Kampf-Timer",
|
||||||
"vcmi.optionsTab.chessFieldUnit.hover" : "Einheiten-Timer",
|
"vcmi.optionsTab.chessFieldUnit.hover" : "Einheiten-Timer",
|
||||||
|
"vcmi.optionsTab.chessFieldBase.help" : "Wird verwendet, wenn {Spielzug-Timer} 0 erreicht. Wird einmal zu Beginn des Spiels gesetzt. Bei Erreichen von Null wird der aktuelle Zug beendet. Jeder laufende Kampf endet mit einem Verlust.",
|
||||||
"vcmi.optionsTab.chessFieldTurnAccumulate.help" : "Wird außerhalb des Kampfes verwendet oder wenn der {Kampf-Timer} abgelaufen ist. Wird jede Runde zurückgesetzt. Reste werden am Ende der Runde zum {Basis-Timer} hinzugefügt.",
|
"vcmi.optionsTab.chessFieldTurnAccumulate.help" : "Wird außerhalb des Kampfes verwendet oder wenn der {Kampf-Timer} abgelaufen ist. Wird jede Runde zurückgesetzt. Reste werden am Ende der Runde zum {Basis-Timer} hinzugefügt.",
|
||||||
"vcmi.optionsTab.chessFieldTurnDiscard.help" : "Wird außerhalb des Kampfes verwendet oder wenn der {Kampf-Timer} abgelaufen ist. Wird jede Runde zurückgesetzt. Jede nicht verbrauchte Zeit ist verloren",
|
"vcmi.optionsTab.chessFieldTurnDiscard.help" : "Wird außerhalb des Kampfes verwendet oder wenn der {Kampf-Timer} abgelaufen ist. Wird jede Runde zurückgesetzt. Jede nicht verbrauchte Zeit ist verloren",
|
||||||
|
"vcmi.optionsTab.chessFieldBattle.help" : "Wird in Kämpfen mit der KI oder im PvP-Kampf verwendet, wenn der {Einheiten-Timer} abläuft. Wird zu Beginn eines jeden Kampfes zurückgesetzt.",
|
||||||
"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Wird bei der Auswahl der Einheitenaktion im PvP-Kampf verwendet. Der Rest wird am Ende des Zuges der Einheit zum {Kampf-Timer} hinzugefügt.",
|
"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Wird bei der Auswahl der Einheitenaktion im PvP-Kampf verwendet. Der Rest wird am Ende des Zuges der Einheit zum {Kampf-Timer} hinzugefügt.",
|
||||||
"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Wird bei der Auswahl der Einheitenaktion im PvP-Kampf verwendet. Wird zu Beginn des Zuges jeder Einheit zurückgesetzt. Jede nicht verbrauchte Zeit ist verloren",
|
"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Wird bei der Auswahl der Einheitenaktion im PvP-Kampf verwendet. Wird zu Beginn des Zuges jeder Einheit zurückgesetzt. Jede nicht verbrauchte Zeit ist verloren",
|
||||||
|
|
||||||
"vcmi.optionsTab.accumulate" : "Akkumulieren",
|
"vcmi.optionsTab.accumulate" : "Akkumulieren",
|
||||||
|
|
||||||
|
"vcmi.optionsTab.simturnsTitle" : "Simultane Züge",
|
||||||
|
"vcmi.optionsTab.simturnsMin.hover" : "Zumindest für",
|
||||||
|
"vcmi.optionsTab.simturnsMax.hover" : "Höchstens für",
|
||||||
|
"vcmi.optionsTab.simturnsAI.hover" : "(Experimentell) Simultane KI Züge",
|
||||||
|
"vcmi.optionsTab.simturnsMin.help" : "Spielt gleichzeitig für eine bestimmte Anzahl von Tagen. Die Kontakte zwischen den Spielern sind während dieser Zeit blockiert",
|
||||||
|
"vcmi.optionsTab.simturnsMax.help" : "Spielt gleichzeitig für eine bestimmte Anzahl von Tagen oder bis zum Kontakt mit einem anderen Spieler",
|
||||||
|
"vcmi.optionsTab.simturnsAI.help" : "{Simultane KI Züge}\nExperimentelle Option. Ermöglicht es den KI-Spielern, gleichzeitig mit dem menschlichen Spieler zu agieren, wenn simultane Spielzüge aktiviert sind.",
|
||||||
|
|
||||||
"vcmi.optionsTab.turnTime.select" : "Spielzug-Timer-Voreinst. wählen",
|
"vcmi.optionsTab.turnTime.select" : "Spielzug-Timer-Voreinst. wählen",
|
||||||
"vcmi.optionsTab.turnTime.unlimited" : "Unbegrenzter Spielzug-Timer",
|
"vcmi.optionsTab.turnTime.unlimited" : "Unbegrenzter Spielzug-Timer",
|
||||||
"vcmi.optionsTab.turnTime.classic.1" : "Klassischer Timer: 1 Minute",
|
"vcmi.optionsTab.turnTime.classic.1" : "Klassischer Timer: 1 Minute",
|
||||||
@ -279,14 +300,6 @@
|
|||||||
"vcmi.optionsTab.simturns.blocked2" : "Simzüge: 2 Wochen, Kontakte block.",
|
"vcmi.optionsTab.simturns.blocked2" : "Simzüge: 2 Wochen, Kontakte block.",
|
||||||
"vcmi.optionsTab.simturns.blocked4" : "Simzüge: 1 Monat, Kontakte block.",
|
"vcmi.optionsTab.simturns.blocked4" : "Simzüge: 1 Monat, Kontakte block.",
|
||||||
|
|
||||||
"vcmi.optionsTab.simturnsTitle" : "Simultane Züge",
|
|
||||||
"vcmi.optionsTab.simturnsMin.hover" : "Zumindest für",
|
|
||||||
"vcmi.optionsTab.simturnsMax.hover" : "Höchstens für",
|
|
||||||
"vcmi.optionsTab.simturnsAI.hover" : "(Experimentell) Simultane KI Züge",
|
|
||||||
"vcmi.optionsTab.simturnsMin.help" : "Spielt gleichzeitig für eine bestimmte Anzahl von Tagen. Die Kontakte zwischen den Spielern sind während dieser Zeit blockiert",
|
|
||||||
"vcmi.optionsTab.simturnsMax.help" : "Spielt gleichzeitig für eine bestimmte Anzahl von Tagen oder bis zum Kontakt mit einem anderen Spieler",
|
|
||||||
"vcmi.optionsTab.simturnsAI.help" : "{Simultane KI Züge}\nExperimentelle Option. Ermöglicht es den KI-Spielern, gleichzeitig mit dem menschlichen Spieler zu agieren, wenn simultane Spielzüge aktiviert sind.",
|
|
||||||
|
|
||||||
// Translation note: translate strings below using form that is correct for "0 days", "1 day" and "2 days" in your language
|
// Translation note: translate strings below using form that is correct for "0 days", "1 day" and "2 days" in your language
|
||||||
// Using this information, VCMI will automatically select correct plural form for every possible amount
|
// Using this information, VCMI will automatically select correct plural form for every possible amount
|
||||||
"vcmi.optionsTab.simturns.days.0" : "%d Tage",
|
"vcmi.optionsTab.simturns.days.0" : "%d Tage",
|
||||||
@ -360,6 +373,8 @@
|
|||||||
"core.bonus.ENCHANTER.description": "Kann jede Runde eine Masse von ${subtype.spell} zaubern",
|
"core.bonus.ENCHANTER.description": "Kann jede Runde eine Masse von ${subtype.spell} zaubern",
|
||||||
"core.bonus.ENCHANTED.name": "Verzaubert",
|
"core.bonus.ENCHANTED.name": "Verzaubert",
|
||||||
"core.bonus.ENCHANTED.description": "Beeinflusst von permanentem ${subtype.spell}",
|
"core.bonus.ENCHANTED.description": "Beeinflusst von permanentem ${subtype.spell}",
|
||||||
|
"core.bonus.ENEMY_ATTACK_REDUCTION.name": "Angriff ignorieren (${val}%)",
|
||||||
|
"core.bonus.ENEMY_ATTACK_REDUCTION.description": "Bei Angriff, wird ${val}% des Angreifers ignoriert.",
|
||||||
"core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Ignoriere Verteidigung (${val}%)",
|
"core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Ignoriere Verteidigung (${val}%)",
|
||||||
"core.bonus.ENEMY_DEFENCE_REDUCTION.description": "Ignoriert einen Teil der Verteidigung für den Angriff",
|
"core.bonus.ENEMY_DEFENCE_REDUCTION.description": "Ignoriert einen Teil der Verteidigung für den Angriff",
|
||||||
"core.bonus.FIRE_IMMUNITY.name": "Feuerimmunität",
|
"core.bonus.FIRE_IMMUNITY.name": "Feuerimmunität",
|
||||||
@ -372,6 +387,8 @@
|
|||||||
"core.bonus.FEAR.description": "Verursacht Furcht bei einem gegnerischen Stapel",
|
"core.bonus.FEAR.description": "Verursacht Furcht bei einem gegnerischen Stapel",
|
||||||
"core.bonus.FEARLESS.name": "Furchtlos",
|
"core.bonus.FEARLESS.name": "Furchtlos",
|
||||||
"core.bonus.FEARLESS.description": "immun gegen die Fähigkeit Furcht",
|
"core.bonus.FEARLESS.description": "immun gegen die Fähigkeit Furcht",
|
||||||
|
"core.bonus.FEROCITY.name": "Wildheit",
|
||||||
|
"core.bonus.FEROCITY.description": "Greift ${val} zusätzliche Male an, wenn jemand getötet wird",
|
||||||
"core.bonus.FLYING.name": "Fliegen",
|
"core.bonus.FLYING.name": "Fliegen",
|
||||||
"core.bonus.FLYING.description": "Kann fliegen (ignoriert Hindernisse)",
|
"core.bonus.FLYING.description": "Kann fliegen (ignoriert Hindernisse)",
|
||||||
"core.bonus.FREE_SHOOTING.name": "Nah schießen",
|
"core.bonus.FREE_SHOOTING.name": "Nah schießen",
|
||||||
@ -426,6 +443,8 @@
|
|||||||
"core.bonus.REBIRTH.description": "${val}% des Stacks wird nach dem Tod auferstehen",
|
"core.bonus.REBIRTH.description": "${val}% des Stacks wird nach dem Tod auferstehen",
|
||||||
"core.bonus.RETURN_AFTER_STRIKE.name": "Angriff und Rückkehr",
|
"core.bonus.RETURN_AFTER_STRIKE.name": "Angriff und Rückkehr",
|
||||||
"core.bonus.RETURN_AFTER_STRIKE.description": "Kehrt nach Nahkampfangriff zurück",
|
"core.bonus.RETURN_AFTER_STRIKE.description": "Kehrt nach Nahkampfangriff zurück",
|
||||||
|
"core.bonus.REVENGE.name": "Rache",
|
||||||
|
"core.bonus.REVENGE.description": "Verursacht zusätzlichen Schaden basierend auf der verlorenen Gesundheit des Angreifers im Kampf",
|
||||||
"core.bonus.SHOOTER.name": "Fernkämpfer",
|
"core.bonus.SHOOTER.name": "Fernkämpfer",
|
||||||
"core.bonus.SHOOTER.description": "Kreatur kann schießen",
|
"core.bonus.SHOOTER.description": "Kreatur kann schießen",
|
||||||
"core.bonus.SHOOTS_ALL_ADJACENT.name": "Schießt rundherum",
|
"core.bonus.SHOOTS_ALL_ADJACENT.name": "Schießt rundherum",
|
||||||
|
@ -54,6 +54,8 @@
|
|||||||
"vcmi.radialWheel.moveDown" : "Przenieś w dół",
|
"vcmi.radialWheel.moveDown" : "Przenieś w dół",
|
||||||
"vcmi.radialWheel.moveBottom" : "Przenieś na spód",
|
"vcmi.radialWheel.moveBottom" : "Przenieś na spód",
|
||||||
|
|
||||||
|
"vcmi.spellBook.search" : "szukaj...",
|
||||||
|
|
||||||
"vcmi.mainMenu.serverConnecting" : "Łączenie...",
|
"vcmi.mainMenu.serverConnecting" : "Łączenie...",
|
||||||
"vcmi.mainMenu.serverAddressEnter" : "Wprowadź adres:",
|
"vcmi.mainMenu.serverAddressEnter" : "Wprowadź adres:",
|
||||||
"vcmi.mainMenu.serverConnectionFailed" : "Połączenie nie powiodło się",
|
"vcmi.mainMenu.serverConnectionFailed" : "Połączenie nie powiodło się",
|
||||||
@ -68,7 +70,9 @@
|
|||||||
"vcmi.lobby.mapPreview" : "Podgląd mapy",
|
"vcmi.lobby.mapPreview" : "Podgląd mapy",
|
||||||
"vcmi.lobby.noPreview" : "brak podglądu",
|
"vcmi.lobby.noPreview" : "brak podglądu",
|
||||||
"vcmi.lobby.noUnderground" : "brak podziemi",
|
"vcmi.lobby.noUnderground" : "brak podziemi",
|
||||||
|
"vcmi.lobby.sortDate" : "Sortuj mapy według daty modyfikacji",
|
||||||
|
|
||||||
|
"vcmi.client.errors.missingCampaigns" : "{Brakujące pliki gry}\n\nPliki kampanii nie zostały znalezione! Możliwe że używasz niekompletnych lub uszkodzonych plików Heroes 3. Spróbuj ponownej instalacji plików gry.",
|
||||||
"vcmi.server.errors.existingProcess" : "Inny proces 'vcmiserver' został już uruchomiony, zakończ go nim przejdziesz dalej",
|
"vcmi.server.errors.existingProcess" : "Inny proces 'vcmiserver' został już uruchomiony, zakończ go nim przejdziesz dalej",
|
||||||
"vcmi.server.errors.modsToEnable" : "{Następujące mody są wymagane do wczytania gry}",
|
"vcmi.server.errors.modsToEnable" : "{Następujące mody są wymagane do wczytania gry}",
|
||||||
"vcmi.server.errors.modsToDisable" : "{Następujące mody muszą zostać wyłączone}",
|
"vcmi.server.errors.modsToDisable" : "{Następujące mody muszą zostać wyłączone}",
|
||||||
@ -139,6 +143,8 @@
|
|||||||
"vcmi.adventureOptions.mapScrollSpeed1.help": "Ustaw szybkość przesuwania mapy na bardzo wolną.",
|
"vcmi.adventureOptions.mapScrollSpeed1.help": "Ustaw szybkość przesuwania mapy na bardzo wolną.",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed5.help": "Ustaw szybkość przesuwania mapy na bardzo szybką.",
|
"vcmi.adventureOptions.mapScrollSpeed5.help": "Ustaw szybkość przesuwania mapy na bardzo szybką.",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed6.help": "Ustaw szybkość przesuwania mapy na błyskawiczną.",
|
"vcmi.adventureOptions.mapScrollSpeed6.help": "Ustaw szybkość przesuwania mapy na błyskawiczną.",
|
||||||
|
"vcmi.adventureOptions.hideBackground.hover" : "Ukryj tło",
|
||||||
|
"vcmi.adventureOptions.hideBackground.help" : "{Ukryj tło}\n\nUkryj mapę przygody w tle i pokaż zastępczo teksturę.",
|
||||||
|
|
||||||
"vcmi.battleOptions.queueSizeLabel.hover": "Pokaż kolejkę ruchu jednostek",
|
"vcmi.battleOptions.queueSizeLabel.hover": "Pokaż kolejkę ruchu jednostek",
|
||||||
"vcmi.battleOptions.queueSizeNoneButton.hover": "BRAK",
|
"vcmi.battleOptions.queueSizeNoneButton.hover": "BRAK",
|
||||||
@ -178,6 +184,10 @@
|
|||||||
"vcmi.battleWindow.damageEstimation.damage.1" : "obrażenia: %d",
|
"vcmi.battleWindow.damageEstimation.damage.1" : "obrażenia: %d",
|
||||||
"vcmi.battleWindow.damageEstimation.kills" : "zginie: %d",
|
"vcmi.battleWindow.damageEstimation.kills" : "zginie: %d",
|
||||||
"vcmi.battleWindow.damageEstimation.kills.1" : "zginie: %d",
|
"vcmi.battleWindow.damageEstimation.kills.1" : "zginie: %d",
|
||||||
|
"vcmi.battleWindow.killed" : "Zabici",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.0" : "%d %s zostało zabitych poprzez celne strzały!",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.1" : "%d %s został zabity poprzez celny strzał!",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.2" : "%d %s zostali zabici poprzez celne strzały!",
|
||||||
|
|
||||||
"vcmi.battleResultsWindow.applyResultsLabel" : "Zatwierdź wynik bitwy",
|
"vcmi.battleResultsWindow.applyResultsLabel" : "Zatwierdź wynik bitwy",
|
||||||
|
|
||||||
@ -349,6 +359,8 @@
|
|||||||
"core.bonus.ENCHANTER.description": "Może rzucać masowy czar ${subtype.spell} każdej tury",
|
"core.bonus.ENCHANTER.description": "Może rzucać masowy czar ${subtype.spell} każdej tury",
|
||||||
"core.bonus.ENCHANTED.name": "Zaczarowany",
|
"core.bonus.ENCHANTED.name": "Zaczarowany",
|
||||||
"core.bonus.ENCHANTED.description": "Pod wpływem trwałego ${subtype.spell}",
|
"core.bonus.ENCHANTED.description": "Pod wpływem trwałego ${subtype.spell}",
|
||||||
|
"core.bonus.ENEMY_ATTACK_REDUCTION.name": "Ignoruje Atak (${val}%)",
|
||||||
|
"core.bonus.ENEMY_ATTACK_REDUCTION.description": "Przy zostaniu zaatakowanym ignoruje ${val}% ataku wroga",
|
||||||
"core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Ignoruje Obronę (${val}%)",
|
"core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Ignoruje Obronę (${val}%)",
|
||||||
"core.bonus.ENEMY_DEFENCE_REDUCTION.description": "Ignoruje część obrony podczas ataku",
|
"core.bonus.ENEMY_DEFENCE_REDUCTION.description": "Ignoruje część obrony podczas ataku",
|
||||||
"core.bonus.FIRE_IMMUNITY.name": "Odporność na ogień",
|
"core.bonus.FIRE_IMMUNITY.name": "Odporność na ogień",
|
||||||
@ -361,6 +373,8 @@
|
|||||||
"core.bonus.FEAR.description": "Wzbudza strach na wrogim stworzeniu",
|
"core.bonus.FEAR.description": "Wzbudza strach na wrogim stworzeniu",
|
||||||
"core.bonus.FEARLESS.name": "Nieustraszony",
|
"core.bonus.FEARLESS.name": "Nieustraszony",
|
||||||
"core.bonus.FEARLESS.description": "Odporny na strach",
|
"core.bonus.FEARLESS.description": "Odporny na strach",
|
||||||
|
"core.bonus.FEROCITY.name": "Dzikość",
|
||||||
|
"core.bonus.FEROCITY.description": "Dodatkowe ${val} ataków jeżeli zabito kogokolwiek",
|
||||||
"core.bonus.FLYING.name": "Lot",
|
"core.bonus.FLYING.name": "Lot",
|
||||||
"core.bonus.FLYING.description": "Może latać (ignoruje przeszkody)",
|
"core.bonus.FLYING.description": "Może latać (ignoruje przeszkody)",
|
||||||
"core.bonus.FREE_SHOOTING.name": "Bliski Strzał",
|
"core.bonus.FREE_SHOOTING.name": "Bliski Strzał",
|
||||||
@ -415,6 +429,8 @@
|
|||||||
"core.bonus.REBIRTH.description": "${val}% stworzeń powstanie po śmierci",
|
"core.bonus.REBIRTH.description": "${val}% stworzeń powstanie po śmierci",
|
||||||
"core.bonus.RETURN_AFTER_STRIKE.name": "Atak i Powrót",
|
"core.bonus.RETURN_AFTER_STRIKE.name": "Atak i Powrót",
|
||||||
"core.bonus.RETURN_AFTER_STRIKE.description": "Wraca po ataku wręcz",
|
"core.bonus.RETURN_AFTER_STRIKE.description": "Wraca po ataku wręcz",
|
||||||
|
"core.bonus.REVENGE.name": "Odwet",
|
||||||
|
"core.bonus.REVENGE.description": "Zadaje dodatkowe obrażenia zależne od strat własnych oddziału",
|
||||||
"core.bonus.SHOOTER.name": "Dystansowy",
|
"core.bonus.SHOOTER.name": "Dystansowy",
|
||||||
"core.bonus.SHOOTER.description": "Stworzenie może strzelać",
|
"core.bonus.SHOOTER.description": "Stworzenie może strzelać",
|
||||||
"core.bonus.SHOOTS_ALL_ADJACENT.name": "Ostrzeliwuje wszystko dookoła",
|
"core.bonus.SHOOTS_ALL_ADJACENT.name": "Ostrzeliwuje wszystko dookoła",
|
||||||
|
@ -70,6 +70,7 @@
|
|||||||
"vcmi.lobby.mapPreview" : "Огляд мапи",
|
"vcmi.lobby.mapPreview" : "Огляд мапи",
|
||||||
"vcmi.lobby.noPreview" : "огляд недоступний",
|
"vcmi.lobby.noPreview" : "огляд недоступний",
|
||||||
"vcmi.lobby.noUnderground" : "немає підземелля",
|
"vcmi.lobby.noUnderground" : "немає підземелля",
|
||||||
|
"vcmi.lobby.sortDate" : "Сортувати мапи за датою зміни",
|
||||||
|
|
||||||
"vcmi.client.errors.missingCampaigns" : "{Не вистачає файлів даних}\n\nФайли даних кампаній не знайдено! Можливо, ви використовуєте неповні або пошкоджені файли даних Heroes 3. Будь ласка, перевстановіть дані гри.",
|
"vcmi.client.errors.missingCampaigns" : "{Не вистачає файлів даних}\n\nФайли даних кампаній не знайдено! Можливо, ви використовуєте неповні або пошкоджені файли даних Heroes 3. Будь ласка, перевстановіть дані гри.",
|
||||||
"vcmi.server.errors.existingProcess" : "Працює інший процес vcmiserver, будь ласка, спочатку завершіть його",
|
"vcmi.server.errors.existingProcess" : "Працює інший процес vcmiserver, будь ласка, спочатку завершіть його",
|
||||||
@ -144,6 +145,8 @@
|
|||||||
"vcmi.adventureOptions.mapScrollSpeed1.help": "Встановити швидкість розгортання мапи - дуже повільно",
|
"vcmi.adventureOptions.mapScrollSpeed1.help": "Встановити швидкість розгортання мапи - дуже повільно",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed5.help": "Встановити швидкість розгортання мапи - дуже швидко",
|
"vcmi.adventureOptions.mapScrollSpeed5.help": "Встановити швидкість розгортання мапи - дуже швидко",
|
||||||
"vcmi.adventureOptions.mapScrollSpeed6.help": "Встановити швидкість розгортання мапи - миттєво",
|
"vcmi.adventureOptions.mapScrollSpeed6.help": "Встановити швидкість розгортання мапи - миттєво",
|
||||||
|
"vcmi.adventureOptions.hideBackground.hover" : "Приховувати тло",
|
||||||
|
"vcmi.adventureOptions.hideBackground.help" : "{Приховувати тло}\n\nПриховати мапу пригод на задньому тлі і показати замість неї текстуру.",
|
||||||
|
|
||||||
"vcmi.battleOptions.queueSizeLabel.hover": "Вигляд черги ходу істот",
|
"vcmi.battleOptions.queueSizeLabel.hover": "Вигляд черги ходу істот",
|
||||||
"vcmi.battleOptions.queueSizeNoneButton.hover": "ВИМК",
|
"vcmi.battleOptions.queueSizeNoneButton.hover": "ВИМК",
|
||||||
@ -183,6 +186,10 @@
|
|||||||
"vcmi.battleWindow.damageEstimation.damage.1" : "%d одиниця пошкодження",
|
"vcmi.battleWindow.damageEstimation.damage.1" : "%d одиниця пошкодження",
|
||||||
"vcmi.battleWindow.damageEstimation.kills" : "%d загинуть",
|
"vcmi.battleWindow.damageEstimation.kills" : "%d загинуть",
|
||||||
"vcmi.battleWindow.damageEstimation.kills.1" : "%d загине",
|
"vcmi.battleWindow.damageEstimation.kills.1" : "%d загине",
|
||||||
|
"vcmi.battleWindow.killed" : "Загинуло",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.0" : "%d %s було вбито влучними пострілами!",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.1" : "%d %s було вбито влучним пострілом!",
|
||||||
|
"vcmi.battleWindow.accurateShot.resultDescription.2" : "%d %s було вбито влучними пострілами!",
|
||||||
|
|
||||||
"vcmi.battleResultsWindow.applyResultsLabel" : "Прийняти результат бою",
|
"vcmi.battleResultsWindow.applyResultsLabel" : "Прийняти результат бою",
|
||||||
|
|
||||||
|
@ -10,8 +10,8 @@ android {
|
|||||||
applicationId "is.xyz.vcmi"
|
applicationId "is.xyz.vcmi"
|
||||||
minSdk 19
|
minSdk 19
|
||||||
targetSdk 33
|
targetSdk 33
|
||||||
versionCode 1421
|
versionCode 1430
|
||||||
versionName "1.4.2"
|
versionName "1.4.3"
|
||||||
setProperty("archivesBaseName", "vcmi")
|
setProperty("archivesBaseName", "vcmi")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,7 +205,7 @@ int main(int argc, char * argv[])
|
|||||||
logGlobal->info("The log file will be saved to %s", logPath);
|
logGlobal->info("The log file will be saved to %s", logPath);
|
||||||
|
|
||||||
// Init filesystem and settings
|
// Init filesystem and settings
|
||||||
preinitDLL(::console);
|
preinitDLL(::console, false);
|
||||||
|
|
||||||
Settings session = settings.write["session"];
|
Settings session = settings.write["session"];
|
||||||
auto setSettingBool = [](std::string key, std::string arg) {
|
auto setSettingBool = [](std::string key, std::string arg) {
|
||||||
|
@ -1676,7 +1676,8 @@ void CPlayerInterface::showTavernWindow(const CGObjectInstance * object, const C
|
|||||||
{
|
{
|
||||||
EVENT_HANDLER_CALLED_BY_CLIENT;
|
EVENT_HANDLER_CALLED_BY_CLIENT;
|
||||||
auto onWindowClosed = [this, queryID](){
|
auto onWindowClosed = [this, queryID](){
|
||||||
cb->selectionMade(0, queryID);
|
if (queryID != QueryID::NONE)
|
||||||
|
cb->selectionMade(0, queryID);
|
||||||
};
|
};
|
||||||
GH.windows().createAndPushWindow<CTavernWindow>(object, onWindowClosed);
|
GH.windows().createAndPushWindow<CTavernWindow>(object, onWindowClosed);
|
||||||
}
|
}
|
||||||
|
@ -729,7 +729,7 @@ void CServerHandler::startCampaignScenario(HighScoreParameter param, std::shared
|
|||||||
auto & epilogue = ourCampaign->scenario(*ourCampaign->lastScenario()).epilog;
|
auto & epilogue = ourCampaign->scenario(*ourCampaign->lastScenario()).epilog;
|
||||||
auto finisher = [=]()
|
auto finisher = [=]()
|
||||||
{
|
{
|
||||||
if(ourCampaign->campaignSet != "")
|
if(ourCampaign->campaignSet != "" && ourCampaign->isCampaignFinished())
|
||||||
{
|
{
|
||||||
Settings entry = persistentStorage.write["completedCampaigns"][ourCampaign->getFilename()];
|
Settings entry = persistentStorage.write["completedCampaigns"][ourCampaign->getFilename()];
|
||||||
entry->Bool() = true;
|
entry->Bool() = true;
|
||||||
|
@ -615,6 +615,14 @@ std::pair<std::unique_ptr<ui8 []>, si64> CVideoPlayer::getAudio(const VideoPath
|
|||||||
return dat;
|
return dat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Point CVideoPlayer::size()
|
||||||
|
{
|
||||||
|
if(frame)
|
||||||
|
return Point(frame->width, frame->height);
|
||||||
|
else
|
||||||
|
return Point(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
// Plays a video. Only works for overlays.
|
// Plays a video. Only works for overlays.
|
||||||
bool CVideoPlayer::playVideo(int x, int y, bool stopOnKey)
|
bool CVideoPlayer::playVideo(int x, int y, bool stopOnKey)
|
||||||
{
|
{
|
||||||
@ -626,6 +634,8 @@ bool CVideoPlayer::playVideo(int x, int y, bool stopOnKey)
|
|||||||
pos.y = y;
|
pos.y = y;
|
||||||
frameTime = 0.0;
|
frameTime = 0.0;
|
||||||
|
|
||||||
|
auto lastTimePoint = boost::chrono::steady_clock::now();
|
||||||
|
|
||||||
while(nextFrame())
|
while(nextFrame())
|
||||||
{
|
{
|
||||||
if(stopOnKey)
|
if(stopOnKey)
|
||||||
@ -646,10 +656,17 @@ bool CVideoPlayer::playVideo(int x, int y, bool stopOnKey)
|
|||||||
#else
|
#else
|
||||||
auto packet_duration = frame->duration;
|
auto packet_duration = frame->duration;
|
||||||
#endif
|
#endif
|
||||||
double frameDurationSec = packet_duration * av_q2d(format->streams[stream]->time_base);
|
// Framerate delay
|
||||||
uint32_t timeToSleepMillisec = 1000 * (frameDurationSec);
|
double targetFrameTimeSeconds = packet_duration * av_q2d(format->streams[stream]->time_base);
|
||||||
|
auto targetFrameTime = boost::chrono::milliseconds(static_cast<int>(1000 * (targetFrameTimeSeconds)));
|
||||||
|
|
||||||
boost::this_thread::sleep_for(boost::chrono::milliseconds(timeToSleepMillisec));
|
auto timePointAfterPresent = boost::chrono::steady_clock::now();
|
||||||
|
auto timeSpentBusy = boost::chrono::duration_cast<boost::chrono::milliseconds>(timePointAfterPresent - lastTimePoint);
|
||||||
|
|
||||||
|
if (targetFrameTime > timeSpentBusy)
|
||||||
|
boost::this_thread::sleep_for(targetFrameTime - timeSpentBusy);
|
||||||
|
|
||||||
|
lastTimePoint = boost::chrono::steady_clock::now();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -38,6 +38,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
virtual std::pair<std::unique_ptr<ui8 []>, si64> getAudio(const VideoPath & videoToOpen) { return std::make_pair(nullptr, 0); };
|
virtual std::pair<std::unique_ptr<ui8 []>, si64> getAudio(const VideoPath & videoToOpen) { return std::make_pair(nullptr, 0); };
|
||||||
|
virtual Point size() { return Point(0, 0); };
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEmptyVideoPlayer final : public IMainVideoPlayer
|
class CEmptyVideoPlayer final : public IMainVideoPlayer
|
||||||
@ -109,6 +110,8 @@ public:
|
|||||||
|
|
||||||
std::pair<std::unique_ptr<ui8 []>, si64> getAudio(const VideoPath & videoToOpen) override;
|
std::pair<std::unique_ptr<ui8 []>, si64> getAudio(const VideoPath & videoToOpen) override;
|
||||||
|
|
||||||
|
Point size() override;
|
||||||
|
|
||||||
//TODO:
|
//TODO:
|
||||||
bool wait() override {return false;};
|
bool wait() override {return false;};
|
||||||
int curFrame() const override {return -1;};
|
int curFrame() const override {return -1;};
|
||||||
|
@ -560,18 +560,16 @@ int CClient::sendRequest(const CPackForServer * request, PlayerColor player)
|
|||||||
|
|
||||||
void CClient::battleStarted(const BattleInfo * info)
|
void CClient::battleStarted(const BattleInfo * info)
|
||||||
{
|
{
|
||||||
|
std::shared_ptr<CPlayerInterface> att, def;
|
||||||
|
auto & leftSide = info->sides[0];
|
||||||
|
auto & rightSide = info->sides[1];
|
||||||
|
|
||||||
for(auto & battleCb : battleCallbacks)
|
for(auto & battleCb : battleCallbacks)
|
||||||
{
|
{
|
||||||
if(vstd::contains_if(info->sides, [&](const SideInBattle& side) {return side.color == battleCb.first; })
|
if(!battleCb.first.isValidPlayer() || battleCb.first == leftSide.color || battleCb.first == rightSide.color)
|
||||||
|| !battleCb.first.isValidPlayer())
|
|
||||||
{
|
|
||||||
battleCb.second->onBattleStarted(info);
|
battleCb.second->onBattleStarted(info);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<CPlayerInterface> att, def;
|
|
||||||
auto & leftSide = info->sides[0], & rightSide = info->sides[1];
|
|
||||||
|
|
||||||
//If quick combat is not, do not prepare interfaces for battleint
|
//If quick combat is not, do not prepare interfaces for battleint
|
||||||
auto callBattleStart = [&](PlayerColor color, ui8 side)
|
auto callBattleStart = [&](PlayerColor color, ui8 side)
|
||||||
{
|
{
|
||||||
|
@ -164,6 +164,7 @@ public:
|
|||||||
bool removeObject(const CGObjectInstance * obj, const PlayerColor & initiator) override {return false;};
|
bool removeObject(const CGObjectInstance * obj, const PlayerColor & initiator) override {return false;};
|
||||||
void createObject(const int3 & visitablePosition, const PlayerColor & initiator, MapObjectID type, MapObjectSubID subtype) override {};
|
void createObject(const int3 & visitablePosition, const PlayerColor & initiator, MapObjectID type, MapObjectSubID subtype) override {};
|
||||||
void setOwner(const CGObjectInstance * obj, PlayerColor owner) override {};
|
void setOwner(const CGObjectInstance * obj, PlayerColor owner) override {};
|
||||||
|
void giveExperience(const CGHeroInstance * hero, TExpType val) override {};
|
||||||
void changePrimSkill(const CGHeroInstance * hero, PrimarySkill which, si64 val, bool abs = false) override {};
|
void changePrimSkill(const CGHeroInstance * hero, PrimarySkill which, si64 val, bool abs = false) override {};
|
||||||
void changeSecSkill(const CGHeroInstance * hero, SecondarySkill which, int val, bool abs = false) override {};
|
void changeSecSkill(const CGHeroInstance * hero, SecondarySkill which, int val, bool abs = false) override {};
|
||||||
|
|
||||||
@ -201,6 +202,7 @@ public:
|
|||||||
bool moveHero(ObjectInstanceID hid, int3 dst, ui8 teleporting, bool transit = false, PlayerColor asker = PlayerColor::NEUTRAL) override {return false;};
|
bool moveHero(ObjectInstanceID hid, int3 dst, ui8 teleporting, bool transit = false, PlayerColor asker = PlayerColor::NEUTRAL) override {return false;};
|
||||||
void giveHeroBonus(GiveBonus * bonus) override {};
|
void giveHeroBonus(GiveBonus * bonus) override {};
|
||||||
void setMovePoints(SetMovePoints * smp) override {};
|
void setMovePoints(SetMovePoints * smp) override {};
|
||||||
|
void setMovePoints(ObjectInstanceID hid, int val, bool absolute) override {};
|
||||||
void setManaPoints(ObjectInstanceID hid, int val) override {};
|
void setManaPoints(ObjectInstanceID hid, int val) override {};
|
||||||
void giveHero(ObjectInstanceID id, PlayerColor player, ObjectInstanceID boatId = ObjectInstanceID()) override {};
|
void giveHero(ObjectInstanceID id, PlayerColor player, ObjectInstanceID boatId = ObjectInstanceID()) override {};
|
||||||
void changeObjPos(ObjectInstanceID objid, int3 newPos, const PlayerColor & initiator) override {};
|
void changeObjPos(ObjectInstanceID objid, int3 newPos, const PlayerColor & initiator) override {};
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "../gui/Shortcut.h"
|
#include "../gui/Shortcut.h"
|
||||||
#include "../gui/WindowHandler.h"
|
#include "../gui/WindowHandler.h"
|
||||||
#include "../render/Canvas.h"
|
#include "../render/Canvas.h"
|
||||||
|
#include "../render/IRenderHandler.h"
|
||||||
#include "../CMT.h"
|
#include "../CMT.h"
|
||||||
#include "../PlayerLocalState.h"
|
#include "../PlayerLocalState.h"
|
||||||
#include "../CPlayerInterface.h"
|
#include "../CPlayerInterface.h"
|
||||||
@ -168,6 +169,15 @@ void AdventureMapInterface::show(Canvas & to)
|
|||||||
|
|
||||||
void AdventureMapInterface::dim(Canvas & to)
|
void AdventureMapInterface::dim(Canvas & to)
|
||||||
{
|
{
|
||||||
|
if(settings["adventure"]["hideBackground"].Bool())
|
||||||
|
for (auto window : GH.windows().findWindows<IShowActivatable>())
|
||||||
|
{
|
||||||
|
if(!std::dynamic_pointer_cast<AdventureMapInterface>(window) && std::dynamic_pointer_cast<CIntObject>(window) && std::dynamic_pointer_cast<CIntObject>(window)->pos.w >= 800 && std::dynamic_pointer_cast<CIntObject>(window)->pos.w >= 600)
|
||||||
|
{
|
||||||
|
to.fillTexture(GH.renderHandler().loadImage(ImagePath::builtin("DiBoxBck")));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
for (auto window : GH.windows().findWindows<IShowActivatable>())
|
for (auto window : GH.windows().findWindows<IShowActivatable>())
|
||||||
{
|
{
|
||||||
if (!std::dynamic_pointer_cast<AdventureMapInterface>(window) && !std::dynamic_pointer_cast<RadialMenu>(window) && !window->isPopupWindow())
|
if (!std::dynamic_pointer_cast<AdventureMapInterface>(window) && !std::dynamic_pointer_cast<RadialMenu>(window) && !window->isPopupWindow())
|
||||||
@ -467,6 +477,18 @@ void AdventureMapInterface::hotkeyEndingTurn()
|
|||||||
LOCPLINT->cb->endTurn();
|
LOCPLINT->cb->endTurn();
|
||||||
|
|
||||||
mapAudio->onPlayerTurnEnded();
|
mapAudio->onPlayerTurnEnded();
|
||||||
|
|
||||||
|
// Normally, game will receive PlayerStartsTurn call almost instantly with new player ID that will switch UI to waiting mode
|
||||||
|
// However, when simturns are active it is possible for such call not to come because another player is still acting
|
||||||
|
// So find first player other than ours that is acting at the moment and update UI as if he had started turn
|
||||||
|
for (auto player = PlayerColor(0); player < PlayerColor::PLAYER_LIMIT; ++player)
|
||||||
|
{
|
||||||
|
if (player != LOCPLINT->playerID && LOCPLINT->cb->isPlayerMakingTurn(player))
|
||||||
|
{
|
||||||
|
onEnemyTurnStarted(player, LOCPLINT->cb->getStartInfo()->playerInfos.at(player).isControlledByHuman());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const CGObjectInstance* AdventureMapInterface::getActiveObject(const int3 &mapPos)
|
const CGObjectInstance* AdventureMapInterface::getActiveObject(const int3 &mapPos)
|
||||||
@ -679,7 +701,7 @@ void AdventureMapInterface::onTileHovered(const int3 &mapPos)
|
|||||||
if(pathNode->layer == EPathfindingLayer::LAND)
|
if(pathNode->layer == EPathfindingLayer::LAND)
|
||||||
CCS->curh->set(cursorMove[turns]);
|
CCS->curh->set(cursorMove[turns]);
|
||||||
else
|
else
|
||||||
CCS->curh->set(cursorSailVisit[turns]);
|
CCS->curh->set(cursorSail[turns]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EPathNodeAction::VISIT:
|
case EPathNodeAction::VISIT:
|
||||||
@ -694,6 +716,15 @@ void AdventureMapInterface::onTileHovered(const int3 &mapPos)
|
|||||||
}
|
}
|
||||||
else if(pathNode->layer == EPathfindingLayer::LAND)
|
else if(pathNode->layer == EPathfindingLayer::LAND)
|
||||||
CCS->curh->set(cursorVisit[turns]);
|
CCS->curh->set(cursorVisit[turns]);
|
||||||
|
else if (pathNode->layer == EPathfindingLayer::SAIL &&
|
||||||
|
objAtTile &&
|
||||||
|
objAtTile->isCoastVisitable() &&
|
||||||
|
pathNode->theNodeBefore &&
|
||||||
|
pathNode->theNodeBefore->layer == EPathfindingLayer::LAND )
|
||||||
|
{
|
||||||
|
// exception - when visiting shipwreck located on coast from land - show 'horse' cursor, not 'ship' cursor
|
||||||
|
CCS->curh->set(cursorVisit[turns]);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
CCS->curh->set(cursorSailVisit[turns]);
|
CCS->curh->set(cursorSailVisit[turns]);
|
||||||
break;
|
break;
|
||||||
|
@ -243,6 +243,9 @@ void CInGameConsole::startEnteringText()
|
|||||||
if (!isActive())
|
if (!isActive())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if(enteredText != "")
|
||||||
|
return;
|
||||||
|
|
||||||
assert(currentStatusBar.expired());//effectively, nullptr check
|
assert(currentStatusBar.expired());//effectively, nullptr check
|
||||||
|
|
||||||
currentStatusBar = GH.statusbar();
|
currentStatusBar = GH.statusbar();
|
||||||
|
@ -173,8 +173,10 @@ void MapAudioPlayer::updateMusic()
|
|||||||
{
|
{
|
||||||
if(audioPlaying && playerMakingTurn && currentSelection)
|
if(audioPlaying && playerMakingTurn && currentSelection)
|
||||||
{
|
{
|
||||||
const auto * terrain = LOCPLINT->cb->getTile(currentSelection->visitablePos())->terType;
|
const auto * tile = LOCPLINT->cb->getTile(currentSelection->visitablePos());
|
||||||
CCS->musich->playMusicFromSet("terrain", terrain->getJsonKey(), true, false);
|
|
||||||
|
if (tile)
|
||||||
|
CCS->musich->playMusicFromSet("terrain", tile->terType->getJsonKey(), true, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(audioPlaying && enemyMakingTurn)
|
if(audioPlaying && enemyMakingTurn)
|
||||||
|
@ -568,7 +568,7 @@ bool BattleActionsController::actionIsLegal(PossiblePlayerBattleAction action, B
|
|||||||
switch (action.get())
|
switch (action.get())
|
||||||
{
|
{
|
||||||
case PossiblePlayerBattleAction::CHOOSE_TACTICS_STACK:
|
case PossiblePlayerBattleAction::CHOOSE_TACTICS_STACK:
|
||||||
return (targetStack && targetStackOwned && targetStack->speed() > 0);
|
return (targetStack && targetStackOwned && targetStack->getMovementRange() > 0);
|
||||||
|
|
||||||
case PossiblePlayerBattleAction::CREATURE_INFO:
|
case PossiblePlayerBattleAction::CREATURE_INFO:
|
||||||
return (targetStack && targetStackOwned && targetStack->alive());
|
return (targetStack && targetStackOwned && targetStack->alive());
|
||||||
|
@ -363,7 +363,7 @@ bool MovementAnimation::init()
|
|||||||
Point begPosition = owner.stacksController->getStackPositionAtHex(prevHex, stack);
|
Point begPosition = owner.stacksController->getStackPositionAtHex(prevHex, stack);
|
||||||
Point endPosition = owner.stacksController->getStackPositionAtHex(nextHex, stack);
|
Point endPosition = owner.stacksController->getStackPositionAtHex(nextHex, stack);
|
||||||
|
|
||||||
progressPerSecond = AnimationControls::getMovementDistance(stack->unitType());
|
progressPerSecond = AnimationControls::getMovementRange(stack->unitType());
|
||||||
|
|
||||||
begX = begPosition.x;
|
begX = begPosition.x;
|
||||||
begY = begPosition.y;
|
begY = begPosition.y;
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include "BattleFieldController.h"
|
#include "BattleFieldController.h"
|
||||||
|
|
||||||
#include "BattleInterface.h"
|
#include "BattleInterface.h"
|
||||||
|
#include "BattleWindow.h"
|
||||||
#include "BattleActionsController.h"
|
#include "BattleActionsController.h"
|
||||||
#include "BattleInterfaceClasses.h"
|
#include "BattleInterfaceClasses.h"
|
||||||
#include "BattleEffectsController.h"
|
#include "BattleEffectsController.h"
|
||||||
@ -360,10 +361,7 @@ std::set<BattleHex> BattleFieldController::getMovementRangeForHoveredStack()
|
|||||||
if (!settings["battle"]["movementHighlightOnHover"].Bool() && !GH.isKeyboardShiftDown())
|
if (!settings["battle"]["movementHighlightOnHover"].Bool() && !GH.isKeyboardShiftDown())
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
auto hoveredHex = getHoveredHex();
|
auto hoveredStack = getHoveredStack();
|
||||||
|
|
||||||
// add possible movement hexes for stack under mouse
|
|
||||||
const CStack * const hoveredStack = owner.getBattle()->battleGetStackByPos(hoveredHex, true);
|
|
||||||
if(hoveredStack)
|
if(hoveredStack)
|
||||||
{
|
{
|
||||||
std::vector<BattleHex> v = owner.getBattle()->battleGetAvailableHexes(hoveredStack, true, true, nullptr);
|
std::vector<BattleHex> v = owner.getBattle()->battleGetAvailableHexes(hoveredStack, true, true, nullptr);
|
||||||
@ -591,10 +589,9 @@ void BattleFieldController::showHighlightedHexes(Canvas & canvas)
|
|||||||
std::set<BattleHex> hoveredMoveHexes = getHighlightedHexesForMovementTarget();
|
std::set<BattleHex> hoveredMoveHexes = getHighlightedHexesForMovementTarget();
|
||||||
|
|
||||||
BattleHex hoveredHex = getHoveredHex();
|
BattleHex hoveredHex = getHoveredHex();
|
||||||
if(hoveredHex == BattleHex::INVALID)
|
|
||||||
return;
|
|
||||||
|
|
||||||
const CStack * hoveredStack = getHoveredStack();
|
const CStack * hoveredStack = getHoveredStack();
|
||||||
|
if(!hoveredStack && hoveredHex == BattleHex::INVALID)
|
||||||
|
return;
|
||||||
|
|
||||||
// skip range limit calculations if unit hovered is not a shooter
|
// skip range limit calculations if unit hovered is not a shooter
|
||||||
if(hoveredStack && hoveredStack->isShooter())
|
if(hoveredStack && hoveredStack->isShooter())
|
||||||
@ -608,7 +605,7 @@ void BattleFieldController::showHighlightedHexes(Canvas & canvas)
|
|||||||
calculateRangeLimitAndHighlightImages(shootingRangeDistance, shootingRangeLimitImages, shootingRangeLimitHexes, shootingRangeLimitHexesHighligts);
|
calculateRangeLimitAndHighlightImages(shootingRangeDistance, shootingRangeLimitImages, shootingRangeLimitHexes, shootingRangeLimitHexesHighligts);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto const & hoveredMouseHexes = owner.actionsController->currentActionSpellcasting(getHoveredHex()) ? hoveredSpellHexes : hoveredMoveHexes;
|
auto const & hoveredMouseHexes = hoveredHex != BattleHex::INVALID && owner.actionsController->currentActionSpellcasting(getHoveredHex()) ? hoveredSpellHexes : hoveredMoveHexes;
|
||||||
|
|
||||||
for(int hex = 0; hex < GameConstants::BFIELD_SIZE; ++hex)
|
for(int hex = 0; hex < GameConstants::BFIELD_SIZE; ++hex)
|
||||||
{
|
{
|
||||||
@ -676,6 +673,14 @@ const CStack* BattleFieldController::getHoveredStack()
|
|||||||
auto hoveredHex = getHoveredHex();
|
auto hoveredHex = getHoveredHex();
|
||||||
const CStack* hoveredStack = owner.getBattle()->battleGetStackByPos(hoveredHex, true);
|
const CStack* hoveredStack = owner.getBattle()->battleGetStackByPos(hoveredHex, true);
|
||||||
|
|
||||||
|
if(owner.windowObject->getQueueHoveredUnitId().has_value())
|
||||||
|
{
|
||||||
|
auto stacks = owner.getBattle()->battleGetAllStacks();
|
||||||
|
for(const CStack * stack : stacks)
|
||||||
|
if(stack->unitId() == *owner.windowObject->getQueueHoveredUnitId())
|
||||||
|
hoveredStack = stack;
|
||||||
|
}
|
||||||
|
|
||||||
return hoveredStack;
|
return hoveredStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -640,7 +640,7 @@ void BattleInterface::tacticPhaseEnd()
|
|||||||
|
|
||||||
static bool immobile(const CStack *s)
|
static bool immobile(const CStack *s)
|
||||||
{
|
{
|
||||||
return !s->speed(0, true); //should bound stacks be immobile?
|
return s->getMovementRange() == 0; //should bound stacks be immobile?
|
||||||
}
|
}
|
||||||
|
|
||||||
void BattleInterface::tacticNextStack(const CStack * current)
|
void BattleInterface::tacticNextStack(const CStack * current)
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "../widgets/TextControls.h"
|
#include "../widgets/TextControls.h"
|
||||||
#include "../widgets/MiscWidgets.h"
|
#include "../widgets/MiscWidgets.h"
|
||||||
#include "../windows/CMessage.h"
|
#include "../windows/CMessage.h"
|
||||||
|
#include "../windows/CCreatureWindow.h"
|
||||||
#include "../windows/CSpellWindow.h"
|
#include "../windows/CSpellWindow.h"
|
||||||
#include "../render/CAnimation.h"
|
#include "../render/CAnimation.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
@ -447,6 +448,119 @@ void HeroInfoBasicPanel::show(Canvas & to)
|
|||||||
CIntObject::show(to);
|
CIntObject::show(to);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
StackInfoBasicPanel::StackInfoBasicPanel(const CStack * stack, Point * position, bool initializeBackground)
|
||||||
|
: CIntObject(0)
|
||||||
|
{
|
||||||
|
OBJECT_CONSTRUCTION_CAPTURING(255-DISPOSE);
|
||||||
|
if (position != nullptr)
|
||||||
|
moveTo(*position);
|
||||||
|
|
||||||
|
if(initializeBackground)
|
||||||
|
{
|
||||||
|
background = std::make_shared<CPicture>(ImagePath::builtin("CCRPOP"));
|
||||||
|
background->pos.y += 37;
|
||||||
|
background->getSurface()->setBlitMode(EImageBlitMode::OPAQUE);
|
||||||
|
background->colorize(stack->getOwner());
|
||||||
|
background2 = std::make_shared<CPicture>(ImagePath::builtin("CHRPOP"));
|
||||||
|
background2->getSurface()->setBlitMode(EImageBlitMode::OPAQUE);
|
||||||
|
background2->colorize(stack->getOwner());
|
||||||
|
}
|
||||||
|
|
||||||
|
initializeData(stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
void StackInfoBasicPanel::initializeData(const CStack * stack)
|
||||||
|
{
|
||||||
|
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
||||||
|
|
||||||
|
icons.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("TWCRPORT"), stack->creatureId() + 2, 0, 10, 6));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(10 + 58, 6 + 64, FONT_MEDIUM, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, TextOperations::formatMetric(stack->getCount(), 4)));
|
||||||
|
|
||||||
|
auto attack = std::to_string(CGI->creatures()->getByIndex(stack->creatureIndex())->getAttack(stack->isShooter())) + "(" + std::to_string(stack->getAttack(stack->isShooter())) + ")";
|
||||||
|
auto defense = std::to_string(CGI->creatures()->getByIndex(stack->creatureIndex())->getDefense(stack->isShooter())) + "(" + std::to_string(stack->getDefense(stack->isShooter())) + ")";
|
||||||
|
auto damage = std::to_string(CGI->creatures()->getByIndex(stack->creatureIndex())->getMinDamage(stack->isShooter())) + "-" + std::to_string(stack->getMaxDamage(stack->isShooter()));
|
||||||
|
auto health = CGI->creatures()->getByIndex(stack->creatureIndex())->getMaxHealth();
|
||||||
|
auto morale = stack->moraleVal();
|
||||||
|
auto luck = stack->luckVal();
|
||||||
|
|
||||||
|
auto killed = stack->getKilled();
|
||||||
|
auto healthRemaining = TextOperations::formatMetric(std::max(stack->getAvailableHealth() - (stack->getCount() - 1) * health, (si64)0), 4);
|
||||||
|
|
||||||
|
//primary stats*/
|
||||||
|
labels.push_back(std::make_shared<CLabel>(9, 75, EFonts::FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[380] + ":"));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(9, 87, EFonts::FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[381] + ":"));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(9, 99, EFonts::FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[386] + ":"));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(9, 111, EFonts::FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[389] + ":"));
|
||||||
|
|
||||||
|
labels.push_back(std::make_shared<CLabel>(69, 87, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, attack));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(69, 99, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, defense));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(69, 111, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, damage));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(69, 123, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, std::to_string(health)));
|
||||||
|
|
||||||
|
//morale+luck
|
||||||
|
labels.push_back(std::make_shared<CLabel>(9, 131, EFonts::FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[384] + ":"));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(9, 143, EFonts::FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[385] + ":"));
|
||||||
|
|
||||||
|
icons.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("IMRL22"), morale + 3, 0, 47, 131));
|
||||||
|
icons.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("ILCK22"), luck + 3, 0, 47, 143));
|
||||||
|
|
||||||
|
//extra information
|
||||||
|
labels.push_back(std::make_shared<CLabel>(9, 168, EFonts::FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, VLC->generaltexth->translate("vcmi.battleWindow.killed") + ":"));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(9, 180, EFonts::FONT_TINY, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[389] + ":"));
|
||||||
|
|
||||||
|
labels.push_back(std::make_shared<CLabel>(69, 180, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, std::to_string(killed)));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(69, 192, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, healthRemaining));
|
||||||
|
|
||||||
|
//spells
|
||||||
|
static const Point firstPos(15, 206); // position of 1st spell box
|
||||||
|
static const Point offset(0, 38); // offset of each spell box from previous
|
||||||
|
|
||||||
|
for(int i = 0; i < 3; i++)
|
||||||
|
icons.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("SpellInt"), 78, 0, firstPos.x + offset.x * i, firstPos.y + offset.y * i));
|
||||||
|
|
||||||
|
int printed=0; //how many effect pics have been printed
|
||||||
|
std::vector<SpellID> spells = stack->activeSpells();
|
||||||
|
for(SpellID effect : spells)
|
||||||
|
{
|
||||||
|
//not all effects have graphics (for eg. Acid Breath)
|
||||||
|
//for modded spells iconEffect is added to SpellInt.def
|
||||||
|
const bool hasGraphics = (effect < SpellID::THUNDERBOLT) || (effect >= SpellID::AFTER_LAST);
|
||||||
|
|
||||||
|
if (hasGraphics)
|
||||||
|
{
|
||||||
|
//FIXME: support permanent duration
|
||||||
|
int duration = stack->getBonusLocalFirst(Selector::source(BonusSource::SPELL_EFFECT, BonusSourceID(effect)))->turnsRemain;
|
||||||
|
|
||||||
|
icons.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("SpellInt"), effect + 1, 0, firstPos.x + offset.x * printed, firstPos.y + offset.y * printed));
|
||||||
|
if(settings["general"]["enableUiEnhancements"].Bool())
|
||||||
|
labels.push_back(std::make_shared<CLabel>(firstPos.x + offset.x * printed + 46, firstPos.y + offset.y * printed + 36, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, std::to_string(duration)));
|
||||||
|
if(++printed >= 3 || (printed == 2 && spells.size() > 3)) // interface limit reached
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(spells.size() == 0)
|
||||||
|
labelsMultiline.push_back(std::make_shared<CMultiLineLabel>(Rect(firstPos.x, firstPos.y, 48, 36), EFonts::FONT_TINY, ETextAlignment::CENTER, Colors::WHITE, CGI->generaltexth->allTexts[674]));
|
||||||
|
if(spells.size() > 3)
|
||||||
|
labelsMultiline.push_back(std::make_shared<CMultiLineLabel>(Rect(firstPos.x + offset.x * 2, firstPos.y + offset.y * 2 - 4, 48, 36), EFonts::FONT_MEDIUM, ETextAlignment::CENTER, Colors::WHITE, "..."));
|
||||||
|
}
|
||||||
|
|
||||||
|
void StackInfoBasicPanel::update(const CStack * updatedInfo)
|
||||||
|
{
|
||||||
|
icons.clear();
|
||||||
|
labels.clear();
|
||||||
|
labelsMultiline.clear();
|
||||||
|
|
||||||
|
initializeData(updatedInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
void StackInfoBasicPanel::show(Canvas & to)
|
||||||
|
{
|
||||||
|
showAll(to);
|
||||||
|
CIntObject::show(to);
|
||||||
|
}
|
||||||
|
|
||||||
HeroInfoWindow::HeroInfoWindow(const InfoAboutHero & hero, Point * position)
|
HeroInfoWindow::HeroInfoWindow(const InfoAboutHero & hero, Point * position)
|
||||||
: CWindowObject(RCLICK_POPUP | SHADOW_DISABLED, ImagePath::builtin("CHRPOP"))
|
: CWindowObject(RCLICK_POPUP | SHADOW_DISABLED, ImagePath::builtin("CHRPOP"))
|
||||||
{
|
{
|
||||||
@ -870,6 +984,10 @@ void StackQueue::StackBox::setUnit(const battle::Unit * unit, size_t turn, std::
|
|||||||
if (unit->unitType()->getId() == CreatureID::ARROW_TOWERS)
|
if (unit->unitType()->getId() == CreatureID::ARROW_TOWERS)
|
||||||
icon->setFrame(owner->getSiegeShooterIconID(), 1);
|
icon->setFrame(owner->getSiegeShooterIconID(), 1);
|
||||||
|
|
||||||
|
roundRect->setEnabled(currentTurn.has_value());
|
||||||
|
if(!owner->embedded)
|
||||||
|
round->setEnabled(currentTurn.has_value());
|
||||||
|
|
||||||
amount->setText(TextOperations::formatMetric(unit->getCount(), 4));
|
amount->setText(TextOperations::formatMetric(unit->getCount(), 4));
|
||||||
if(currentTurn && !owner->embedded)
|
if(currentTurn && !owner->embedded)
|
||||||
{
|
{
|
||||||
@ -878,9 +996,6 @@ void StackQueue::StackBox::setUnit(const battle::Unit * unit, size_t turn, std::
|
|||||||
roundRect->pos.w = len + 6;
|
roundRect->pos.w = len + 6;
|
||||||
round->setText(tmp);
|
round->setText(tmp);
|
||||||
}
|
}
|
||||||
roundRect->setEnabled(currentTurn.has_value());
|
|
||||||
if(!owner->embedded)
|
|
||||||
round->setEnabled(currentTurn.has_value());
|
|
||||||
|
|
||||||
if(stateIcon)
|
if(stateIcon)
|
||||||
{
|
{
|
||||||
@ -939,3 +1054,11 @@ void StackQueue::StackBox::show(Canvas & to)
|
|||||||
if(isBoundUnitHighlighted())
|
if(isBoundUnitHighlighted())
|
||||||
to.drawBorder(background->pos, Colors::CYAN, 2);
|
to.drawBorder(background->pos, Colors::CYAN, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StackQueue::StackBox::showPopupWindow(const Point & cursorPosition)
|
||||||
|
{
|
||||||
|
auto stacks = owner->owner.getBattle()->battleGetAllStacks();
|
||||||
|
for(const CStack * stack : stacks)
|
||||||
|
if(boundUnitID.has_value() && stack->unitId() == *boundUnitID)
|
||||||
|
GH.windows().createAndPushWindow<CStackWindow>(stack, true);
|
||||||
|
}
|
||||||
|
@ -37,6 +37,7 @@ class CFilledTexture;
|
|||||||
class CButton;
|
class CButton;
|
||||||
class CToggleButton;
|
class CToggleButton;
|
||||||
class CLabel;
|
class CLabel;
|
||||||
|
class CMultiLineLabel;
|
||||||
class CTextBox;
|
class CTextBox;
|
||||||
class CAnimImage;
|
class CAnimImage;
|
||||||
class TransparentFilledRectangle;
|
class TransparentFilledRectangle;
|
||||||
@ -145,6 +146,23 @@ public:
|
|||||||
void update(const InfoAboutHero & updatedInfo);
|
void update(const InfoAboutHero & updatedInfo);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class StackInfoBasicPanel : public CIntObject
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
std::shared_ptr<CPicture> background;
|
||||||
|
std::shared_ptr<CPicture> background2;
|
||||||
|
std::vector<std::shared_ptr<CLabel>> labels;
|
||||||
|
std::vector<std::shared_ptr<CMultiLineLabel>> labelsMultiline;
|
||||||
|
std::vector<std::shared_ptr<CAnimImage>> icons;
|
||||||
|
public:
|
||||||
|
StackInfoBasicPanel(const CStack * stack, Point * position, bool initializeBackground = true);
|
||||||
|
|
||||||
|
void show(Canvas & to) override;
|
||||||
|
|
||||||
|
void initializeData(const CStack * stack);
|
||||||
|
void update(const CStack * updatedInfo);
|
||||||
|
};
|
||||||
|
|
||||||
class HeroInfoWindow : public CWindowObject
|
class HeroInfoWindow : public CWindowObject
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@ -212,6 +230,7 @@ class StackQueue : public CIntObject
|
|||||||
|
|
||||||
void show(Canvas & to) override;
|
void show(Canvas & to) override;
|
||||||
void showAll(Canvas & to) override;
|
void showAll(Canvas & to) override;
|
||||||
|
void showPopupWindow(const Point & cursorPosition) override;
|
||||||
|
|
||||||
bool isBoundUnitHighlighted() const;
|
bool isBoundUnitHighlighted() const;
|
||||||
public:
|
public:
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include "../CMusicHandler.h"
|
#include "../CMusicHandler.h"
|
||||||
#include "../CGameInfo.h"
|
#include "../CGameInfo.h"
|
||||||
#include "../gui/CGuiHandler.h"
|
#include "../gui/CGuiHandler.h"
|
||||||
|
#include "../gui/WindowHandler.h"
|
||||||
#include "../render/Colors.h"
|
#include "../render/Colors.h"
|
||||||
#include "../render/Canvas.h"
|
#include "../render/Canvas.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
@ -326,7 +327,7 @@ void BattleStacksController::showStackAmountBox(Canvas & canvas, const CStack *
|
|||||||
boxPosition = owner.fieldController->hexPositionLocal(frontPos).center() + Point(-8, -14);
|
boxPosition = owner.fieldController->hexPositionLocal(frontPos).center() + Point(-8, -14);
|
||||||
}
|
}
|
||||||
|
|
||||||
Point textPosition = amountBG->dimensions()/2 + boxPosition;
|
Point textPosition = amountBG->dimensions()/2 + boxPosition + Point(0, 1);
|
||||||
|
|
||||||
canvas.draw(amountBG, boxPosition);
|
canvas.draw(amountBG, boxPosition);
|
||||||
canvas.drawText(textPosition, EFonts::FONT_TINY, Colors::WHITE, ETextAlignment::CENTER, TextOperations::formatMetric(stack->getCount(), 4));
|
canvas.drawText(textPosition, EFonts::FONT_TINY, Colors::WHITE, ETextAlignment::CENTER, TextOperations::formatMetric(stack->getCount(), 4));
|
||||||
@ -812,6 +813,9 @@ void BattleStacksController::updateHoveredStacks()
|
|||||||
{
|
{
|
||||||
auto newStacks = selectHoveredStacks();
|
auto newStacks = selectHoveredStacks();
|
||||||
|
|
||||||
|
if(newStacks.size() == 0)
|
||||||
|
owner.windowObject->updateStackInfoWindow(nullptr);
|
||||||
|
|
||||||
for(const auto * stack : mouseHoveredStacks)
|
for(const auto * stack : mouseHoveredStacks)
|
||||||
{
|
{
|
||||||
if (vstd::contains(newStacks, stack))
|
if (vstd::contains(newStacks, stack))
|
||||||
@ -828,11 +832,15 @@ void BattleStacksController::updateHoveredStacks()
|
|||||||
if (vstd::contains(mouseHoveredStacks, stack))
|
if (vstd::contains(mouseHoveredStacks, stack))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
owner.windowObject->updateStackInfoWindow(newStacks.size() == 1 && vstd::find_pos(newStacks, stack) == 0 ? stack : nullptr);
|
||||||
stackAnimation[stack->unitId()]->setBorderColor(AnimationControls::getBlueBorder());
|
stackAnimation[stack->unitId()]->setBorderColor(AnimationControls::getBlueBorder());
|
||||||
if (stackAnimation[stack->unitId()]->framesInGroup(ECreatureAnimType::MOUSEON) > 0 && stack->alive() && !stack->isFrozen())
|
if (stackAnimation[stack->unitId()]->framesInGroup(ECreatureAnimType::MOUSEON) > 0 && stack->alive() && !stack->isFrozen())
|
||||||
stackAnimation[stack->unitId()]->playOnce(ECreatureAnimType::MOUSEON);
|
stackAnimation[stack->unitId()]->playOnce(ECreatureAnimType::MOUSEON);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(mouseHoveredStacks != newStacks)
|
||||||
|
GH.windows().totalRedraw(); //fix for frozen stack info window and blue border in action bar
|
||||||
|
|
||||||
mouseHoveredStacks = newStacks;
|
mouseHoveredStacks = newStacks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,7 +94,6 @@ class BattleStacksController
|
|||||||
void tickFrameBattleAnimations(uint32_t msPassed);
|
void tickFrameBattleAnimations(uint32_t msPassed);
|
||||||
|
|
||||||
void updateBattleAnimations(uint32_t msPassed);
|
void updateBattleAnimations(uint32_t msPassed);
|
||||||
void updateHoveredStacks();
|
|
||||||
|
|
||||||
std::vector<const CStack *> selectHoveredStacks();
|
std::vector<const CStack *> selectHoveredStacks();
|
||||||
|
|
||||||
@ -127,6 +126,8 @@ public:
|
|||||||
void showAliveStack(Canvas & canvas, const CStack * stack);
|
void showAliveStack(Canvas & canvas, const CStack * stack);
|
||||||
void showStack(Canvas & canvas, const CStack * stack);
|
void showStack(Canvas & canvas, const CStack * stack);
|
||||||
|
|
||||||
|
void updateHoveredStacks();
|
||||||
|
|
||||||
void collectRenderableObjects(BattleRenderer & renderer);
|
void collectRenderableObjects(BattleRenderer & renderer);
|
||||||
|
|
||||||
/// Adds new color filter effect targeting stack
|
/// Adds new color filter effect targeting stack
|
||||||
|
@ -287,6 +287,35 @@ void BattleWindow::updateHeroInfoWindow(uint8_t side, const InfoAboutHero & hero
|
|||||||
panelToUpdate->update(hero);
|
panelToUpdate->update(hero);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BattleWindow::updateStackInfoWindow(const CStack * stack)
|
||||||
|
{
|
||||||
|
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
||||||
|
|
||||||
|
bool showInfoWindows = settings["battle"]["stickyHeroInfoWindows"].Bool();
|
||||||
|
|
||||||
|
if(stack && stack->unitSide() == BattleSide::DEFENDER)
|
||||||
|
{
|
||||||
|
Point position = (GH.screenDimensions().x >= 1000)
|
||||||
|
? Point(pos.x + pos.w + 15, defenderHeroWindow ? defenderHeroWindow->pos.y + 210 : pos.y)
|
||||||
|
: Point(pos.x + pos.w -79, defenderHeroWindow ? defenderHeroWindow->pos.y : pos.y + 135);
|
||||||
|
defenderStackWindow = std::make_shared<StackInfoBasicPanel>(stack, &position);
|
||||||
|
defenderStackWindow->setEnabled(showInfoWindows);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
defenderStackWindow = nullptr;
|
||||||
|
|
||||||
|
if(stack && stack->unitSide() == BattleSide::ATTACKER)
|
||||||
|
{
|
||||||
|
Point position = (GH.screenDimensions().x >= 1000)
|
||||||
|
? Point(pos.x - 93, attackerHeroWindow ? attackerHeroWindow->pos.y + 210 : pos.y)
|
||||||
|
: Point(pos.x + 1, attackerHeroWindow ? attackerHeroWindow->pos.y : pos.y + 135);
|
||||||
|
attackerStackWindow = std::make_shared<StackInfoBasicPanel>(stack, &position);
|
||||||
|
attackerStackWindow->setEnabled(showInfoWindows);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
attackerStackWindow = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void BattleWindow::heroManaPointsChanged(const CGHeroInstance * hero)
|
void BattleWindow::heroManaPointsChanged(const CGHeroInstance * hero)
|
||||||
{
|
{
|
||||||
if(hero == owner.attackingHeroInstance || hero == owner.defendingHeroInstance)
|
if(hero == owner.attackingHeroInstance || hero == owner.defendingHeroInstance)
|
||||||
|
@ -26,6 +26,7 @@ class BattleRenderer;
|
|||||||
class StackQueue;
|
class StackQueue;
|
||||||
class TurnTimerWidget;
|
class TurnTimerWidget;
|
||||||
class HeroInfoBasicPanel;
|
class HeroInfoBasicPanel;
|
||||||
|
class StackInfoBasicPanel;
|
||||||
|
|
||||||
/// GUI object that handles functionality of panel at the bottom of combat screen
|
/// GUI object that handles functionality of panel at the bottom of combat screen
|
||||||
class BattleWindow : public InterfaceObjectConfigurable
|
class BattleWindow : public InterfaceObjectConfigurable
|
||||||
@ -36,6 +37,8 @@ class BattleWindow : public InterfaceObjectConfigurable
|
|||||||
std::shared_ptr<BattleConsole> console;
|
std::shared_ptr<BattleConsole> console;
|
||||||
std::shared_ptr<HeroInfoBasicPanel> attackerHeroWindow;
|
std::shared_ptr<HeroInfoBasicPanel> attackerHeroWindow;
|
||||||
std::shared_ptr<HeroInfoBasicPanel> defenderHeroWindow;
|
std::shared_ptr<HeroInfoBasicPanel> defenderHeroWindow;
|
||||||
|
std::shared_ptr<StackInfoBasicPanel> attackerStackWindow;
|
||||||
|
std::shared_ptr<StackInfoBasicPanel> defenderStackWindow;
|
||||||
|
|
||||||
std::shared_ptr<TurnTimerWidget> attackerTimerWidget;
|
std::shared_ptr<TurnTimerWidget> attackerTimerWidget;
|
||||||
std::shared_ptr<TurnTimerWidget> defenderTimerWidget;
|
std::shared_ptr<TurnTimerWidget> defenderTimerWidget;
|
||||||
@ -100,6 +103,9 @@ public:
|
|||||||
/// Refresh sticky variant of hero info window after spellcast, side same as in BattleSpellCast::side
|
/// Refresh sticky variant of hero info window after spellcast, side same as in BattleSpellCast::side
|
||||||
void updateHeroInfoWindow(uint8_t side, const InfoAboutHero & hero);
|
void updateHeroInfoWindow(uint8_t side, const InfoAboutHero & hero);
|
||||||
|
|
||||||
|
/// Refresh sticky variant of hero info window after spellcast, side same as in BattleSpellCast::side
|
||||||
|
void updateStackInfoWindow(const CStack * stack);
|
||||||
|
|
||||||
/// Get mouse-hovered battle queue unit ID if any found
|
/// Get mouse-hovered battle queue unit ID if any found
|
||||||
std::optional<uint32_t> getQueueHoveredUnitId();
|
std::optional<uint32_t> getQueueHoveredUnitId();
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ float AnimationControls::getSpellEffectSpeed()
|
|||||||
return static_cast<float>(getAnimationSpeedFactor() * 10);
|
return static_cast<float>(getAnimationSpeedFactor() * 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
float AnimationControls::getMovementDistance(const CCreature * creature)
|
float AnimationControls::getMovementRange(const CCreature * creature)
|
||||||
{
|
{
|
||||||
// H3 speed: 2/4/6 tiles per second
|
// H3 speed: 2/4/6 tiles per second
|
||||||
return static_cast<float>( 2.0 * getAnimationSpeedFactor() / creature->animation.walkAnimationTime);
|
return static_cast<float>( 2.0 * getAnimationSpeedFactor() / creature->animation.walkAnimationTime);
|
||||||
|
@ -50,7 +50,7 @@ namespace AnimationControls
|
|||||||
float getSpellEffectSpeed();
|
float getSpellEffectSpeed();
|
||||||
|
|
||||||
/// returns speed of movement animation across the screen, in tiles per second
|
/// returns speed of movement animation across the screen, in tiles per second
|
||||||
float getMovementDistance(const CCreature * creature);
|
float getMovementRange(const CCreature * creature);
|
||||||
|
|
||||||
/// returns speed of movement animation across the screen, in pixels per seconds
|
/// returns speed of movement animation across the screen, in pixels per seconds
|
||||||
float getFlightDistance(const CCreature * creature);
|
float getFlightDistance(const CCreature * creature);
|
||||||
|
@ -69,7 +69,7 @@ int ISelectionScreenInfo::getCurrentDifficulty()
|
|||||||
|
|
||||||
PlayerInfo ISelectionScreenInfo::getPlayerInfo(PlayerColor color)
|
PlayerInfo ISelectionScreenInfo::getPlayerInfo(PlayerColor color)
|
||||||
{
|
{
|
||||||
return getMapInfo()->mapHeader->players[color.getNum()];
|
return getMapInfo()->mapHeader->players.at(color.getNum());
|
||||||
}
|
}
|
||||||
|
|
||||||
CSelectionBase::CSelectionBase(ESelectionScreen type)
|
CSelectionBase::CSelectionBase(ESelectionScreen type)
|
||||||
|
@ -400,12 +400,11 @@ void OptionsTab::CPlayerOptionTooltipBox::genBonusWindow()
|
|||||||
textBonusDescription = std::make_shared<CTextBox>(getDescription(), Rect(10, 100, pos.w - 20, 70), 0, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
textBonusDescription = std::make_shared<CTextBox>(getDescription(), Rect(10, 100, pos.w - 20, 70), 0, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
OptionsTab::SelectionWindow::SelectionWindow(PlayerColor _color, SelType _type)
|
OptionsTab::SelectionWindow::SelectionWindow(const PlayerColor & color, SelType _type)
|
||||||
: CWindowObject(BORDERED)
|
: CWindowObject(BORDERED), color(color)
|
||||||
{
|
{
|
||||||
addUsedEvents(LCLICK | SHOW_POPUP);
|
addUsedEvents(LCLICK | SHOW_POPUP);
|
||||||
|
|
||||||
color = _color;
|
|
||||||
type = _type;
|
type = _type;
|
||||||
|
|
||||||
initialFaction = SEL->getStartInfo()->playerInfos.find(color)->second.castle;
|
initialFaction = SEL->getStartInfo()->playerInfos.find(color)->second.castle;
|
||||||
@ -483,7 +482,8 @@ void OptionsTab::SelectionWindow::reopen()
|
|||||||
{
|
{
|
||||||
std::shared_ptr<SelectionWindow> window = std::shared_ptr<SelectionWindow>(new SelectionWindow(color, type));
|
std::shared_ptr<SelectionWindow> window = std::shared_ptr<SelectionWindow>(new SelectionWindow(color, type));
|
||||||
close();
|
close();
|
||||||
GH.windows().pushWindow(window);
|
if(CSH->isMyColor(color) || CSH->isHost())
|
||||||
|
GH.windows().pushWindow(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionsTab::SelectionWindow::recreate()
|
void OptionsTab::SelectionWindow::recreate()
|
||||||
@ -537,11 +537,11 @@ void OptionsTab::SelectionWindow::recreate()
|
|||||||
|
|
||||||
void OptionsTab::SelectionWindow::drawOutlinedText(int x, int y, ColorRGBA color, std::string text)
|
void OptionsTab::SelectionWindow::drawOutlinedText(int x, int y, ColorRGBA color, std::string text)
|
||||||
{
|
{
|
||||||
components.push_back(std::make_shared<CLabel>(x-1, y, FONT_TINY, ETextAlignment::CENTER, Colors::BLACK, text));
|
components.push_back(std::make_shared<CLabel>(x-1, y, FONT_TINY, ETextAlignment::CENTER, Colors::BLACK, text, 56));
|
||||||
components.push_back(std::make_shared<CLabel>(x+1, y, FONT_TINY, ETextAlignment::CENTER, Colors::BLACK, text));
|
components.push_back(std::make_shared<CLabel>(x+1, y, FONT_TINY, ETextAlignment::CENTER, Colors::BLACK, text, 56));
|
||||||
components.push_back(std::make_shared<CLabel>(x, y-1, FONT_TINY, ETextAlignment::CENTER, Colors::BLACK, text));
|
components.push_back(std::make_shared<CLabel>(x, y-1, FONT_TINY, ETextAlignment::CENTER, Colors::BLACK, text, 56));
|
||||||
components.push_back(std::make_shared<CLabel>(x, y+1, FONT_TINY, ETextAlignment::CENTER, Colors::BLACK, text));
|
components.push_back(std::make_shared<CLabel>(x, y+1, FONT_TINY, ETextAlignment::CENTER, Colors::BLACK, text, 56));
|
||||||
components.push_back(std::make_shared<CLabel>(x, y, FONT_TINY, ETextAlignment::CENTER, color, text));
|
components.push_back(std::make_shared<CLabel>(x, y, FONT_TINY, ETextAlignment::CENTER, color, text, 56));
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionsTab::SelectionWindow::genContentGrid(int lines)
|
void OptionsTab::SelectionWindow::genContentGrid(int lines)
|
||||||
@ -632,7 +632,7 @@ void OptionsTab::SelectionWindow::genContentHeroes()
|
|||||||
|
|
||||||
void OptionsTab::SelectionWindow::genContentBonus()
|
void OptionsTab::SelectionWindow::genContentBonus()
|
||||||
{
|
{
|
||||||
PlayerSettings set = PlayerSettings();
|
PlayerSettings set = SEL->getStartInfo()->playerInfos.find(color)->second;
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for(auto elem : allowedBonus)
|
for(auto elem : allowedBonus)
|
||||||
@ -774,7 +774,7 @@ OptionsTab::SelectedBox::SelectedBox(Point position, PlayerSettings & playerSett
|
|||||||
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
||||||
|
|
||||||
image = std::make_shared<CAnimImage>(getImageName(), getImageIndex());
|
image = std::make_shared<CAnimImage>(getImageName(), getImageIndex());
|
||||||
subtitle = std::make_shared<CLabel>(23, 39, FONT_TINY, ETextAlignment::CENTER, Colors::WHITE, getName());
|
subtitle = std::make_shared<CLabel>(24, 39, FONT_TINY, ETextAlignment::CENTER, Colors::WHITE, getName(), 71);
|
||||||
|
|
||||||
pos = image->pos;
|
pos = image->pos;
|
||||||
|
|
||||||
@ -889,7 +889,7 @@ OptionsTab::PlayerOptionsEntry::PlayerOptionsEntry(const PlayerSettings & S, con
|
|||||||
|
|
||||||
background = std::make_shared<CPicture>(ImagePath::builtin(bgs[s->color]), 0, 0);
|
background = std::make_shared<CPicture>(ImagePath::builtin(bgs[s->color]), 0, 0);
|
||||||
if(s->isControlledByAI() || CSH->isGuest())
|
if(s->isControlledByAI() || CSH->isGuest())
|
||||||
labelPlayerName = std::make_shared<CLabel>(55, 10, EFonts::FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, name);
|
labelPlayerName = std::make_shared<CLabel>(55, 10, EFonts::FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, name, 95);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
labelPlayerNameEdit = std::make_shared<CTextInput>(Rect(6, 3, 95, 15), EFonts::FONT_SMALL, nullptr, false);
|
labelPlayerNameEdit = std::make_shared<CTextInput>(Rect(6, 3, 95, 15), EFonts::FONT_SMALL, nullptr, false);
|
||||||
|
@ -148,7 +148,7 @@ private:
|
|||||||
public:
|
public:
|
||||||
void reopen();
|
void reopen();
|
||||||
|
|
||||||
SelectionWindow(PlayerColor _color, SelType _type);
|
SelectionWindow(const PlayerColor & color, SelType _type);
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Image with current town/hero/bonus
|
/// Image with current town/hero/bonus
|
||||||
|
@ -22,6 +22,14 @@
|
|||||||
#include "../../lib/MetaString.h"
|
#include "../../lib/MetaString.h"
|
||||||
#include "../../lib/CGeneralTextHandler.h"
|
#include "../../lib/CGeneralTextHandler.h"
|
||||||
|
|
||||||
|
static std::string timeToString(int time)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << time / 1000 / 60 << ":" << std::setw(2) << std::setfill('0') << time / 1000 % 60;
|
||||||
|
return ss.str();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
std::vector<TurnTimerInfo> OptionsTabBase::getTimerPresets() const
|
std::vector<TurnTimerInfo> OptionsTabBase::getTimerPresets() const
|
||||||
{
|
{
|
||||||
std::vector<TurnTimerInfo> result;
|
std::vector<TurnTimerInfo> result;
|
||||||
@ -141,43 +149,51 @@ OptionsTabBase::OptionsTabBase(const JsonPath & configPath)
|
|||||||
else if(l.empty())
|
else if(l.empty())
|
||||||
return sec;
|
return sec;
|
||||||
|
|
||||||
return std::stoi(l) * 60 + std::stoi(r);
|
return std::min(24*60, std::stoi(l)) * 60 + std::stoi(r);
|
||||||
};
|
};
|
||||||
|
|
||||||
addCallback("parseAndSetTimer_base", [parseTimerString](const std::string & str){
|
addCallback("parseAndSetTimer_base", [this, parseTimerString](const std::string & str){
|
||||||
int time = parseTimerString(str) * 1000;
|
int time = parseTimerString(str) * 1000;
|
||||||
if(time >= 0)
|
if(time >= 0)
|
||||||
{
|
{
|
||||||
TurnTimerInfo tinfo = SEL->getStartInfo()->turnTimerInfo;
|
TurnTimerInfo tinfo = SEL->getStartInfo()->turnTimerInfo;
|
||||||
tinfo.baseTimer = time;
|
tinfo.baseTimer = time;
|
||||||
CSH->setTurnTimerInfo(tinfo);
|
CSH->setTurnTimerInfo(tinfo);
|
||||||
|
if(auto ww = widget<CTextInput>("chessFieldBase"))
|
||||||
|
ww->setText(timeToString(time), false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
addCallback("parseAndSetTimer_turn", [parseTimerString](const std::string & str){
|
addCallback("parseAndSetTimer_turn", [this, parseTimerString](const std::string & str){
|
||||||
int time = parseTimerString(str) * 1000;
|
int time = parseTimerString(str) * 1000;
|
||||||
if(time >= 0)
|
if(time >= 0)
|
||||||
{
|
{
|
||||||
TurnTimerInfo tinfo = SEL->getStartInfo()->turnTimerInfo;
|
TurnTimerInfo tinfo = SEL->getStartInfo()->turnTimerInfo;
|
||||||
tinfo.turnTimer = time;
|
tinfo.turnTimer = time;
|
||||||
CSH->setTurnTimerInfo(tinfo);
|
CSH->setTurnTimerInfo(tinfo);
|
||||||
|
if(auto ww = widget<CTextInput>("chessFieldTurn"))
|
||||||
|
ww->setText(timeToString(time), false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
addCallback("parseAndSetTimer_battle", [parseTimerString](const std::string & str){
|
addCallback("parseAndSetTimer_battle", [this, parseTimerString](const std::string & str){
|
||||||
int time = parseTimerString(str) * 1000;
|
int time = parseTimerString(str) * 1000;
|
||||||
if(time >= 0)
|
if(time >= 0)
|
||||||
{
|
{
|
||||||
TurnTimerInfo tinfo = SEL->getStartInfo()->turnTimerInfo;
|
TurnTimerInfo tinfo = SEL->getStartInfo()->turnTimerInfo;
|
||||||
tinfo.battleTimer = time;
|
tinfo.battleTimer = time;
|
||||||
CSH->setTurnTimerInfo(tinfo);
|
CSH->setTurnTimerInfo(tinfo);
|
||||||
|
if(auto ww = widget<CTextInput>("chessFieldBattle"))
|
||||||
|
ww->setText(timeToString(time), false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
addCallback("parseAndSetTimer_unit", [parseTimerString](const std::string & str){
|
addCallback("parseAndSetTimer_unit", [this, parseTimerString](const std::string & str){
|
||||||
int time = parseTimerString(str) * 1000;
|
int time = parseTimerString(str) * 1000;
|
||||||
if(time >= 0)
|
if(time >= 0)
|
||||||
{
|
{
|
||||||
TurnTimerInfo tinfo = SEL->getStartInfo()->turnTimerInfo;
|
TurnTimerInfo tinfo = SEL->getStartInfo()->turnTimerInfo;
|
||||||
tinfo.unitTimer = time;
|
tinfo.unitTimer = time;
|
||||||
CSH->setTurnTimerInfo(tinfo);
|
CSH->setTurnTimerInfo(tinfo);
|
||||||
|
if(auto ww = widget<CTextInput>("chessFieldUnit"))
|
||||||
|
ww->setText(timeToString(time), false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -359,14 +375,6 @@ void OptionsTabBase::recreate()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//chess timer
|
|
||||||
auto timeToString = [](int time) -> std::string
|
|
||||||
{
|
|
||||||
std::stringstream ss;
|
|
||||||
ss << time / 1000 / 60 << ":" << std::setw(2) << std::setfill('0') << time / 1000 % 60;
|
|
||||||
return ss.str();
|
|
||||||
};
|
|
||||||
|
|
||||||
if(auto ww = widget<CTextInput>("chessFieldBase"))
|
if(auto ww = widget<CTextInput>("chessFieldBase"))
|
||||||
ww->setText(timeToString(turnTimerRemote.baseTimer), false);
|
ww->setText(timeToString(turnTimerRemote.baseTimer), false);
|
||||||
if(auto ww = widget<CTextInput>("chessFieldTurn"))
|
if(auto ww = widget<CTextInput>("chessFieldTurn"))
|
||||||
|
@ -110,6 +110,8 @@ bool mapSorter::operator()(const std::shared_ptr<ElementInfo> aaa, const std::sh
|
|||||||
return boost::ilexicographical_compare(a->name.toString(), b->name.toString());
|
return boost::ilexicographical_compare(a->name.toString(), b->name.toString());
|
||||||
case _fileName: //by filename
|
case _fileName: //by filename
|
||||||
return boost::ilexicographical_compare(aaa->fileURI, bbb->fileURI);
|
return boost::ilexicographical_compare(aaa->fileURI, bbb->fileURI);
|
||||||
|
case _changeDate: //by changedate
|
||||||
|
return aaa->lastWrite < bbb->lastWrite;
|
||||||
default:
|
default:
|
||||||
return boost::ilexicographical_compare(a->name.toString(), b->name.toString());
|
return boost::ilexicographical_compare(a->name.toString(), b->name.toString());
|
||||||
}
|
}
|
||||||
@ -152,6 +154,8 @@ SelectionTab::SelectionTab(ESelectionScreen Type)
|
|||||||
|
|
||||||
generalSortingBy = getSortBySelectionScreen(tabType);
|
generalSortingBy = getSortBySelectionScreen(tabType);
|
||||||
|
|
||||||
|
bool enableUiEnhancements = settings["general"]["enableUiEnhancements"].Bool();
|
||||||
|
|
||||||
if(tabType != ESelectionScreen::campaignList)
|
if(tabType != ESelectionScreen::campaignList)
|
||||||
{
|
{
|
||||||
sortingBy = _format;
|
sortingBy = _format;
|
||||||
@ -208,6 +212,12 @@ SelectionTab::SelectionTab(ESelectionScreen Type)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(enableUiEnhancements)
|
||||||
|
{
|
||||||
|
buttonsSortBy.push_back(std::make_shared<CButton>(Point(371, 85), AnimationPath::builtin("lobby/selectionTabSortDate"), CButton::tooltip("", CGI->generaltexth->translate("vcmi.lobby.sortDate")), std::bind(&SelectionTab::sortBy, this, ESortBy::_changeDate)));
|
||||||
|
buttonsSortBy.back()->setAnimateLonelyFrame(true);
|
||||||
|
}
|
||||||
|
|
||||||
iconsMapFormats = GH.renderHandler().loadAnimation(AnimationPath::builtin("SCSELC.DEF"));
|
iconsMapFormats = GH.renderHandler().loadAnimation(AnimationPath::builtin("SCSELC.DEF"));
|
||||||
iconsVictoryCondition = GH.renderHandler().loadAnimation(AnimationPath::builtin("SCNRVICT.DEF"));
|
iconsVictoryCondition = GH.renderHandler().loadAnimation(AnimationPath::builtin("SCNRVICT.DEF"));
|
||||||
iconsLossCondition = GH.renderHandler().loadAnimation(AnimationPath::builtin("SCNRLOSS.DEF"));
|
iconsLossCondition = GH.renderHandler().loadAnimation(AnimationPath::builtin("SCNRLOSS.DEF"));
|
||||||
@ -215,7 +225,7 @@ SelectionTab::SelectionTab(ESelectionScreen Type)
|
|||||||
listItems.push_back(std::make_shared<ListItem>(Point(30, 129 + i * 25), iconsMapFormats, iconsVictoryCondition, iconsLossCondition));
|
listItems.push_back(std::make_shared<ListItem>(Point(30, 129 + i * 25), iconsMapFormats, iconsVictoryCondition, iconsLossCondition));
|
||||||
|
|
||||||
labelTabTitle = std::make_shared<CLabel>(205, 28, FONT_MEDIUM, ETextAlignment::CENTER, Colors::YELLOW, tabTitle);
|
labelTabTitle = std::make_shared<CLabel>(205, 28, FONT_MEDIUM, ETextAlignment::CENTER, Colors::YELLOW, tabTitle);
|
||||||
slider = std::make_shared<CSlider>(Point(372, 86), tabType != ESelectionScreen::saveGame ? 480 : 430, std::bind(&SelectionTab::sliderMove, this, _1), positionsToShow, (int)curItems.size(), 0, Orientation::VERTICAL, CSlider::BLUE);
|
slider = std::make_shared<CSlider>(Point(372, 86 + (enableUiEnhancements ? 30 : 0)), (tabType != ESelectionScreen::saveGame ? 480 : 430) - (enableUiEnhancements ? 30 : 0), std::bind(&SelectionTab::sliderMove, this, _1), positionsToShow, (int)curItems.size(), 0, Orientation::VERTICAL, CSlider::BLUE);
|
||||||
slider->setPanningStep(24);
|
slider->setPanningStep(24);
|
||||||
|
|
||||||
// create scroll bounds that encompass all area in this UI element to the left of slider (including area of slider itself)
|
// create scroll bounds that encompass all area in this UI element to the left of slider (including area of slider itself)
|
||||||
@ -823,7 +833,7 @@ SelectionTab::ListItem::ListItem(Point position, std::shared_ptr<CAnimation> ico
|
|||||||
{
|
{
|
||||||
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
||||||
pictureEmptyLine = std::make_shared<CPicture>(GH.renderHandler().loadImage(ImagePath::builtin("camcust")), Rect(25, 121, 349, 26), -8, -14);
|
pictureEmptyLine = std::make_shared<CPicture>(GH.renderHandler().loadImage(ImagePath::builtin("camcust")), Rect(25, 121, 349, 26), -8, -14);
|
||||||
labelName = std::make_shared<CLabel>(184, 0, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
labelName = std::make_shared<CLabel>(184, 0, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, "", 185);
|
||||||
labelName->setAutoRedraw(false);
|
labelName->setAutoRedraw(false);
|
||||||
labelAmountOfPlayers = std::make_shared<CLabel>(8, 0, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
labelAmountOfPlayers = std::make_shared<CLabel>(8, 0, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
||||||
labelAmountOfPlayers->setAutoRedraw(false);
|
labelAmountOfPlayers->setAutoRedraw(false);
|
||||||
@ -866,11 +876,13 @@ void SelectionTab::ListItem::updateItem(std::shared_ptr<ElementInfo> info, bool
|
|||||||
iconLossCondition->disable();
|
iconLossCondition->disable();
|
||||||
labelNumberOfCampaignMaps->disable();
|
labelNumberOfCampaignMaps->disable();
|
||||||
labelName->enable();
|
labelName->enable();
|
||||||
|
labelName->setMaxWidth(316);
|
||||||
labelName->setText(info->folderName);
|
labelName->setText(info->folderName);
|
||||||
labelName->setColor(color);
|
labelName->setColor(color);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
labelName->enable();
|
||||||
if(info->campaign)
|
if(info->campaign)
|
||||||
{
|
{
|
||||||
labelAmountOfPlayers->disable();
|
labelAmountOfPlayers->disable();
|
||||||
@ -885,6 +897,7 @@ void SelectionTab::ListItem::updateItem(std::shared_ptr<ElementInfo> info, bool
|
|||||||
ostr << info->campaign->scenariosCount();
|
ostr << info->campaign->scenariosCount();
|
||||||
labelNumberOfCampaignMaps->setText(ostr.str());
|
labelNumberOfCampaignMaps->setText(ostr.str());
|
||||||
labelNumberOfCampaignMaps->setColor(color);
|
labelNumberOfCampaignMaps->setColor(color);
|
||||||
|
labelName->setMaxWidth(316);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -905,8 +918,8 @@ void SelectionTab::ListItem::updateItem(std::shared_ptr<ElementInfo> info, bool
|
|||||||
iconVictoryCondition->setFrame(info->mapHeader->victoryIconIndex, 0);
|
iconVictoryCondition->setFrame(info->mapHeader->victoryIconIndex, 0);
|
||||||
iconLossCondition->enable();
|
iconLossCondition->enable();
|
||||||
iconLossCondition->setFrame(info->mapHeader->defeatIconIndex, 0);
|
iconLossCondition->setFrame(info->mapHeader->defeatIconIndex, 0);
|
||||||
|
labelName->setMaxWidth(185);
|
||||||
}
|
}
|
||||||
labelName->enable();
|
|
||||||
labelName->setText(info->getNameForList());
|
labelName->setText(info->getNameForList());
|
||||||
labelName->setColor(color);
|
labelName->setColor(color);
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ class IImage;
|
|||||||
|
|
||||||
enum ESortBy
|
enum ESortBy
|
||||||
{
|
{
|
||||||
_playerAm, _size, _format, _name, _viccon, _loscon, _numOfMaps, _fileName
|
_playerAm, _size, _format, _name, _viccon, _loscon, _numOfMaps, _fileName, _changeDate
|
||||||
}; //_numOfMaps is for campaigns
|
}; //_numOfMaps is for campaigns
|
||||||
|
|
||||||
class ElementInfo : public CMapInfo
|
class ElementInfo : public CMapInfo
|
||||||
|
@ -45,10 +45,8 @@ CPrologEpilogVideo::CPrologEpilogVideo(CampaignScenarioPrologEpilog _spe, std::f
|
|||||||
void CPrologEpilogVideo::show(Canvas & to)
|
void CPrologEpilogVideo::show(Canvas & to)
|
||||||
{
|
{
|
||||||
to.drawColor(pos, Colors::BLACK);
|
to.drawColor(pos, Colors::BLACK);
|
||||||
//BUG: some videos are 800x600 in size while some are 800x400
|
//some videos are 800x600 in size while some are 800x400
|
||||||
//VCMI should center them in the middle of the screen. Possible but needs modification
|
CCS->videoh->update(pos.x, pos.y + (CCS->videoh->size().y == 400 ? 100 : 0), to.getInternalSurface(), true, false);
|
||||||
//of video player API which I'd like to avoid until we'll get rid of Windows-specific player
|
|
||||||
CCS->videoh->update(pos.x, pos.y, to.getInternalSurface(), true, false);
|
|
||||||
|
|
||||||
//move text every 5 calls/frames; seems to be good enough
|
//move text every 5 calls/frames; seems to be good enough
|
||||||
++positionCounter;
|
++positionCounter;
|
||||||
|
@ -182,6 +182,20 @@ void Canvas::drawColorBlended(const Rect & target, const ColorRGBA & color)
|
|||||||
CSDL_Ext::fillRectBlended(surface, realTarget, CSDL_Ext::toSDL(color));
|
CSDL_Ext::fillRectBlended(surface, realTarget, CSDL_Ext::toSDL(color));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Canvas::fillTexture(const std::shared_ptr<IImage>& image)
|
||||||
|
{
|
||||||
|
assert(image);
|
||||||
|
if (!image)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Rect imageArea = Rect(Point(0, 0), image->dimensions());
|
||||||
|
for (int y=0; y < surface->h; y+= imageArea.h)
|
||||||
|
{
|
||||||
|
for (int x=0; x < surface->w; x+= imageArea.w)
|
||||||
|
image->draw(surface, renderArea.x + x, renderArea.y + y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SDL_Surface * Canvas::getInternalSurface()
|
SDL_Surface * Canvas::getInternalSurface()
|
||||||
{
|
{
|
||||||
return surface;
|
return surface;
|
||||||
|
@ -99,6 +99,9 @@ public:
|
|||||||
/// fills selected area with blended color
|
/// fills selected area with blended color
|
||||||
void drawColorBlended(const Rect & target, const ColorRGBA & color);
|
void drawColorBlended(const Rect & target, const ColorRGBA & color);
|
||||||
|
|
||||||
|
/// fills canvas with texture
|
||||||
|
void fillTexture(const std::shared_ptr<IImage>& image);
|
||||||
|
|
||||||
/// Compatibility method. AVOID USAGE. To be removed once SDL abstraction layer is finished.
|
/// Compatibility method. AVOID USAGE. To be removed once SDL abstraction layer is finished.
|
||||||
SDL_Surface * getInternalSurface();
|
SDL_Surface * getInternalSurface();
|
||||||
|
|
||||||
|
@ -284,7 +284,12 @@ void ScreenHandler::initializeWindow()
|
|||||||
mainRenderer = SDL_CreateRenderer(mainWindow, getPreferredRenderingDriver(), rendererFlags);
|
mainRenderer = SDL_CreateRenderer(mainWindow, getPreferredRenderingDriver(), rendererFlags);
|
||||||
|
|
||||||
if(mainRenderer == nullptr)
|
if(mainRenderer == nullptr)
|
||||||
throw std::runtime_error("Unable to create renderer\n");
|
{
|
||||||
|
const char * error = SDL_GetError();
|
||||||
|
std::string messagePattern = "Failed to create SDL renderer. Reason: %s";
|
||||||
|
std::string message = boost::str(boost::format(messagePattern) % error);
|
||||||
|
handleFatalError(message, true);
|
||||||
|
}
|
||||||
|
|
||||||
SDL_RendererInfo info;
|
SDL_RendererInfo info;
|
||||||
SDL_GetRendererInfo(mainRenderer, &info);
|
SDL_GetRendererInfo(mainRenderer, &info);
|
||||||
|
@ -611,6 +611,8 @@ void MoraleLuckBox::set(const AFactionMember * node)
|
|||||||
|
|
||||||
image = std::make_shared<CAnimImage>(AnimationPath::builtin(imageName), *component.value + 3);
|
image = std::make_shared<CAnimImage>(AnimationPath::builtin(imageName), *component.value + 3);
|
||||||
image->moveBy(Point(pos.w/2 - image->pos.w/2, pos.h/2 - image->pos.h/2));//center icon
|
image->moveBy(Point(pos.w/2 - image->pos.w/2, pos.h/2 - image->pos.h/2));//center icon
|
||||||
|
if(settings["general"]["enableUiEnhancements"].Bool())
|
||||||
|
label = std::make_shared<CLabel>(small ? 30 : 42, small ? 20 : 38, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, std::to_string(modifierList->totalValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
MoraleLuckBox::MoraleLuckBox(bool Morale, const Rect &r, bool Small)
|
MoraleLuckBox::MoraleLuckBox(bool Morale, const Rect &r, bool Small)
|
||||||
|
@ -238,6 +238,7 @@ public:
|
|||||||
class MoraleLuckBox : public LRClickableAreaWTextComp
|
class MoraleLuckBox : public LRClickableAreaWTextComp
|
||||||
{
|
{
|
||||||
std::shared_ptr<CAnimImage> image;
|
std::shared_ptr<CAnimImage> image;
|
||||||
|
std::shared_ptr<CLabel> label;
|
||||||
public:
|
public:
|
||||||
bool morale; //true if morale, false if luck
|
bool morale; //true if morale, false if luck
|
||||||
bool small;
|
bool small;
|
||||||
|
@ -47,8 +47,8 @@ void CLabel::showAll(Canvas & to)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CLabel::CLabel(int x, int y, EFonts Font, ETextAlignment Align, const ColorRGBA & Color, const std::string & Text)
|
CLabel::CLabel(int x, int y, EFonts Font, ETextAlignment Align, const ColorRGBA & Color, const std::string & Text, int maxWidth)
|
||||||
: CTextContainer(Align, Font, Color), text(Text)
|
: CTextContainer(Align, Font, Color), text(Text), maxWidth(maxWidth)
|
||||||
{
|
{
|
||||||
setRedrawParent(true);
|
setRedrawParent(true);
|
||||||
autoRedraw = true;
|
autoRedraw = true;
|
||||||
@ -56,6 +56,8 @@ CLabel::CLabel(int x, int y, EFonts Font, ETextAlignment Align, const ColorRGBA
|
|||||||
pos.y += y;
|
pos.y += y;
|
||||||
pos.w = pos.h = 0;
|
pos.w = pos.h = 0;
|
||||||
|
|
||||||
|
trimText();
|
||||||
|
|
||||||
if(alignment == ETextAlignment::TOPLEFT) // causes issues for MIDDLE
|
if(alignment == ETextAlignment::TOPLEFT) // causes issues for MIDDLE
|
||||||
{
|
{
|
||||||
pos.w = (int)graphics->fonts[font]->getStringWidth(visibleText().c_str());
|
pos.w = (int)graphics->fonts[font]->getStringWidth(visibleText().c_str());
|
||||||
@ -81,6 +83,9 @@ void CLabel::setAutoRedraw(bool value)
|
|||||||
void CLabel::setText(const std::string & Txt)
|
void CLabel::setText(const std::string & Txt)
|
||||||
{
|
{
|
||||||
text = Txt;
|
text = Txt;
|
||||||
|
|
||||||
|
trimText();
|
||||||
|
|
||||||
if(autoRedraw)
|
if(autoRedraw)
|
||||||
{
|
{
|
||||||
if(background || !parent)
|
if(background || !parent)
|
||||||
@ -90,6 +95,18 @@ void CLabel::setText(const std::string & Txt)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CLabel::setMaxWidth(int width)
|
||||||
|
{
|
||||||
|
maxWidth = width;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CLabel::trimText()
|
||||||
|
{
|
||||||
|
if(maxWidth > 0)
|
||||||
|
while ((int)graphics->fonts[font]->getStringWidth(visibleText().c_str()) > maxWidth)
|
||||||
|
TextOperations::trimRightUnicode(text);
|
||||||
|
}
|
||||||
|
|
||||||
void CLabel::setColor(const ColorRGBA & Color)
|
void CLabel::setColor(const ColorRGBA & Color)
|
||||||
{
|
{
|
||||||
color = Color;
|
color = Color;
|
||||||
@ -444,7 +461,7 @@ void CGStatusBar::clear()
|
|||||||
}
|
}
|
||||||
|
|
||||||
CGStatusBar::CGStatusBar(std::shared_ptr<CIntObject> background_, EFonts Font, ETextAlignment Align, const ColorRGBA & Color)
|
CGStatusBar::CGStatusBar(std::shared_ptr<CIntObject> background_, EFonts Font, ETextAlignment Align, const ColorRGBA & Color)
|
||||||
: CLabel(background_->pos.x, background_->pos.y, Font, Align, Color, "")
|
: CLabel(background_->pos.x, background_->pos.y, Font, Align, Color, "", background_->pos.w)
|
||||||
, enteringText(false)
|
, enteringText(false)
|
||||||
{
|
{
|
||||||
addUsedEvents(LCLICK);
|
addUsedEvents(LCLICK);
|
||||||
@ -542,6 +559,7 @@ CTextInput::CTextInput(const Rect & Pos, EFonts font, const CFunctionList<void(c
|
|||||||
setRedrawParent(true);
|
setRedrawParent(true);
|
||||||
pos.h = Pos.h;
|
pos.h = Pos.h;
|
||||||
pos.w = Pos.w;
|
pos.w = Pos.w;
|
||||||
|
maxWidth = Pos.w;
|
||||||
background.reset();
|
background.reset();
|
||||||
addUsedEvents(LCLICK | SHOW_POPUP | KEYBOARD | TEXTINPUT);
|
addUsedEvents(LCLICK | SHOW_POPUP | KEYBOARD | TEXTINPUT);
|
||||||
|
|
||||||
@ -557,6 +575,7 @@ CTextInput::CTextInput(const Rect & Pos, const Point & bgOffset, const ImagePath
|
|||||||
pos += Pos.topLeft();
|
pos += Pos.topLeft();
|
||||||
pos.h = Pos.h;
|
pos.h = Pos.h;
|
||||||
pos.w = Pos.w;
|
pos.w = Pos.w;
|
||||||
|
maxWidth = Pos.w;
|
||||||
|
|
||||||
OBJ_CONSTRUCTION;
|
OBJ_CONSTRUCTION;
|
||||||
background = std::make_shared<CPicture>(bgName, bgOffset.x, bgOffset.y);
|
background = std::make_shared<CPicture>(bgName, bgOffset.x, bgOffset.y);
|
||||||
@ -575,6 +594,7 @@ CTextInput::CTextInput(const Rect & Pos, std::shared_ptr<IImage> srf)
|
|||||||
background = std::make_shared<CPicture>(srf, Pos);
|
background = std::make_shared<CPicture>(srf, Pos);
|
||||||
pos.w = background->pos.w;
|
pos.w = background->pos.w;
|
||||||
pos.h = background->pos.h;
|
pos.h = background->pos.h;
|
||||||
|
maxWidth = Pos.w;
|
||||||
background->pos = pos;
|
background->pos = pos;
|
||||||
addUsedEvents(LCLICK | KEYBOARD | TEXTINPUT);
|
addUsedEvents(LCLICK | KEYBOARD | TEXTINPUT);
|
||||||
|
|
||||||
@ -683,7 +703,7 @@ void CTextInput::textInputed(const std::string & enteredText)
|
|||||||
return;
|
return;
|
||||||
std::string oldText = text;
|
std::string oldText = text;
|
||||||
|
|
||||||
text += enteredText;
|
setText(getText() + enteredText);
|
||||||
|
|
||||||
filters(text, oldText);
|
filters(text, oldText);
|
||||||
if(text != oldText)
|
if(text != oldText)
|
||||||
|
@ -43,9 +43,11 @@ class CLabel : public CTextContainer
|
|||||||
protected:
|
protected:
|
||||||
Point getBorderSize() override;
|
Point getBorderSize() override;
|
||||||
virtual std::string visibleText();
|
virtual std::string visibleText();
|
||||||
|
virtual void trimText();
|
||||||
|
|
||||||
std::shared_ptr<CIntObject> background;
|
std::shared_ptr<CIntObject> background;
|
||||||
std::string text;
|
std::string text;
|
||||||
|
int maxWidth;
|
||||||
bool autoRedraw; //whether control will redraw itself on setTxt
|
bool autoRedraw; //whether control will redraw itself on setTxt
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -53,11 +55,12 @@ public:
|
|||||||
std::string getText();
|
std::string getText();
|
||||||
virtual void setAutoRedraw(bool option);
|
virtual void setAutoRedraw(bool option);
|
||||||
virtual void setText(const std::string & Txt);
|
virtual void setText(const std::string & Txt);
|
||||||
|
virtual void setMaxWidth(int width);
|
||||||
virtual void setColor(const ColorRGBA & Color);
|
virtual void setColor(const ColorRGBA & Color);
|
||||||
size_t getWidth();
|
size_t getWidth();
|
||||||
|
|
||||||
CLabel(int x = 0, int y = 0, EFonts Font = FONT_SMALL, ETextAlignment Align = ETextAlignment::TOPLEFT,
|
CLabel(int x = 0, int y = 0, EFonts Font = FONT_SMALL, ETextAlignment Align = ETextAlignment::TOPLEFT,
|
||||||
const ColorRGBA & Color = Colors::WHITE, const std::string & Text = "");
|
const ColorRGBA & Color = Colors::WHITE, const std::string & Text = "", int maxWidth = 0);
|
||||||
void showAll(Canvas & to) override; //shows statusbar (with current text)
|
void showAll(Canvas & to) override; //shows statusbar (with current text)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1430,7 +1430,7 @@ CHallInterface::CBuildingBox::CBuildingBox(int x, int y, const CGTownInstance *
|
|||||||
header = std::make_shared<CAnimImage>(AnimationPath::builtin("TPTHBAR"), panelIndex[static_cast<int>(state)], 0, 1, 73);
|
header = std::make_shared<CAnimImage>(AnimationPath::builtin("TPTHBAR"), panelIndex[static_cast<int>(state)], 0, 1, 73);
|
||||||
if(iconIndex[static_cast<int>(state)] >=0)
|
if(iconIndex[static_cast<int>(state)] >=0)
|
||||||
mark = std::make_shared<CAnimImage>(AnimationPath::builtin("TPTHCHK"), iconIndex[static_cast<int>(state)], 0, 136, 56);
|
mark = std::make_shared<CAnimImage>(AnimationPath::builtin("TPTHCHK"), iconIndex[static_cast<int>(state)], 0, 136, 56);
|
||||||
name = std::make_shared<CLabel>(75, 81, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, building->getNameTranslated());
|
name = std::make_shared<CLabel>(78, 81, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, building->getNameTranslated(), 150);
|
||||||
|
|
||||||
//todo: add support for all possible states
|
//todo: add support for all possible states
|
||||||
if(state >= EBuildingState::BUILDING_ERROR)
|
if(state >= EBuildingState::BUILDING_ERROR)
|
||||||
@ -1769,7 +1769,7 @@ CFortScreen::RecruitArea::RecruitArea(int posX, int posY, const CGTownInstance *
|
|||||||
if(getMyBuilding() != nullptr)
|
if(getMyBuilding() != nullptr)
|
||||||
{
|
{
|
||||||
buildingIcon = std::make_shared<CAnimImage>(town->town->clientInfo.buildingsIcons, getMyBuilding()->bid, 0, 4, 21);
|
buildingIcon = std::make_shared<CAnimImage>(town->town->clientInfo.buildingsIcons, getMyBuilding()->bid, 0, 4, 21);
|
||||||
buildingName = std::make_shared<CLabel>(78, 101, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, getMyBuilding()->getNameTranslated());
|
buildingName = std::make_shared<CLabel>(78, 101, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, getMyBuilding()->getNameTranslated(), 152);
|
||||||
|
|
||||||
if(vstd::contains(town->builtBuildings, getMyBuilding()->bid))
|
if(vstd::contains(town->builtBuildings, getMyBuilding()->bid))
|
||||||
{
|
{
|
||||||
@ -1783,7 +1783,7 @@ CFortScreen::RecruitArea::RecruitArea(int posX, int posY, const CGTownInstance *
|
|||||||
{
|
{
|
||||||
hoverText = boost::str(boost::format(CGI->generaltexth->tcommands[21]) % getMyCreature()->getNamePluralTranslated());
|
hoverText = boost::str(boost::format(CGI->generaltexth->tcommands[21]) % getMyCreature()->getNamePluralTranslated());
|
||||||
new CCreaturePic(159, 4, getMyCreature(), false);
|
new CCreaturePic(159, 4, getMyCreature(), false);
|
||||||
new CLabel(78, 11, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, getMyCreature()->getNamePluralTranslated());
|
new CLabel(78, 11, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, getMyCreature()->getNamePluralTranslated(), 152);
|
||||||
|
|
||||||
Rect sizes(287, 4, 96, 18);
|
Rect sizes(287, 4, 96, 18);
|
||||||
values.push_back(std::make_shared<LabeledValue>(sizes, CGI->generaltexth->allTexts[190], CGI->generaltexth->fcommands[0], getMyCreature()->getAttack(false)));
|
values.push_back(std::make_shared<LabeledValue>(sizes, CGI->generaltexth->allTexts[190], CGI->generaltexth->fcommands[0], getMyCreature()->getAttack(false)));
|
||||||
|
@ -229,6 +229,7 @@ CStackWindow::ActiveSpellsSection::ActiveSpellsSection(CStackWindow * owner, int
|
|||||||
boost::replace_first(spellText, "%d", std::to_string(duration));
|
boost::replace_first(spellText, "%d", std::to_string(duration));
|
||||||
|
|
||||||
spellIcons.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("SpellInt"), effect + 1, 0, firstPos.x + offset.x * printed, firstPos.y + offset.y * printed));
|
spellIcons.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("SpellInt"), effect + 1, 0, firstPos.x + offset.x * printed, firstPos.y + offset.y * printed));
|
||||||
|
labels.push_back(std::make_shared<CLabel>(firstPos.x + offset.x * printed + 46, firstPos.y + offset.y * printed + 36, EFonts::FONT_TINY, ETextAlignment::BOTTOMRIGHT, Colors::WHITE, std::to_string(duration)));
|
||||||
clickableAreas.push_back(std::make_shared<LRClickableAreaWText>(Rect(firstPos + offset * printed, Point(50, 38)), spellText, spellText));
|
clickableAreas.push_back(std::make_shared<LRClickableAreaWText>(Rect(firstPos + offset * printed, Point(50, 38)), spellText, spellText));
|
||||||
if(++printed >= 8) // interface limit reached
|
if(++printed >= 8) // interface limit reached
|
||||||
break;
|
break;
|
||||||
@ -542,7 +543,7 @@ CStackWindow::MainSection::MainSection(CStackWindow * owner, int yOffset, bool s
|
|||||||
addStatLabel(EStat::DEFENCE, parent->info->creature->getDefense(battleStack->isShooter()), battleStack->getDefense(battleStack->isShooter()));
|
addStatLabel(EStat::DEFENCE, parent->info->creature->getDefense(battleStack->isShooter()), battleStack->getDefense(battleStack->isShooter()));
|
||||||
addStatLabel(EStat::DAMAGE, parent->info->stackNode->getMinDamage(battleStack->isShooter()) * dmgMultiply, battleStack->getMaxDamage(battleStack->isShooter()) * dmgMultiply);
|
addStatLabel(EStat::DAMAGE, parent->info->stackNode->getMinDamage(battleStack->isShooter()) * dmgMultiply, battleStack->getMaxDamage(battleStack->isShooter()) * dmgMultiply);
|
||||||
addStatLabel(EStat::HEALTH, parent->info->creature->getMaxHealth(), battleStack->getMaxHealth());
|
addStatLabel(EStat::HEALTH, parent->info->creature->getMaxHealth(), battleStack->getMaxHealth());
|
||||||
addStatLabel(EStat::SPEED, parent->info->creature->speed(), battleStack->speed());
|
addStatLabel(EStat::SPEED, parent->info->creature->getMovementRange(), battleStack->getMovementRange());
|
||||||
|
|
||||||
if(battleStack->isShooter())
|
if(battleStack->isShooter())
|
||||||
addStatLabel(EStat::SHOTS, battleStack->shots.total(), battleStack->shots.available());
|
addStatLabel(EStat::SHOTS, battleStack->shots.total(), battleStack->shots.available());
|
||||||
@ -562,7 +563,7 @@ CStackWindow::MainSection::MainSection(CStackWindow * owner, int yOffset, bool s
|
|||||||
addStatLabel(EStat::DEFENCE, parent->info->creature->getDefense(shooter), parent->info->stackNode->getDefense(shooter));
|
addStatLabel(EStat::DEFENCE, parent->info->creature->getDefense(shooter), parent->info->stackNode->getDefense(shooter));
|
||||||
addStatLabel(EStat::DAMAGE, parent->info->stackNode->getMinDamage(shooter) * dmgMultiply, parent->info->stackNode->getMaxDamage(shooter) * dmgMultiply);
|
addStatLabel(EStat::DAMAGE, parent->info->stackNode->getMinDamage(shooter) * dmgMultiply, parent->info->stackNode->getMaxDamage(shooter) * dmgMultiply);
|
||||||
addStatLabel(EStat::HEALTH, parent->info->creature->getMaxHealth(), parent->info->stackNode->getMaxHealth());
|
addStatLabel(EStat::HEALTH, parent->info->creature->getMaxHealth(), parent->info->stackNode->getMaxHealth());
|
||||||
addStatLabel(EStat::SPEED, parent->info->creature->speed(), parent->info->stackNode->speed());
|
addStatLabel(EStat::SPEED, parent->info->creature->getMovementRange(), parent->info->stackNode->getMovementRange());
|
||||||
|
|
||||||
if(shooter)
|
if(shooter)
|
||||||
addStatLabel(EStat::SHOTS, parent->info->stackNode->valOfBonuses(BonusType::SHOTS));
|
addStatLabel(EStat::SHOTS, parent->info->stackNode->valOfBonuses(BonusType::SHOTS));
|
||||||
@ -665,6 +666,7 @@ CStackWindow::CStackWindow(const CStack * stack, bool popup)
|
|||||||
{
|
{
|
||||||
info->stack = stack;
|
info->stack = stack;
|
||||||
info->stackNode = stack->base;
|
info->stackNode = stack->base;
|
||||||
|
info->commander = dynamic_cast<const CCommanderInstance*>(stack->base);
|
||||||
info->creature = stack->unitType();
|
info->creature = stack->unitType();
|
||||||
info->creatureCount = stack->getCount();
|
info->creatureCount = stack->getCount();
|
||||||
info->popupWindow = popup;
|
info->popupWindow = popup;
|
||||||
|
@ -72,6 +72,7 @@ class CStackWindow : public CWindowObject
|
|||||||
{
|
{
|
||||||
std::vector<std::shared_ptr<CAnimImage>> spellIcons;
|
std::vector<std::shared_ptr<CAnimImage>> spellIcons;
|
||||||
std::vector<std::shared_ptr<LRClickableAreaWText>> clickableAreas;
|
std::vector<std::shared_ptr<LRClickableAreaWText>> clickableAreas;
|
||||||
|
std::vector<std::shared_ptr<CLabel>> labels;
|
||||||
public:
|
public:
|
||||||
ActiveSpellsSection(CStackWindow * owner, int yOffset);
|
ActiveSpellsSection(CStackWindow * owner, int yOffset);
|
||||||
};
|
};
|
||||||
|
@ -322,10 +322,10 @@ void CSpellWindow::processSpells()
|
|||||||
sitesPerTabAdv[v] = 1;
|
sitesPerTabAdv[v] = 1;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if((sitesPerTabAdv[v] - spellsPerPage - 2) % spellsPerPage == 0)
|
if((sitesPerTabAdv[v] - (spellsPerPage - 2)) % spellsPerPage == 0)
|
||||||
sitesPerTabAdv[v] = (sitesPerTabAdv[v] - spellsPerPage - 2) / spellsPerPage + 1;
|
sitesPerTabAdv[v] = (sitesPerTabAdv[v] - (spellsPerPage - 2)) / spellsPerPage + 1;
|
||||||
else
|
else
|
||||||
sitesPerTabAdv[v] = (sitesPerTabAdv[v] - spellsPerPage - 2) / spellsPerPage + 2;
|
sitesPerTabAdv[v] = (sitesPerTabAdv[v] - (spellsPerPage - 2)) / spellsPerPage + 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,10 +340,10 @@ void CSpellWindow::processSpells()
|
|||||||
sitesPerTabBattle[v] = 1;
|
sitesPerTabBattle[v] = 1;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if((sitesPerTabBattle[v] - spellsPerPage - 2) % spellsPerPage == 0)
|
if((sitesPerTabBattle[v] - (spellsPerPage - 2)) % spellsPerPage == 0)
|
||||||
sitesPerTabBattle[v] = (sitesPerTabBattle[v] - spellsPerPage - 2) / spellsPerPage + 1;
|
sitesPerTabBattle[v] = (sitesPerTabBattle[v] - (spellsPerPage - 2)) / spellsPerPage + 1;
|
||||||
else
|
else
|
||||||
sitesPerTabBattle[v] = (sitesPerTabBattle[v] - spellsPerPage - 2) / spellsPerPage + 2;
|
sitesPerTabBattle[v] = (sitesPerTabBattle[v] - (spellsPerPage - 2)) / spellsPerPage + 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -134,6 +134,10 @@ AdventureOptionsTab::AdventureOptionsTab()
|
|||||||
{
|
{
|
||||||
return setBoolSetting("gameTweaks", "skipAdventureMapAnimations", value);
|
return setBoolSetting("gameTweaks", "skipAdventureMapAnimations", value);
|
||||||
});
|
});
|
||||||
|
addCallback("hideBackgroundChanged", [](bool value)
|
||||||
|
{
|
||||||
|
return setBoolSetting("adventure", "hideBackground", value);
|
||||||
|
});
|
||||||
build(config);
|
build(config);
|
||||||
|
|
||||||
std::shared_ptr<CToggleGroup> playerHeroSpeedToggle = widget<CToggleGroup>("heroMovementSpeedPicker");
|
std::shared_ptr<CToggleGroup> playerHeroSpeedToggle = widget<CToggleGroup>("heroMovementSpeedPicker");
|
||||||
@ -179,4 +183,7 @@ AdventureOptionsTab::AdventureOptionsTab()
|
|||||||
|
|
||||||
std::shared_ptr<CToggleButton> skipAdventureMapAnimationsCheckbox = widget<CToggleButton>("skipAdventureMapAnimationsCheckbox");
|
std::shared_ptr<CToggleButton> skipAdventureMapAnimationsCheckbox = widget<CToggleButton>("skipAdventureMapAnimationsCheckbox");
|
||||||
skipAdventureMapAnimationsCheckbox->setSelected(settings["gameTweaks"]["skipAdventureMapAnimations"].Bool());
|
skipAdventureMapAnimationsCheckbox->setSelected(settings["gameTweaks"]["skipAdventureMapAnimations"].Bool());
|
||||||
|
|
||||||
|
std::shared_ptr<CToggleButton> hideBackgroundCheckbox = widget<CToggleButton>("hideBackgroundCheckbox");
|
||||||
|
hideBackgroundCheckbox->setSelected(settings["adventure"]["hideBackground"].Bool());
|
||||||
}
|
}
|
||||||
|
@ -156,6 +156,7 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
|
|||||||
${MAIN_LIB_DIR}/rmg/modificators/ObjectDistributor.cpp
|
${MAIN_LIB_DIR}/rmg/modificators/ObjectDistributor.cpp
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/RoadPlacer.cpp
|
${MAIN_LIB_DIR}/rmg/modificators/RoadPlacer.cpp
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/TreasurePlacer.cpp
|
${MAIN_LIB_DIR}/rmg/modificators/TreasurePlacer.cpp
|
||||||
|
${MAIN_LIB_DIR}/rmg/modificators/PrisonHeroPlacer.cpp
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/QuestArtifactPlacer.cpp
|
${MAIN_LIB_DIR}/rmg/modificators/QuestArtifactPlacer.cpp
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/ConnectionsPlacer.cpp
|
${MAIN_LIB_DIR}/rmg/modificators/ConnectionsPlacer.cpp
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/WaterAdopter.cpp
|
${MAIN_LIB_DIR}/rmg/modificators/WaterAdopter.cpp
|
||||||
@ -526,6 +527,7 @@ macro(add_main_lib TARGET_NAME LIBRARY_TYPE)
|
|||||||
${MAIN_LIB_DIR}/rmg/modificators/ObjectDistributor.h
|
${MAIN_LIB_DIR}/rmg/modificators/ObjectDistributor.h
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/RoadPlacer.h
|
${MAIN_LIB_DIR}/rmg/modificators/RoadPlacer.h
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/TreasurePlacer.h
|
${MAIN_LIB_DIR}/rmg/modificators/TreasurePlacer.h
|
||||||
|
${MAIN_LIB_DIR}/rmg/modificators/PrisonHeroPlacer.h
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/QuestArtifactPlacer.h
|
${MAIN_LIB_DIR}/rmg/modificators/QuestArtifactPlacer.h
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/ConnectionsPlacer.h
|
${MAIN_LIB_DIR}/rmg/modificators/ConnectionsPlacer.h
|
||||||
${MAIN_LIB_DIR}/rmg/modificators/WaterAdopter.h
|
${MAIN_LIB_DIR}/rmg/modificators/WaterAdopter.h
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
set(VCMI_VERSION_MAJOR 1)
|
set(VCMI_VERSION_MAJOR 1)
|
||||||
set(VCMI_VERSION_MINOR 4)
|
set(VCMI_VERSION_MINOR 4)
|
||||||
set(VCMI_VERSION_PATCH 2)
|
set(VCMI_VERSION_PATCH 3)
|
||||||
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}
|
||||||
|
@ -1730,7 +1730,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : "creatureLevel1",
|
"subtype" : "creatureLevel2",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@ -1743,7 +1743,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : "creatureLevel2",
|
"subtype" : "creatureLevel3",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@ -1756,7 +1756,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : "creatureLevel3",
|
"subtype" : "creatureLevel4",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@ -1769,7 +1769,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : "creatureLevel4",
|
"subtype" : "creatureLevel5",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@ -1782,7 +1782,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : "creatureLevel5",
|
"subtype" : "creatureLevel6",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
|
@ -145,6 +145,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"ENEMY_ATTACK_REDUCTION":
|
||||||
|
{
|
||||||
|
"graphics":
|
||||||
|
{
|
||||||
|
"icon": "zvs/Lib1.res/E_RDEF"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"ENEMY_DEFENCE_REDUCTION":
|
"ENEMY_DEFENCE_REDUCTION":
|
||||||
{
|
{
|
||||||
"graphics":
|
"graphics":
|
||||||
@ -185,6 +193,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"FEROCITY":
|
||||||
|
{
|
||||||
|
"graphics":
|
||||||
|
{
|
||||||
|
"icon": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"FLYING":
|
"FLYING":
|
||||||
{
|
{
|
||||||
"graphics":
|
"graphics":
|
||||||
@ -428,6 +444,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"REVENGE":
|
||||||
|
{
|
||||||
|
"graphics":
|
||||||
|
{
|
||||||
|
"icon": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"SHOOTER":
|
"SHOOTER":
|
||||||
{
|
{
|
||||||
"graphics":
|
"graphics":
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
[
|
[
|
||||||
["CREATURE_DAMAGE", 2, "creatureDamageMin", 0 ], //+2 minimum damage
|
["CREATURE_DAMAGE", 2, "creatureDamageMin", 0 ], //+2 minimum damage
|
||||||
["CREATURE_DAMAGE", 4, "creatureDamageMax", 0 ], //+4 maximum damage
|
["CREATURE_DAMAGE", 4, "creatureDamageMax", 0 ], //+4 maximum damage
|
||||||
["STACK_HEALTH", 20, null, 0 ] //+5 hp
|
["STACK_HEALTH", 20, null, 0 ] //+20 hp
|
||||||
],
|
],
|
||||||
//Value of bonuses given by each skill level
|
//Value of bonuses given by each skill level
|
||||||
"skillLevels":
|
"skillLevels":
|
||||||
|
@ -411,12 +411,6 @@
|
|||||||
"type" : "LEVEL_SPELL_IMMUNITY",
|
"type" : "LEVEL_SPELL_IMMUNITY",
|
||||||
"val" : 5
|
"val" : 5
|
||||||
},
|
},
|
||||||
"hateGiants" :
|
|
||||||
{
|
|
||||||
"type" : "HATE",
|
|
||||||
"subtype" : "creature.giant",
|
|
||||||
"val" : 50
|
|
||||||
},
|
|
||||||
"hateTitans" :
|
"hateTitans" :
|
||||||
{
|
{
|
||||||
"type" : "HATE",
|
"type" : "HATE",
|
||||||
|
@ -371,6 +371,8 @@
|
|||||||
|
|
||||||
"pathfinder" :
|
"pathfinder" :
|
||||||
{
|
{
|
||||||
|
// if enabled, pathfinder will build path through locations guarded by wandering monsters
|
||||||
|
"ignoreGuards" : false,
|
||||||
// if enabled, pathfinder will take use of any available boats
|
// if enabled, pathfinder will take use of any available boats
|
||||||
"useBoat" : true,
|
"useBoat" : true,
|
||||||
// if enabled, pathfinder will take use of any bidirectional monoliths
|
// if enabled, pathfinder will take use of any bidirectional monoliths
|
||||||
|
@ -199,6 +199,7 @@
|
|||||||
},
|
},
|
||||||
"driver" : {
|
"driver" : {
|
||||||
"type" : "string",
|
"type" : "string",
|
||||||
|
"defaultWindows" : "",
|
||||||
"default" : "opengl",
|
"default" : "opengl",
|
||||||
"description" : "preferred graphics backend driver name for SDL2"
|
"description" : "preferred graphics backend driver name for SDL2"
|
||||||
},
|
},
|
||||||
@ -240,7 +241,7 @@
|
|||||||
"type" : "object",
|
"type" : "object",
|
||||||
"additionalProperties" : false,
|
"additionalProperties" : false,
|
||||||
"default" : {},
|
"default" : {},
|
||||||
"required" : [ "heroMoveTime", "enemyMoveTime", "scrollSpeedPixels", "heroReminder", "quickCombat", "objectAnimation", "terrainAnimation", "forceQuickCombat", "borderScroll", "leftButtonDrag", "smoothDragging", "backgroundDimLevel" ],
|
"required" : [ "heroMoveTime", "enemyMoveTime", "scrollSpeedPixels", "heroReminder", "quickCombat", "objectAnimation", "terrainAnimation", "forceQuickCombat", "borderScroll", "leftButtonDrag", "smoothDragging", "backgroundDimLevel", "hideBackground" ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"heroMoveTime" : {
|
"heroMoveTime" : {
|
||||||
"type" : "number",
|
"type" : "number",
|
||||||
@ -293,6 +294,10 @@
|
|||||||
"type" : "number",
|
"type" : "number",
|
||||||
"default" : 128
|
"default" : 128
|
||||||
},
|
},
|
||||||
|
"hideBackground" : {
|
||||||
|
"type" : "boolean",
|
||||||
|
"default" : false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"battle" : {
|
"battle" : {
|
||||||
|
@ -297,6 +297,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "vcmi.adventureOptions.showGrid.hover"
|
"text": "vcmi.adventureOptions.showGrid.hover"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "vcmi.adventureOptions.hideBackground.hover"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -324,6 +327,11 @@
|
|||||||
"name": "showGridCheckbox",
|
"name": "showGridCheckbox",
|
||||||
"help": "vcmi.adventureOptions.showGrid",
|
"help": "vcmi.adventureOptions.showGrid",
|
||||||
"callback": "showGridChanged"
|
"callback": "showGridChanged"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hideBackgroundCheckbox",
|
||||||
|
"help": "vcmi.adventureOptions.hideBackground",
|
||||||
|
"callback": "hideBackgroundChanged"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -317,6 +317,7 @@
|
|||||||
{
|
{
|
||||||
"name": "buttonSimturnsAI",
|
"name": "buttonSimturnsAI",
|
||||||
"position": {"x": 70, "y": 535},
|
"position": {"x": 70, "y": 535},
|
||||||
|
"help" : "vcmi.optionsTab.simturnsAI",
|
||||||
"type": "toggleButton",
|
"type": "toggleButton",
|
||||||
"image": "lobby/checkbox",
|
"image": "lobby/checkbox",
|
||||||
"callback" : "setSimturnAI"
|
"callback" : "setSimturnAI"
|
||||||
|
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,3 +1,9 @@
|
|||||||
|
vcmi (1.4.3) jammy; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Ivan Savenko <saven.ivan@gmail.com> Fri, 19 Jan 2024 12:00:00 +0200
|
||||||
|
|
||||||
vcmi (1.4.2) jammy; urgency=medium
|
vcmi (1.4.2) jammy; urgency=medium
|
||||||
|
|
||||||
* New upstream release
|
* New upstream release
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
[](https://github.com/vcmi/vcmi/releases/tag/1.4.0)
|
[](https://github.com/vcmi/vcmi/releases/tag/1.4.0)
|
||||||
[](https://github.com/vcmi/vcmi/releases/tag/1.4.1)
|
[](https://github.com/vcmi/vcmi/releases/tag/1.4.1)
|
||||||
[](https://github.com/vcmi/vcmi/releases/tag/1.4.2)
|
[](https://github.com/vcmi/vcmi/releases/tag/1.4.2)
|
||||||
|
[](https://github.com/vcmi/vcmi/releases/tag/1.4.3)
|
||||||
[](https://github.com/vcmi/vcmi/releases)
|
[](https://github.com/vcmi/vcmi/releases)
|
||||||
|
|
||||||
# VCMI Project
|
# VCMI Project
|
||||||
|
@ -244,7 +244,7 @@ Increased effect of spell affecting creature, ie. Aenain makes Disrupting Ray de
|
|||||||
"subtype" : "spell.disruptingRay",
|
"subtype" : "spell.disruptingRay",
|
||||||
"type" : "SPECIAL_ADD_VALUE_ENCHANT"
|
"type" : "SPECIAL_ADD_VALUE_ENCHANT"
|
||||||
}
|
}
|
||||||
``````
|
```
|
||||||
|
|
||||||
- subtype: affected spell identifier
|
- subtype: affected spell identifier
|
||||||
- additionalInfo: value to add
|
- additionalInfo: value to add
|
||||||
@ -587,6 +587,11 @@ Affected unit will attack units on all hexes that surround attacked hex
|
|||||||
|
|
||||||
Affected unit will retaliate before enemy attacks, if able
|
Affected unit will retaliate before enemy attacks, if able
|
||||||
|
|
||||||
|
- subtype:
|
||||||
|
- damageTypeMelee: only melee attacks affected
|
||||||
|
- damageTypeRanged: only ranged attacks affected. Note that unit also requires ability to retaliate in ranged, such as RANGED_RETALIATION bonus
|
||||||
|
- damageTypeAll: any attacks are affected
|
||||||
|
|
||||||
### SHOOTS_ALL_ADJACENT
|
### SHOOTS_ALL_ADJACENT
|
||||||
|
|
||||||
Affected unit will attack units on all hexes that surround attacked hex in ranged attacks
|
Affected unit will attack units on all hexes that surround attacked hex in ranged attacks
|
||||||
@ -608,6 +613,25 @@ Affected unit can use ranged attacks only within specified range
|
|||||||
- val: max shooting range in hexes
|
- val: max shooting range in hexes
|
||||||
- addInfo: optional, range at which ranged penalty will trigger (default is 10)
|
- addInfo: optional, range at which ranged penalty will trigger (default is 10)
|
||||||
|
|
||||||
|
### FEROCITY
|
||||||
|
|
||||||
|
Affected unit will attack additional times if killed creatures in target unit during attacking (including ADDITIONAL_ATTACK bonus attacks)
|
||||||
|
|
||||||
|
- val: amount of additional attacks (negative number will reduce number of unperformed attacks if any left)
|
||||||
|
- addInfo: optional, amount of creatures needed to kill (default is 1)
|
||||||
|
|
||||||
|
### ENEMY_ATTACK_REDUCTION
|
||||||
|
|
||||||
|
Affected unit will ignore specified percentage of attacked unit attack (Nix)
|
||||||
|
|
||||||
|
- val: amount of attack points to ignore, percentage
|
||||||
|
|
||||||
|
### REVENGE
|
||||||
|
|
||||||
|
Affected unit will deal more damage based on percentage of self health lost compared to amount on start of battle
|
||||||
|
(formula: `square_root((total_unit_count + 1) * 1_creature_max_health / (current_whole_unit_health + 1_creature_max_health) - 1)`.
|
||||||
|
Result is then multiplied separately by min and max base damage of unit and result is additive bonus to total damage at end of calculation)
|
||||||
|
|
||||||
## Special abilities
|
## Special abilities
|
||||||
|
|
||||||
### CATAPULT
|
### CATAPULT
|
||||||
@ -708,14 +732,20 @@ Affected unit will deal additional damage after attack
|
|||||||
|
|
||||||
### DEATH_STARE
|
### DEATH_STARE
|
||||||
|
|
||||||
Affected unit will kill additional units after attack
|
Affected unit will kill additional units after attack. Used for Death stare (Mighty Gorgon) ability and for Accurate Shot (Pirates, HotA)
|
||||||
|
|
||||||
- subtype:
|
- subtype:
|
||||||
- deathStareGorgon: random amount
|
- deathStareGorgon: only melee attack, random amount of killed units
|
||||||
- deathStareCommander: fixed amount
|
- deathStareNoRangePenalty: only ranged attacks without obstacle (walls) or range penalty
|
||||||
|
- deathStareRangePenalty: only ranged attacks with range penalty
|
||||||
|
- deathStareObstaclePenalty: only ranged attacks with obstacle (walls) penalty
|
||||||
|
- deathStareRangeObstaclePenalty: only ranged attacks with both range and obstacle penalty
|
||||||
|
- deathStareCommander: fixed amount, both melee and ranged attacks
|
||||||
- val:
|
- val:
|
||||||
- for deathStareGorgon: chance to kill, counted separately for each unit in attacking stack, percentage. At most (stack size \* chance) units can be killed at once. TODO: recheck formula
|
|
||||||
- for deathStareCommander: number of creatures to kill, total amount of killed creatures is (attacker level / defender level) \* val
|
- for deathStareCommander: number of creatures to kill, total amount of killed creatures is (attacker level / defender level) \* val
|
||||||
|
- for all other subtypes: chance to kill, counted separately for each unit in attacking stack, percentage. At most (stack size \* chance) units can be killed at once, rounded up
|
||||||
|
- addInfo:
|
||||||
|
- SpellID to be used as hit effect. If not set - 'deathStare' spell will be used. If set to "accurateShot" battle log messages will use alternative description
|
||||||
|
|
||||||
### SPECIAL_CRYSTAL_GENERATION
|
### SPECIAL_CRYSTAL_GENERATION
|
||||||
|
|
||||||
@ -759,17 +789,21 @@ Determines how many times per combat affected creature can cast its targeted spe
|
|||||||
|
|
||||||
- subtype - spell id, eg. spell.iceBolt
|
- subtype - spell id, eg. spell.iceBolt
|
||||||
- value - chance (percent)
|
- value - chance (percent)
|
||||||
- additional info - \[X, Y\]
|
- additional info - \[X, Y, Z\]
|
||||||
- X - spell level
|
- X - spell mastery level (1 - Basic, 3 - Expert)
|
||||||
- Y = 0 - all attacks, 1 - shot only, 2 - melee only
|
- Y = 0 - all attacks, 1 - shot only, 2 - melee only
|
||||||
|
- Z (optional) - layer for multiple SPELL_AFTER_ATTACK bonuses and multi-turn casting. Empty or value less than 0 = not participating in layering.
|
||||||
|
When enabled - spells from specific layer will not be cast until target has all spells from previous layer on him. Spell from last layer is on repeat if none of spells on lower layers expired.
|
||||||
|
|
||||||
### SPELL_BEFORE_ATTACK
|
### SPELL_BEFORE_ATTACK
|
||||||
|
|
||||||
- subtype - spell id
|
- subtype - spell id
|
||||||
- value - chance %
|
- value - chance %
|
||||||
- additional info - \[X, Y\]
|
- additional info - \[X, Y, Z\]
|
||||||
- X - spell level
|
- X - spell mastery level (1 - Basic, 3 - Expert)
|
||||||
- Y = 0 - all attacks, 1 - shot only, 2 - melee only
|
- Y = 0 - all attacks, 1 - shot only, 2 - melee only
|
||||||
|
- Z (optional) - layer for multiple SPELL_BEFORE_ATTACK bonuses and multi-turn casting. Empty or value less than 0 = not participating in layering.
|
||||||
|
When enabled - spells from specific layer will not be cast until target has all spells from previous layer on him. Spell from last layer is on repeat if none of spells on lower layers expired.
|
||||||
|
|
||||||
### SPECIFIC_SPELL_POWER
|
### SPECIFIC_SPELL_POWER
|
||||||
|
|
||||||
@ -778,7 +812,7 @@ Determines how many times per combat affected creature can cast its targeted spe
|
|||||||
|
|
||||||
### CREATURE_SPELL_POWER
|
### CREATURE_SPELL_POWER
|
||||||
|
|
||||||
- value: Spell Power of offensive spell cast unit, divided by 100. ie. Faerie Dragons have value fo 500, which gives them 5 Spell Power for each unit in the stack.
|
- value: Spell Power of offensive spell cast unit, multiplied by 100. ie. Faerie Dragons have value fo 500, which gives them 5 Spell Power for each unit in the stack.
|
||||||
|
|
||||||
### CREATURE_ENCHANT_POWER
|
### CREATURE_ENCHANT_POWER
|
||||||
|
|
||||||
|
@ -59,8 +59,8 @@ In order to make functional creature you also need:
|
|||||||
// Basic growth of this creature in town or in external dwellings
|
// Basic growth of this creature in town or in external dwellings
|
||||||
"growth" : 0,
|
"growth" : 0,
|
||||||
|
|
||||||
// Bonus growth of this creature from built horde
|
// Bonus growth of this creature from built horde, if any
|
||||||
"hordeGrowth" : 0,
|
"horde" : 0,
|
||||||
|
|
||||||
// Creature stats in battle
|
// Creature stats in battle
|
||||||
"attack" : 0,
|
"attack" : 0,
|
||||||
|
@ -61,6 +61,10 @@
|
|||||||
"positive": true,
|
"positive": true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// If true, then creature capable of casting this spell can cast this spell on itself
|
||||||
|
// If false, then creature can only cast this spell on other units
|
||||||
|
"canCastOnSelf" : false,
|
||||||
|
|
||||||
// If true, spell won't be available on a map without water
|
// If true, spell won't be available on a map without water
|
||||||
"onlyOnWaterMap" : true,
|
"onlyOnWaterMap" : true,
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ It's the new feature meant for testing game performance on various platforms.
|
|||||||
|
|
||||||
Additional color are supported for text fields (e.g. map description). Uses HTML color syntax (e.g. #abcdef) / HTML predefined colors (e.g. green).
|
Additional color are supported for text fields (e.g. map description). Uses HTML color syntax (e.g. #abcdef) / HTML predefined colors (e.g. green).
|
||||||
|
|
||||||
##### Original Heroes III Support
|
### Original Heroes III Support
|
||||||
|
|
||||||
`This is white`
|
`This is white`
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ Additional color are supported for text fields (e.g. map description). Uses HTML
|
|||||||
|
|
||||||
<span style="color:yellow;background-color:black;">This is yellow</span>
|
<span style="color:yellow;background-color:black;">This is yellow</span>
|
||||||
|
|
||||||
##### New
|
### New
|
||||||
|
|
||||||
`{#ff0000|This is red}`
|
`{#ff0000|This is red}`
|
||||||
|
|
||||||
@ -164,6 +164,41 @@ Additional color are supported for text fields (e.g. map description). Uses HTML
|
|||||||
|
|
||||||
<span style="color:green">This is green</span>
|
<span style="color:green">This is green</span>
|
||||||
|
|
||||||
|
# Multiplayer
|
||||||
|
|
||||||
|
Opening new Turn Option menu in scenario selection dialog allows detailed configuration of turn timers and simultaneous turns
|
||||||
|
|
||||||
|
## Turn Timers
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
## Simultaneous turns
|
||||||
|
|
||||||
|
Simultaneous turns allow multiple players to act at the same time, speeding up early game phase in multiplayer games. During this phase if different players (allies or not) attempt to interact with each other, such as capture objects owned by other players (mines, dwellings, towns) or attack their heroes, game will block such actions. Interaction with same map objects at the same time, such as attacking same wandering monster is also blocked.
|
||||||
|
|
||||||
|
Following options can be used to configure simultaneous turns:
|
||||||
|
- Minimal duration (at least for): this is duration during which simultaneous turns will run unconditionally. Until specified number of days have passed, simultaneous turns will never break and game will not attempt to detect contacts.
|
||||||
|
- Maximal duration (at most for): this is duration after which simultaneous turns will end unconditionally, even if players still have not contacted each other. However if contact detection discovers contact between two players, simultaneous turns between them might end before specified duration.
|
||||||
|
- Simultaneous turns for AI: If this option is on, AI can act at the same time as human players. Note that AI shares settings for simultaneous turns with human players - if no simultaneous turns have been set up this option has no effect.
|
||||||
|
|
||||||
|
### Contact detection
|
||||||
|
|
||||||
|
While simultaneous turns are active, VCMI tracks contacts for each pair of player separately.
|
||||||
|
|
||||||
|
Players are considered to be "in contact" if movement range of their heroes at the start of turn overlaps, or, in other words - if their heroes can meet on this turn if both walk towards each other. When calculating movement range, game uses rules similar to standard movement range calculation in vcmi, meaning that game will track movement through monoliths and subterranean gates, but will not account for any removable obstacles, such as pickable treasures that block path between heroes. Any existing wandering monsters that block path between heroes are ignored for range calculation. At the moment, game will not account for any ways to extend movement range - Dimension Door or Town Portal spells, visiting map objects such as Stables, releasing heroes from prisons, etc.
|
||||||
|
|
||||||
|
Once detected, contact can never be "lost". If game detected contact between two players, this contact will remain active till the end of the game, even if their heroes move far enough from each other.
|
||||||
|
|
||||||
|
Game performs contact detection once per turn, at the very start of each in-game day. Once contact detection has been performed, players that are not in contact with each other can start making turn. For example, in game with 4 players: red, blue, brown and green. If game detected contact between red and blue following will happen:
|
||||||
|
- red, brown and green will all instantly start turn
|
||||||
|
- once red ends his turn, blue will be able to start his own turn (even if brown or green are still making turn)
|
||||||
|
|
||||||
|
Once maximal duration of simultaneous turns (as specified during scenario setup) has been reached, or if all players are in contact with each other, game will return to standard turn order: red, blue, brown, green...
|
||||||
|
|
||||||
|
### Differences compared to HD Mod version
|
||||||
|
|
||||||
|
- In VCMI, players can see actions of other players immediately (provided that they have revealed fog of war) instead of waiting for next turn
|
||||||
|
- In VCMI, attempt to attack hero of another player during simultaneous turns will be blocked instead of reloading save from start of turn like in HD Mod
|
||||||
|
|
||||||
# Manuals and guides
|
# Manuals and guides
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ class DLL_LINKAGE ACreature: public AFactionMember
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool isLiving() const; //non-undead, non-non living or alive
|
bool isLiving() const; //non-undead, non-non living or alive
|
||||||
ui32 speed(int turn = 0, bool useBind = false) const; //get speed (in moving tiles) of creature with all modificators
|
ui32 getMovementRange(int turn = 0) const; //get speed (in moving tiles) of creature with all modificators
|
||||||
virtual ui32 getMaxHealth() const; //get max HP of stack with all modifiers
|
virtual ui32 getMaxHealth() const; //get max HP of stack with all modifiers
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ public:
|
|||||||
virtual bool isMagical() const = 0; //Should this spell considered as magical effect or as ability (like dendroid's bind)
|
virtual bool isMagical() const = 0; //Should this spell considered as magical effect or as ability (like dendroid's bind)
|
||||||
|
|
||||||
virtual bool hasSchool(SpellSchool school) const = 0;
|
virtual bool hasSchool(SpellSchool school) const = 0;
|
||||||
|
virtual bool canCastOnSelf() const = 0;
|
||||||
virtual void forEachSchool(const SchoolCallback & cb) const = 0;
|
virtual void forEachSchool(const SchoolCallback & cb) const = 0;
|
||||||
virtual int32_t getCost(const int32_t skillLevel) const = 0;
|
virtual int32_t getCost(const int32_t skillLevel) const = 0;
|
||||||
|
|
||||||
|
@ -59,6 +59,7 @@ set(launcher_FORMS
|
|||||||
|
|
||||||
set(launcher_TS
|
set(launcher_TS
|
||||||
translation/chinese.ts
|
translation/chinese.ts
|
||||||
|
translation/czech.ts
|
||||||
translation/english.ts
|
translation/english.ts
|
||||||
translation/french.ts
|
translation/french.ts
|
||||||
translation/german.ts
|
translation/german.ts
|
||||||
|
@ -76,6 +76,7 @@
|
|||||||
</screenshot>
|
</screenshot>
|
||||||
</screenshots>
|
</screenshots>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="1.4.3" date="2024-01-19" type="development"/>
|
||||||
<release version="1.4.2" date="2023-12-25" type="stable"/>
|
<release version="1.4.2" date="2023-12-25" type="stable"/>
|
||||||
<release version="1.4.1" date="2023-12-12" type="stable"/>
|
<release version="1.4.1" date="2023-12-12" type="stable"/>
|
||||||
<release version="1.4.0" date="2023-12-08" type="stable"/>
|
<release version="1.4.0" date="2023-12-08" type="stable"/>
|
||||||
|
@ -134,7 +134,16 @@ void FirstLaunchView::activateTabHeroesData()
|
|||||||
ui->pushButtonDataHelp->hide();
|
ui->pushButtonDataHelp->hide();
|
||||||
ui->labelDataHelp->hide();
|
ui->labelDataHelp->hide();
|
||||||
}
|
}
|
||||||
heroesDataUpdate();
|
if(heroesDataUpdate())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QString installPath = getHeroesInstallDir();
|
||||||
|
if(!installPath.isEmpty())
|
||||||
|
{
|
||||||
|
auto reply = QMessageBox::question(this, tr("Heroes III installation found!"), tr("Copy data to VCMI folder?"), QMessageBox::Yes | QMessageBox::No);
|
||||||
|
if(reply == QMessageBox::Yes)
|
||||||
|
copyHeroesData(installPath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FirstLaunchView::activateTabModPreset()
|
void FirstLaunchView::activateTabModPreset()
|
||||||
@ -164,12 +173,14 @@ void FirstLaunchView::languageSelected(const QString & selectedLanguage)
|
|||||||
mainWindow->updateTranslation();
|
mainWindow->updateTranslation();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FirstLaunchView::heroesDataUpdate()
|
bool FirstLaunchView::heroesDataUpdate()
|
||||||
{
|
{
|
||||||
if(heroesDataDetect())
|
bool detected = heroesDataDetect();
|
||||||
|
if(detected)
|
||||||
heroesDataDetected();
|
heroesDataDetected();
|
||||||
else
|
else
|
||||||
heroesDataMissing();
|
heroesDataMissing();
|
||||||
|
return detected;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FirstLaunchView::heroesDataMissing()
|
void FirstLaunchView::heroesDataMissing()
|
||||||
@ -254,9 +265,26 @@ void FirstLaunchView::forceHeroesLanguage(const QString & language)
|
|||||||
node->String() = language.toStdString();
|
node->String() = language.toStdString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FirstLaunchView::copyHeroesData()
|
QString FirstLaunchView::getHeroesInstallDir()
|
||||||
{
|
{
|
||||||
QDir sourceRoot = QFileDialog::getExistingDirectory(this, "", "", QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
#ifdef VCMI_WINDOWS
|
||||||
|
QString gogPath = QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\GOG.com\\Games\\1207658787", QSettings::NativeFormat).value("path").toString();
|
||||||
|
if(!gogPath.isEmpty())
|
||||||
|
return gogPath;
|
||||||
|
|
||||||
|
QString cdPath = QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\New World Computing\\Heroes of Might and Magic® III\\1.0", QSettings::NativeFormat).value("AppPath").toString();
|
||||||
|
if(!cdPath.isEmpty())
|
||||||
|
return cdPath;
|
||||||
|
#endif
|
||||||
|
return QString{};
|
||||||
|
}
|
||||||
|
|
||||||
|
void FirstLaunchView::copyHeroesData(const QString & path)
|
||||||
|
{
|
||||||
|
QDir sourceRoot = QDir(path);
|
||||||
|
|
||||||
|
if(path.isEmpty())
|
||||||
|
sourceRoot.setPath(QFileDialog::getExistingDirectory(this, {}, {}, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks));
|
||||||
|
|
||||||
if(!sourceRoot.exists())
|
if(!sourceRoot.exists())
|
||||||
return;
|
return;
|
||||||
|
@ -42,7 +42,7 @@ class FirstLaunchView : public QWidget
|
|||||||
void languageSelected(const QString & languageCode);
|
void languageSelected(const QString & languageCode);
|
||||||
|
|
||||||
// Tab Heroes III Data
|
// Tab Heroes III Data
|
||||||
void heroesDataUpdate();
|
bool heroesDataUpdate();
|
||||||
bool heroesDataDetect();
|
bool heroesDataDetect();
|
||||||
|
|
||||||
void heroesDataMissing();
|
void heroesDataMissing();
|
||||||
@ -51,7 +51,8 @@ class FirstLaunchView : public QWidget
|
|||||||
void heroesLanguageUpdate();
|
void heroesLanguageUpdate();
|
||||||
void forceHeroesLanguage(const QString & language);
|
void forceHeroesLanguage(const QString & language);
|
||||||
|
|
||||||
void copyHeroesData();
|
QString getHeroesInstallDir();
|
||||||
|
void copyHeroesData(const QString & path = {});
|
||||||
|
|
||||||
// Tab Mod Preset
|
// Tab Mod Preset
|
||||||
void modPresetUpdate();
|
void modPresetUpdate();
|
||||||
|
@ -86,7 +86,7 @@ QString Languages::generateLanguageName(const Languages::Options & language)
|
|||||||
|
|
||||||
void Languages::fillLanguages(QComboBox * widget, bool includeAll)
|
void Languages::fillLanguages(QComboBox * widget, bool includeAll)
|
||||||
{
|
{
|
||||||
widget->blockSignals(true); // we do not want calls caused by initialization
|
QSignalBlocker guard(widget); // we do not want calls caused by initialization
|
||||||
widget->clear();
|
widget->clear();
|
||||||
|
|
||||||
std::string activeLanguage = includeAll ?
|
std::string activeLanguage = includeAll ?
|
||||||
@ -115,13 +115,11 @@ void Languages::fillLanguages(QComboBox * widget, bool includeAll)
|
|||||||
if(activeLanguage == language.identifier)
|
if(activeLanguage == language.identifier)
|
||||||
widget->setCurrentIndex(widget->count() - 1);
|
widget->setCurrentIndex(widget->count() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
widget->blockSignals(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Languages::fillLanguages(QListWidget * widget, bool includeAll)
|
void Languages::fillLanguages(QListWidget * widget, bool includeAll)
|
||||||
{
|
{
|
||||||
widget->blockSignals(true); // we do not want calls caused by initialization
|
QSignalBlocker guard(widget); // we do not want calls caused by initialization
|
||||||
widget->clear();
|
widget->clear();
|
||||||
|
|
||||||
std::string activeLanguage = includeAll ?
|
std::string activeLanguage = includeAll ?
|
||||||
@ -154,5 +152,4 @@ void Languages::fillLanguages(QListWidget * widget, bool includeAll)
|
|||||||
if(activeLanguage == language.identifier)
|
if(activeLanguage == language.identifier)
|
||||||
widget->setCurrentRow(widget->count() - 1);
|
widget->setCurrentRow(widget->count() - 1);
|
||||||
}
|
}
|
||||||
widget->blockSignals(false);
|
|
||||||
}
|
}
|
||||||
|
@ -34,3 +34,8 @@ QString CLauncherDirs::modsPath()
|
|||||||
{
|
{
|
||||||
return pathToQString(VCMIDirs::get().userDataPath() / "Mods");
|
return pathToQString(VCMIDirs::get().userDataPath() / "Mods");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString CLauncherDirs::mapsPath()
|
||||||
|
{
|
||||||
|
return pathToQString(VCMIDirs::get().userDataPath() / "Maps");
|
||||||
|
}
|
||||||
|
@ -19,4 +19,5 @@ public:
|
|||||||
|
|
||||||
QString downloadsPath();
|
QString downloadsPath();
|
||||||
QString modsPath();
|
QString modsPath();
|
||||||
|
QString mapsPath();
|
||||||
};
|
};
|
||||||
|
@ -48,6 +48,43 @@ void CModListView::changeEvent(QEvent *event)
|
|||||||
QWidget::changeEvent(event);
|
QWidget::changeEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CModListView::dragEnterEvent(QDragEnterEvent* event)
|
||||||
|
{
|
||||||
|
if(event->mimeData()->hasUrls())
|
||||||
|
for(const auto & url : event->mimeData()->urls())
|
||||||
|
for(const auto & ending : QStringList({".zip", ".h3m", ".h3c", ".vmap", ".vcmp"}))
|
||||||
|
if(url.fileName().endsWith(ending, Qt::CaseInsensitive))
|
||||||
|
{
|
||||||
|
event->acceptProposedAction();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CModListView::dropEvent(QDropEvent* event)
|
||||||
|
{
|
||||||
|
const QMimeData* mimeData = event->mimeData();
|
||||||
|
|
||||||
|
if(mimeData->hasUrls())
|
||||||
|
{
|
||||||
|
const QList<QUrl> urlList = mimeData->urls();
|
||||||
|
|
||||||
|
for (const auto & url : urlList)
|
||||||
|
{
|
||||||
|
QString urlStr = url.toString();
|
||||||
|
QString fileName = url.fileName();
|
||||||
|
if(urlStr.endsWith(".zip", Qt::CaseInsensitive))
|
||||||
|
downloadFile(fileName.toLower()
|
||||||
|
// mod name currently comes from zip file -> remove suffixes from github zip download
|
||||||
|
.replace(QRegularExpression("-[0-9a-f]{40}"), "")
|
||||||
|
.replace(QRegularExpression("-vcmi-.+\\.zip"), ".zip")
|
||||||
|
.replace("-main.zip", ".zip")
|
||||||
|
, urlStr, "mods", 0);
|
||||||
|
else
|
||||||
|
downloadFile(fileName, urlStr, "mods", 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CModListView::setupFilterModel()
|
void CModListView::setupFilterModel()
|
||||||
{
|
{
|
||||||
filterModel = new CModFilterModel(modModel, this);
|
filterModel = new CModFilterModel(modModel, this);
|
||||||
@ -100,6 +137,8 @@ CModListView::CModListView(QWidget * parent)
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
setAcceptDrops(true);
|
||||||
|
|
||||||
setupModModel();
|
setupModModel();
|
||||||
setupFilterModel();
|
setupFilterModel();
|
||||||
setupModsView();
|
setupModsView();
|
||||||
@ -677,15 +716,18 @@ void CModListView::hideProgressBar()
|
|||||||
void CModListView::installFiles(QStringList files)
|
void CModListView::installFiles(QStringList files)
|
||||||
{
|
{
|
||||||
QStringList mods;
|
QStringList mods;
|
||||||
|
QStringList maps;
|
||||||
QStringList images;
|
QStringList images;
|
||||||
QVector<QVariantMap> repositories;
|
QVector<QVariantMap> repositories;
|
||||||
|
|
||||||
// TODO: some better way to separate zip's with mods and downloaded repository files
|
// TODO: some better way to separate zip's with mods and downloaded repository files
|
||||||
for(QString filename : files)
|
for(QString filename : files)
|
||||||
{
|
{
|
||||||
if(filename.endsWith(".zip"))
|
if(filename.endsWith(".zip", Qt::CaseInsensitive))
|
||||||
mods.push_back(filename);
|
mods.push_back(filename);
|
||||||
if(filename.endsWith(".json"))
|
else if(filename.endsWith(".h3m", Qt::CaseInsensitive) || filename.endsWith(".h3c", Qt::CaseInsensitive) || filename.endsWith(".vmap", Qt::CaseInsensitive) || filename.endsWith(".vcmp", Qt::CaseInsensitive))
|
||||||
|
maps.push_back(filename);
|
||||||
|
else if(filename.endsWith(".json", Qt::CaseInsensitive))
|
||||||
{
|
{
|
||||||
//download and merge additional files
|
//download and merge additional files
|
||||||
auto repoData = JsonUtils::JsonFromFile(filename).toMap();
|
auto repoData = JsonUtils::JsonFromFile(filename).toMap();
|
||||||
@ -709,7 +751,7 @@ void CModListView::installFiles(QStringList files)
|
|||||||
}
|
}
|
||||||
repositories.push_back(repoData);
|
repositories.push_back(repoData);
|
||||||
}
|
}
|
||||||
if(filename.endsWith(".png"))
|
else if(filename.endsWith(".png", Qt::CaseInsensitive))
|
||||||
images.push_back(filename);
|
images.push_back(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -718,6 +760,9 @@ void CModListView::installFiles(QStringList files)
|
|||||||
if(!mods.empty())
|
if(!mods.empty())
|
||||||
installMods(mods);
|
installMods(mods);
|
||||||
|
|
||||||
|
if(!maps.empty())
|
||||||
|
installMaps(maps);
|
||||||
|
|
||||||
if(!images.empty())
|
if(!images.empty())
|
||||||
loadScreenshots();
|
loadScreenshots();
|
||||||
}
|
}
|
||||||
@ -794,6 +839,16 @@ void CModListView::installMods(QStringList archives)
|
|||||||
QFile::remove(archive);
|
QFile::remove(archive);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CModListView::installMaps(QStringList maps)
|
||||||
|
{
|
||||||
|
QString destDir = CLauncherDirs::get().mapsPath() + "/";
|
||||||
|
|
||||||
|
for(QString map : maps)
|
||||||
|
{
|
||||||
|
QFile(map).rename(destDir + map.section('/', -1, -1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CModListView::on_refreshButton_clicked()
|
void CModListView::on_refreshButton_clicked()
|
||||||
{
|
{
|
||||||
loadRepositories();
|
loadRepositories();
|
||||||
@ -963,4 +1018,3 @@ void CModListView::on_allModsView_doubleClicked(const QModelIndex &index)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,12 +54,15 @@ class CModListView : public QWidget
|
|||||||
void downloadFile(QString file, QString url, QString description, qint64 size = 0);
|
void downloadFile(QString file, QString url, QString description, qint64 size = 0);
|
||||||
|
|
||||||
void installMods(QStringList archives);
|
void installMods(QStringList archives);
|
||||||
|
void installMaps(QStringList maps);
|
||||||
void installFiles(QStringList mods);
|
void installFiles(QStringList mods);
|
||||||
|
|
||||||
QString genChangelogText(CModEntry & mod);
|
QString genChangelogText(CModEntry & mod);
|
||||||
QString genModInfoText(CModEntry & mod);
|
QString genModInfoText(CModEntry & mod);
|
||||||
|
|
||||||
void changeEvent(QEvent *event) override;
|
void changeEvent(QEvent *event) override;
|
||||||
|
void dragEnterEvent(QDragEnterEvent* event) override;
|
||||||
|
void dropEvent(QDropEvent *event) override;
|
||||||
signals:
|
signals:
|
||||||
void modsChanged();
|
void modsChanged();
|
||||||
|
|
||||||
|
@ -161,9 +161,6 @@ bool CModManager::canInstallMod(QString modname)
|
|||||||
|
|
||||||
if(mod.isInstalled())
|
if(mod.isInstalled())
|
||||||
return addError(modname, "Mod is already installed");
|
return addError(modname, "Mod is already installed");
|
||||||
|
|
||||||
if(!mod.isAvailable())
|
|
||||||
return addError(modname, "Mod is not available");
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,6 +117,7 @@ void CSettingsView::loadSettings()
|
|||||||
ui->lineEditAutoSavePrefix->setEnabled(settings["general"]["useSavePrefix"].Bool());
|
ui->lineEditAutoSavePrefix->setEnabled(settings["general"]["useSavePrefix"].Bool());
|
||||||
|
|
||||||
Languages::fillLanguages(ui->comboBoxLanguage, false);
|
Languages::fillLanguages(ui->comboBoxLanguage, false);
|
||||||
|
fillValidRenderers();
|
||||||
|
|
||||||
std::string cursorType = settings["video"]["cursor"].String();
|
std::string cursorType = settings["video"]["cursor"].String();
|
||||||
size_t cursorTypeIndex = boost::range::find(cursorTypesList, cursorType) - cursorTypesList;
|
size_t cursorTypeIndex = boost::range::find(cursorTypesList, cursorType) - cursorTypesList;
|
||||||
@ -163,6 +164,26 @@ void CSettingsView::fillValidScalingRange()
|
|||||||
|
|
||||||
#ifndef VCMI_MOBILE
|
#ifndef VCMI_MOBILE
|
||||||
|
|
||||||
|
static QStringList getAvailableRenderingDrivers()
|
||||||
|
{
|
||||||
|
SDL_Init(SDL_INIT_VIDEO);
|
||||||
|
QStringList result;
|
||||||
|
|
||||||
|
result += QString(); // empty value for autoselection
|
||||||
|
|
||||||
|
int driversCount = SDL_GetNumRenderDrivers();
|
||||||
|
|
||||||
|
for(int it = 0; it < driversCount; it++)
|
||||||
|
{
|
||||||
|
SDL_RendererInfo info;
|
||||||
|
if (SDL_GetRenderDriverInfo(it, &info) == 0)
|
||||||
|
result += QString::fromLatin1(info.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_Quit();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
static QVector<QSize> findAvailableResolutions(int displayIndex)
|
static QVector<QSize> findAvailableResolutions(int displayIndex)
|
||||||
{
|
{
|
||||||
// Ugly workaround since we don't actually need SDL in Launcher
|
// Ugly workaround since we don't actually need SDL in Launcher
|
||||||
@ -197,13 +218,13 @@ static QVector<QSize> findAvailableResolutions(int displayIndex)
|
|||||||
|
|
||||||
void CSettingsView::fillValidResolutionsForScreen(int screenIndex)
|
void CSettingsView::fillValidResolutionsForScreen(int screenIndex)
|
||||||
{
|
{
|
||||||
ui->comboBoxResolution->blockSignals(true); // avoid saving wrong resolution after adding first item from the list
|
QSignalBlocker guard(ui->comboBoxResolution); // avoid saving wrong resolution after adding first item from the list
|
||||||
|
|
||||||
ui->comboBoxResolution->clear();
|
ui->comboBoxResolution->clear();
|
||||||
|
|
||||||
bool fullscreen = settings["video"]["fullscreen"].Bool();
|
bool fullscreen = settings["video"]["fullscreen"].Bool();
|
||||||
bool realFullscreen = settings["video"]["realFullscreen"].Bool();
|
bool realFullscreen = settings["video"]["realFullscreen"].Bool();
|
||||||
|
|
||||||
|
|
||||||
if (!fullscreen || realFullscreen)
|
if (!fullscreen || realFullscreen)
|
||||||
{
|
{
|
||||||
QVector<QSize> resolutions = findAvailableResolutions(screenIndex);
|
QVector<QSize> resolutions = findAvailableResolutions(screenIndex);
|
||||||
@ -225,8 +246,21 @@ void CSettingsView::fillValidResolutionsForScreen(int screenIndex)
|
|||||||
// if selected resolution no longer exists, force update value to the largest (last) resolution
|
// if selected resolution no longer exists, force update value to the largest (last) resolution
|
||||||
if(resIndex == -1)
|
if(resIndex == -1)
|
||||||
ui->comboBoxResolution->setCurrentIndex(ui->comboBoxResolution->count() - 1);
|
ui->comboBoxResolution->setCurrentIndex(ui->comboBoxResolution->count() - 1);
|
||||||
|
}
|
||||||
|
|
||||||
ui->comboBoxResolution->blockSignals(false);
|
void CSettingsView::fillValidRenderers()
|
||||||
|
{
|
||||||
|
QSignalBlocker guard(ui->comboBoxRendererType); // avoid saving wrong renderer after adding first item from the list
|
||||||
|
|
||||||
|
ui->comboBoxRendererType->clear();
|
||||||
|
|
||||||
|
auto driversList = getAvailableRenderingDrivers();
|
||||||
|
ui->comboBoxRendererType->addItems(driversList);
|
||||||
|
|
||||||
|
std::string rendererName = settings["video"]["driver"].String();
|
||||||
|
|
||||||
|
int index = ui->comboBoxRendererType->findText(QString::fromStdString(rendererName));
|
||||||
|
ui->comboBoxRendererType->setCurrentIndex(index);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
void CSettingsView::fillValidResolutionsForScreen(int screenIndex)
|
void CSettingsView::fillValidResolutionsForScreen(int screenIndex)
|
||||||
@ -235,6 +269,13 @@ void CSettingsView::fillValidResolutionsForScreen(int screenIndex)
|
|||||||
ui->comboBoxResolution->hide();
|
ui->comboBoxResolution->hide();
|
||||||
ui->labelResolution->hide();
|
ui->labelResolution->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSettingsView::fillValidRenderers()
|
||||||
|
{
|
||||||
|
// untested on mobile platforms
|
||||||
|
ui->comboBoxRendererType->hide();
|
||||||
|
ui->labelRendererType->hide();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CSettingsView::CSettingsView(QWidget * parent)
|
CSettingsView::CSettingsView(QWidget * parent)
|
||||||
@ -542,3 +583,10 @@ void CSettingsView::on_spinBoxReservedArea_valueChanged(int arg1)
|
|||||||
node->Float() = float(arg1) / 100; // percentage -> ratio
|
node->Float() = float(arg1) / 100; // percentage -> ratio
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSettingsView::on_comboBoxRendererType_currentTextChanged(const QString &arg1)
|
||||||
|
{
|
||||||
|
Settings node = settings.write["video"]["driver"];
|
||||||
|
node->String() = arg1.toStdString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -76,9 +76,12 @@ private slots:
|
|||||||
|
|
||||||
void on_spinBoxReservedArea_valueChanged(int arg1);
|
void on_spinBoxReservedArea_valueChanged(int arg1);
|
||||||
|
|
||||||
|
void on_comboBoxRendererType_currentTextChanged(const QString &arg1);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::CSettingsView * ui;
|
Ui::CSettingsView * ui;
|
||||||
|
|
||||||
|
void fillValidRenderers();
|
||||||
void fillValidResolutionsForScreen(int screenIndex);
|
void fillValidResolutionsForScreen(int screenIndex);
|
||||||
void fillValidScalingRange();
|
void fillValidScalingRange();
|
||||||
QSize getPreferredRenderingResolution();
|
QSize getPreferredRenderingResolution();
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>832</width>
|
<width>985</width>
|
||||||
<height>350</height>
|
<height>683</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -26,65 +26,6 @@
|
|||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
|
||||||
<widget class="QListWidget" name="listWidgetSettings">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
|
||||||
<horstretch>1</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>200</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="verticalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<property name="horizontalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<property name="autoScroll">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="editTriggers">
|
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
|
||||||
</property>
|
|
||||||
<property name="selectionBehavior">
|
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
|
||||||
</property>
|
|
||||||
<property name="spacing">
|
|
||||||
<number>4</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>General</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Video</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Artificial Intelligence</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Mod Repositories</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QScrollArea" name="settingsScrollArea">
|
<widget class="QScrollArea" name="settingsScrollArea">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -106,28 +47,105 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>-356</y>
|
<y>0</y>
|
||||||
<width>610</width>
|
<width>969</width>
|
||||||
<height>873</height>
|
<height>818</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="5" column="0">
|
<item row="20" column="1" colspan="4">
|
||||||
<widget class="QLabel" name="labelTranslation">
|
<widget class="QComboBox" name="comboBoxDisplayIndex"/>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1" colspan="3">
|
||||||
|
<widget class="QLabel" name="labelTranslationStatus">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Heroes III Translation</string>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="27" column="1" colspan="4">
|
||||||
<widget class="QLabel" name="labelGeneral">
|
<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="10" column="0">
|
||||||
|
<widget class="QLabel" name="labelVideo">
|
||||||
<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>General</string>
|
<string>Video</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="23" 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="22" column="0">
|
||||||
|
<widget class="QLabel" name="labelCursorType">
|
||||||
|
<property name="text">
|
||||||
|
<string>Cursor</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxLanguageBase"/>
|
||||||
|
</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="20" column="0">
|
||||||
|
<widget class="QLabel" name="labelDisplayIndex">
|
||||||
|
<property name="text">
|
||||||
|
<string>Display index</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxLanguage"/>
|
||||||
|
</item>
|
||||||
|
<item row="31" column="2" colspan="3">
|
||||||
|
<widget class="QLineEdit" name="lineEditRepositoryDefault">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -138,72 +156,62 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="14" column="0">
|
<item row="5" column="0">
|
||||||
<widget class="QLabel" name="labelInterfaceScaling">
|
<widget class="QLabel" name="labelTranslation">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Interface Scaling</string>
|
<string>Heroes III Translation</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="0">
|
<item row="28" column="0">
|
||||||
<widget class="QLabel" name="labelAutoSavePrefix">
|
<widget class="QLabel" name="labelEnemyAI">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Autosave prefix</string>
|
<string>Enemy AI in battles</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="23" column="0">
|
<item row="32" column="0">
|
||||||
|
<widget class="QLabel" name="labelRepositoryExtra">
|
||||||
|
<property name="text">
|
||||||
|
<string>Additional repository</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="32" column="2" colspan="3">
|
||||||
|
<widget class="QLineEdit" name="lineEditRepositoryExtra">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="19" column="0">
|
||||||
|
<widget class="QLabel" name="labelShowIntro">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show intro</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="29" 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="25" column="0">
|
||||||
<widget class="QLabel" name="labelAlliedPlayerAI">
|
<widget class="QLabel" name="labelAlliedPlayerAI">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Adventure Map Allies</string>
|
<string>Adventure Map Allies</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="0">
|
<item row="31" column="1">
|
||||||
<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="16" 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="21" column="0">
|
|
||||||
<widget class="QLabel" name="labelArtificialIntelligence">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Artificial Intelligence</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="2" colspan="3">
|
|
||||||
<widget class="QLineEdit" name="lineEditAutoSavePrefix">
|
|
||||||
<property name="placeholderText">
|
|
||||||
<string>empty = map name prefix</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="29" column="1">
|
|
||||||
<widget class="QCheckBox" name="checkBoxRepositoryDefault">
|
<widget class="QCheckBox" name="checkBoxRepositoryDefault">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -216,27 +224,40 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="1">
|
<item row="14" column="0">
|
||||||
<widget class="QCheckBox" name="checkBoxAutoSavePrefix">
|
<widget class="QLabel" name="labelInterfaceScaling">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string>Interface Scaling</string>
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="8" column="0">
|
|
||||||
<widget class="QLabel" name="labelAutoSaveLimit">
|
|
||||||
<property name="text">
|
|
||||||
<string>Autosave limit (0 = off)</string>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="19" column="1" colspan="4">
|
<item row="19" column="1" colspan="4">
|
||||||
<widget class="QComboBox" name="comboBoxDisplayIndex"/>
|
<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>
|
||||||
<item row="30" column="0">
|
<item row="14" column="1" colspan="4">
|
||||||
<widget class="QLabel" name="labelRepositoryExtra">
|
<widget class="QSpinBox" name="spinBoxInterfaceScaling">
|
||||||
<property name="text">
|
<property name="minimum">
|
||||||
<string>Additional repository</string>
|
<number>50</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>400</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>10</number>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -259,56 +280,21 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="18" column="0">
|
<item row="6" column="1" colspan="4">
|
||||||
<widget class="QLabel" name="labelShowIntro">
|
<widget class="QSpinBox" name="spinBoxNetworkPort">
|
||||||
<property name="text">
|
<property name="minimum">
|
||||||
<string>Show intro</string>
|
<number>1024</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>65535</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>3030</number>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="18" column="1" colspan="4">
|
<item row="28" column="1" colspan="4">
|
||||||
<widget class="QComboBox" name="comboBoxShowIntro">
|
<widget class="QComboBox" name="comboBoxEnemyAI">
|
||||||
<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="0">
|
|
||||||
<widget class="QLabel" name="labelEnemyAI">
|
|
||||||
<property name="text">
|
|
||||||
<string>Enemy AI in battles</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="23" 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="25" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxFriendlyAI">
|
|
||||||
<property name="editable">
|
<property name="editable">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
@ -327,10 +313,99 @@
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="30" column="2" colspan="3">
|
<item row="9" column="1">
|
||||||
<widget class="QLineEdit" name="lineEditRepositoryExtra">
|
<widget class="QCheckBox" name="checkBoxAutoSavePrefix">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true"/>
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" 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="32" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBoxRepositoryExtra">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="13" column="0">
|
||||||
|
<widget class="QLabel" name="labelReservedArea">
|
||||||
|
<property name="text">
|
||||||
|
<string>Reserved screen area</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="1" column="0">
|
||||||
|
<widget class="QLabel" name="labelLanguage">
|
||||||
|
<property name="text">
|
||||||
|
<string>VCMI Language</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="0">
|
||||||
|
<widget class="QLabel" name="labelFramerateLimit">
|
||||||
|
<property name="text">
|
||||||
|
<string>Framerate Limit</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="25" 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="26" column="0">
|
||||||
|
<widget class="QLabel" name="labelNeutralAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Neutral AI in battles</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="27" column="0">
|
||||||
|
<widget class="QLabel" name="labelFriendlyAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Friendly AI in battles</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="17" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkBoxVSync">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -365,123 +440,10 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="11" column="1" colspan="4">
|
<item row="7" column="0">
|
||||||
<widget class="QComboBox" name="comboBoxResolution"/>
|
<widget class="QLabel" name="labelAutoSave">
|
||||||
</item>
|
|
||||||
<item row="19" column="0">
|
|
||||||
<widget class="QLabel" name="labelDisplayIndex">
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Display index</string>
|
<string>Autosave</string>
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="22" 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="5" column="1" colspan="3">
|
|
||||||
<widget class="QLabel" name="labelTranslationStatus">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="29" column="0">
|
|
||||||
<widget class="QLabel" name="labelRepositoryDefault">
|
|
||||||
<property name="text">
|
|
||||||
<string>Default repository</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="30" column="1">
|
|
||||||
<widget class="QCheckBox" name="checkBoxRepositoryExtra">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="16" column="0">
|
|
||||||
<widget class="QLabel" name="labelFramerateLimit">
|
|
||||||
<property name="text">
|
|
||||||
<string>Framerate Limit</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="25" 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="29" 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="4" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxLanguageBase"/>
|
|
||||||
</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="8" column="1" colspan="4">
|
|
||||||
<widget class="QSpinBox" name="spinBoxAutoSaveLimit"/>
|
|
||||||
</item>
|
|
||||||
<item row="27" column="0">
|
|
||||||
<widget class="QLabel" name="labelRepositories">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Mod Repositories</string>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -492,84 +454,13 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="11" column="0">
|
<item row="9" column="0">
|
||||||
<widget class="QLabel" name="labelResolution">
|
<widget class="QLabel" name="labelAutoSavePrefix">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Resolution</string>
|
<string>Autosave prefix</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</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="7" column="0">
|
|
||||||
<widget class="QLabel" name="labelAutoSave">
|
|
||||||
<property name="text">
|
|
||||||
<string>Autosave</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="20" column="0">
|
|
||||||
<widget class="QLabel" name="labelCursorType">
|
|
||||||
<property name="text">
|
|
||||||
<string>Cursor</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="20" 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="1" column="1" colspan="4">
|
|
||||||
<widget class="QComboBox" name="comboBoxLanguage"/>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0">
|
|
||||||
<widget class="QLabel" name="labelNetworkPort">
|
|
||||||
<property name="text">
|
|
||||||
<string>Network port</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="26" 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="7" column="1" colspan="4">
|
<item row="7" column="1" colspan="4">
|
||||||
<widget class="QComboBox" name="comboBoxAutoSave">
|
<widget class="QComboBox" name="comboBoxAutoSave">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
@ -587,59 +478,58 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="28" column="3" colspan="2">
|
<item row="9" column="2" colspan="3">
|
||||||
<widget class="QPushButton" name="refreshRepositoriesButton">
|
<widget class="QLineEdit" name="lineEditAutoSavePrefix">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>empty = map name prefix</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="labelGeneral">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Refresh now</string>
|
<string>General</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="24" column="1" colspan="4">
|
<item row="24" column="1" colspan="4">
|
||||||
<widget class="QComboBox" name="comboBoxNeutralAI">
|
<widget class="QComboBox" name="comboBoxEnemyPlayerAI">
|
||||||
<property name="currentText">
|
<property name="currentText">
|
||||||
<string notr="true">BattleAI</string>
|
<string notr="true">VCAI</string>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">BattleAI</string>
|
<string notr="true">VCAI</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">StupidAI</string>
|
<string notr="true">Nullkiller</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="28" column="0">
|
<item row="22" column="1" colspan="4">
|
||||||
<widget class="QLabel" name="labelAutoCheck">
|
<widget class="QComboBox" name="comboBoxCursorType">
|
||||||
<property name="text">
|
<item>
|
||||||
<string>Check on startup</string>
|
<property name="text">
|
||||||
</property>
|
<string>Hardware</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Software</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="24" column="0">
|
<item row="30" column="1" colspan="2">
|
||||||
<widget class="QLabel" name="labelNeutralAI">
|
|
||||||
<property name="text">
|
|
||||||
<string>Neutral AI in battles</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="13" column="0">
|
|
||||||
<widget class="QLabel" name="labelReservedArea">
|
|
||||||
<property name="text">
|
|
||||||
<string>Reserved screen area</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="22" column="0">
|
|
||||||
<widget class="QLabel" name="labelEnemyPlayerAI">
|
|
||||||
<property name="text">
|
|
||||||
<string>Adventure Map Enemies</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="28" column="1" colspan="2">
|
|
||||||
<widget class="QComboBox" name="comboBoxAutoCheck">
|
<widget class="QComboBox" name="comboBoxAutoCheck">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
@ -656,6 +546,16 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="24" column="0">
|
||||||
|
<widget class="QLabel" name="labelEnemyPlayerAI">
|
||||||
|
<property name="text">
|
||||||
|
<string>Adventure Map Enemies</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxResolution"/>
|
||||||
|
</item>
|
||||||
<item row="17" column="0">
|
<item row="17" column="0">
|
||||||
<widget class="QLabel" name="labelVSync">
|
<widget class="QLabel" name="labelVSync">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -663,10 +563,65 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="17" column="1">
|
<item row="26" column="1" colspan="4">
|
||||||
<widget class="QCheckBox" name="checkBoxVSync">
|
<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="30" column="0">
|
||||||
|
<widget class="QLabel" name="labelAutoCheck">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string>Check on startup</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="6" column="0">
|
||||||
|
<widget class="QLabel" name="labelNetworkPort">
|
||||||
|
<property name="text">
|
||||||
|
<string>Network port</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="30" column="3" colspan="2">
|
||||||
|
<widget class="QPushButton" name="refreshRepositoriesButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Refresh now</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="31" column="0">
|
||||||
|
<widget class="QLabel" name="labelRepositoryDefault">
|
||||||
|
<property name="text">
|
||||||
|
<string>Default repository</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="21" column="1" colspan="4">
|
||||||
|
<widget class="QComboBox" name="comboBoxRendererType"/>
|
||||||
|
</item>
|
||||||
|
<item row="21" column="0">
|
||||||
|
<widget class="QLabel" name="labelRendererType">
|
||||||
|
<property name="text">
|
||||||
|
<string>Renderer</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -253,7 +253,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>详细介绍</translation>
|
<translation>详细介绍</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -303,123 +303,123 @@
|
|||||||
<translation>终止</translation>
|
<translation>终止</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>MOD名称</translation>
|
<translation>MOD名称</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>已安装的版本</translation>
|
<translation>已安装的版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>最新版本</translation>
|
<translation>最新版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>下载大小</translation>
|
<translation>下载大小</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>作者</translation>
|
<translation>作者</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>授权许可</translation>
|
<translation>授权许可</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>联系方式</translation>
|
<translation>联系方式</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>兼容性</translation>
|
<translation>兼容性</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>需要VCMI版本</translation>
|
<translation>需要VCMI版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>支持的VCMI版本</translation>
|
<translation>支持的VCMI版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>支持的VCMI版本</translation>
|
<translation>支持的VCMI版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>语言</translation>
|
<translation>语言</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>前置MODs</translation>
|
<translation>前置MODs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>冲突的MODs</translation>
|
<translation>冲突的MODs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>这个模组无法被安装或者激活,因为下列依赖项未满足</translation>
|
<translation>这个模组无法被安装或者激活,因为下列依赖项未满足</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>这个模组无法被激活,因为下列模组与其不兼容</translation>
|
<translation>这个模组无法被激活,因为下列模组与其不兼容</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>这个模组无法被禁用,因为它被下列模组所依赖</translation>
|
<translation>这个模组无法被禁用,因为它被下列模组所依赖</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>这个模组无法被卸载或者更新,因为它被下列模组所依赖</translation>
|
<translation>这个模组无法被卸载或者更新,因为它被下列模组所依赖</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>这是一个附属模组它无法在所属模组外被直接被安装或者卸载</translation>
|
<translation>这是一个附属模组它无法在所属模组外被直接被安装或者卸载</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>笔记注释</translation>
|
<translation>笔记注释</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -428,35 +428,35 @@ Encountered errors:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>截图 %1</translation>
|
<translation>截图 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>MOD不兼容</translation>
|
<translation>MOD不兼容</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -464,123 +464,126 @@ Install successfully downloaded?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<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="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<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="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>模组仓库</translation>
|
<translation>模组仓库</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<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="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<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="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<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="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<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="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<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="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<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="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<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="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<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="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<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="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<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="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<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="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<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="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<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="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<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="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<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="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<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="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<source>Renderer</source>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>开启</translation>
|
<translation>开启</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>鼠标指针</translation>
|
<translation>鼠标指针</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<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="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -591,105 +594,103 @@ 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="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>硬件</translation>
|
<translation>硬件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>软件</translation>
|
<translation>软件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<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="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<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="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<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="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>通用设置</translation>
|
<translation>通用设置</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<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="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>分辨率</translation>
|
<translation>分辨率</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>自动存档</translation>
|
<translation>自动存档</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>显示器序号</translation>
|
<translation>显示器序号</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<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="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>视频设置</translation>
|
<translation>视频设置</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>显示开场动画</translation>
|
<translation>显示开场动画</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>激活</translation>
|
<translation>激活</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>禁用</translation>
|
<translation>禁用</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>启用</translation>
|
<translation>启用</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>未安装</translation>
|
<translation>未安装</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>安装</translation>
|
<translation>安装</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>Popis</translation>
|
<translation>Popis</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,123 +302,123 @@
|
|||||||
<translation>Zrušit</translation>
|
<translation>Zrušit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>Název modifikace</translation>
|
<translation>Název modifikace</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>Nainstalovaná verze</translation>
|
<translation>Nainstalovaná verze</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>Nejnovější verze</translation>
|
<translation>Nejnovější verze</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Velikost</translation>
|
<translation>Velikost</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>Velikost ke stažení</translation>
|
<translation>Velikost ke stažení</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Autoři</translation>
|
<translation>Autoři</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>Licence</translation>
|
<translation>Licence</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>Kontakt</translation>
|
<translation>Kontakt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>Kompabilita</translation>
|
<translation>Kompabilita</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>Vyžadovaná verze VCMI</translation>
|
<translation>Vyžadovaná verze VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>Podporovaná verze VCMI</translation>
|
<translation>Podporovaná verze VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>Podporované verze VCMI</translation>
|
<translation>Podporované verze VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>Jazyky</translation>
|
<translation>Jazyky</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>Vyžadované modifikace VCMI</translation>
|
<translation>Vyžadované modifikace VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>Modifikace v kolizi</translation>
|
<translation>Modifikace v kolizi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>Tato modifikace nemůže být nainstalována nebo povolena, protože následující závislosti nejsou přítomny</translation>
|
<translation>Tato modifikace nemůže být nainstalována nebo povolena, protože následující závislosti nejsou přítomny</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>Tato modifikace nemůže být povolena, protože následující modifikace s ní nejsou kompatibilní</translation>
|
<translation>Tato modifikace nemůže být povolena, protože následující modifikace s ní nejsou kompatibilní</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>Tato modifikace nemůže být zakázána, protože je vyžadována následujícími modifikacemi</translation>
|
<translation>Tato modifikace nemůže být zakázána, protože je vyžadována následujícími modifikacemi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>Tato modifikace nemůže být odinstalována nebo aktualizována, protože je vyžadována následujícími modifikacemi</translation>
|
<translation>Tato modifikace nemůže být odinstalována nebo aktualizována, protože je vyžadována následujícími modifikacemi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>Toto je podmodifikace, která nemůže být nainstalována nebo odinstalována bez její rodičovské modifikace</translation>
|
<translation>Toto je podmodifikace, která nemůže být nainstalována nebo odinstalována bez její rodičovské modifikace</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>Poznámky</translation>
|
<translation>Poznámky</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation>Stahování %s%. %p% (%v MB z %m MB) dokončeno</translation>
|
<translation>Stahování %s%. %p% (%v MB z %m MB) dokončeno</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation>Stahování selhalo</translation>
|
<translation>Stahování selhalo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -431,7 +431,7 @@ Vyskytly se chyby:
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
@ -440,29 +440,29 @@ Install successfully downloaded?</source>
|
|||||||
Nainstalovat úspěšně stažené?</translation>
|
Nainstalovat úspěšně stažené?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation>Instalování modifikace %1</translation>
|
<translation>Instalování modifikace %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation>Operace selhala</translation>
|
<translation>Operace selhala</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation>Vyskytly se chyby:
|
<translation>Vyskytly se chyby:
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>Snímek obrazovky %1</translation>
|
<translation>Snímek obrazovky %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>Modifikace není kompatibilní</translation>
|
<translation>Modifikace není kompatibilní</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -470,123 +470,126 @@ Nainstalovat úspěšně stažené?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Vypnuto</translation>
|
<translation>Vypnuto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>Umělá inteligence</translation>
|
<translation>Umělá inteligence</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Repozitáře modifikací</translation>
|
<translation>Repozitáře modifikací</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation>Škálování rozhraní</translation>
|
<translation>Škálování rozhraní</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation>Neutrální AI v bitvách</translation>
|
<translation>Neutrální AI v bitvách</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation>Nepřátelská AI v bitvách</translation>
|
<translation>Nepřátelská AI v bitvách</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation>Další repozitáře</translation>
|
<translation>Další repozitáře</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation>Spojenci na mapě světa</translation>
|
<translation>Spojenci na mapě světa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation>Nepřátelé na mapě světa</translation>
|
<translation>Nepřátelé na mapě světa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>V okně</translation>
|
<translation>V okně</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation>Celá obrazovka bez okrajů</translation>
|
<translation>Celá obrazovka bez okrajů</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation>Exkluzivní celá obrazovka</translation>
|
<translation>Exkluzivní celá obrazovka</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation>Limit aut. uložení (0=vypnuto)</translation>
|
<translation>Limit aut. uložení (0=vypnuto)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation>Přátelské AI v bitvách</translation>
|
<translation>Přátelské AI v bitvách</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation>Omezení snímků za sekundu</translation>
|
<translation>Omezení snímků za sekundu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation>Předpona aut. uložení</translation>
|
<translation>Předpona aut. uložení</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation>prázná = předpona - název mapy</translation>
|
<translation>prázná = předpona - název mapy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation>Obnovit nyní</translation>
|
<translation>Obnovit nyní</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation>Výchozí repozitář</translation>
|
<translation>Výchozí repozitář</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<source>Renderer</source>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Zapnuto</translation>
|
<translation>Zapnuto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Kurzor</translation>
|
<translation>Kurzor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>Jazyk dat Heroes III</translation>
|
<translation>Jazyk dat Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -603,106 +606,104 @@ Celá obrazovka bez okrajů- hra poběží v okně, které zakryje vaši celou
|
|||||||
Exkluzivní celá obrazovka - hra zakryje vaši celou obrazovku a použije vybrané rozlišení.</translation>
|
Exkluzivní celá obrazovka - hra zakryje vaši celou obrazovku a použije vybrané rozlišení.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation>Vyhrazená část obrazovky</translation>
|
<translation>Vyhrazená část obrazovky</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Hardware</translation>
|
<translation>Hardware</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Software</translation>
|
<translation>Software</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation>Překlad Heroes III</translation>
|
<translation>Překlad Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>Zkontrolovat při zapnutí</translation>
|
<translation>Zkontrolovat při zapnutí</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>Celá obrazovka</translation>
|
<translation>Celá obrazovka</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Všeobecné</translation>
|
<translation>Všeobecné</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>Jazyk VCMI</translation>
|
<translation>Jazyk VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Rozlišení</translation>
|
<translation>Rozlišení</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Automatické uložení</translation>
|
<translation>Automatické uložení</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation>VSync</translation>
|
<translation>VSync</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<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="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>Síťový port</translation>
|
<translation>Síťový port</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Zobrazení</translation>
|
<translation>Zobrazení</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Zobrazit intro</translation>
|
<translation>Zobrazit intro</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Aktivní</translation>
|
<translation>Aktivní</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<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="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Povolit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<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="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished">Instalovat</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,123 +302,123 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -427,35 +427,35 @@ Encountered errors:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -463,123 +463,126 @@ Install successfully downloaded?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<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="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<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="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<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="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<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="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<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="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<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="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<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="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<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="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<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="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<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="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<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="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<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="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<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="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<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="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<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="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<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="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<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="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<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="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<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="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<source>Renderer</source>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<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="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<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="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<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="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -590,104 +593,102 @@ 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="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<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="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<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="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<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="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<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="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<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="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<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="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<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="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<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="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<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="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<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="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<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="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<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="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<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="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<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="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<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="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<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="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<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="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>Description</translation>
|
<translation>Description</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,128 +302,128 @@
|
|||||||
<translation>Abandonner</translation>
|
<translation>Abandonner</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>Nom du mod</translation>
|
<translation>Nom du mod</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>Version installée</translation>
|
<translation>Version installée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>Dernière version</translation>
|
<translation>Dernière version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>Taille de téléchargement</translation>
|
<translation>Taille de téléchargement</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Auteur(s)</translation>
|
<translation>Auteur(s)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>Licence</translation>
|
<translation>Licence</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>Contact</translation>
|
<translation>Contact</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>Compatibilité</translation>
|
<translation>Compatibilité</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>Version requise de VCMI</translation>
|
<translation>Version requise de VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>Version supportée de VCMI</translation>
|
<translation>Version supportée de VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>Versions supportées de VCMI</translation>
|
<translation>Versions supportées de VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>Langues</translation>
|
<translation>Langues</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>Mods requis</translation>
|
<translation>Mods requis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>Mods en conflit</translation>
|
<translation>Mods en conflit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>Ce mod ne peut pas être installé ou activé car les dépendances suivantes ne sont pas présents
|
<translation>Ce mod ne peut pas être installé ou activé car les dépendances suivantes ne sont pas présents
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>Ce mod ne peut pas être installé ou activé, car les dépendances suivantes sont incompatibles avec lui
|
<translation>Ce mod ne peut pas être installé ou activé, car les dépendances suivantes sont incompatibles avec lui
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>Ce mod ne peut pas être désactivé car il est requis pour les dépendances suivantes
|
<translation>Ce mod ne peut pas être désactivé car il est requis pour les dépendances suivantes
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>Ce mod ne peut pas être désinstallé ou mis à jour car il est requis pour les dépendances suivantes
|
<translation>Ce mod ne peut pas être désinstallé ou mis à jour car il est requis pour les dépendances suivantes
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>Ce sous-mod ne peut pas être installé ou mis à jour séparément du mod parent
|
<translation>Ce sous-mod ne peut pas être installé ou mis à jour séparément du mod parent
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>Notes</translation>
|
<translation>Notes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -432,35 +432,35 @@ Encountered errors:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>Impression écran %1</translation>
|
<translation>Impression écran %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>Ce mod est incompatible</translation>
|
<translation>Ce mod est incompatible</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -468,48 +468,46 @@ Install successfully downloaded?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<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="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<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="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<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="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Activé</translation>
|
<translation>Activé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<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="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<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="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -526,179 +524,182 @@ 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="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<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="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<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="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<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="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<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="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<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="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<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="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<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="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<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="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<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="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Curseur</translation>
|
<translation>Curseur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<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="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<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="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<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="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Logiciel</translation>
|
<translation>Logiciel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
|
<source>Renderer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<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="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<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="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<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="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<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="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<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="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<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="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<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="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<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="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<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="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<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="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<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="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<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="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<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="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<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="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<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="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Actif</translation>
|
<translation>Actif</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<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="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Activé</translation>
|
<translation>Activé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<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="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Installer</translation>
|
<translation>Installer</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>Beschreibung</translation>
|
<translation>Beschreibung</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,123 +302,123 @@
|
|||||||
<translation>Abbrechen</translation>
|
<translation>Abbrechen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>Mod-Name</translation>
|
<translation>Mod-Name</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>Installierte Version</translation>
|
<translation>Installierte Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>Letzte Version</translation>
|
<translation>Letzte Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Größe</translation>
|
<translation>Größe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>Downloadgröße</translation>
|
<translation>Downloadgröße</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Autoren</translation>
|
<translation>Autoren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>Lizenz</translation>
|
<translation>Lizenz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>Kontakt</translation>
|
<translation>Kontakt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>Kompatibilität</translation>
|
<translation>Kompatibilität</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>Benötigte VCMI Version</translation>
|
<translation>Benötigte VCMI Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>Unterstützte VCMI Version</translation>
|
<translation>Unterstützte VCMI Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>Unterstützte VCMI Versionen</translation>
|
<translation>Unterstützte VCMI Versionen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>Sprachen</translation>
|
<translation>Sprachen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>Benötigte Mods</translation>
|
<translation>Benötigte Mods</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>Mods mit Konflikt</translation>
|
<translation>Mods mit Konflikt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>Diese Mod kann nicht installiert oder aktiviert werden, da die folgenden Abhängigkeiten nicht vorhanden sind</translation>
|
<translation>Diese Mod kann nicht installiert oder aktiviert werden, da die folgenden Abhängigkeiten nicht vorhanden sind</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>Diese Mod kann nicht aktiviert werden, da folgende Mods nicht mit dieser Mod kompatibel sind</translation>
|
<translation>Diese Mod kann nicht aktiviert werden, da folgende Mods nicht mit dieser Mod kompatibel sind</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>Diese Mod kann nicht deaktiviert werden, da sie zum Ausführen der folgenden Mods erforderlich ist</translation>
|
<translation>Diese Mod kann nicht deaktiviert werden, da sie zum Ausführen der folgenden Mods erforderlich ist</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>Diese Mod kann nicht deinstalliert oder aktualisiert werden, da sie für die folgenden Mods erforderlich ist</translation>
|
<translation>Diese Mod kann nicht deinstalliert oder aktualisiert werden, da sie für die folgenden Mods erforderlich ist</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>Dies ist eine Submod und kann nicht separat von der Hauptmod installiert oder deinstalliert werden</translation>
|
<translation>Dies ist eine Submod und kann nicht separat von der Hauptmod installiert oder deinstalliert werden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>Anmerkungen</translation>
|
<translation>Anmerkungen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation>Herunterladen von %s%. %p% (%v MB von %m MB) beendet</translation>
|
<translation>Herunterladen von %s%. %p% (%v MB von %m MB) beendet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation>Download fehlgeschlagen</translation>
|
<translation>Download fehlgeschlagen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -431,7 +431,7 @@ Es sind Fehler aufgetreten:
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
@ -440,29 +440,29 @@ Install successfully downloaded?</source>
|
|||||||
Installation erfolgreich heruntergeladen?</translation>
|
Installation erfolgreich heruntergeladen?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation>Installation von Mod %1</translation>
|
<translation>Installation von Mod %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation>Operation fehlgeschlagen</translation>
|
<translation>Operation fehlgeschlagen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation>Aufgetretene Fehler:
|
<translation>Aufgetretene Fehler:
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>Screenshot %1</translation>
|
<translation>Screenshot %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>Mod ist inkompatibel</translation>
|
<translation>Mod ist inkompatibel</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -470,123 +470,126 @@ Installation erfolgreich heruntergeladen?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<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="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<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="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<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="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<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="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<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="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<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="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<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="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<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="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<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="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>Fenstermodus</translation>
|
<translation>Fenstermodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<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="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<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="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<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="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<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="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<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="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<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="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<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="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<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="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<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="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<source>Renderer</source>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>An</translation>
|
<translation>An</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Zeiger</translation>
|
<translation>Zeiger</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<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="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -603,104 +606,102 @@ 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="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation>Reservierter Bildschirmbereich</translation>
|
<translation>Reservierter Bildschirmbereich</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Hardware</translation>
|
<translation>Hardware</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Software</translation>
|
<translation>Software</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<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="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<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="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<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="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Allgemein</translation>
|
<translation>Allgemein</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<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="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<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="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Autospeichern</translation>
|
<translation>Autospeichern</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation>VSync</translation>
|
<translation>VSync</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<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="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<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="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Video</translation>
|
<translation>Video</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<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="407"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Aktiv</translation>
|
<translation>Aktiv</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="412"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Deaktiviert</translation>
|
<translation>Deaktiviert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="413"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Aktivieren</translation>
|
<translation>Aktivieren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="418"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<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="419"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Installieren</translation>
|
<translation>Installieren</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>Opis</translation>
|
<translation>Opis</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,123 +302,123 @@
|
|||||||
<translation>Przerwij</translation>
|
<translation>Przerwij</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>Nazwa moda</translation>
|
<translation>Nazwa moda</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>Zainstalowana wersja</translation>
|
<translation>Zainstalowana wersja</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>Najnowsza wersja</translation>
|
<translation>Najnowsza wersja</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Rozmiar</translation>
|
<translation>Rozmiar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>Rozmiar pobierania</translation>
|
<translation>Rozmiar pobierania</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Autorzy</translation>
|
<translation>Autorzy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>Licencja</translation>
|
<translation>Licencja</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>Kontakt</translation>
|
<translation>Kontakt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>Kompatybilność</translation>
|
<translation>Kompatybilność</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>Wymagana wersja VCMI</translation>
|
<translation>Wymagana wersja VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>Wspierana wersja VCMI</translation>
|
<translation>Wspierana wersja VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>Wspierane wersje VCMI</translation>
|
<translation>Wspierane wersje VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>Języki</translation>
|
<translation>Języki</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>Wymagane mody</translation>
|
<translation>Wymagane mody</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>Konfliktujące mody</translation>
|
<translation>Konfliktujące mody</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>Ten mod nie może zostać zainstalowany lub włączony ponieważ następujące zależności nie zostały spełnione</translation>
|
<translation>Ten mod nie może zostać zainstalowany lub włączony ponieważ następujące zależności nie zostały spełnione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>Ten mod nie może zostać włączony ponieważ następujące mody są z nim niekompatybilne</translation>
|
<translation>Ten mod nie może zostać włączony ponieważ następujące mody są z nim niekompatybilne</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>Ten mod nie może zostać wyłączony ponieważ jest wymagany do uruchomienia następujących modów</translation>
|
<translation>Ten mod nie może zostać wyłączony ponieważ jest wymagany do uruchomienia następujących modów</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>Ten mod nie może zostać odinstalowany lub zaktualizowany ponieważ jest wymagany do uruchomienia następujących modów</translation>
|
<translation>Ten mod nie może zostać odinstalowany lub zaktualizowany ponieważ jest wymagany do uruchomienia następujących modów</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>To jest moduł składowy innego moda i nie może być zainstalowany lub odinstalowany oddzielnie od moda nadrzędnego</translation>
|
<translation>To jest moduł składowy innego moda i nie może być zainstalowany lub odinstalowany oddzielnie od moda nadrzędnego</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>Uwagi</translation>
|
<translation>Uwagi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation>Pobieranie %s%. %p% (%v MB z %m MB) ukończono</translation>
|
<translation>Pobieranie %s%. %p% (%v MB z %m MB) ukończono</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation>Pobieranie nieudane</translation>
|
<translation>Pobieranie nieudane</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -431,7 +431,7 @@ Napotkane błędy:
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
@ -440,29 +440,29 @@ Install successfully downloaded?</source>
|
|||||||
Zainstalować pomyślnie pobrane?</translation>
|
Zainstalować pomyślnie pobrane?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation>Instalowanie modyfikacji %1</translation>
|
<translation>Instalowanie modyfikacji %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation>Operacja nieudana</translation>
|
<translation>Operacja nieudana</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation>Napotkane błędy:
|
<translation>Napotkane błędy:
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>Zrzut ekranu %1</translation>
|
<translation>Zrzut ekranu %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>Mod jest niekompatybilny</translation>
|
<translation>Mod jest niekompatybilny</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -470,123 +470,126 @@ Zainstalować pomyślnie pobrane?</translation>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<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="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<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="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<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="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<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="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<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="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<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="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<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="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<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="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<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="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>Okno</translation>
|
<translation>Okno</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<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="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<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="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<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="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<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="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<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="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<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="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<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="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<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="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<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="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<source>Renderer</source>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<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="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Kursor</translation>
|
<translation>Kursor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<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="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -603,104 +606,102 @@ 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="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation>Zarezerwowany obszar ekranu</translation>
|
<translation>Zarezerwowany obszar ekranu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<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="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Programowy</translation>
|
<translation>Programowy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<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="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<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="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<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="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<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="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<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="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Rozdzielczość</translation>
|
<translation>Rozdzielczość</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Autozapis</translation>
|
<translation>Autozapis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation>Synchronizacja pionowa (VSync)</translation>
|
<translation>Synchronizacja pionowa (VSync)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<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="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<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="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Obraz</translation>
|
<translation>Obraz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<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="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Aktywny</translation>
|
<translation>Aktywny</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<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="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<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="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<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="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Zainstaluj</translation>
|
<translation>Zainstaluj</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>Описание</translation>
|
<translation>Описание</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,123 +302,123 @@
|
|||||||
<translation>Отмена</translation>
|
<translation>Отмена</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>Название мода</translation>
|
<translation>Название мода</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>Установленная версия</translation>
|
<translation>Установленная версия</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>Последняя версия</translation>
|
<translation>Последняя версия</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>Размер загрузки</translation>
|
<translation>Размер загрузки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Авторы</translation>
|
<translation>Авторы</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>Лицензия</translation>
|
<translation>Лицензия</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>Контакты</translation>
|
<translation>Контакты</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>Совместимость</translation>
|
<translation>Совместимость</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>Требуемая версия VCMI</translation>
|
<translation>Требуемая версия VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>Поддерживаемая версия VCMI</translation>
|
<translation>Поддерживаемая версия VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>Поддерживаемые версии VCMI</translation>
|
<translation>Поддерживаемые версии VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>Языки</translation>
|
<translation>Языки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>Зависимости</translation>
|
<translation>Зависимости</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>Конфликтующие моды</translation>
|
<translation>Конфликтующие моды</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>Этот мод не может быть установлен или активирован, так как отсутствуют следующие зависимости</translation>
|
<translation>Этот мод не может быть установлен или активирован, так как отсутствуют следующие зависимости</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>Этот мод не может быть установлен или активирован, так как следующие моды несовместимы с этим</translation>
|
<translation>Этот мод не может быть установлен или активирован, так как следующие моды несовместимы с этим</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>Этот мод не может быть выключен, так как он является зависимостью для следующих</translation>
|
<translation>Этот мод не может быть выключен, так как он является зависимостью для следующих</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>Этот мод не может быть удален или обновлен, так как является зависимостью для следующих модов</translation>
|
<translation>Этот мод не может быть удален или обновлен, так как является зависимостью для следующих модов</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>Это вложенный мод, он не может быть установлен или удален отдельно от родительского</translation>
|
<translation>Это вложенный мод, он не может быть установлен или удален отдельно от родительского</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>Замечания</translation>
|
<translation>Замечания</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -427,35 +427,35 @@ Encountered errors:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>Скриншот %1</translation>
|
<translation>Скриншот %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>Мод несовместим</translation>
|
<translation>Мод несовместим</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -463,154 +463,156 @@ Install successfully downloaded?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<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="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Отключено</translation>
|
<translation>Отключено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Включено</translation>
|
<translation>Включено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<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="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<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="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<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="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<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="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<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="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Общее</translation>
|
<translation>Общее</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<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="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<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="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<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="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Репозитории модов</translation>
|
<translation>Репозитории модов</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<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="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<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="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<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="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<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="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<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="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<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="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<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="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<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="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<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="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<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="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<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="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<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="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
|
<source>Renderer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<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="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -621,73 +623,72 @@ 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="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Аппаратный</translation>
|
<translation>Аппаратный</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Программный</translation>
|
<translation>Программный</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<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="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Разрешение экрана</translation>
|
<translation>Разрешение экрана</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Автосохранение</translation>
|
<translation>Автосохранение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Дисплей</translation>
|
<translation>Дисплей</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<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="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Графика</translation>
|
<translation>Графика</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Вступление</translation>
|
<translation>Вступление</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Активен</translation>
|
<translation>Активен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Отключен</translation>
|
<translation>Отключен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Включить</translation>
|
<translation>Включить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>Не установлен</translation>
|
<translation>Не установлен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Установить</translation>
|
<translation>Установить</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>Descripción</translation>
|
<translation>Descripción</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,123 +302,123 @@
|
|||||||
<translation>Cancelar</translation>
|
<translation>Cancelar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>Nombre del mod</translation>
|
<translation>Nombre del mod</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>Versión instalada</translation>
|
<translation>Versión instalada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>Última versión</translation>
|
<translation>Última versión</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>Tamaño de descarga</translation>
|
<translation>Tamaño de descarga</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Autores</translation>
|
<translation>Autores</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>Licencia</translation>
|
<translation>Licencia</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>Contacto</translation>
|
<translation>Contacto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>Compatibilidad</translation>
|
<translation>Compatibilidad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>Versión de VCMI requerida</translation>
|
<translation>Versión de VCMI requerida</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>Versión de VCMI compatible</translation>
|
<translation>Versión de VCMI compatible</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>Versiones de VCMI compatibles</translation>
|
<translation>Versiones de VCMI compatibles</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>Idiomas</translation>
|
<translation>Idiomas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>Mods requeridos</translation>
|
<translation>Mods requeridos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>Mods conflictivos</translation>
|
<translation>Mods conflictivos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>Este mod no se puede instalar o habilitar porque no están presentes las siguientes dependencias</translation>
|
<translation>Este mod no se puede instalar o habilitar porque no están presentes las siguientes dependencias</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>Este mod no se puede habilitar porque los siguientes mods son incompatibles con él</translation>
|
<translation>Este mod no se puede habilitar porque los siguientes mods son incompatibles con él</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>No se puede desactivar este mod porque es necesario para ejecutar los siguientes mods</translation>
|
<translation>No se puede desactivar este mod porque es necesario para ejecutar los siguientes mods</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>No se puede desinstalar o actualizar este mod porque es necesario para ejecutar los siguientes mods</translation>
|
<translation>No se puede desinstalar o actualizar este mod porque es necesario para ejecutar los siguientes mods</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>Este es un submod y no se puede instalar o desinstalar por separado del mod principal</translation>
|
<translation>Este es un submod y no se puede instalar o desinstalar por separado del mod principal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>Notas</translation>
|
<translation>Notas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -427,35 +427,35 @@ Encountered errors:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>Captura de pantalla %1</translation>
|
<translation>Captura de pantalla %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>El mod es incompatible</translation>
|
<translation>El mod es incompatible</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -463,175 +463,176 @@ Install successfully downloaded?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<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="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<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="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<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="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<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="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<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="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<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="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<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="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<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="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<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="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<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="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<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="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<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="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<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="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<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="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<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="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<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="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<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="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<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="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<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="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<source>Renderer</source>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Encendido</translation>
|
<translation>Encendido</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Cursor</translation>
|
<translation>Cursor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<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="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<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="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>General</translation>
|
<translation>General</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<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="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<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="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Autoguardado</translation>
|
<translation>Autoguardado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<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="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<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="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<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="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -642,52 +643,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="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Hardware</translation>
|
<translation>Hardware</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Software</translation>
|
<translation>Software</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<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="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<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="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<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="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Activado</translation>
|
<translation>Activado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Desactivado</translation>
|
<translation>Desactivado</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Activar</translation>
|
<translation>Activar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<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="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Instalar</translation>
|
<translation>Instalar</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>Опис</translation>
|
<translation>Опис</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,123 +302,123 @@
|
|||||||
<translation>Відмінити</translation>
|
<translation>Відмінити</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>Назва модифікації</translation>
|
<translation>Назва модифікації</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>Встановлена версія</translation>
|
<translation>Встановлена версія</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>Найновіша версія</translation>
|
<translation>Найновіша версія</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Розмір</translation>
|
<translation>Розмір</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>Розмір для завантаження</translation>
|
<translation>Розмір для завантаження</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Автори</translation>
|
<translation>Автори</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>Ліцензія</translation>
|
<translation>Ліцензія</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>Контакти</translation>
|
<translation>Контакти</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>Сумісність</translation>
|
<translation>Сумісність</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>Необхідна версія VCMI</translation>
|
<translation>Необхідна версія VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>Підтримувана версія VCMI</translation>
|
<translation>Підтримувана версія VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>Підтримувані версії VCMI</translation>
|
<translation>Підтримувані версії VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>Мови</translation>
|
<translation>Мови</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>Необхідні модифікації</translation>
|
<translation>Необхідні модифікації</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>Конфліктуючі модифікації</translation>
|
<translation>Конфліктуючі модифікації</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>Цю модифікацію не можна встановити чи активувати, оскільки відсутні наступні залежності</translation>
|
<translation>Цю модифікацію не можна встановити чи активувати, оскільки відсутні наступні залежності</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>Цю модифікацію не можна ввімкнути, оскільки наступні модифікації несумісні з цією модифікацією</translation>
|
<translation>Цю модифікацію не можна ввімкнути, оскільки наступні модифікації несумісні з цією модифікацією</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>Цю модифікацію не можна відключити, оскільки вона необхідна для запуску наступних модифікацій</translation>
|
<translation>Цю модифікацію не можна відключити, оскільки вона необхідна для запуску наступних модифікацій</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>Цю модифікацію не можна видалити або оновити, оскільки вона необхідна для запуску наступних модифікацій</translation>
|
<translation>Цю модифікацію не можна видалити або оновити, оскільки вона необхідна для запуску наступних модифікацій</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>Це вкладена модифікація, і її не можна встановити або видалити окремо від батьківської модифікації</translation>
|
<translation>Це вкладена модифікація, і її не можна встановити або видалити окремо від батьківської модифікації</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>Примітки</translation>
|
<translation>Примітки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation>Завантажуємо %s%. %p% (%v МБ з %m Мб) виконано</translation>
|
<translation>Завантажуємо %s%. %p% (%v МБ з %m Мб) виконано</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation>Помилка завантаження</translation>
|
<translation>Помилка завантаження</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -431,7 +431,7 @@ Encountered errors:
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
@ -440,29 +440,29 @@ Install successfully downloaded?</source>
|
|||||||
Встановити успішно завантажені?</translation>
|
Встановити успішно завантажені?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation>Встановлення модифікації %1</translation>
|
<translation>Встановлення модифікації %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation>Операція завершилася невдало</translation>
|
<translation>Операція завершилася невдало</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation>Виникли помилки:
|
<translation>Виникли помилки:
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>Знімок екрану %1</translation>
|
<translation>Знімок екрану %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>Модифікація несумісна</translation>
|
<translation>Модифікація несумісна</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -470,123 +470,126 @@ Install successfully downloaded?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<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="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<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="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Репозиторії модифікацій</translation>
|
<translation>Репозиторії модифікацій</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation>Масштабування інтерфейсу</translation>
|
<translation>Масштабування інтерфейсу</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<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="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<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="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation>Додатковий репозиторій</translation>
|
<translation>Додатковий репозиторій</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<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="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<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="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>У вікні</translation>
|
<translation>У вікні</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation>Повноекранне вікно</translation>
|
<translation>Повноекранне вікно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation>Повноекранний (ексклюзивно)</translation>
|
<translation>Повноекранний (ексклюзивно)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<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="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<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="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation>Обмеження частоти кадрів</translation>
|
<translation>Обмеження частоти кадрів</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation>Префікс назв автозбережень</translation>
|
<translation>Префікс назв автозбережень</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<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="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation>Оновити зараз</translation>
|
<translation>Оновити зараз</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation>Стандартний репозиторій</translation>
|
<translation>Стандартний репозиторій</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<source>Renderer</source>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<translation>Рендерер</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Увімкнено</translation>
|
<translation>Увімкнено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Курсор</translation>
|
<translation>Курсор</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<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="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -603,104 +606,102 @@ 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="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation>Зарезервована зона екрану</translation>
|
<translation>Зарезервована зона екрану</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Апаратний</translation>
|
<translation>Апаратний</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Програмний</translation>
|
<translation>Програмний</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<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="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<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="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<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="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Загальні налаштування</translation>
|
<translation>Загальні налаштування</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<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="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Роздільна здатність</translation>
|
<translation>Роздільна здатність</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Автозбереження</translation>
|
<translation>Автозбереження</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation>Вертикальна синхронізація</translation>
|
<translation>Вертикальна синхронізація</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Дісплей</translation>
|
<translation>Дісплей</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<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="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Графіка</translation>
|
<translation>Графіка</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Вступні відео</translation>
|
<translation>Вступні відео</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Активні</translation>
|
<translation>Активні</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Деактивований</translation>
|
<translation>Деактивований</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Активувати</translation>
|
<translation>Активувати</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>Не встановлено</translation>
|
<translation>Не встановлено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Встановити</translation>
|
<translation>Встановити</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
<location filename="../modManager/cmodlistview_moc.ui" line="163"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="316"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="355"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<translation>Mô tả</translation>
|
<translation>Mô tả</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -302,123 +302,123 @@
|
|||||||
<translation>Hủy</translation>
|
<translation>Hủy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="248"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="287"/>
|
||||||
<source>Mod name</source>
|
<source>Mod name</source>
|
||||||
<translation>Tên bản sửa đổi</translation>
|
<translation>Tên bản sửa đổi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="249"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="288"/>
|
||||||
<source>Installed version</source>
|
<source>Installed version</source>
|
||||||
<translation>Phiên bản cài đặt</translation>
|
<translation>Phiên bản cài đặt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="250"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="289"/>
|
||||||
<source>Latest version</source>
|
<source>Latest version</source>
|
||||||
<translation>Phiên bản mới nhất</translation>
|
<translation>Phiên bản mới nhất</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="253"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="292"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="255"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="294"/>
|
||||||
<source>Download size</source>
|
<source>Download size</source>
|
||||||
<translation>Kích thước tải về</translation>
|
<translation>Kích thước tải về</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="257"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="296"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Tác giả</translation>
|
<translation>Tác giả</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="260"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="299"/>
|
||||||
<source>License</source>
|
<source>License</source>
|
||||||
<translation>Giấy phép</translation>
|
<translation>Giấy phép</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="263"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="302"/>
|
||||||
<source>Contact</source>
|
<source>Contact</source>
|
||||||
<translation>Liên hệ</translation>
|
<translation>Liên hệ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="272"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="311"/>
|
||||||
<source>Compatibility</source>
|
<source>Compatibility</source>
|
||||||
<translation>Tương thích</translation>
|
<translation>Tương thích</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="274"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="313"/>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
||||||
<source>Required VCMI version</source>
|
<source>Required VCMI version</source>
|
||||||
<translation>Cần phiên bản VCMI</translation>
|
<translation>Cần phiên bản VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="280"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="319"/>
|
||||||
<source>Supported VCMI version</source>
|
<source>Supported VCMI version</source>
|
||||||
<translation>Hỗ trợ phiên bản VCMI</translation>
|
<translation>Hỗ trợ phiên bản VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="285"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
||||||
<source>Supported VCMI versions</source>
|
<source>Supported VCMI versions</source>
|
||||||
<translation>Phiên bản VCMI hỗ trợ</translation>
|
<translation>Phiên bản VCMI hỗ trợ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="312"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="351"/>
|
||||||
<source>Languages</source>
|
<source>Languages</source>
|
||||||
<translation>Ngôn ngữ</translation>
|
<translation>Ngôn ngữ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="314"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="353"/>
|
||||||
<source>Required mods</source>
|
<source>Required mods</source>
|
||||||
<translation>Cần các bản sửa đổi</translation>
|
<translation>Cần các bản sửa đổi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="315"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="354"/>
|
||||||
<source>Conflicting mods</source>
|
<source>Conflicting mods</source>
|
||||||
<translation>Bản sửa đổi không tương thích</translation>
|
<translation>Bản sửa đổi không tương thích</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="320"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
|
||||||
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
|
||||||
<translation>Bản sửa đổi này không thể cài đặt hoặc kích hoạt do thiếu các bản sửa đổi sau</translation>
|
<translation>Bản sửa đổi này không thể cài đặt hoặc kích hoạt do thiếu các bản sửa đổi sau</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="321"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
|
||||||
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
<source>This mod can not be enabled because the following mods are incompatible with it</source>
|
||||||
<translation>Bản sửa đổi này không thể kích hoạt do không tương thích các bản sửa đổi sau</translation>
|
<translation>Bản sửa đổi này không thể kích hoạt do không tương thích các bản sửa đổi sau</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="322"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="361"/>
|
||||||
<source>This mod cannot be disabled because it is required by the following mods</source>
|
<source>This mod cannot be disabled because it is required by the following mods</source>
|
||||||
<translation>Bản sửa đổi này không thể tắt do cần thiết cho các bản sửa đổi sau</translation>
|
<translation>Bản sửa đổi này không thể tắt do cần thiết cho các bản sửa đổi sau</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="323"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
|
||||||
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
<source>This mod cannot be uninstalled or updated because it is required by the following mods</source>
|
||||||
<translation>Bản sửa đổi này không thể gỡ bỏ hoặc nâng cấp do cần thiết cho các bản sửa đổi sau</translation>
|
<translation>Bản sửa đổi này không thể gỡ bỏ hoặc nâng cấp do cần thiết cho các bản sửa đổi sau</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="324"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="363"/>
|
||||||
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
|
||||||
<translation>Đây là bản con, không thể cài đặt hoặc gỡ bỏ tách biệt với bản cha</translation>
|
<translation>Đây là bản con, không thể cài đặt hoặc gỡ bỏ tách biệt với bản cha</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="339"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="378"/>
|
||||||
<source>Notes</source>
|
<source>Notes</source>
|
||||||
<translation>Ghi chú</translation>
|
<translation>Ghi chú</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="599"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="638"/>
|
||||||
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
<source>Downloading %s%. %p% (%v MB out of %m MB) finished</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="618"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="665"/>
|
||||||
<source>Download failed</source>
|
<source>Download failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="619"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="666"/>
|
||||||
<source>Unable to download all files.
|
<source>Unable to download all files.
|
||||||
|
|
||||||
Encountered errors:
|
Encountered errors:
|
||||||
@ -427,35 +427,35 @@ Encountered errors:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="620"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="667"/>
|
||||||
<source>
|
<source>
|
||||||
|
|
||||||
Install successfully downloaded?</source>
|
Install successfully downloaded?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="759"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
||||||
<source>Installing mod %1</source>
|
<source>Installing mod %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="811"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="874"/>
|
||||||
<source>Operation failed</source>
|
<source>Operation failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="812"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="875"/>
|
||||||
<source>Encountered errors:
|
<source>Encountered errors:
|
||||||
</source>
|
</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="847"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="910"/>
|
||||||
<source>Screenshot %1</source>
|
<source>Screenshot %1</source>
|
||||||
<translation>Hình ảnh %1</translation>
|
<translation>Hình ảnh %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../modManager/cmodlistview_moc.cpp" line="243"/>
|
<location filename="../modManager/cmodlistview_moc.cpp" line="282"/>
|
||||||
<source>Mod is incompatible</source>
|
<source>Mod is incompatible</source>
|
||||||
<translation>Bản sửa đổi này không tương thích</translation>
|
<translation>Bản sửa đổi này không tương thích</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -463,123 +463,126 @@ Install successfully downloaded?</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>CSettingsView</name>
|
<name>CSettingsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="276"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="241"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="580"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="471"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
|
||||||
<source>Off</source>
|
<source>Off</source>
|
||||||
<translation>Tắt</translation>
|
<translation>Tắt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="78"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="108"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="195"/>
|
|
||||||
<source>Artificial Intelligence</source>
|
<source>Artificial Intelligence</source>
|
||||||
<translation>Trí tuệ nhân tạo</translation>
|
<translation>Trí tuệ nhân tạo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="203"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
|
||||||
<source>Mod Repositories</source>
|
<source>Mod Repositories</source>
|
||||||
<translation>Nguồn bản sửa đổi</translation>
|
<translation>Nguồn bản sửa đổi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="144"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="230"/>
|
||||||
<source>Interface Scaling</source>
|
<source>Interface Scaling</source>
|
||||||
<translation>Phóng đại giao diện</translation>
|
<translation>Phóng đại giao diện</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="394"/>
|
||||||
<source>Neutral AI in battles</source>
|
<source>Neutral AI in battles</source>
|
||||||
<translation>Máy hoang dã trong trận đánh</translation>
|
<translation>Máy hoang dã trong trận đánh</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="289"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="169"/>
|
||||||
<source>Enemy AI in battles</source>
|
<source>Enemy AI in battles</source>
|
||||||
<translation>Máy đối thủ trong trận đánh</translation>
|
<translation>Máy đối thủ trong trận đánh</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="239"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="176"/>
|
||||||
<source>Additional repository</source>
|
<source>Additional repository</source>
|
||||||
<translation>Nguồn bổ sung</translation>
|
<translation>Nguồn bổ sung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="158"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
|
||||||
<source>Adventure Map Allies</source>
|
<source>Adventure Map Allies</source>
|
||||||
<translation>Máy liên minh ở bản đồ phiêu lưu</translation>
|
<translation>Máy liên minh ở bản đồ phiêu lưu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="638"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="552"/>
|
||||||
<source>Adventure Map Enemies</source>
|
<source>Adventure Map Enemies</source>
|
||||||
<translation>Máy đối thủ ở bản đồ phiêu lưu</translation>
|
<translation>Máy đối thủ ở bản đồ phiêu lưu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="353"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="428"/>
|
||||||
<source>Windowed</source>
|
<source>Windowed</source>
|
||||||
<translation>Cửa sổ</translation>
|
<translation>Cửa sổ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="358"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="433"/>
|
||||||
<source>Borderless fullscreen</source>
|
<source>Borderless fullscreen</source>
|
||||||
<translation>Toàn màn hình không viền</translation>
|
<translation>Toàn màn hình không viền</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="438"/>
|
||||||
<source>Exclusive fullscreen</source>
|
<source>Exclusive fullscreen</source>
|
||||||
<translation>Toàn màn hình riêng biệt</translation>
|
<translation>Toàn màn hình riêng biệt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="229"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
||||||
<source>Autosave limit (0 = off)</source>
|
<source>Autosave limit (0 = off)</source>
|
||||||
<translation>Giới hạn lưu tự động (0 = không giới hạn)</translation>
|
<translation>Giới hạn lưu tự động (0 = không giới hạn)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="436"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="401"/>
|
||||||
<source>Friendly AI in battles</source>
|
<source>Friendly AI in battles</source>
|
||||||
<translation>Máy liên minh trong trận đánh</translation>
|
<translation>Máy liên minh trong trận đánh</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="370"/>
|
||||||
<source>Framerate Limit</source>
|
<source>Framerate Limit</source>
|
||||||
<translation>Giới hạn khung hình</translation>
|
<translation>Giới hạn khung hình</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="151"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="460"/>
|
||||||
<source>Autosave prefix</source>
|
<source>Autosave prefix</source>
|
||||||
<translation>Thêm tiền tố vào lưu tự động</translation>
|
<translation>Thêm tiền tố vào lưu tự động</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="202"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
|
||||||
<source>empty = map name prefix</source>
|
<source>empty = map name prefix</source>
|
||||||
<translation>Rỗng = tên bản đồ</translation>
|
<translation>Rỗng = tên bản đồ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="607"/>
|
||||||
<source>Refresh now</source>
|
<source>Refresh now</source>
|
||||||
<translation>Làm mới</translation>
|
<translation>Làm mới</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="405"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="614"/>
|
||||||
<source>Default repository</source>
|
<source>Default repository</source>
|
||||||
<translation>Nguồn mặc định</translation>
|
<translation>Nguồn mặc định</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="624"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="585"/>
|
<source>Renderer</source>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="654"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="246"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="476"/>
|
||||||
|
<location filename="../settingsView/csettingsview_moc.ui" line="544"/>
|
||||||
<source>On</source>
|
<source>On</source>
|
||||||
<translation>Bật</translation>
|
<translation>Bật</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="525"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
|
||||||
<source>Cursor</source>
|
<source>Cursor</source>
|
||||||
<translation>Con trỏ</translation>
|
<translation>Con trỏ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="125"/>
|
||||||
<source>Heroes III Data Language</source>
|
<source>Heroes III Data Language</source>
|
||||||
<translation>Ngôn ngữ dữ liệu Heroes III</translation>
|
<translation>Ngôn ngữ dữ liệu Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="340"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="415"/>
|
||||||
<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
|
||||||
@ -596,104 +599,102 @@ Toàn màn hình không viền - Trò chơi chạy toàn màn hình, dùng chung
|
|||||||
Toàn màn hình riêng biệt - Trò chơi chạy toàn màn hình và dùng độ phân giải được chọn.</translation>
|
Toàn màn hình riêng biệt - Trò chơi chạy toàn màn hình và dùng độ phân giải được chọn.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="631"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="349"/>
|
||||||
<source>Reserved screen area</source>
|
<source>Reserved screen area</source>
|
||||||
<translation>Diện tích màn hình dành riêng</translation>
|
<translation>Diện tích màn hình dành riêng</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="533"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="522"/>
|
||||||
<source>Hardware</source>
|
<source>Hardware</source>
|
||||||
<translation>Phần cứng</translation>
|
<translation>Phần cứng</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="538"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="527"/>
|
||||||
<source>Software</source>
|
<source>Software</source>
|
||||||
<translation>Phần mềm</translation>
|
<translation>Phần mềm</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="118"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="162"/>
|
||||||
<source>Heroes III Translation</source>
|
<source>Heroes III Translation</source>
|
||||||
<translation>Bản dịch Heroes III</translation>
|
<translation>Bản dịch Heroes III</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="617"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="586"/>
|
||||||
<source>Check on startup</source>
|
<source>Check on startup</source>
|
||||||
<translation>Kiểm tra khi khởi động</translation>
|
<translation>Kiểm tra khi khởi động</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="137"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="155"/>
|
||||||
<source>Fullscreen</source>
|
<source>Fullscreen</source>
|
||||||
<translation>Toàn màn hình</translation>
|
<translation>Toàn màn hình</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="68"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="497"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="130"/>
|
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation>Chung</translation>
|
<translation>Chung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="443"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="363"/>
|
||||||
<source>VCMI Language</source>
|
<source>VCMI Language</source>
|
||||||
<translation>Ngôn ngữ VCMI</translation>
|
<translation>Ngôn ngữ VCMI</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="498"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="356"/>
|
||||||
<source>Resolution</source>
|
<source>Resolution</source>
|
||||||
<translation>Độ phân giải</translation>
|
<translation>Độ phân giải</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="518"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="446"/>
|
||||||
<source>Autosave</source>
|
<source>Autosave</source>
|
||||||
<translation>Tự động lưu</translation>
|
<translation>Tự động lưu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="662"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="562"/>
|
||||||
<source>VSync</source>
|
<source>VSync</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="374"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="135"/>
|
||||||
<source>Display index</source>
|
<source>Display index</source>
|
||||||
<translation>Mục hiện thị</translation>
|
<translation>Mục hiện thị</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="549"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="600"/>
|
||||||
<source>Network port</source>
|
<source>Network port</source>
|
||||||
<translation>Cổng mạng</translation>
|
<translation>Cổng mạng</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="73"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="95"/>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="170"/>
|
|
||||||
<source>Video</source>
|
<source>Video</source>
|
||||||
<translation>Phim ảnh</translation>
|
<translation>Phim ảnh</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.ui" line="265"/>
|
<location filename="../settingsView/csettingsview_moc.ui" line="190"/>
|
||||||
<source>Show intro</source>
|
<source>Show intro</source>
|
||||||
<translation>Hiện thị giới thiệu</translation>
|
<translation>Hiện thị giới thiệu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="409"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="450"/>
|
||||||
<source>Active</source>
|
<source>Active</source>
|
||||||
<translation>Bật</translation>
|
<translation>Bật</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="414"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="455"/>
|
||||||
<source>Disabled</source>
|
<source>Disabled</source>
|
||||||
<translation>Tắt</translation>
|
<translation>Tắt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="415"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="456"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>Bật</translation>
|
<translation>Bật</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="420"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="461"/>
|
||||||
<source>Not Installed</source>
|
<source>Not Installed</source>
|
||||||
<translation>Chưa cài đặt</translation>
|
<translation>Chưa cài đặt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsView/csettingsview_moc.cpp" line="421"/>
|
<location filename="../settingsView/csettingsview_moc.cpp" line="462"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Cài đặt</translation>
|
<translation>Cài đặt</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Type=Application
|
Type=Application
|
||||||
Name=VCMI
|
Name=VCMI
|
||||||
GenericName=Strategy Game Engine
|
GenericName=Strategy Game
|
||||||
Comment=Launcher for open engine of Heroes of Might and Magic 3
|
GenericName[cs]=Strategická hra
|
||||||
|
GenericName[de]=Strategiespiel
|
||||||
|
Comment=Open-source recreation of Heroes of Might & Magic III
|
||||||
|
Comment[cs]=Spouštěč enginu s otevřeným kódem pro Heroes of Might and Magic III
|
||||||
|
Comment[de]=Open-Source-Nachbau von Heroes of Might and Magic III
|
||||||
Icon=vcmiclient
|
Icon=vcmiclient
|
||||||
Exec=vcmilauncher
|
Exec=vcmilauncher
|
||||||
Categories=Game;StrategyGame;
|
Categories=Game;StrategyGame;
|
||||||
Version=1.0
|
Version=1.5
|
||||||
Keywords=heroes;homm3;
|
Keywords=heroes of might and magic;heroes;homm;homm3;strategy;
|
||||||
|
SingleMainWindow=yes
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user