mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-08-20 09:57:10 +00:00
Remove DWORD texture pack IDs from pack interfaces
This commit is contained in:
parent
b47ed0af98
commit
2dbce494d1
|
|
@ -4,7 +4,7 @@
|
||||||
#include "../../../Minecraft.World/IO/Streams/InputOutputStream.h"
|
#include "../../../Minecraft.World/IO/Streams/InputOutputStream.h"
|
||||||
#include "../../../Minecraft.World/Util/StringHelpers.h"
|
#include "../../../Minecraft.World/Util/StringHelpers.h"
|
||||||
|
|
||||||
AbstractTexturePack::AbstractTexturePack(DWORD id, File *file, const std::wstring &name, TexturePack *fallback) : id(id), name(name)
|
AbstractTexturePack::AbstractTexturePack(std::uint32_t id, File *file, const std::wstring &name, TexturePack *fallback) : id(id), name(name)
|
||||||
{
|
{
|
||||||
// 4J init
|
// 4J init
|
||||||
textureId = -1;
|
textureId = -1;
|
||||||
|
|
@ -152,7 +152,7 @@ bool AbstractTexturePack::hasFile(const std::wstring &name, bool allowFallback)
|
||||||
return !hasFile && (allowFallback && fallback != NULL) ? fallback->hasFile(name, allowFallback) : hasFile;
|
return !hasFile && (allowFallback && fallback != NULL) ? fallback->hasFile(name, allowFallback) : hasFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD AbstractTexturePack::getId()
|
std::uint32_t AbstractTexturePack::getId()
|
||||||
{
|
{
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ class BufferedImage;
|
||||||
class AbstractTexturePack : public TexturePack
|
class AbstractTexturePack : public TexturePack
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
const DWORD id;
|
const std::uint32_t id;
|
||||||
const std::wstring name;
|
const std::wstring name;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -36,7 +36,7 @@ private:
|
||||||
int textureId;
|
int textureId;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
AbstractTexturePack(DWORD id, File *file, const std::wstring &name, TexturePack *fallback);
|
AbstractTexturePack(std::uint32_t id, File *file, const std::wstring &name, TexturePack *fallback);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static std::wstring trim(std::wstring line);
|
static std::wstring trim(std::wstring line);
|
||||||
|
|
@ -61,7 +61,7 @@ public:
|
||||||
virtual void load(Textures *textures);
|
virtual void load(Textures *textures);
|
||||||
virtual bool hasFile(const std::wstring &name, bool allowFallback);
|
virtual bool hasFile(const std::wstring &name, bool allowFallback);
|
||||||
virtual bool hasFile(const std::wstring &name) = 0;
|
virtual bool hasFile(const std::wstring &name) = 0;
|
||||||
virtual DWORD getId();
|
virtual std::uint32_t getId();
|
||||||
virtual std::wstring getName();
|
virtual std::wstring getName();
|
||||||
virtual std::wstring getDesc1();
|
virtual std::wstring getDesc1();
|
||||||
virtual std::wstring getDesc2();
|
virtual std::wstring getDesc2();
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ namespace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DLCTexturePack::DLCTexturePack(DWORD id, DLCPack *pack, TexturePack *fallback) : AbstractTexturePack(id, NULL, pack->getName(), fallback)
|
DLCTexturePack::DLCTexturePack(std::uint32_t id, DLCPack *pack, TexturePack *fallback) : AbstractTexturePack(id, NULL, pack->getName(), fallback)
|
||||||
{
|
{
|
||||||
m_dlcInfoPack = pack;
|
m_dlcInfoPack = pack;
|
||||||
m_dlcDataPack = NULL;
|
m_dlcDataPack = NULL;
|
||||||
|
|
@ -305,7 +305,7 @@ void DLCTexturePack::loadData()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
std::wstring DLCTexturePack::getFilePath(DWORD packId, std::wstring filename, bool bAddDataFolder)
|
std::wstring DLCTexturePack::getFilePath(std::uint32_t packId, std::wstring filename, bool bAddDataFolder)
|
||||||
{
|
{
|
||||||
return app.getFilePath(packId,filename,bAddDataFolder);
|
return app.getFilePath(packId,filename,bAddDataFolder);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ private:
|
||||||
public:
|
public:
|
||||||
using AbstractTexturePack::getResource;
|
using AbstractTexturePack::getResource;
|
||||||
|
|
||||||
DLCTexturePack(DWORD id, DLCPack *pack, TexturePack *fallback);
|
DLCTexturePack(std::uint32_t id, DLCPack *pack, TexturePack *fallback);
|
||||||
~DLCTexturePack();
|
~DLCTexturePack();
|
||||||
|
|
||||||
virtual std::wstring getResource(const std::wstring& name);
|
virtual std::wstring getResource(const std::wstring& name);
|
||||||
|
|
@ -54,8 +54,8 @@ public:
|
||||||
virtual bool isLoadingData() { return m_bLoadingData; }
|
virtual bool isLoadingData() { return m_bLoadingData; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static std::wstring getRootPath(DWORD packId, bool allowOverride, bool bAddDataFolder);
|
static std::wstring getRootPath(std::uint32_t packId, bool allowOverride, bool bAddDataFolder);
|
||||||
static std::wstring getFilePath(DWORD packId, std::wstring filename, bool bAddDataFolder=true);
|
static std::wstring getFilePath(std::uint32_t packId, std::wstring filename, bool bAddDataFolder=true);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static int packMounted(LPVOID pParam,int iPad,DWORD dwErr,DWORD dwLicenceMask);
|
static int packMounted(LPVOID pParam,int iPad,DWORD dwErr,DWORD dwLicenceMask);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#include "../../Platform/stdafx.h"
|
#include "../../Platform/stdafx.h"
|
||||||
#include "FileTexturePack.h"
|
#include "FileTexturePack.h"
|
||||||
|
|
||||||
FileTexturePack::FileTexturePack(DWORD id, File *file, TexturePack *fallback) : AbstractTexturePack(id, file, file->getName(), fallback)
|
FileTexturePack::FileTexturePack(std::uint32_t id, File *file, TexturePack *fallback) : AbstractTexturePack(id, file, file->getName(), fallback)
|
||||||
{
|
{
|
||||||
// 4J Stu - These calls need to be in the most derived version of the class
|
// 4J Stu - These calls need to be in the most derived version of the class
|
||||||
loadIcon();
|
loadIcon();
|
||||||
|
|
@ -83,4 +83,4 @@ bool FileTexturePack::isTerrainUpdateCompatible()
|
||||||
return !hasOldFiles;
|
return !hasOldFiles;
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ private:
|
||||||
//ZipFile *zipFile;
|
//ZipFile *zipFile;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FileTexturePack(DWORD id, File *file, TexturePack *fallback);
|
FileTexturePack(std::uint32_t id, File *file, TexturePack *fallback);
|
||||||
|
|
||||||
//@Override
|
//@Override
|
||||||
void unload(Textures *textures);
|
void unload(Textures *textures);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#include "../../Platform/stdafx.h"
|
#include "../../Platform/stdafx.h"
|
||||||
#include "FolderTexturePack.h"
|
#include "FolderTexturePack.h"
|
||||||
|
|
||||||
FolderTexturePack::FolderTexturePack(DWORD id, const std::wstring &name, File *folder, TexturePack *fallback) : AbstractTexturePack(id, folder, name, fallback)
|
FolderTexturePack::FolderTexturePack(std::uint32_t id, const std::wstring &name, File *folder, TexturePack *fallback) : AbstractTexturePack(id, folder, name, fallback)
|
||||||
{
|
{
|
||||||
// 4J Stu - These calls need to be in the most derived version of the class
|
// 4J Stu - These calls need to be in the most derived version of the class
|
||||||
loadIcon();
|
loadIcon();
|
||||||
|
|
@ -107,4 +107,4 @@ void FolderTexturePack::unloadUI()
|
||||||
}
|
}
|
||||||
AbstractTexturePack::unloadUI();
|
AbstractTexturePack::unloadUI();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ private:
|
||||||
bool bUILoaded;
|
bool bUILoaded;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FolderTexturePack(DWORD id, const std::wstring &name, File *folder, TexturePack *fallback);
|
FolderTexturePack(std::uint32_t id, const std::wstring &name, File *folder, TexturePack *fallback);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//@Override
|
//@Override
|
||||||
|
|
@ -23,4 +23,4 @@ public:
|
||||||
virtual std::wstring getPath(bool bTitleUpdateTexture = false);
|
virtual std::wstring getPath(bool bTitleUpdateTexture = false);
|
||||||
virtual void loadUI();
|
virtual void loadUI();
|
||||||
virtual void unloadUI();
|
virtual void unloadUI();
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ public:
|
||||||
virtual void load(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, bool allowFallback) = 0;// throws IOException;
|
||||||
//virtual InputStream *getResource(const std::wstring &name) = 0;// throws IOException;
|
//virtual InputStream *getResource(const std::wstring &name) = 0;// throws IOException;
|
||||||
virtual DWORD getId() = 0;
|
virtual std::uint32_t getId() = 0;
|
||||||
virtual std::wstring getName() = 0;
|
virtual std::wstring getName() = 0;
|
||||||
virtual std::wstring getDesc1() = 0;
|
virtual std::wstring getDesc1() = 0;
|
||||||
virtual std::wstring getDesc2() = 0;
|
virtual std::wstring getDesc2() = 0;
|
||||||
|
|
|
||||||
|
|
@ -291,19 +291,19 @@ bool TexturePackRepository::canUseWebSkin()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector< std::pair<DWORD,std::wstring> > *TexturePackRepository::getTexturePackIdNames()
|
std::vector< std::pair<std::uint32_t,std::wstring> > *TexturePackRepository::getTexturePackIdNames()
|
||||||
{
|
{
|
||||||
std::vector< std::pair<DWORD,std::wstring> > *packList = new std::vector< std::pair<DWORD,std::wstring> >();
|
std::vector< std::pair<std::uint32_t,std::wstring> > *packList = new std::vector< std::pair<std::uint32_t,std::wstring> >();
|
||||||
|
|
||||||
for(AUTO_VAR(it,texturePacks->begin()); it != texturePacks->end(); ++it)
|
for(AUTO_VAR(it,texturePacks->begin()); it != texturePacks->end(); ++it)
|
||||||
{
|
{
|
||||||
TexturePack *pack = *it;
|
TexturePack *pack = *it;
|
||||||
packList->push_back( std::pair<DWORD,std::wstring>(pack->getId(),pack->getName()) );
|
packList->push_back( std::pair<std::uint32_t,std::wstring>(pack->getId(),pack->getName()) );
|
||||||
}
|
}
|
||||||
return packList;
|
return packList;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TexturePackRepository::selectTexturePackById(DWORD id)
|
bool TexturePackRepository::selectTexturePackById(std::uint32_t id)
|
||||||
{
|
{
|
||||||
bool bDidSelect = false;
|
bool bDidSelect = false;
|
||||||
|
|
||||||
|
|
@ -352,7 +352,7 @@ bool TexturePackRepository::selectTexturePackById(DWORD id)
|
||||||
return bDidSelect;
|
return bDidSelect;
|
||||||
}
|
}
|
||||||
|
|
||||||
TexturePack *TexturePackRepository::getTexturePackById(DWORD id)
|
TexturePack *TexturePackRepository::getTexturePackById(std::uint32_t id)
|
||||||
{
|
{
|
||||||
AUTO_VAR(it, cacheById.find(id));
|
AUTO_VAR(it, cacheById.find(id));
|
||||||
if(it != cacheById.end())
|
if(it != cacheById.end())
|
||||||
|
|
@ -363,27 +363,27 @@ TexturePack *TexturePackRepository::getTexturePackById(DWORD id)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
TexturePack *TexturePackRepository::addTexturePackFromDLC(DLCPack *dlcPack, DWORD id)
|
TexturePack *TexturePackRepository::addTexturePackFromDLC(DLCPack *dlcPack, std::uint32_t id)
|
||||||
{
|
{
|
||||||
TexturePack *newPack = NULL;
|
TexturePack *newPack = NULL;
|
||||||
// 4J-PB - The City texture pack went out with a child id for the texture pack of 1 instead of zero
|
// 4J-PB - The City texture pack went out with a child id for the texture pack of 1 instead of zero
|
||||||
// we need to mask off the child id here to deal with this
|
// we need to mask off the child id here to deal with this
|
||||||
DWORD dwParentID=id&0xFFFFFF; // child id is <<24 and Or'd with parent
|
const std::uint32_t parentId = id & 0xFFFFFFu; // child id is <<24 and Or'd with parent
|
||||||
|
|
||||||
if(dlcPack != NULL)
|
if(dlcPack != NULL)
|
||||||
{
|
{
|
||||||
newPack = new DLCTexturePack(dwParentID, dlcPack, DEFAULT_TEXTURE_PACK);
|
newPack = new DLCTexturePack(parentId, dlcPack, DEFAULT_TEXTURE_PACK);
|
||||||
texturePacks->push_back(newPack);
|
texturePacks->push_back(newPack);
|
||||||
cacheById[dwParentID] = newPack;
|
cacheById[parentId] = newPack;
|
||||||
|
|
||||||
#ifndef _CONTENT_PACKAGE
|
#ifndef _CONTENT_PACKAGE
|
||||||
if(dlcPack->hasPurchasedFile(DLCManager::e_DLCType_TexturePack,L""))
|
if(dlcPack->hasPurchasedFile(DLCManager::e_DLCType_TexturePack,L""))
|
||||||
{
|
{
|
||||||
wprintf(L"Added new FULL DLCTexturePack: %ls - id=%d\n", dlcPack->getName().c_str(),dwParentID );
|
wprintf(L"Added new FULL DLCTexturePack: %ls - id=%u\n", dlcPack->getName().c_str(), parentId );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wprintf(L"Added new TRIAL DLCTexturePack: %ls - id=%d\n", dlcPack->getName().c_str(),dwParentID );
|
wprintf(L"Added new TRIAL DLCTexturePack: %ls - id=%u\n", dlcPack->getName().c_str(), parentId );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
@ -398,7 +398,7 @@ void TexturePackRepository::clearInvalidTexturePacks()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TexturePackRepository::removeTexturePackById(DWORD id)
|
void TexturePackRepository::removeTexturePackById(std::uint32_t id)
|
||||||
{
|
{
|
||||||
AUTO_VAR(it, cacheById.find(id));
|
AUTO_VAR(it, cacheById.find(id));
|
||||||
if(it != cacheById.end())
|
if(it != cacheById.end())
|
||||||
|
|
@ -450,7 +450,7 @@ TexturePack *TexturePackRepository::getTexturePackByIndex(unsigned int index)
|
||||||
return pack;
|
return pack;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int TexturePackRepository::getTexturePackIndex(unsigned int id)
|
unsigned int TexturePackRepository::getTexturePackIndex(std::uint32_t id)
|
||||||
{
|
{
|
||||||
int currentIndex = 0;
|
int currentIndex = 0;
|
||||||
for(AUTO_VAR(it,texturePacks->begin()); it != texturePacks->end(); ++it)
|
for(AUTO_VAR(it,texturePacks->begin()); it != texturePacks->end(); ++it)
|
||||||
|
|
@ -461,4 +461,4 @@ unsigned int TexturePackRepository::getTexturePackIndex(unsigned int id)
|
||||||
}
|
}
|
||||||
if(currentIndex >= texturePacks->size()) currentIndex = 0;
|
if(currentIndex >= texturePacks->size()) currentIndex = 0;
|
||||||
return currentIndex;
|
return currentIndex;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ class Minecraft;
|
||||||
class TexturePackRepository
|
class TexturePackRepository
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static const DWORD DEFAULT_TEXTURE_PACK_ID = 0;
|
static constexpr std::uint32_t DEFAULT_TEXTURE_PACK_ID = 0;
|
||||||
static const DWORD FOLDER_TEST_TEXTURE_PACK_ID = 1;
|
static constexpr std::uint32_t FOLDER_TEST_TEXTURE_PACK_ID = 1;
|
||||||
static const DWORD DLC_TEST_TEXTURE_PACK_ID = 2;
|
static constexpr std::uint32_t DLC_TEST_TEXTURE_PACK_ID = 2;
|
||||||
private:
|
private:
|
||||||
static TexturePack *DEFAULT_TEXTURE_PACK;
|
static TexturePack *DEFAULT_TEXTURE_PACK;
|
||||||
TexturePack *m_dummyTexturePack;
|
TexturePack *m_dummyTexturePack;
|
||||||
|
|
@ -21,7 +21,7 @@ private:
|
||||||
std::vector<TexturePack *> *texturePacks;
|
std::vector<TexturePack *> *texturePacks;
|
||||||
std::vector<TexturePack *> m_texturePacksToDelete;
|
std::vector<TexturePack *> m_texturePacksToDelete;
|
||||||
|
|
||||||
std::unordered_map<DWORD, TexturePack *> cacheById;
|
std::unordered_map<std::uint32_t, TexturePack *> cacheById;
|
||||||
|
|
||||||
TexturePack *selected;
|
TexturePack *selected;
|
||||||
TexturePack *lastSelected;
|
TexturePack *lastSelected;
|
||||||
|
|
@ -60,18 +60,18 @@ public:
|
||||||
bool isUsingDefaultSkin() { return selected == DEFAULT_TEXTURE_PACK; } // 4J Added
|
bool isUsingDefaultSkin() { return selected == DEFAULT_TEXTURE_PACK; } // 4J Added
|
||||||
TexturePack *getDefault() { return DEFAULT_TEXTURE_PACK; } // 4J Added
|
TexturePack *getDefault() { return DEFAULT_TEXTURE_PACK; } // 4J Added
|
||||||
|
|
||||||
std::vector< std::pair<DWORD,std::wstring> > *getTexturePackIdNames();
|
std::vector< std::pair<std::uint32_t,std::wstring> > *getTexturePackIdNames();
|
||||||
bool selectTexturePackById(DWORD id); // 4J Added
|
bool selectTexturePackById(std::uint32_t id); // 4J Added
|
||||||
TexturePack *getTexturePackById(DWORD id); // 4J Added
|
TexturePack *getTexturePackById(std::uint32_t id); // 4J Added
|
||||||
|
|
||||||
TexturePack *addTexturePackFromDLC(DLCPack *dlcPack, DWORD id);
|
TexturePack *addTexturePackFromDLC(DLCPack *dlcPack, std::uint32_t id);
|
||||||
void clearInvalidTexturePacks();
|
void clearInvalidTexturePacks();
|
||||||
void updateUI();
|
void updateUI();
|
||||||
bool needsUIUpdate();
|
bool needsUIUpdate();
|
||||||
private:
|
private:
|
||||||
void removeTexturePackById(DWORD id);
|
void removeTexturePackById(std::uint32_t id);
|
||||||
public:
|
public:
|
||||||
unsigned int getTexturePackCount();
|
unsigned int getTexturePackCount();
|
||||||
TexturePack *getTexturePackByIndex(unsigned int index);
|
TexturePack *getTexturePackByIndex(unsigned int index);
|
||||||
unsigned int getTexturePackIndex(unsigned int id);
|
unsigned int getTexturePackIndex(std::uint32_t id);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue