#pragma once #include #include "../../Platform/Common/App_enums.h" class InputStream; class Minecraft; class ArchiveFile; class TexturePack { public: TexturePack() { m_bHasAudio = false; } virtual ~TexturePack() {} virtual bool hasData() = 0; virtual bool hasAudio() { return m_bHasAudio; } virtual void setHasAudio(bool bVal) { m_bHasAudio = bVal; } virtual bool isLoadingData() = 0; virtual void loadData() {} virtual void unload(Textures* textures) = 0; virtual void load(Textures* textures) = 0; virtual InputStream* getResource( const std::wstring& name, bool allowFallback) = 0; // throws IOException; // virtual InputStream *getResource(const std::wstring &name) = 0;// throws // IOException; virtual std::uint32_t getId() = 0; virtual std::wstring getName() = 0; virtual std::wstring getDesc1() = 0; virtual std::wstring getDesc2() = 0; virtual bool hasFile(const std::wstring& name, bool allowFallback) = 0; virtual bool isTerrainUpdateCompatible() = 0; virtual std::wstring getResource( const std::wstring& name) // 4J - changed to just return a name rather // than an input stream { /* 4J - TODO return TexturePack.class.getResourceAsStream(name); */ return name; } virtual DLCPack* getDLCPack() { return NULL; } // 4J Added virtual std::wstring getPath(bool bTitleUpdateTexture = false, const char* pchBDPatchFilename = NULL); virtual std::wstring getAnimationString(const std::wstring& textureName, const std::wstring& path, bool allowFallback) = 0; virtual BufferedImage* getImageResource( const std::wstring& File, bool filenameHasExtension = false, bool bTitleUpdateTexture = false, const std::wstring& drive = L"") = 0; virtual void loadColourTable() = 0; virtual void loadUI() = 0; virtual void unloadUI() = 0; virtual std::wstring getXuiRootPath() = 0; virtual std::uint8_t* getPackIcon(std::uint32_t& imageBytes) = 0; virtual std::uint8_t* getPackComparison(std::uint32_t& imageBytes) = 0; virtual unsigned int getDLCParentPackId() = 0; virtual unsigned char getDLCSubPackId() = 0; virtual ColourTable* getColourTable() = 0; virtual ArchiveFile* getArchiveFile() = 0; private: bool m_bHasAudio; };