diff --git a/CentrED/Data/Languages/English.txt b/CentrED/Data/Languages/English.txt index 0f42a267..63c20d25 100644 --- a/CentrED/Data/Languages/English.txt +++ b/CentrED/Data/Languages/English.txt @@ -79,6 +79,7 @@ CLOSE_MINIMAP=Close minimap OPEN_MINIMAP=Open minimap AREA=Area SELECTED_TILE=Selected tile +SELECTED_TILE_TOOLTIP=Grabs coordinates from the currently selected tile in the Info Window TOOLS=Tools PARAMETERS=Parameters VALIDATE=Validate diff --git a/CentrED/Languages/LangEntry.cs b/CentrED/Languages/LangEntry.cs index 1efef427..5d201ea4 100644 --- a/CentrED/Languages/LangEntry.cs +++ b/CentrED/Languages/LangEntry.cs @@ -83,6 +83,7 @@ public enum LangEntry OPEN_MINIMAP, AREA, SELECTED_TILE, + SELECTED_TILE_TOOLTIP, TOOLS, PARAMETERS, VALIDATE, diff --git a/CentrED/Tools/LargeScale/Operations/CopyMove.cs b/CentrED/Tools/LargeScale/Operations/CopyMove.cs index 2c10d276..d9896be1 100644 --- a/CentrED/Tools/LargeScale/Operations/CopyMove.cs +++ b/CentrED/Tools/LargeScale/Operations/CopyMove.cs @@ -1,6 +1,7 @@ using CentrED.Client.Map; using CentrED.Network; using CentrED.UI; +using CentrED.UI.Windows; // Required for InfoWindow using Hexa.NET.ImGui; using static CentrED.Application; using static CentrED.LangEntry; @@ -50,6 +51,24 @@ public override bool DrawUI() ImGui.SameLine(); changed |= ImGui.RadioButton(LangManager.Get(COORD_MODE_ABSOLUTE), ref copyMove_coordMode, 1); + // Only show if Absolute Mode is enabled, on the same line + if (copyMove_coordMode == 1) + { + ImGui.SameLine(); + if (ImGui.Button(LangManager.Get(SELECTED_TILE) + "##target")) + { + var tile = CEDGame.UIManager.GetWindow().Selected; + if (tile != null) + { + copyMove_inputX = tile.Tile.X; + copyMove_inputY = tile.Tile.Y; + changed = true; // Updates inputs immediately + } + } + ImGui.SetItemTooltip(LangManager.Get(SELECTED_TILE_TOOLTIP)); + } + // -------------------------- + if (prevMode != copyMove_coordMode && _hasArea) { if (copyMove_coordMode == 1) diff --git a/CentrED/UI/Windows/LargeScaleOperationsWindow.cs b/CentrED/UI/Windows/LargeScaleOperationsWindow.cs index 7fb504a8..31276119 100644 --- a/CentrED/UI/Windows/LargeScaleOperationsWindow.cs +++ b/CentrED/UI/Windows/LargeScaleOperationsWindow.cs @@ -58,6 +58,8 @@ protected override void InternalDraw() ImGui.Text(LangManager.Get(AREA)); ImGui.PushItemWidth(90); + + // --- X1 / Y1 SECTION --- if(ImGuiEx.InputUInt16("X1", ref x1, 0, (ushort)(CEDClient.WidthInTiles - 1))) canSubmit = false; ImGui.SameLine(); @@ -74,6 +76,9 @@ protected override void InternalDraw() canSubmit = false; } } + ImGui.SetItemTooltip(LangManager.Get(SELECTED_TILE_TOOLTIP)); + + // --- X2 / Y2 SECTION --- if (ImGuiEx.InputUInt16("X2", ref x2, 0, (ushort)(CEDClient.WidthInTiles - 1))) canSubmit = false; ImGui.SameLine(); @@ -90,6 +95,8 @@ protected override void InternalDraw() canSubmit = false; } } + ImGui.SetItemTooltip(LangManager.Get(SELECTED_TILE_TOOLTIP)); + ImGui.PopItemWidth(); ImGui.Separator();