Skip to content

Rework the Plugin Checker to warn about more advanced types of problems #83

@lojack5

Description

@lojack5

The plugin checker (previously called 'mod checker', but we're trying to get away from terms like 'mod' and 'espm') is quite useful already. It includes a function to check for deleted references, which needs to load the plugins to do its thing. We can piggyback off of this and do more general analysis to check for more problems. In the end, the plugin checker should be able to check for:

  • Corrupted plugins
  • For SSE and games based on it, plugins with Form Version <=43
  • Deleted references
  • Deleted navmeshes
  • Deleted base records
  • HITMEs
  • Record type collisions
  • Probable injected collisions

While retaining all of its original analysis capability, i.e. being able to check for:

  • ESL-capable plugins
  • Incorrectly ESL-flagged plugins
  • Mergeable plugins
  • Deactivate-tagged plugins that are active
  • MustBeActiveIfImported-tagged plugins that are imported, but inactive
  • Plugins with missing masters
  • Plugins with delinquent masters, i.e. masters that load after their dependents
  • Cleaning information retrieved from LOOT

Original issue desciption:

re: this discussion

Item Interchange had an NPC_ record with the same FormID as a masters's REFR record. This caused a crash of CBash when building the Bashed Patch.

Might be nice to have the ModChecker do record type checks against masters/children mods to detect this sort of thing. Possibly have the check in the Bashed Patch building process, however that may add a lot of overhead.

Metadata

Metadata

Assignees

Labels

A-patchersArea: Patchers (Everything in the patcher package)C-enhancementCategory: Enhancement, a request to add or enhance a featureM-relnotesMisc: Issue should be listed in the version history for its milestone

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions