From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.Client/DefaultTexturePack.cpp | 131 ++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 Minecraft.Client/DefaultTexturePack.cpp (limited to 'Minecraft.Client/DefaultTexturePack.cpp') diff --git a/Minecraft.Client/DefaultTexturePack.cpp b/Minecraft.Client/DefaultTexturePack.cpp new file mode 100644 index 00000000..d2974b6d --- /dev/null +++ b/Minecraft.Client/DefaultTexturePack.cpp @@ -0,0 +1,131 @@ +#include "stdafx.h" +#include "DefaultTexturePack.h" +#include "Textures.h" +#include "..\Minecraft.World\StringHelpers.h" + + +DefaultTexturePack::DefaultTexturePack() : AbstractTexturePack(0, NULL, L"Minecraft", NULL) +{ + // 4J Stu - These calls need to be in the most derived version of the class + loadIcon(); + loadName(); // 4J-PB - added so the PS3 can have localised texture names' + loadDescription(); + loadColourTable(); +} + +void DefaultTexturePack::loadIcon() +{ +#ifdef _XBOX + // 4J Stu - Temporary only + const DWORD LOCATOR_SIZE = 256; // Use this to allocate space to hold a ResourceLocator string + WCHAR szResourceLocator[ LOCATOR_SIZE ]; + + const ULONG_PTR c_ModuleHandle = (ULONG_PTR)GetModuleHandle(NULL); + swprintf(szResourceLocator, LOCATOR_SIZE ,L"section://%X,%ls#%ls",c_ModuleHandle,L"media", L"media/Graphics/TexturePackIcon.png"); + + UINT size = 0; + HRESULT hr = XuiResourceLoadAllNoLoc(szResourceLocator, &m_iconData, &size); + m_iconSize = size; +#else + if(app.hasArchiveFile(L"Graphics\\TexturePackIcon.png")) + { + byteArray ba = app.getArchiveFile(L"Graphics\\TexturePackIcon.png"); + m_iconData = ba.data; + m_iconSize = ba.length; + } +#endif +} + +void DefaultTexturePack::loadDescription() +{ + desc1 = L"LOCALISE ME: The default look of Minecraft"; +} +void DefaultTexturePack::loadName() +{ + texname = L"Minecraft"; +} + +bool DefaultTexturePack::hasFile(const wstring &name) +{ +// return DefaultTexturePack::class->getResourceAsStream(name) != null; + return true; +} + +bool DefaultTexturePack::isTerrainUpdateCompatible() +{ + return true; +} + +InputStream *DefaultTexturePack::getResourceImplementation(const wstring &name)// throws FileNotFoundException +{ + wstring wDrive = L""; + // Make the content package point to to the UPDATE: drive is needed +#ifdef _XBOX + #ifdef _TU_BUILD + wDrive=L"UPDATE:\\res"; + #else + + wDrive=L"GAME:\\res\\TitleUpdate\\res"; + #endif +#elif __PS3__ + + char *pchUsrDir; + if(app.GetBootedFromDiscPatch()) + { + const char *pchTextureName=wstringtofilename(name); + pchUsrDir = app.GetBDUsrDirPath(pchTextureName); + app.DebugPrintf("DefaultTexturePack::getResourceImplementation - texture %s - Drive - %s\n",pchTextureName,pchUsrDir); + } + else + { + const char *pchTextureName=wstringtofilename(name); + pchUsrDir=getUsrDirPath(); + app.DebugPrintf("DefaultTexturePack::getResourceImplementation - texture %s - Drive - %s\n",pchTextureName,pchUsrDir); + } + + + wstring wstr (pchUsrDir, pchUsrDir+strlen(pchUsrDir)); + + wDrive = wstr + L"\\Common\\res\\TitleUpdate\\res"; +#elif __PSVITA__ + + /* + char *pchUsrDir=getUsrDirPath(); + wstring wstr (pchUsrDir, pchUsrDir+strlen(pchUsrDir)); + + wDrive = wstr + L"Common\\res\\TitleUpdate\\res"; + */ + wDrive = L"Common\\res\\TitleUpdate\\res"; +#else + wDrive = L"Common\\res\\TitleUpdate\\res"; + +#endif + InputStream *resource = InputStream::getResourceAsStream(wDrive + name); + //InputStream *stream = DefaultTexturePack::class->getResourceAsStream(name); + //if (stream == NULL) + //{ + // throw new FileNotFoundException(name); + //} + + //return stream; + return resource; +} + +void DefaultTexturePack::loadUI() +{ + loadDefaultUI(); + + AbstractTexturePack::loadUI(); +} + +void DefaultTexturePack::unloadUI() +{ +#ifdef _XBOX + // Unload skin + XuiFreeVisuals(L"TexturePack"); + XuiFreeVisuals(L""); + CXuiSceneBase::GetInstance()->SetVisualPrefix(L""); + CXuiSceneBase::GetInstance()->SkinChanged(CXuiSceneBase::GetInstance()->m_hObj); +#endif + AbstractTexturePack::unloadUI(); +} -- cgit v1.2.3