aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/UI')
-rw-r--r--Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp9
-rw-r--r--Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h6
-rw-r--r--Minecraft.Client/Common/UI/IUIScene_TradingMenu.cpp9
-rw-r--r--Minecraft.Client/Common/UI/UIControl_TextInput.cpp26
-rw-r--r--Minecraft.Client/Common/UI/UIScene_Keyboard.cpp33
-rw-r--r--Minecraft.Client/Common/UI/UIScene_SettingsGraphicsMenu.cpp5
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;