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 + + + + + +