diff --git a/apps/launcher/advancedpage.cpp b/apps/launcher/advancedpage.cpp
index fe3afc6a8..6f2811e66 100644
--- a/apps/launcher/advancedpage.cpp
+++ b/apps/launcher/advancedpage.cpp
@@ -82,6 +82,13 @@ bool Launcher::AdvancedPage::loadSettings()
loadSettingBool(requireAppropriateAmmunitionCheckBox, "only appropriate ammunition bypasses resistance", "Game");
loadSettingBool(magicItemAnimationsCheckBox, "use magic item animations", "Game");
loadSettingBool(normaliseRaceSpeedCheckBox, "normalise race speed", "Game");
+ connect(animSourcesCheckBox, SIGNAL(toggled(bool)), this, SLOT(slotAnimSourcesToggled(bool)));
+ loadSettingBool(animSourcesCheckBox, "use additional anim sources", "Game");
+ if (animSourcesCheckBox->checkState())
+ {
+ loadSettingBool(weaponSheathingCheckBox, "weapon sheathing", "Game");
+ loadSettingBool(shieldSheathingCheckBox, "shield sheathing", "Game");
+ }
// Input Settings
loadSettingBool(grabCursorCheckBox, "grab cursor", "Input");
@@ -142,6 +149,9 @@ void Launcher::AdvancedPage::saveSettings()
saveSettingBool(requireAppropriateAmmunitionCheckBox, "only appropriate ammunition bypasses resistance", "Game");
saveSettingBool(magicItemAnimationsCheckBox, "use magic item animations", "Game");
saveSettingBool(normaliseRaceSpeedCheckBox, "normalise race speed", "Game");
+ saveSettingBool(animSourcesCheckBox, "use additional anim sources", "Game");
+ saveSettingBool(weaponSheathingCheckBox, "weapon sheathing", "Game");
+ saveSettingBool(shieldSheathingCheckBox, "shield sheathing", "Game");
// Input Settings
saveSettingBool(grabCursorCheckBox, "grab cursor", "Input");
@@ -184,3 +194,14 @@ void Launcher::AdvancedPage::slotLoadedCellsChanged(QStringList cellNames)
{
loadCellsForAutocomplete(cellNames);
}
+
+void Launcher::AdvancedPage::slotAnimSourcesToggled(bool checked)
+{
+ weaponSheathingCheckBox->setEnabled(checked);
+ shieldSheathingCheckBox->setEnabled(checked);
+ if (!checked)
+ {
+ weaponSheathingCheckBox->setCheckState(Qt::Unchecked);
+ shieldSheathingCheckBox->setCheckState(Qt::Unchecked);
+ }
+}
diff --git a/apps/launcher/advancedpage.hpp b/apps/launcher/advancedpage.hpp
index 59de3d319..3f5e5bfa7 100644
--- a/apps/launcher/advancedpage.hpp
+++ b/apps/launcher/advancedpage.hpp
@@ -29,6 +29,7 @@ namespace Launcher
private slots:
void on_skipMenuCheckBox_stateChanged(int state);
void on_runScriptAfterStartupBrowseButton_clicked();
+ void slotAnimSourcesToggled(bool checked);
private:
Files::ConfigurationManager &mCfgMgr;
diff --git a/docs/source/reference/modding/extended.rst b/docs/source/reference/modding/extended.rst
index c17afcf79..bf2b2b74f 100644
--- a/docs/source/reference/modding/extended.rst
+++ b/docs/source/reference/modding/extended.rst
@@ -197,10 +197,6 @@ The appearance and count of shown ammunition depends on type and count of equipp
It is important to make sure the names of empty nodes start with ``"Bip01 "``, or the engine will optimize them out.
-4. Shields
-
-Shield holstering is not supported at the moment since it conflicts with any mods which use pseudo-shields as held items (such as Animated Morrowind and Hold It).
-
An example of a mod which uses this feature is `Weapon Sheathing`_.
diff --git a/files/ui/advancedpage.ui b/files/ui/advancedpage.ui
index 7421f7f78..8748a6d0b 100644
--- a/files/ui/advancedpage.ui
+++ b/files/ui/advancedpage.ui
@@ -169,6 +169,63 @@
+ -
+
+
+ <html><head/><body><p>Load per-group KF-files and skeleton files from Animations folder</p></body></html>
+
+
+ Use additional animation sources
+
+
+
+ -
+
+
+
+ 6
+
+
+ 20
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ false
+
+
+ <html><head/><body><p>Render holstered weapons (with quivers and scabbards), requires modded assets.</p></body></html>
+
+
+ Weapon sheathing
+
+
+
+ -
+
+
+ false
+
+
+ <html><head/><body><p>Render holstered shield, requires modded assets.</p></body></html>
+
+
+ Shield sheathing
+
+
+
+
+
+