Files
MinecraftConsoles/Minecraft.Client/DLCTexturePack.h
daoge b3feddfef3 feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict

* feat: TU19 (Dec 2014) Features & Content (#32)

* December 2014 files

* Working release build

* Fix compilation issues

* Add sound to Windows64Media

* Add DLC content and force Tutorial DLC

* Revert "Add DLC content and force Tutorial DLC"

This reverts commit 97a4399472.

* Disable broken light packing

* Disable breakpoint during DLC texture map load

Allows DLC loading but the DLC textures are still broken

* Fix post build not working

* ...

* fix vs2022 build

* fix cmake build

---------

Co-authored-by: Loki <lokirautio@gmail.com>
2026-03-03 03:04:10 +08:00

77 lines
2.4 KiB
C++

#pragma once
#include "AbstractTexturePack.h"
class DLCPack;
class StringTable;
class DLCTexturePack : public AbstractTexturePack
{
private:
DLCPack *m_dlcInfoPack; // Description, icon etc
DLCPack *m_dlcDataPack; // Actual textures
StringTable *m_stringTable;
bool bUILoaded;
bool m_bLoadingData, m_bHasLoadedData;
bool m_bUsingDefaultColourTable;
//bool m_bHasAudio;
ArchiveFile *m_archiveFile;
public:
using AbstractTexturePack::getResource;
DLCTexturePack(DWORD id, DLCPack *pack, TexturePack *fallback);
~DLCTexturePack();
virtual wstring getResource(const wstring& name);
virtual DLCPack * getDLCPack();
virtual wstring getDesc1() {return m_stringTable->getString(L"IDS_TP_DESCRIPTION");}
virtual wstring getName() {return m_stringTable->getString(L"IDS_DISPLAY_NAME");}
virtual wstring getWorldName() { return m_stringTable->getString(L"IDS_WORLD_NAME");}
// Added for sound banks with MashUp packs
#ifdef _XBOX
IXACT3WaveBank *m_pStreamedWaveBank;
IXACT3SoundBank *m_pSoundBank;
#endif
protected:
//@Override
void loadIcon();
void loadComparison();
void loadName();
void loadDescription();
InputStream *getResourceImplementation(const wstring &name); //throws IOException
public:
//@Override
bool hasFile(const wstring &name);
bool isTerrainUpdateCompatible();
// 4J Added
virtual wstring getPath(bool bTitleUpdateTexture = false, const char *pchBDPatchFilename=NULL);
virtual wstring getAnimationString(const wstring &textureName, const wstring &path);
virtual BufferedImage *getImageResource(const wstring& File, bool filenameHasExtension = false, bool bTitleUpdateTexture=false, const wstring &drive =L"");
virtual void loadColourTable();
virtual bool hasData() { return m_bHasLoadedData; }
virtual bool isLoadingData() { return m_bLoadingData; }
private:
static wstring getRootPath(DWORD packId, bool allowOverride, bool bAddDataFolder);
static wstring getFilePath(DWORD packId, wstring filename, bool bAddDataFolder=true);
public:
static int packMounted(LPVOID pParam,int iPad,DWORD dwErr,DWORD dwLicenceMask);
virtual void loadData();
virtual void loadUI();
virtual void unloadUI();
virtual wstring getXuiRootPath();
virtual ArchiveFile *getArchiveFile() { return m_archiveFile; }
virtual unsigned int getDLCParentPackId();
virtual DLCPack *getDLCInfoParentPack();
virtual unsigned char getDLCSubPackId();
XCONTENTDEVICEID GetDLCDeviceID();
};