#ifndef ESMLOADER_HPP #define ESMLOADER_HPP #include #include #include "contentloader.hpp" namespace ToUTF8 { class Utf8Encoder; } namespace ESM { class ReadersCache; struct Dialogue; } namespace MWWorld { class ESMStore; struct EsmLoader : public ContentLoader { explicit EsmLoader(MWWorld::ESMStore& store, ESM::ReadersCache& readers, ToUTF8::Utf8Encoder* encoder, std::vector& esmVersions); std::optional getMasterFileFormat() const { return mMasterFileFormat; } void load(const std::filesystem::path& filepath, int& index, Loading::Listener* listener) override; private: ESM::ReadersCache& mReaders; MWWorld::ESMStore& mStore; ToUTF8::Utf8Encoder* mEncoder; ESM::Dialogue* mDialogue; std::optional mMasterFileFormat; std::vector& mESMVersions; }; } /* namespace MWWorld */ #endif // ESMLOADER_HPP