Release v1.0.8.8: Gearset drag-drop and index 0 fix
- Only call LoadIconId() for GearSet slots so drop still sticks - Allow gearset id 0 (first in list) in drop validation and GetIconIdForPayload - Bump version, changelog, pluginmaster Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -602,7 +602,7 @@ namespace HSUI.Interface.GeneralElements
|
||||
if (ImGui.IsMouseReleased(ImGuiMouseButton.Left))
|
||||
{
|
||||
int releaseIdx = GetSlotIndexAtPosition(topLeft, barSize, slotSize, pad, Config.SlotCount, Config.GetLayoutGrid().Cols, mp, debug);
|
||||
if (releaseIdx >= 0 && slotType != RaptureHotbarModule.HotbarSlotType.Empty && (id != 0 || slotType == RaptureHotbarModule.HotbarSlotType.Macro))
|
||||
if (releaseIdx >= 0 && slotType != RaptureHotbarModule.HotbarSlotType.Empty && (id != 0 || slotType == RaptureHotbarModule.HotbarSlotType.Macro || slotType == RaptureHotbarModule.HotbarSlotType.GearSet))
|
||||
{
|
||||
if (!ImGui.GetIO().KeyShift)
|
||||
{
|
||||
@@ -701,7 +701,7 @@ namespace HSUI.Interface.GeneralElements
|
||||
// stale (e.g. from macro menu UI), causing wrong placements (macro drag -> GeneralAction placed).
|
||||
// If we never got valid payload (e.g. Macro Int2=0), skip the place.
|
||||
bool hasValidPayload = slotType != RaptureHotbarModule.HotbarSlotType.Empty &&
|
||||
(id != 0 || slotType == RaptureHotbarModule.HotbarSlotType.Macro);
|
||||
(id != 0 || slotType == RaptureHotbarModule.HotbarSlotType.Macro || slotType == RaptureHotbarModule.HotbarSlotType.GearSet);
|
||||
|
||||
if (hasValidPayload)
|
||||
{
|
||||
@@ -1092,7 +1092,9 @@ namespace HSUI.Interface.GeneralElements
|
||||
|
||||
private static unsafe uint GetIconIdForPayload(RaptureHotbarModule.HotbarSlotType slotType, uint id)
|
||||
{
|
||||
if (id == 0) return 0;
|
||||
// id 0 is valid for GearSet (first gearset in list) and Macro; don't short-circuit for those
|
||||
if (id == 0 && slotType != RaptureHotbarModule.HotbarSlotType.GearSet && slotType != RaptureHotbarModule.HotbarSlotType.Macro)
|
||||
return 0;
|
||||
if (slotType == RaptureHotbarModule.HotbarSlotType.Macro)
|
||||
{
|
||||
var macroModule = RaptureMacroModule.Instance();
|
||||
|
||||
Reference in New Issue
Block a user