Files
MinecraftConsoles/Minecraft.Client/AbstractTexturePack.h
ModMaker101 a9be52c41a Project modernization (#630)
* Fixed boats falling and a TP glitch #266

* Replaced every C-style cast with C++ ones

* Replaced every C-style cast with C++ ones

* Fixed boats falling and a TP glitch #266

* Updated NULL to nullptr and fixing some type issues

* Modernized and fixed a few bugs

- Replaced most instances of `NULL` with `nullptr`.
- Replaced most `shared_ptr(new ...)` with `make_shared`.
- Removed the `nullptr` macro as it was interfering with the actual nullptr keyword in some instances.

* Fixing more conflicts

* Replace int loops with size_t and start work on overrides
2026-03-08 09:56:03 +07:00

94 lines
2.4 KiB
C++

#pragma once
using namespace std;
#include "TexturePack.h"
class BufferedImage;
class AbstractTexturePack : public TexturePack
{
private:
const DWORD id;
const wstring name;
protected:
File *file;
wstring texname;
wstring m_wsWorldName;
wstring desc1;
wstring desc2;
PBYTE m_iconData;
DWORD m_iconSize;
PBYTE m_comparisonData;
DWORD m_comparisonSize;
TexturePack *fallback;
ColourTable *m_colourTable;
protected:
BufferedImage *iconImage;
private:
int textureId;
protected:
AbstractTexturePack(DWORD id, File *file, const wstring &name, TexturePack *fallback);
private:
static wstring trim(wstring line);
protected:
virtual void loadIcon();
virtual void loadComparison();
virtual void loadDescription();
virtual void loadName();
public:
virtual InputStream *getResource(const wstring &name, bool allowFallback); //throws IOException
// 4J Removed do to current override in TexturePack class
//virtual InputStream *getResource(const wstring &name); //throws IOException
virtual DLCPack * getDLCPack() =0;
protected:
virtual InputStream *getResourceImplementation(const wstring &name) = 0; // throws IOException;
public:
virtual void unload(Textures *textures);
virtual void load(Textures *textures);
virtual bool hasFile(const wstring &name, bool allowFallback);
virtual bool hasFile(const wstring &name) = 0;
virtual DWORD getId();
virtual wstring getName();
virtual wstring getDesc1();
virtual wstring getDesc2();
virtual wstring getWorldName();
virtual wstring getAnimationString(const wstring &textureName, const wstring &path, bool allowFallback);
protected:
virtual wstring getAnimationString(const wstring &textureName, const wstring &path);
void loadDefaultUI();
void loadDefaultColourTable();
void loadDefaultHTMLColourTable();
#ifdef _XBOX
void loadHTMLColourTableFromXuiScene(HXUIOBJ hObj);
#endif
public:
virtual BufferedImage *getImageResource(const wstring& File, bool filenameHasExtension = false, bool bTitleUpdateTexture=false, const wstring &drive =L"");
virtual void loadColourTable();
virtual void loadUI();
virtual void unloadUI();
virtual wstring getXuiRootPath();
virtual PBYTE getPackIcon(DWORD &dwImageBytes);
virtual PBYTE getPackComparison(DWORD &dwImageBytes);
virtual unsigned int getDLCParentPackId();
virtual unsigned char getDLCSubPackId();
virtual ColourTable *getColourTable() { return m_colourTable; }
virtual ArchiveFile *getArchiveFile() { return nullptr; }
};