#pragma once #include "AbstractTexturePack.h" class FolderTexturePack : public AbstractTexturePack { private: bool bUILoaded; unordered_map _cachedFiles; vector _iconData; void cacheFiles(File& dir, int folderLen); public: FolderTexturePack(DWORD id, const wstring &name, File *folder, TexturePack *fallback); DLCPack* getDLCPack(); void loadIcon(); void loadDescription(); bool hasData(); bool isLoadingData(); wstring getAnimationString(const wstring& textureName, const wstring& path, bool allowFallback); protected: //@Override InputStream *getResourceImplementation(const wstring &name); //throws IOException void loadName(); public: //@Override bool hasFile(const wstring &name); bool isTerrainUpdateCompatible(); BufferedImage* getImageResource(const wstring& File, bool filenameHasExtension = false, bool bTitleUpdateTexture = false, const wstring& drive = L""); // 4J Added virtual wstring getPath(bool bTitleUpdateTexture = false, const char *pchBDPatchFilename=nullptr); virtual void loadUI(); virtual void unloadUI(); };