diff --git a/Minecraft.Client/Platform/Common/Consoles_App.h b/Minecraft.Client/Platform/Common/Consoles_App.h index 46686ee7c..1077172df 100644 --- a/Minecraft.Client/Platform/Common/Consoles_App.h +++ b/Minecraft.Client/Platform/Common/Consoles_App.h @@ -27,6 +27,8 @@ #include "GameRules/GameRuleManager.h" #include "../Minecraft.Client/Rendering/Models/SkinBox.h" #include "../Minecraft.Client/Utils/ArchiveFile.h" +#include "../Minecraft.World/Entities/MinecartHopper.h" + typedef struct _JoinFromInviteData { std::uint32_t dwUserIndex; // dwUserIndex @@ -44,7 +46,7 @@ class SignTileEntity; class BrewingStandTileEntity; class CommandBlockEntity; class HopperTileEntity; -class MinecartHopper; +// class MinecartHopper; class EntityHorse; class BeaconTileEntity; class LocalPlayer; diff --git a/Minecraft.Client/Platform/Common/DLC/DLCPack.h b/Minecraft.Client/Platform/Common/DLC/DLCPack.h index 82bd06668..1408c440b 100644 --- a/Minecraft.Client/Platform/Common/DLC/DLCPack.h +++ b/Minecraft.Client/Platform/Common/DLC/DLCPack.h @@ -74,6 +74,8 @@ public: std::uint32_t getLicenseMask() { return m_dwLicenseMask; } std::wstring getName() { return m_packName; } + + void UpdateLanguage(); #ifdef _XBOX_ONE std::wstring getPurchaseOfferId() { return m_wsProductId; } #else diff --git a/Minecraft.Client/Platform/Common/UI/UIScene_JoinMenu.cpp b/Minecraft.Client/Platform/Common/UI/UIScene_JoinMenu.cpp index 7271f1752..8def712e8 100644 --- a/Minecraft.Client/Platform/Common/UI/UIScene_JoinMenu.cpp +++ b/Minecraft.Client/Platform/Common/UI/UIScene_JoinMenu.cpp @@ -442,14 +442,15 @@ void UIScene_JoinMenu::JoinGame(UIScene_JoinMenu* pClass) { if (!ProfileManager.AllowedToPlayMultiplayer( ProfileManager.GetPrimaryPad())) noPrivileges = true; + dwLocalUsersMask |= CGameNetworkManager::GetLocalPlayerMask( ProfileManager.GetPrimaryPad()); - isSignedInLive = ProfileManager.IsSignedInLive( - ProfileManager.GetPrimaryPad()); + isSignedInLive = + ProfileManager.IsSignedInLive(ProfileManager.GetPrimaryPad()); #ifdef __PSVITA__ - if (CGameNetworkManager::usingAdhocMode() && - SQRNetworkManager_AdHoc_Vita::GetAdhocStatus()) - isSignedInLive = true; + if (CGameNetworkManager::usingAdhocMode() && + SQRNetworkManager_AdHoc_Vita::GetAdhocStatus()) + isSignedInLive = true; #endif } } diff --git a/Minecraft.Client/Platform/Common/UI/UIScene_QuadrantSignin.h b/Minecraft.Client/Platform/Common/UI/UIScene_QuadrantSignin.h index fda86781f..b83a44f82 100644 --- a/Minecraft.Client/Platform/Common/UI/UIScene_QuadrantSignin.h +++ b/Minecraft.Client/Platform/Common/UI/UIScene_QuadrantSignin.h @@ -102,6 +102,9 @@ public: // INPUT virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool& handled); + // 4jcraft: made public for thumbnail thunk + static int AvatarReturned(LPVOID lpParam, PBYTE pbThumbnail, + DWORD dwThumbnailBytes); private: #ifdef _XBOX_ONE @@ -110,8 +113,6 @@ private: #else static int SignInReturned(void* pParam, bool bContinue, int iPad); #endif - static int AvatarReturned(LPVOID lpParam, PBYTE pbThumbnail, - DWORD dwThumbnailBytes); void updateState(); void setControllerState(int iPad, EControllerStatus state); diff --git a/Minecraft.Client/Utils/StringTable.cpp b/Minecraft.Client/Utils/StringTable.cpp index a3f907683..281a28b4e 100644 --- a/Minecraft.Client/Utils/StringTable.cpp +++ b/Minecraft.Client/Utils/StringTable.cpp @@ -8,6 +8,17 @@ StringTable::StringTable(void) {} StringTable::StringTable(std::uint8_t* pbData, unsigned int dataSize) { src = byteArray(pbData, dataSize); + ProcessStringTableData(); +} + +void StringTable::ReloadStringTable() { + m_stringsMap.clear(); + m_stringsVec.clear(); + + ProcessStringTableData(); +} + +void StringTable::ProcessStringTableData(void) { ByteArrayInputStream bais(src); DataInputStream dis(&bais); @@ -28,8 +39,8 @@ StringTable::StringTable(std::uint8_t* pbData, unsigned int dataSize) { app.getLocale(locales); bool foundLang = false; - __int64 bytesToSkip = 0; - int selectedDataSize = 0; + int64_t bytesToSkip = 0; + int dataSize = 0; // for (AUTO_VAR(it_locales, locales.begin()); @@ -40,7 +51,7 @@ StringTable::StringTable(std::uint8_t* pbData, unsigned int dataSize) { if (it->first.compare(*it_locales) == 0) { app.DebugPrintf("StringTable:: Found language '%ls'.\n", it_locales->c_str()); - selectedDataSize = it->second; + dataSize = it->second; foundLang = true; break; } @@ -56,7 +67,7 @@ StringTable::StringTable(std::uint8_t* pbData, unsigned int dataSize) { if (foundLang) { dis.skip(bytesToSkip); - byteArray langData(selectedDataSize); + byteArray langData(dataSize); dis.read(langData); dis.close(); @@ -74,6 +85,9 @@ StringTable::StringTable(std::uint8_t* pbData, unsigned int dataSize) { std::wstring langId = dis2.readUTF(); int totalStrings = dis2.readInt(); + app.DebugPrintf("IsStatic=%d totalStrings = %d\n", isStatic ? 1 : 0, + totalStrings); + if (!isStatic) { for (int i = 0; i < totalStrings; ++i) { std::wstring stringId = dis2.readUTF(); diff --git a/Minecraft.Client/Utils/StringTable.h b/Minecraft.Client/Utils/StringTable.h index 1e7763d62..8b970bacf 100644 --- a/Minecraft.Client/Utils/StringTable.h +++ b/Minecraft.Client/Utils/StringTable.h @@ -59,6 +59,7 @@ public: StringTable(void); StringTable(std::uint8_t* pbData, unsigned int dataSize); ~StringTable(void); + void ReloadStringTable(); void getData(std::uint8_t** ppData, unsigned int* pSize); @@ -69,4 +70,5 @@ public: private: // std::wstring getLangId(DWORD dwLanguage=0); + void ProcessStringTableData(void); };