diff options
Diffstat (limited to 'Minecraft.Client/Common/UI')
6 files changed, 80 insertions, 8 deletions
diff --git a/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp b/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp index 7502d6bf..fa9b280c 100644 --- a/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp +++ b/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp @@ -9,6 +9,7 @@ #include "..\..\..\Minecraft.World\net.minecraft.world.level.tile.entity.h" #include "..\..\MultiplayerLocalPlayer.h" #include "..\..\Minecraft.h" +#include "..\..\Options.h" #ifdef __ORBIS__ #include <pad.h> @@ -1677,7 +1678,13 @@ vector<HtmlString> *IUIScene_AbstractContainerMenu::GetItemDescription(Slot *slo { if(slot == nullptr) return nullptr; - vector<HtmlString> *lines = slot->getItem()->getHoverText(nullptr, false); + bool advanced = false; + if (const Minecraft* pMinecraft = Minecraft::GetInstance()) + { + if (pMinecraft->options) + advanced = pMinecraft->options->advancedTooltips; + } + vector<HtmlString> *lines = slot->getItem()->getHoverText(nullptr, advanced); // Add rarity to first line if (lines->size() > 0) diff --git a/Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h b/Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h index 03a58378..fa8d9bd1 100644 --- a/Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h +++ b/Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h @@ -20,9 +20,9 @@ protected: eGroupTab_Right }; - static const int m_iMaxHSlotC = 12; - static const int m_iMaxHCraftingSlotC = 10; - static const int m_iMaxVSlotC = 17; + static const int m_iMaxHSlotC = 40; + static const int m_iMaxHCraftingSlotC = 40; + static const int m_iMaxVSlotC = 99; static const int m_iMaxDisplayedVSlotC = 3; static const int m_iIngredients3x3SlotC = 9; static const int m_iIngredients2x2SlotC = 4; diff --git a/Minecraft.Client/Common/UI/IUIScene_TradingMenu.cpp b/Minecraft.Client/Common/UI/IUIScene_TradingMenu.cpp index 0b1e0df2..d7939d8c 100644 --- a/Minecraft.Client/Common/UI/IUIScene_TradingMenu.cpp +++ b/Minecraft.Client/Common/UI/IUIScene_TradingMenu.cpp @@ -4,6 +4,7 @@ #include "..\..\..\Minecraft.World\net.minecraft.world.item.h" #include "..\..\..\Minecraft.World\net.minecraft.network.packet.h" #include "..\..\Minecraft.h" +#include "..\..\Options.h" #include "..\..\MultiPlayerLocalPlayer.h" #include "..\..\ClientConnection.h" #include "IUIScene_TradingMenu.h" @@ -368,7 +369,13 @@ void IUIScene_TradingMenu::setTradeItem(int index, shared_ptr<ItemInstance> item vector<HtmlString> *IUIScene_TradingMenu::GetItemDescription(shared_ptr<ItemInstance> item) { - vector<HtmlString> *lines = item->getHoverText(nullptr, false); + bool advanced = false; + if (const Minecraft* pMinecraft = Minecraft::GetInstance()) + { + if (pMinecraft->options) + advanced = pMinecraft->options->advancedTooltips; + } + vector<HtmlString> *lines = item->getHoverText(nullptr, advanced); // Add rarity to first line if (lines->size() > 0) diff --git a/Minecraft.Client/Common/UI/UIControl_TextInput.cpp b/Minecraft.Client/Common/UI/UIControl_TextInput.cpp index 8e679b7c..76f25afb 100644 --- a/Minecraft.Client/Common/UI/UIControl_TextInput.cpp +++ b/Minecraft.Client/Common/UI/UIControl_TextInput.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "UI.h" #include "UIControl_TextInput.h" +#include "..\..\Screen.h" UIControl_TextInput::UIControl_TextInput() { @@ -211,6 +212,31 @@ UIControl_TextInput::EDirectEditResult UIControl_TextInput::tickDirectEdit() } } + // Paste from clipboard + if (g_KBMInput.IsKeyPressed('V') && g_KBMInput.IsKeyDown(VK_CONTROL)) + { + wstring pasted = Screen::getClipboard(); + wstring sanitized; + sanitized.reserve(pasted.length()); + + for (wchar_t pc : pasted) + { + if (pc >= 0x20) // Keep printable characters + { + if (m_iCharLimit > 0 && (m_editBuffer.length() + sanitized.length()) >= (size_t)m_iCharLimit) + break; + sanitized += pc; + } + } + + if (!sanitized.empty()) + { + m_editBuffer.insert(m_iCursorPos, sanitized); + m_iCursorPos += (int)sanitized.length(); + changed = true; + } + } + // Arrow keys, Home, End, Delete for cursor movement if (g_KBMInput.IsKeyPressed(VK_LEFT) && m_iCursorPos > 0) { diff --git a/Minecraft.Client/Common/UI/UIScene_Keyboard.cpp b/Minecraft.Client/Common/UI/UIScene_Keyboard.cpp index 2f2f9132..35edf17f 100644 --- a/Minecraft.Client/Common/UI/UIScene_Keyboard.cpp +++ b/Minecraft.Client/Common/UI/UIScene_Keyboard.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "UI.h" #include "UIScene_Keyboard.h" +#include "..\..\Screen.h" #ifdef _WINDOWS64 // Global buffer that stores the text entered in the native keyboard scene. @@ -224,6 +225,38 @@ void UIScene_Keyboard::tick() } } + // Paste from clipboard + if (g_KBMInput.IsKeyPressed('V') && g_KBMInput.IsKeyDown(VK_CONTROL)) + { + wstring pasted = Screen::getClipboard(); + wstring sanitized; + sanitized.reserve(pasted.length()); + + for (wchar_t pc : pasted) + { + if (pc >= 0x20) // Keep printable characters + { + if (static_cast<int>(m_win64TextBuffer.length() + sanitized.length()) >= m_win64MaxChars) + break; + sanitized += pc; + } + } + + if (!sanitized.empty()) + { + if (m_bPCMode) + { + m_win64TextBuffer.insert(m_iCursorPos, sanitized); + m_iCursorPos += (int)sanitized.length(); + } + else + { + m_win64TextBuffer += sanitized; + } + changed = true; + } + } + if (m_bPCMode) { // Arrow keys, Home, End, Delete for cursor movement diff --git a/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp b/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp index b258d8c3..e9a85fa5 100644 --- a/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp @@ -222,9 +222,8 @@ void UIScene_SettingsGraphicsMenu::handleSliderMove(F64 sliderId, F64 currentVal const int fovValue = sliderValueToFov(value); pMinecraft->gameRenderer->SetFovVal(static_cast<float>(fovValue)); app.SetGameSettings(m_iPad, eGameSetting_FOV, value); - WCHAR tempString[256]; - swprintf(tempString, 256, L"FOV: %d", fovValue); - m_sliderFOV.setLabel(tempString); + swprintf(TempString, 256, L"FOV: %d", fovValue); + m_sliderFOV.setLabel(TempString); } break; |
