diff options
Diffstat (limited to 'libs/form43_checker_native/src')
| -rw-r--r-- | libs/form43_checker_native/src/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | libs/form43_checker_native/src/form43checker.cpp | 131 | ||||
| -rw-r--r-- | libs/form43_checker_native/src/form43checker.h | 53 |
3 files changed, 0 insertions, 195 deletions
diff --git a/libs/form43_checker_native/src/CMakeLists.txt b/libs/form43_checker_native/src/CMakeLists.txt deleted file mode 100644 index 9e847f6..0000000 --- a/libs/form43_checker_native/src/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.16) - -file(GLOB form43_checker_native_SOURCES CONFIGURE_DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/*.h -) - -add_library(form43_checker_native SHARED ${form43_checker_native_SOURCES}) -mo2_configure_plugin(form43_checker_native NO_SOURCES WARNINGS OFF) -target_link_libraries(form43_checker_native PRIVATE mo2::uibase) -mo2_install_plugin(form43_checker_native) diff --git a/libs/form43_checker_native/src/form43checker.cpp b/libs/form43_checker_native/src/form43checker.cpp deleted file mode 100644 index e3cb676..0000000 --- a/libs/form43_checker_native/src/form43checker.cpp +++ /dev/null @@ -1,131 +0,0 @@ -#include "form43checker.h" - -#include <uibase/ipluginlist.h> -#include <uibase/pluginrequirements.h> - -#include <QCoreApplication> -#include <QFileInfo> - -using namespace MOBase; - -Form43Checker::Form43Checker() : m_organizer(nullptr) {} - -bool Form43Checker::init(IOrganizer* moInfo) -{ - m_organizer = moInfo; - return true; -} - -QString Form43Checker::name() const -{ - return "Form 43 Plugin Checker (Native)"; -} - -QString Form43Checker::localizedName() const -{ - return tr("Form 43 Plugin Checker (Native)"); -} - -QString Form43Checker::author() const -{ - return "AnyOldName3"; -} - -QString Form43Checker::description() const -{ - return tr("Checks plugins (.ESM/.ESP files) to see if any are lower than " - "Form 44 (Skyrim SE)."); -} - -VersionInfo Form43Checker::version() const -{ - return VersionInfo(1, 2, 0, VersionInfo::RELEASE_FINAL); -} - -std::vector<std::shared_ptr<const IPluginRequirement>> -Form43Checker::requirements() const -{ - return {PluginRequirementFactory::gameDependency("Skyrim Special Edition")}; -} - -QList<PluginSetting> Form43Checker::settings() const -{ - return {}; -} - -std::vector<unsigned int> Form43Checker::activeProblems() const -{ - updateInvalidPlugins(); - if (!m_invalidPlugins.isEmpty()) { - return {PROBLEM_FORM43}; - } - return {}; -} - -QString Form43Checker::shortDescription(unsigned int key) const -{ - return tr("Form 43 (or lower) plugin detected"); -} - -QString Form43Checker::fullDescription(unsigned int key) const -{ - QStringList plugins = listPlugins(); - QString pluginListString = - "<br><br>\u2022 " + plugins.join("<br>\u2022 "); - - QString output = tr("You have one or more plugins that are not form 44. " - "They are:%1") - .arg(pluginListString); - output += "<br><br>"; - output += tr( - "Form 43 (or lower) plugins are modules that were made for Skyrim LE " - "(Oldrim) and have not been properly ported to Skyrim Special Edition, " - "which uses form 44 plugins. This usually results in parts of the mod " - "not working correctly." - "<br><br>" - "To be converted, these plugins simply need to be opened and saved with " - "the SSE Creation Kit but their presence can be an indication that a mod " - "was not properly ported to SSE and so can potentially have additional " - "issues." - "<br><br>" - "Online guides can have more information on how to correctly convert mods " - "for Skyrim SE.<br>"); - return output; -} - -bool Form43Checker::hasGuidedFix(unsigned int key) const -{ - return false; -} - -void Form43Checker::startGuidedFix(unsigned int key) const {} - -void Form43Checker::updateInvalidPlugins() const -{ - m_invalidPlugins.clear(); - QStringList files = m_organizer->findFiles( - "", QStringList() << "*.esp" << "*.esm"); - for (const QString& file : files) { - int ver = getFormVersion(file); - if (ver != -1 && ver < 44) { - m_invalidPlugins.append(file); - } - } -} - -int Form43Checker::getFormVersion(const QString& file) const -{ - QString pluginName = QFileInfo(file).fileName(); - return m_organizer->pluginList()->formVersion(pluginName); -} - -QStringList Form43Checker::listPlugins() const -{ - QStringList result; - for (const QString& file : m_invalidPlugins) { - QString pluginName = QFileInfo(file).fileName(); - int ver = getFormVersion(file); - result.append(QString("%1 (form %2)").arg(pluginName).arg(ver)); - } - return result; -} diff --git a/libs/form43_checker_native/src/form43checker.h b/libs/form43_checker_native/src/form43checker.h deleted file mode 100644 index 583c7fa..0000000 --- a/libs/form43_checker_native/src/form43checker.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef FORM43CHECKER_H -#define FORM43CHECKER_H - -#include <memory> - -#include <QString> -#include <QStringList> - -#include <uibase/iplugin.h> -#include <uibase/iplugindiagnose.h> -#include <uibase/pluginrequirements.h> - -class Form43Checker : public QObject, - public MOBase::IPlugin, - public MOBase::IPluginDiagnose -{ - Q_OBJECT - Q_INTERFACES(MOBase::IPlugin MOBase::IPluginDiagnose) - Q_PLUGIN_METADATA(IID "org.tannin.Form43CheckerNative") - -public: - Form43Checker(); - -public: // IPlugin - bool init(MOBase::IOrganizer* moInfo) override; - QString name() const override; - QString localizedName() const override; - QString author() const override; - QString description() const override; - MOBase::VersionInfo version() const override; - std::vector<std::shared_ptr<const MOBase::IPluginRequirement>> - requirements() const override; - QList<MOBase::PluginSetting> settings() const override; - -public: // IPluginDiagnose - std::vector<unsigned int> activeProblems() const override; - QString shortDescription(unsigned int key) const override; - QString fullDescription(unsigned int key) const override; - bool hasGuidedFix(unsigned int key) const override; - void startGuidedFix(unsigned int key) const override; - -private: - static const unsigned int PROBLEM_FORM43 = 0; - - void updateInvalidPlugins() const; - int getFormVersion(const QString& file) const; - QStringList listPlugins() const; - - MOBase::IOrganizer* m_organizer; - mutable QStringList m_invalidPlugins; -}; - -#endif // FORM43CHECKER_H |
