diff --git a/config/schemas/mod.json b/config/schemas/mod.json
index 48b2f0680..36bc7baa8 100644
--- a/config/schemas/mod.json
+++ b/config/schemas/mod.json
@@ -55,7 +55,7 @@
},
"modType" : {
"type" : "string",
- "enum" : [ "Translation", "Town", "Test", "Templates", "Spells", "Music", "Sounds", "Skills", "Other", "Objects", "Mechanics", "Interface", "Heroes", "Graphical", "Expansion", "Creatures", "Artifacts", "AI" ],
+ "enum" : [ "Translation", "Town", "Test", "Templates", "Spells", "Music", "Maps", "Sounds", "Skills", "Other", "Objects", "Mechanics", "Interface", "Heroes", "Graphical", "Expansion", "Creatures", "Compatibility", "Artifacts", "AI" ],
"description" : "Type of mod, e.g. Town, Artifacts, Graphical."
},
"author" : {
diff --git a/docs/modders/Mod_File_Format.md b/docs/modders/Mod_File_Format.md
index 900980457..2b507974d 100644
--- a/docs/modders/Mod_File_Format.md
+++ b/docs/modders/Mod_File_Format.md
@@ -30,11 +30,13 @@
"version" : "1.2.3"
// Type of mod, list of all possible values:
- // "Translation", "Town", "Test", "Templates", "Spells", "Music", "Sounds", "Skills", "Other", "Objects",
- // "Mechanics", "Interface", "Heroes", "Graphical", "Expansion", "Creatures", "Artifacts", "AI"
+ // "Translation", "Town", "Test", "Templates", "Spells", "Music", "Maps", "Sounds", "Skills", "Other", "Objects",
+ // "Mechanics", "Interface", "Heroes", "Graphical", "Expansion", "Creatures", "Compatibility", "Artifacts", "AI"
//
// Some mod types have additional effects on your mod:
- // Translation: mod of this type is only active if player uses base language of this mod. See "language" property.
+ // Translation: mod of this type is only active if player uses base language of this mod. See "language" property.
+ // Additionally, if such type is used for submod it will be hidden in UI and automatically activated if player uses base language of this mod. This allows to provide locale-specific resources for a mod
+ // Compatibility: mods of this type are hidden in UI and will be automatically activated if all mod dependencies are active. Intended to be used to provide compatibility patches between mods
"modType" : "Graphical",
// Base language of the mod, before applying localizations. By default vcmi assumes English
diff --git a/launcher/modManager/cmodlist.cpp b/launcher/modManager/cmodlist.cpp
index b6cf4cc07..7e887b5d6 100644
--- a/launcher/modManager/cmodlist.cpp
+++ b/launcher/modManager/cmodlist.cpp
@@ -90,14 +90,32 @@ bool CModEntry::isInstalled() const
return !localData.isEmpty();
}
-bool CModEntry::isValid() const
+bool CModEntry::isVisible() const
{
+ if (getBaseValue("modType").toString() == "Compatibility")
+ {
+ if (isSubmod())
+ return false;
+ }
+
+ if (getBaseValue("modType").toString() == "Translation")
+ {
+ // Do not show not installed translation mods to languages other than player language
+ if (localData.empty() && getBaseValue("language") != QString::fromStdString(settings["general"]["language"].String()) )
+ return false;
+ }
+
return !localData.isEmpty() || !repository.isEmpty();
}
bool CModEntry::isTranslation() const
{
- return getBaseValue("modType").toString().toLower() == "translation";
+ return getBaseValue("modType").toString() == "Translation";
+}
+
+bool CModEntry::isSubmod() const
+{
+ return getName().contains('.');
}
int CModEntry::getModStatus() const
diff --git a/launcher/modManager/cmodlist.h b/launcher/modManager/cmodlist.h
index 4143ed4b8..c82a0b88c 100644
--- a/launcher/modManager/cmodlist.h
+++ b/launcher/modManager/cmodlist.h
@@ -60,10 +60,12 @@ public:
bool isEssential() const;
// checks if verison is compatible with vcmi
bool isCompatible() const;
- // returns if has any data
- bool isValid() const;
+ // returns true if mod should be visible in Launcher
+ bool isVisible() const;
// installed and enabled
bool isTranslation() const;
+ // returns true if this is a submod
+ bool isSubmod() const;
// see ModStatus enum
int getModStatus() const;
diff --git a/launcher/modManager/cmodlistmodel_moc.cpp b/launcher/modManager/cmodlistmodel_moc.cpp
index 9bde9860e..cece26b53 100644
--- a/launcher/modManager/cmodlistmodel_moc.cpp
+++ b/launcher/modManager/cmodlistmodel_moc.cpp
@@ -45,6 +45,7 @@ QString CModListModel::modTypeName(QString modTypeID) const
{"Templates", tr("Templates") },
{"Spells", tr("Spells") },
{"Music", tr("Music") },
+ {"Maps", tr("Maps") },
{"Sounds", tr("Sounds") },
{"Skills", tr("Skills") },
{"Other", tr("Other") },
@@ -58,6 +59,7 @@ QString CModListModel::modTypeName(QString modTypeID) const
{"Graphical", tr("Graphical") },
{"Expansion", tr("Expansion") },
{"Creatures", tr("Creatures") },
+ {"Compatibility", tr("Compatibility") },
{"Artifacts", tr("Artifacts") },
{"AI", tr("AI") },
};
@@ -257,7 +259,6 @@ bool CModFilterModel::filterMatchesThis(const QModelIndex & source) const
{
CModEntry mod = base->getMod(source.data(ModRoles::ModNameRole).toString());
return (mod.getModStatus() & filterMask) == filteredType &&
- mod.isValid() &&
QSortFilterProxyModel::filterAcceptsRow(source.row(), source.parent());
}
@@ -265,6 +266,10 @@ bool CModFilterModel::filterAcceptsRow(int source_row, const QModelIndex & sourc
{
QModelIndex index = base->index(source_row, 0, source_parent);
+ CModEntry mod = base->getMod(index.data(ModRoles::ModNameRole).toString());
+ if (!mod.isVisible())
+ return false;
+
if(filterMatchesThis(index))
{
return true;
diff --git a/launcher/modManager/cmodlistview_moc.cpp b/launcher/modManager/cmodlistview_moc.cpp
index f4e8c7be5..0e713bfda 100644
--- a/launcher/modManager/cmodlistview_moc.cpp
+++ b/launcher/modManager/cmodlistview_moc.cpp
@@ -332,7 +332,7 @@ QString CModListView::genModInfoText(CModEntry & mod)
if(mod.isInstalled())
notes += replaceIfNotEmpty(getModNames(findDependentMods(mod.getName(), false)), listTemplate.arg(hasDependentMods));
- if(mod.getName().contains('.'))
+ if(mod.isSubmod())
notes += noteTemplate.arg(thisIsSubmod);
if(notes.size())
@@ -374,8 +374,8 @@ void CModListView::selectMod(const QModelIndex & index)
ui->disableButton->setVisible(mod.isEnabled());
ui->enableButton->setVisible(mod.isDisabled());
- ui->installButton->setVisible(mod.isAvailable() && !mod.getName().contains('.'));
- ui->uninstallButton->setVisible(mod.isInstalled() && !mod.getName().contains('.'));
+ ui->installButton->setVisible(mod.isAvailable() && !mod.isSubmod());
+ ui->uninstallButton->setVisible(mod.isInstalled() && !mod.isSubmod());
ui->updateButton->setVisible(mod.isUpdateable());
// Block buttons if action is not allowed at this time
@@ -921,7 +921,7 @@ void CModListView::on_allModsView_doubleClicked(const QModelIndex &index)
bool hasBlockingMods = !findBlockingMods(modName).empty();
bool hasDependentMods = !findDependentMods(modName, true).empty();
- if(!hasInvalidDeps && mod.isAvailable() && !mod.getName().contains('.'))
+ if(!hasInvalidDeps && mod.isAvailable() && !mod.isSubmod())
{
on_installButton_clicked();
return;
diff --git a/launcher/modManager/cmodmanager.cpp b/launcher/modManager/cmodmanager.cpp
index 4e0c37e59..8e9ed4ee3 100644
--- a/launcher/modManager/cmodmanager.cpp
+++ b/launcher/modManager/cmodmanager.cpp
@@ -154,7 +154,7 @@ bool CModManager::canInstallMod(QString modname)
{
auto mod = modList->getMod(modname);
- if(mod.getName().contains('.'))
+ if(mod.isSubmod())
return addError(modname, "Can not install submod");
if(mod.isInstalled())
@@ -169,7 +169,7 @@ bool CModManager::canUninstallMod(QString modname)
{
auto mod = modList->getMod(modname);
- if(mod.getName().contains('.'))
+ if(mod.isSubmod())
return addError(modname, "Can not uninstall submod");
if(!mod.isInstalled())
diff --git a/launcher/translation/chinese.ts b/launcher/translation/chinese.ts
index 6bdd419ce..518ce01ed 100644
--- a/launcher/translation/chinese.ts
+++ b/launcher/translation/chinese.ts
@@ -120,81 +120,91 @@
+
+
+
+
+
音效
-
+
技能
-
-
+
+
其他
-
+
物件
-
+
无法确定是否分类是游戏机制或者是游戏中的战争器械
机制
-
+
界面
-
+
英雄
-
+
图像
-
+
扩展包
-
+
生物
-
+
+
+ 兼容性
+
+
+
宝物
-
+
AI
-
+
名称
-
+
类型
-
+
版本
@@ -242,164 +252,211 @@
下载并刷新仓库
-
-
+
+
详细介绍
-
+
修改日志
-
+
截图
-
+
卸载
-
+
激活
-
+
禁用
-
+
更新
-
+
安装
-
+
%p% (%v KB 完成,总共 %m KB)
-
+
终止
-
+
MOD名称
-
+
已安装的版本
-
+
最新版本
-
+
+
+
+
+
+
下载大小
-
+
作者
-
+
授权许可
-
+
联系方式
-
+
兼容性
-
-
+
+
需要VCMI版本
-
+
支持的VCMI版本
-
+
支持的VCMI版本
-
+
语言
-
+
前置MODs
-
+
冲突的MODs
-
+
这个模组无法被安装或者激活,因为下列依赖项未满足
-
+
这个模组无法被激活,因为下列模组与其不兼容
-
+
这个模组无法被禁用,因为它被下列模组所依赖
-
+
这个模组无法被卸载或者更新,因为它被下列模组所依赖
-
+
这是一个附属模组它无法在所属模组外被直接被安装或者卸载
-
+
笔记注释
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
截图 %1
-
+
MOD不兼容
@@ -407,123 +464,123 @@
CSettingsView
-
-
-
+
+
+
关闭
-
-
+
+
人工智能
-
-
+
+
模组仓库
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
开启
-
+
鼠标指针
-
+
英雄无敌3数据语言
-
+
-
+
-
+
硬件
-
+
软件
-
+
发布版本里找不到这个项,不太清楚意义
英雄无敌3翻译
-
+
启动时检查更新
-
+
全屏
-
-
+
+
通用设置
-
+
VCMI语言
-
+
分辨率
-
+
自动存档
-
+
+
+
+
+
+
显示器序号
-
+
网络端口
-
-
+
+
视频设置
-
+
显示开场动画
-
+
激活
-
+
禁用
-
+
启用
-
+
未安装
-
+
安装
+
+ Chat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FirstLaunchView
@@ -938,88 +1028,78 @@ Heroes® of Might and Magic® III HD is currently not supported!
Lobby
-
-
+
+
连接
-
+
用户名
-
+
服务器
-
-
- 大厅聊天
-
-
-
+
会话
-
+
玩家
-
+
解决
-
+
新游戏
-
+
加载游戏
-
+
新房间
-
-
- 大厅中的玩家
-
-
-
+
加入房间
-
+
准备
-
+
MODs不匹配
-
+
离开
-
+
踢出玩家
-
+
大厅中的玩家
@@ -1029,7 +1109,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
断开
-
+
没有发现问题
diff --git a/launcher/translation/english.ts b/launcher/translation/english.ts
index 4d6ad1deb..94a2f2716 100644
--- a/launcher/translation/english.ts
+++ b/launcher/translation/english.ts
@@ -120,80 +120,90 @@
-
+
-
+
-
-
+
-
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
@@ -241,164 +251,211 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -406,123 +463,123 @@
CSettingsView
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+ Chat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FirstLaunchView
@@ -930,88 +1020,78 @@ Heroes® of Might and Magic® III HD is currently not supported!
Lobby
-
-
+
+
-
+
-
+
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1021,7 +1101,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
-
+
diff --git a/launcher/translation/french.ts b/launcher/translation/french.ts
index 0bf2c7db8..3d02b580c 100644
--- a/launcher/translation/french.ts
+++ b/launcher/translation/french.ts
@@ -120,80 +120,90 @@
+
+
+
+
+
Sons
-
+
Compétences
-
-
+
+
Autre
-
+
Objets
-
+
Mécaniques
-
+
Interface
-
+
Héros
-
+
Graphisme
-
+
Extension
-
+
Créatures
-
+
+
+ Compatibilité
+
+
+
Artefacts
-
+
IA
-
+
Nom
-
+
Type
-
+
Version
@@ -241,169 +251,216 @@
Télécharger et rafraîchir les dépôts
-
-
+
+
Description
-
+
Journal
-
+
Impressions écran
-
+
%p% (%v Ko sur %m Ko)
-
+
Désinstaller
-
+
Activer
-
+
Désactiver
-
+
Mettre à jour
-
+
Installer
-
+
Abandonner
-
+
Nom du mod
-
+
Version installée
-
+
Dernière version
-
+
+
+
+
+
+
Taille de téléchargement
-
+
Auteur(s)
-
+
Licence
-
+
Contact
-
+
Compatibilité
-
-
+
+
Version requise de VCMI
-
+
Version supportée de VCMI
-
+
Versions supportées de VCMI
-
+
Langues
-
+
Mods requis
-
+
Mods en conflit
-
+
Ce mod ne peut pas être installé ou activé car les dépendances suivantes ne sont pas présents
-
+
Ce mod ne peut pas être installé ou activé, car les dépendances suivantes sont incompatibles avec lui
-
+
Ce mod ne peut pas être désactivé car il est requis pour les dépendances suivantes
-
+
Ce mod ne peut pas être désinstallé ou mis à jour car il est requis pour les dépendances suivantes
-
+
Ce sous-mod ne peut pas être installé ou mis à jour séparément du mod parent
-
+
Notes
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Impression écran %1
-
+
Ce mod est incompatible
@@ -411,43 +468,48 @@
CSettingsView
-
-
-
+
+
+
Désactivé
-
-
+
+
Intelligence Artificielle
-
-
+
+
Dépôts de Mod
-
-
-
+
+
+
Activé
-
+
IA ennemie dans les batailles
-
+
Dépôt par défaut
-
+
+
+
+
+
+
-
+
Fenêtré
-
+
Fenêtré sans bord
-
+
Plein écran exclusif
-
+
-
+
IA neutre dans les batailles
-
+
-
+
Ennemis de la carte d"aventure
-
+
-
+
-
+
Mise à l"échelle de l"interface
-
+
Curseur
-
+
Langue des Données de Heroes III
-
+
Limite de fréquence d"images
-
+
Matériel
-
+
Logiciel
-
+
Traduction de Heroes III
-
+
Alliés de la carte d"aventure
-
+
Dépôt supplémentaire
-
+
Vérifier au démarrage
-
+
Actualiser maintenant
-
+
IA amicale dans les batailles
-
+
Plein écran
-
-
+
+
Général
-
+
Langue de VCMI
-
+
Résolution
-
+
Sauvegarde automatique
-
+
Index d'affichage
-
+
Port de réseau
-
-
+
+
Vidéo
-
+
Montrer l'intro
-
+
Actif
-
+
Désactivé
-
+
Activé
-
+
Pas Installé
-
+
Installer
+
+ Chat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FirstLaunchView
@@ -947,88 +1037,78 @@ Heroes® of Might and Magic® III HD n"est actuellement pas pris en charge
Lobby
-
+
Nom d'utilisateur
-
-
+
+
Connecter
-
+
Serveur
-
-
- Joueurs à la salle d'attente
-
-
-
-
- Discussion de salle d'attente
-
-
-
+
Nouveau salon
-
+
Rejoindre le salon
-
+
Session
-
+
Joueurs
-
+
Jeter le joueur
-
+
Joueurs dans le salon
-
+
Quitter
-
+
Incohérence de mods
-
+
Prêt
-
+
Résoudre
-
+
Nouvelle partie
-
+
Charger une partie
@@ -1038,7 +1118,7 @@ Heroes® of Might and Magic® III HD n"est actuellement pas pris en charge
Déconnecter
-
+
Pas de problème détecté
diff --git a/launcher/translation/german.ts b/launcher/translation/german.ts
index fd803264f..e08a8a7ad 100644
--- a/launcher/translation/german.ts
+++ b/launcher/translation/german.ts
@@ -120,80 +120,90 @@
+
+
+
+
+
Sounds
-
+
Fertigkeiten
-
-
+
+
Andere
-
+
Objekte
-
+
Mechaniken
-
+
Schnittstelle
-
+
Helden
-
+
Grafisches
-
+
Erweiterung
-
+
Kreaturen
-
+
+
+ Kompatibilität
+
+
+
Artefakte
-
+
KI
-
+
Name
-
+
Typ
-
+
Version
@@ -241,164 +251,211 @@
Repositories herunterladen && aktualisieren
-
-
+
+
Beschreibung
-
+
Änderungslog
-
+
Screenshots
-
+
Deinstallieren
-
+
Aktivieren
-
+
Deaktivieren
-
+
Aktualisieren
-
+
Installieren
-
+
%p% (%v КB von %m КB)
-
+
Abbrechen
-
+
Mod-Name
-
+
Installierte Version
-
+
Letzte Version
-
+
+
+
+
+
+
Downloadgröße
-
+
Autoren
-
+
Lizenz
-
+
Kontakt
-
+
Kompatibilität
-
-
+
+
Benötigte VCMI Version
-
+
Unterstützte VCMI Version
-
+
Unterstützte VCMI Versionen
-
+
Sprachen
-
+
Benötigte Mods
-
+
Mods mit Konflikt
-
+
Diese Mod kann nicht installiert oder aktiviert werden, da die folgenden Abhängigkeiten nicht vorhanden sind
-
+
Diese Mod kann nicht aktiviert werden, da folgende Mods nicht mit dieser Mod kompatibel sind
-
+
Diese Mod kann nicht deaktiviert werden, da sie zum Ausführen der folgenden Mods erforderlich ist
-
+
Diese Mod kann nicht deinstalliert oder aktualisiert werden, da sie für die folgenden Mods erforderlich ist
-
+
Dies ist eine Submod und kann nicht separat von der Hauptmod installiert oder deinstalliert werden
-
+
Anmerkungen
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Screenshot %1
-
+
Mod ist inkompatibel
@@ -406,123 +463,123 @@
CSettingsView
-
-
-
+
+
+
Aus
-
-
+
+
Künstliche Intelligenz
-
-
+
+
Mod-Repositorien
-
+
Skalierung der Benutzeroberfläche
-
+
Neutrale KI in Kämpfen
-
+
Gegnerische KI in Kämpfen
-
+
Zusätzliches Repository
-
+
Abenteuerkarte Verbündete
-
+
Abenteuerkarte Feinde
-
+
Fenstermodus
-
+
Randloser Vollbildmodus
-
+
Exklusiver Vollbildmodus
-
+
Limit für Autospeicherung (0 = aus)
-
+
Freundliche KI in Kämpfen
-
+
Limit der Bildrate
-
+
Präfix für Autospeicherung
-
+
leer = Kartenname als Präfix
-
+
Jetzt aktualisieren
-
+
Standard Repository
-
-
-
+
+
+
An
-
+
Zeiger
-
+
Sprache der Heroes III Daten
-
+
-
+
-
+
Hardware
-
+
Software
-
+
Heroes III Übersetzung
-
+
Beim Start prüfen
-
+
Vollbild
-
-
+
+
Allgemein
-
+
VCMI-Sprache
-
+
Auflösung
-
+
Autospeichern
-
+
+
+
+
+
+
Anzeige-Index
-
+
Netzwerk-Port
-
-
+
+
Video
-
+
Intro anzeigen
-
+
Aktiv
-
+
Deaktiviert
-
+
Aktivieren
-
+
Nicht installiert
-
+
Installieren
+
+ Chat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FirstLaunchView
@@ -942,88 +1032,78 @@ Heroes III: HD Edition wird derzeit nicht unterstützt!
Lobby
-
-
+
+
Verbinden
-
+
Benutzername
-
+
Server
-
-
- Lobby-Chat
-
-
-
+
Sitzung
-
+
Spieler
-
+
Auflösen
-
+
Neues Spiel
-
+
Spiel laden
-
+
Neuer Raum
-
-
- Spieler in der Lobby
-
-
-
+
Raum beitreten
-
+
Bereit
-
+
Mods stimmen nicht überein
-
+
Verlassen
-
+
Spieler kicken
-
+
Spieler im Raum
@@ -1033,7 +1113,7 @@ Heroes III: HD Edition wird derzeit nicht unterstützt!
Verbindung trennen
-
+
Keine Probleme festgestellt
diff --git a/launcher/translation/polish.ts b/launcher/translation/polish.ts
index 75ea0498f..4116e62f7 100644
--- a/launcher/translation/polish.ts
+++ b/launcher/translation/polish.ts
@@ -120,80 +120,90 @@
+
+
+
+
+
Dźwięki
-
+
Umiejętności
-
-
+
+
Inne
-
+
Obiekty
-
+
Mechaniki
-
+
Interfejs
-
+
Bohaterowie
-
+
Graficzny
-
+
Dodatek
-
+
Stworzenia
-
+
+
+ Kompatybilność
+
+
+
Artefakty
-
+
AI
-
+
Nazwa
-
+
Typ
-
+
Wersja
@@ -241,164 +251,211 @@
Pobierz i odśwież repozytoria
-
-
+
+
Opis
-
+
Lista zmian
-
+
Zrzuty ekranu
-
+
Odinstaluj
-
+
Włącz
-
+
Wyłącz
-
+
Zaktualizuj
-
+
Zainstaluj
-
+
%p% (%v KB z %m KB)
-
+
Przerwij
-
+
Nazwa moda
-
+
Zainstalowana wersja
-
+
Najnowsza wersja
-
+
+
+
+
+
+
Rozmiar pobierania
-
+
Autorzy
-
+
Licencja
-
+
Kontakt
-
+
Kompatybilność
-
-
+
+
Wymagana wersja VCMI
-
+
Wspierana wersja VCMI
-
+
Wspierane wersje VCMI
-
+
Języki
-
+
Wymagane mody
-
+
Konfliktujące mody
-
+
Ten mod nie może zostać zainstalowany lub włączony ponieważ następujące zależności nie zostały spełnione
-
+
Ten mod nie może zostać włączony ponieważ następujące mody są z nim niekompatybilne
-
+
Ten mod nie może zostać wyłączony ponieważ jest wymagany do uruchomienia następujących modów
-
+
Ten mod nie może zostać odinstalowany lub zaktualizowany ponieważ jest wymagany do uruchomienia następujących modów
-
+
To jest moduł składowy innego moda i nie może być zainstalowany lub odinstalowany oddzielnie od moda nadrzędnego
-
+
Uwagi
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Zrzut ekranu %1
-
+
Mod jest niekompatybilny
@@ -406,123 +463,123 @@
CSettingsView
-
-
-
+
+
+
Wyłączony
-
-
+
+
Sztuczna Inteligencja
-
-
+
+
Repozytoria modów
-
+
Skala interfejsu
-
+
AI bitewne jednostek neutralnych
-
+
AI bitewne wrogów
-
+
Dodatkowe repozytorium
-
+
AI sojuszników mapy przygody
-
+
AI wrogów mapy przygody
-
+
Okno
-
+
Pełny ekran (tryb okna)
-
+
Pełny ekran klasyczny
-
+
Limit autozapisów (0 = brak)
-
+
AI bitewne sojuszników
-
+
Limit FPS
-
+
Przedrostek autozapisu
-
+
puste = przedrostek z nazwy mapy
-
+
Odśwież
-
+
Domyślne repozytorium
-
-
-
+
+
+
Włączony
-
+
Kursor
-
+
Język plików Heroes III
-
+
-
+
-
+
Sprzętowy
-
+
Programowy
-
+
Tłumaczenie Heroes III
-
+
Sprawdzaj przy uruchomieniu
-
+
Pełny ekran
-
-
+
+
Ogólne
-
+
Język VCMI
-
+
Rozdzielczość
-
+
Autozapis
-
+
+
+
+
+
+
Numer wyświetlacza
-
+
Port sieciowy
-
-
+
+
Obraz
-
+
Pokaż intro
-
+
Aktywny
-
+
Wyłączone
-
+
Włącz
-
+
Nie zainstalowano
-
+
Zainstaluj
+
+ Chat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FirstLaunchView
@@ -942,88 +1032,78 @@ Heroes III: HD Edition nie jest obecnie wspierane!
Lobby
-
-
+
+
Połącz
-
+
Nazwa użytkownika
-
+
Serwer
-
-
- Czat lobby
-
-
-
+
Sesja
-
+
Gracze
-
+
Rozwiąż
-
+
Nowa gra
-
+
Wczytaj grę
-
+
Nowy pokój
-
-
- Gracze w lobby
-
-
-
+
Dołącz
-
+
Zgłoś gotowość
-
+
Niezgodność modów
-
+
Wyjdź
-
+
Wyrzuć gracza
-
+
Gracze w pokoju
@@ -1033,7 +1113,7 @@ Heroes III: HD Edition nie jest obecnie wspierane!
Rozłącz
-
+
Nie znaleziono problemów
diff --git a/launcher/translation/russian.ts b/launcher/translation/russian.ts
index a5ef0dd5c..718618d7d 100644
--- a/launcher/translation/russian.ts
+++ b/launcher/translation/russian.ts
@@ -120,80 +120,90 @@
+
+
+
+
+
Звуки
-
+
Навыки
-
-
+
+
Иное
-
+
Объекты
-
+
Механика
-
+
Интерфейс
-
+
Герои
-
+
Графика
-
+
Дополнение
-
+
Существа
-
+
+
+ Совместимость
+
+
+
Артефакт
-
+
ИИ
-
+
Название
-
+
Тип
-
+
Версия
@@ -241,164 +251,211 @@
Обновить репозиторий
-
-
+
+
Описание
-
+
Изменения
-
+
Скриншоты
-
+
Удалить
-
+
Включить
-
+
Отключить
-
+
Обновить
-
+
Установить
-
+
%p% (%v КБ з %m КБ)
-
+
Отмена
-
+
Название мода
-
+
Установленная версия
-
+
Последняя версия
-
+
+
+
+
+
+
Размер загрузки
-
+
Авторы
-
+
Лицензия
-
+
Контакты
-
+
Совместимость
-
-
+
+
Требуемая версия VCMI
-
+
Поддерживаемая версия VCMI
-
+
Поддерживаемые версии VCMI
-
+
Языки
-
+
Зависимости
-
+
Конфликтующие моды
-
+
Этот мод не может быть установлен или активирован, так как отсутствуют следующие зависимости
-
+
Этот мод не может быть установлен или активирован, так как следующие моды несовместимы с этим
-
+
Этот мод не может быть выключен, так как он является зависимостью для следующих
-
+
Этот мод не может быть удален или обновлен, так как является зависимостью для следующих модов
-
+
Это вложенный мод, он не может быть установлен или удален отдельно от родительского
-
+
Замечания
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Скриншот %1
-
+
Мод несовместим
@@ -406,149 +463,154 @@
CSettingsView
-
+
-
-
-
+
+
+
Отключено
-
-
-
+
+
+
Включено
-
+
-
+
-
+
-
+
Проверять при запуске
-
+
Полноэкранный режим
-
-
+
+
Общее
-
+
Язык VCMI
-
+
Курсор
-
-
+
+
Искусственный интеллект
-
-
+
+
Репозитории модов
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Язык данных Героев III
-
+
-
+
Аппаратный
-
+
Программный
-
+
Перевод Героев III
-
+
Разрешение экрана
-
+
Автосохранение
-
+
Дисплей
-
+
Сетевой порт
-
-
+
+
Графика
-
+
Вступление
-
+
Активен
-
+
Отключен
-
+
Включить
-
+
Не установлен
-
+
Установить
+
+ Chat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FirstLaunchView
@@ -936,88 +1026,78 @@ Heroes® of Might and Magic® III HD is currently not supported!
Lobby
-
-
+
+
Подключиться
-
+
Имя пользователя
-
+
Сервер
-
-
- Чат лобби
-
-
-
+
Сессия
-
+
Игроки
-
+
Скорректировать
-
+
Новая игра
-
+
Загрузить игру
-
+
Создать комнату
-
-
- Люди в лобби
-
-
-
+
Присоединиться к комнате
-
+
Готово
-
+
Моды не совпадают
-
+
Выйти
-
+
Выгнать игрока
-
+
Игроки в комнате
@@ -1027,7 +1107,7 @@ Heroes® of Might and Magic® III HD is currently not supported!
Отключиться
-
+
Проблем не обнаружено
diff --git a/launcher/translation/spanish.ts b/launcher/translation/spanish.ts
index 04499cedf..b0a953ab7 100644
--- a/launcher/translation/spanish.ts
+++ b/launcher/translation/spanish.ts
@@ -120,80 +120,90 @@
+
+
+
+
+
Sonidos
-
+
Habilidades
-
-
+
+
Otro
-
+
Objetos
-
+
Mecánicas
-
+
Interfaz
-
+
Heroes
-
+
Gráficos
-
+
Expansión
-
+
Criaturas
-
+
+
+ Compatibilidad
+
+
+
Artefactos
-
+
IA
-
+
Nombre
-
+
Tipo
-
+
Versión
@@ -241,164 +251,211 @@
Descargar y actualizar repositorios
-
-
+
+
Descripción
-
+
Registro de cambios
-
+
Capturas de pantalla
-
+
Desinstalar
-
+
Activar
-
+
Desactivar
-
+
Actualizar
-
+
Instalar
-
+
%p% (%v KB de %m KB)
-
+
Cancelar
-
+
Nombre del mod
-
+
Versión instalada
-
+
Última versión
-
+
+
+
+
+
+
Tamaño de descarga
-
+
Autores
-
+
Licencia
-
+
Contacto
-
+
Compatibilidad
-
-
+
+
Versión de VCMI requerida
-
+
Versión de VCMI compatible
-
+
Versiones de VCMI compatibles
-
+
Idiomas
-
+
Mods requeridos
-
+
Mods conflictivos
-
+
Este mod no se puede instalar o habilitar porque no están presentes las siguientes dependencias
-
+
Este mod no se puede habilitar porque los siguientes mods son incompatibles con él
-
+
No se puede desactivar este mod porque es necesario para ejecutar los siguientes mods
-
+
No se puede desinstalar o actualizar este mod porque es necesario para ejecutar los siguientes mods
-
+
Este es un submod y no se puede instalar o desinstalar por separado del mod principal
-
+
Notas
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Captura de pantalla %1
-
+
El mod es incompatible
@@ -406,170 +463,175 @@
CSettingsView
-
-
-
+
+
+
Desactivado
-
-
+
+
Inteligencia Artificial
-
-
+
+
Repositorios de Mods
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
Encendido
-
+
Cursor
-
+
Traducción de Heroes III
-
+
-
+
Pantalla completa
-
-
+
+
General
-
+
Idioma de VCMI
-
+
Resolución
-
+
Autoguardado
-
+
+
+
+
+
+
Mostrar índice
-
+
Puerto de red
-
-
+
+
Vídeo
-
+
-
+
Hardware
-
+
Software
-
+
Mostrar introducción
-
+
Comprovar al inicio
-
+
Idioma de los datos de Heroes III.
-
+
Activado
-
+
Desactivado
-
+
Activar
-
+
No Instalado
-
+
Instalar
+
+ Chat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FirstLaunchView
@@ -936,88 +1026,78 @@ Ten en cuenta que para usar VCMI debes ser dueño de los archivos de datos origi
Lobby
-
-
+
+
Conectar
-
+
Nombre de usuario
-
+
Servidor
-
-
- Charlar en la sala
-
-
-
+
Sesión
-
+
Jugadores
-
+
Resolver
-
+
Nueva partida
-
+
Cargar partida
-
+
Nueva sala
-
-
- Jugadores en la sala
-
-
-
+
Unirse a la sala
-
+
Listo
-
+
No coinciden los mods
-
+
Salir
-
+
Expulsar jugador
-
+
Jugadores en la sala
@@ -1027,7 +1107,7 @@ Ten en cuenta que para usar VCMI debes ser dueño de los archivos de datos origi
Desconectar
-
+
No se han detectado problemas
diff --git a/launcher/translation/ukrainian.ts b/launcher/translation/ukrainian.ts
index d3015e426..37c76d07c 100644
--- a/launcher/translation/ukrainian.ts
+++ b/launcher/translation/ukrainian.ts
@@ -120,80 +120,90 @@
+
+ Мапи
+
+
+
Звуки
-
+
Вміння
-
-
+
+
Інше
-
+
Об'єкти
-
+
Механіки
-
+
Інтерфейс
-
+
Герої
-
+
Графічний
-
+
Розширення
-
+
Істоти
-
+
+
+ Сумісність
+
+
+
Артефакти
-
+
ШІ
-
+
Назва
-
+
Тип
-
+
Версія
@@ -241,164 +251,218 @@
Оновити репозиторії
-
-
+
+
Опис
-
+
Зміни
-
+
Знімки
-
+
Видалити
-
+
Активувати
-
+
Деактивувати
-
+
Оновити
-
+
Встановити
-
+
%p% (%v КБ з %m КБ)
-
+
Відмінити
-
+
Назва модифікації
-
+
Встановлена версія
-
+
Найновіша версія
-
+
+
+ Розмір
+
+
+
Розмір для завантаження
-
+
Автори
-
+
Ліцензія
-
+
Контакти
-
+
Сумісність
-
-
+
+
Необхідна версія VCMI
-
+
Підтримувана версія VCMI
-
+
Підтримувані версії VCMI
-
+
Мови
-
+
Необхідні модифікації
-
+
Конфліктуючі модифікації
-
+
Цю модифікацію не можна встановити чи активувати, оскільки відсутні наступні залежності
-
+
Цю модифікацію не можна ввімкнути, оскільки наступні модифікації несумісні з цією модифікацією
-
+
Цю модифікацію не можна відключити, оскільки вона необхідна для запуску наступних модифікацій
-
+
Цю модифікацію не можна видалити або оновити, оскільки вона необхідна для запуску наступних модифікацій
-
+
Це вкладена модифікація, і її не можна встановити або видалити окремо від батьківської модифікації
-
+
Примітки
-
+
+
+ Завантажуємо %s%. %p% (%v МБ з %m Мб) виконано
+
+
+
+
+ Помилка завантаження
+
+
+
+
+ Не вдалося завантажити усі файли.
+
+Виникли помилки:
+
+
+
+
+
+
+
+
+Встановити успішно завантажені?
+
+
+
+
+ Встановлення модифікації %1
+
+
+
+
+ Операція завершилася невдало
+
+
+
+
+ Виникли помилки:
+
+
+
+
Знімок екрану %1
-
+
Модифікація несумісна
@@ -406,123 +470,123 @@
CSettingsView
-
-
-
+
+
+
Вимкнено
-
-
+
+
Штучний інтелект
-
-
+
+
Репозиторії модифікацій
-
+
Масштабування інтерфейсу
-
+
Нейтральний ШІ в боях
-
+
Ворожий ШІ в боях
-
+
Додатковий репозиторій
-
+
Союзники на мапі пригод
-
+
Вороги на мапі пригод
-
+
У вікні
-
+
Повноекранне вікно
-
+
Повноекранний (ексклюзивно)
-
+
Кількість автозбережень
-
+
Дружній ШІ в боях
-
+
Обмеження частоти кадрів
-
+
Префікс назв автозбережень
-
+
(використовувати назву карти)
-
+
Оновити зараз
-
+
Стандартний репозиторій
-
-
-
+
+
+
Увімкнено
-
+
Курсор
-
+
Мова Heroes III
-
+
-
+
Зарезервована зона екрану
-
+
Апаратний
-
+
Програмний
-
+
Переклад Heroes III
-
+
Перевіряти на старті
-
+
Повноекранний режим
-
-
+
+
Загальні налаштування
-
+
Мова VCMI
-
+
Роздільна здатність
-
+
Автозбереження
-
+
+
+ Вертикальна синхронізація
+
+
+
Дісплей
-
+
Мережевий порт
-
-
+
+
Графіка
-
+
Вступні відео
-
+
Активні
-
+
Деактивований
-
+
Активувати
-
+
Не встановлено
-
+
Встановити
+
+ Chat
+
+
+
+
+
+
+
+
+ Гравців у лобі
+
+
+
+
+ Загальний чат
+
+
+
+
+ введіть повідомлення
+
+
+
+
+ Відправити
+
+
FirstLaunchView
@@ -942,88 +1039,78 @@ Heroes® of Might and Magic® III HD наразі не підтримуєтьс
Lobby
-
-
+
+
Підключитися
-
+
Ім'я користувача
-
+
Сервер
-
-
- Лобі чат
-
-
-
+
Сесія
-
+
Гравці
-
+
Розв'язати
-
+
Нова гра
-
+
Завантажити гру
-
+
Створити кімнату
-
-
- Гравці у лобі
-
-
-
+
Приєднатися до кімнати
-
+
Готовність
-
+
Модифікації, що не збігаються
-
+
Вийти з кімнати
-
+
Виключити гравця
-
+
Гравці у кімнаті
@@ -1033,7 +1120,7 @@ Heroes® of Might and Magic® III HD наразі не підтримуєтьс
Від'єднатися
-
+
Проблем не виявлено
diff --git a/launcher/translation/vietnamese.ts b/launcher/translation/vietnamese.ts
index 79c7518ad..f92e9e7fe 100644
--- a/launcher/translation/vietnamese.ts
+++ b/launcher/translation/vietnamese.ts
@@ -120,80 +120,90 @@
+
+
+
+
+
Âm thanh
-
+
Kĩ năng
-
-
+
+
Khác
-
+
Đối tượng
-
+
Cơ chế
-
+
Giao diện
-
+
Tướng
-
+
Đồ họa
-
+
Bản mở rộng
-
+
Quái
-
+
+
+ Tương thích
+
+
+
Vật phẩm
-
+
Trí tuệ nhân tạo
-
+
Tên
-
+
Loại
-
+
Phiên bản
@@ -241,164 +251,211 @@
Tải lại
-
-
+
+
Mô tả
-
+
Các thay đổi
-
+
Hình ảnh
-
+
Gỡ bỏ
-
+
Bật
-
+
Tắt
-
+
Cập nhật
-
+
Cài đặt
-
+
%p% (%v KB trong số %m KB)
-
+
Hủy
-
+
Tên bản sửa đổi
-
+
Phiên bản cài đặt
-
+
Phiên bản mới nhất
-
+
+
+
+
+
+
Kích thước tải về
-
+
Tác giả
-
+
Giấy phép
-
+
Liên hệ
-
+
Tương thích
-
-
+
+
Cần phiên bản VCMI
-
+
Hỗ trợ phiên bản VCMI
-
+
Phiên bản VCMI hỗ trợ
-
+
Ngôn ngữ
-
+
Cần các bản sửa đổi
-
+
Bản sửa đổi không tương thích
-
+
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
-
+
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
-
+
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
-
+
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
-
+
Đây là bản con, không thể cài đặt hoặc gỡ bỏ tách biệt với bản cha
-
+
Ghi chú
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Hình ảnh %1
-
+
Bản sửa đổi này không tương thích
@@ -406,123 +463,123 @@
CSettingsView
-
-
-
+
+
+
Tắt
-
-
+
+
Trí tuệ nhân tạo
-
-
+
+
Nguồn bản sửa đổi
-
+
Phóng đại giao diện
-
+
Máy hoang dã trong trận đánh
-
+
Máy đối thủ trong trận đánh
-
+
Nguồn bổ sung
-
+
Máy liên minh ở bản đồ phiêu lưu
-
+
Máy đối thủ ở bản đồ phiêu lưu
-
+
Cửa sổ
-
+
Toàn màn hình không viền
-
+
Toàn màn hình riêng biệt
-
+
Giới hạn lưu tự động (0 = không giới hạn)
-
+
Máy liên minh trong trận đánh
-
+
Giới hạn khung hình
-
+
Thêm tiền tố vào lưu tự động
-
+
Rỗng = tên bản đồ
-
+
Làm mới
-
+
Nguồn mặc định
-
-
-
+
+
+
Bật
-
+
Con trỏ
-
+
Ngôn ngữ dữ liệu Heroes III
-
+
-
+
Diện tích màn hình dành riêng
-
+
Phần cứng
-
+
Phần mềm
-
+
Bản dịch Heroes III
-
+
Kiểm tra khi khởi động
-
+
Toàn màn hình
-
-
+
+
Chung
-
+
Ngôn ngữ VCMI
-
+
Độ phân giải
-
+
Tự động lưu
-
+
+
+
+
+
+
Mục hiện thị
-
+
Cổng mạng
-
-
+
+
Phim ảnh
-
+
Hiện thị giới thiệu
-
+
Bật
-
+
Tắt
-
+
Bật
-
+
Chưa cài đặt
-
+
Cài đặt
+
+ Chat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FirstLaunchView
@@ -942,88 +1032,78 @@ Hiện tại chưa hỗ trợ Heroes® of Might and Magic® III HD!
Lobby
-
-
+
+
Kết nối
-
+
Tên đăng nhập
-
+
Máy chủ
-
-
- Trò chuyện
-
-
-
+
Phiên
-
+
Người chơi
-
+
Phân tích
-
+
Tạo mới
-
+
Tải lại
-
+
Tạo phòng
-
-
- Người chơi trong sảnh
-
-
-
+
Vào phòng
-
+
Sẵn sàng
-
+
Bản sửa đổi chưa giống
-
+
Rời khỏi
-
+
Mời ra
-
+
Người chơi trong phòng
@@ -1033,7 +1113,7 @@ Hiện tại chưa hỗ trợ Heroes® of Might and Magic® III HD!Thoát
-
+
Không có vấn đề
@@ -1103,19 +1183,18 @@ Hiện tại chưa hỗ trợ Heroes® of Might and Magic® III HD!UpdateDialog
-
- Bạn đã có phiên bản mới nhất
+
+
-
Đóng
-
- Cập nhật khi khởi động
+
+
diff --git a/lib/modding/CModHandler.cpp b/lib/modding/CModHandler.cpp
index 1414817f5..829ce6077 100644
--- a/lib/modding/CModHandler.cpp
+++ b/lib/modding/CModHandler.cpp
@@ -128,8 +128,8 @@ std::vector CModHandler::validateAndSortDependencies(std::vector error("Mod '%s' will not work: it depends on mod '%s', which is not installed.", brokenMod.getVerificationInfo().name, dependency);
+ if(!vstd::contains(resolvedModIDs, dependency) && brokenMod.config["modType"].String() != "Compatibility")
+ logMod->error("Mod '%s' has been disabled: dependency '%s' is missing.", brokenMod.getVerificationInfo().name, dependency);
}
}
return sortedValidMods;
diff --git a/lib/modding/CModInfo.cpp b/lib/modding/CModInfo.cpp
index d90ce08ae..0e534da45 100644
--- a/lib/modding/CModInfo.cpp
+++ b/lib/modding/CModInfo.cpp
@@ -32,7 +32,6 @@ CModInfo::CModInfo():
CModInfo::CModInfo(const std::string & identifier, const JsonNode & local, const JsonNode & config):
identifier(identifier),
- description(config["description"].String()),
dependencies(config["depends"].convertTo>()),
conflicts(config["conflicts"].convertTo>()),
explicitlyEnabled(false),
@@ -45,7 +44,7 @@ CModInfo::CModInfo(const std::string & identifier, const JsonNode & local, const
verificationInfo.parent = identifier.substr(0, identifier.find_last_of('.'));
if(verificationInfo.parent == identifier)
verificationInfo.parent.clear();
-
+
if(!config["compatibility"].isNull())
{
vcmiCompatibleMin = CModVersion::fromString(config["compatibility"]["min"].String());
@@ -98,11 +97,7 @@ void CModInfo::loadLocalData(const JsonNode & data)
implicitlyEnabled = true;
explicitlyEnabled = !config["keepDisabled"].Bool();
verificationInfo.checksum = 0;
- if (data.getType() == JsonNode::JsonType::DATA_BOOL)
- {
- explicitlyEnabled = data.Bool();
- }
- if (data.getType() == JsonNode::JsonType::DATA_STRUCT)
+ if (data.isStruct())
{
explicitlyEnabled = data["active"].Bool();
validated = data["validated"].Bool();
@@ -116,20 +111,27 @@ void CModInfo::loadLocalData(const JsonNode & data)
if(!implicitlyEnabled)
logGlobal->warn("Mod %s is incompatible with current version of VCMI and cannot be enabled", verificationInfo.name);
- if (boost::iequals(config["modType"].String(), "translation")) // compatibility code - mods use "Translation" type at the moment
+ if (config["modType"].String() == "Translation")
{
if (baseLanguage != VLC->generaltexth->getPreferredLanguage())
{
- logGlobal->warn("Translation mod %s was not loaded: language mismatch!", verificationInfo.name);
+ if (identifier.find_last_of('.') == std::string::npos)
+ logGlobal->warn("Translation mod %s was not loaded: language mismatch!", verificationInfo.name);
implicitlyEnabled = false;
}
}
+ if (config["modType"].String() == "Compatibility")
+ {
+ // compatibility mods are always explicitly enabled
+ // however they may be implicitly disabled - if one of their dependencies is missing
+ explicitlyEnabled = true;
+ }
if (isEnabled())
validation = validated ? PASSED : PENDING;
else
validation = validated ? PASSED : FAILED;
-
+
verificationInfo.impactsGameplay = checkModGameplayAffecting();
}
@@ -185,9 +187,4 @@ bool CModInfo::isEnabled() const
return implicitlyEnabled && explicitlyEnabled;
}
-void CModInfo::setEnabled(bool on)
-{
- explicitlyEnabled = on;
-}
-
VCMI_LIB_NAMESPACE_END
diff --git a/lib/modding/CModInfo.h b/lib/modding/CModInfo.h
index 7469e1f19..f9f227e2a 100644
--- a/lib/modding/CModInfo.h
+++ b/lib/modding/CModInfo.h
@@ -87,7 +87,6 @@ public:
void updateChecksum(ui32 newChecksum);
bool isEnabled() const;
- void setEnabled(bool on);
static std::string getModDir(const std::string & name);
static JsonPath getModFile(const std::string & name);