v1.0.8.10: Hotbar crash fix when dragging inventory items; Release builds strip PDBs
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+6
-3
@@ -9,9 +9,9 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AssemblyName>HSUI</AssemblyName>
|
<AssemblyName>HSUI</AssemblyName>
|
||||||
<AssemblyVersion>1.0.8.9</AssemblyVersion>
|
<AssemblyVersion>1.0.8.10</AssemblyVersion>
|
||||||
<FileVersion>1.0.8.9</FileVersion>
|
<FileVersion>1.0.8.10</FileVersion>
|
||||||
<InformationalVersion>1.0.8.9</InformationalVersion>
|
<InformationalVersion>1.0.8.10</InformationalVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
@@ -24,6 +24,9 @@
|
|||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
|
<!-- Do not emit PDBs in Release; prevents your local path from appearing in user crash logs -->
|
||||||
|
<DebugType>none</DebugType>
|
||||||
|
<DebugSymbols>false</DebugSymbols>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"Author": "Knack117",
|
"Author": "Knack117",
|
||||||
"Name": "HSUI",
|
"Name": "HSUI",
|
||||||
"InternalName": "HSUI",
|
"InternalName": "HSUI",
|
||||||
"AssemblyVersion": "1.0.8.9",
|
"AssemblyVersion": "1.0.8.10",
|
||||||
"Description": "HSUI provides a highly configurable HUD replacement for FFXIV, recreated from DelvUI using KamiToolKit, FFXIVClientStructs, and Dalamud. Features unit frames, castbars, job gauges, nameplates, party frames, status effects, enemy list, configurable hotbars with drag-and-drop, and profiles.",
|
"Description": "HSUI provides a highly configurable HUD replacement for FFXIV, recreated from DelvUI using KamiToolKit, FFXIVClientStructs, and Dalamud. Features unit frames, castbars, job gauges, nameplates, party frames, status effects, enemy list, configurable hotbars with drag-and-drop, and profiles.",
|
||||||
"ApplicableVersion": "any",
|
"ApplicableVersion": "any",
|
||||||
"RepoUrl": "https://github.com/Knack117/HSUI",
|
"RepoUrl": "https://github.com/Knack117/HSUI",
|
||||||
|
|||||||
@@ -21,10 +21,21 @@ namespace HSUI.Helpers
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static IDalamudTextureWrap? GetTextureFromIconId(uint iconId, uint stackCount = 0, bool hdIcon = true)
|
public static IDalamudTextureWrap? GetTextureFromIconId(uint iconId, uint stackCount = 0, bool hdIcon = true)
|
||||||
|
{
|
||||||
|
if (iconId == 0)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
try
|
||||||
{
|
{
|
||||||
GameIconLookup lookup = new GameIconLookup(iconId + stackCount, false, hdIcon);
|
GameIconLookup lookup = new GameIconLookup(iconId + stackCount, false, hdIcon);
|
||||||
return Plugin.TextureProvider.GetFromGameIcon(lookup).GetWrapOrDefault();
|
return Plugin.TextureProvider.GetFromGameIcon(lookup).GetWrapOrDefault();
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// GetFromGameIcon can throw for invalid/unsupported icon IDs (e.g. certain inventory item icons during drag-drop)
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static IDalamudTextureWrap? GetTextureFromPath(string path)
|
public static IDalamudTextureWrap? GetTextureFromPath(string path)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -45,10 +45,6 @@ namespace HSUI.Interface.GeneralElements
|
|||||||
[Order(21)]
|
[Order(21)]
|
||||||
public bool AlwaysShowTargetNameplate = true;
|
public bool AlwaysShowTargetNameplate = true;
|
||||||
|
|
||||||
[Checkbox("In PvP, show only enemy player nameplates", spacing = true, help = "When in Frontlines, Rival Wings, or Crystal Conflict, hide ally player nameplates (party, alliance, teammates) and show only enemy players. Uses Enemy nameplate styling for PvP enemies.")]
|
|
||||||
[Order(22)]
|
|
||||||
public bool PvPShowOnlyEnemyPlayers = false;
|
|
||||||
|
|
||||||
public int RaycastFlag() => OcclusionType == NameplatesOcclusionType.WallsAndObjects ? 0x2000 : 0x4000;
|
public int RaycastFlag() => OcclusionType == NameplatesOcclusionType.WallsAndObjects ? 0x2000 : 0x4000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -128,23 +128,6 @@ namespace HSUI.Interface.Nameplates
|
|||||||
return _playerHud;
|
return _playerHud;
|
||||||
}
|
}
|
||||||
|
|
||||||
// In PvP, optionally show only enemy player nameplates (hide allies)
|
|
||||||
if (Config.PvPShowOnlyEnemyPlayers && Plugin.ClientState.IsPvP)
|
|
||||||
{
|
|
||||||
if (data.GameObject is ICharacter character)
|
|
||||||
{
|
|
||||||
if ((character.StatusFlags & StatusFlags.PartyMember) != 0 ||
|
|
||||||
(character.StatusFlags & StatusFlags.AllianceMember) != 0 ||
|
|
||||||
(character.StatusFlags & StatusFlags.Friend) != 0)
|
|
||||||
{
|
|
||||||
return null; // Hide party, alliance, and friend nameplates
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Other players: show only hostile (enemy team), hide allies
|
|
||||||
if (data.GameObject == null) { return null; }
|
|
||||||
return Utils.IsHostile(data.GameObject) ? _enemyHud : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.GameObject is ICharacter character2)
|
if (data.GameObject is ICharacter character2)
|
||||||
{
|
{
|
||||||
if ((character2.StatusFlags & StatusFlags.PartyMember) != 0) // PartyMember
|
if ((character2.StatusFlags & StatusFlags.PartyMember) != 0) // PartyMember
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
# 1.0.8.10
|
||||||
|
- **Hotbars**: Fixed crash when dragging items from inventory to hotbar — GetFromGameIcon can throw for invalid/unsupported icon IDs; now handled gracefully.
|
||||||
|
- **Build**: Release builds no longer emit PDBs to avoid local path leakage in user crash logs.
|
||||||
|
|
||||||
# 1.0.8.9
|
# 1.0.8.9
|
||||||
- **Hotbars**: Gearset on slot now persists — do not treat slot as empty when CommandType is GearSet (gearset index 0 uses CommandId 0). Use CommandType/CommandId for GearSet display and resolve icon when IconId is still 0.
|
- **Hotbars**: Gearset on slot now persists — do not treat slot as empty when CommandType is GearSet (gearset index 0 uses CommandId 0). Use CommandType/CommandId for GearSet display and resolve icon when IconId is still 0.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
[{"Author":"Knack117","Name":"HSUI","Punchline":"A modern HUD replacement built for customization.","Description":"HSUI provides a highly configurable HUD replacement for FFXIV, recreated from DelvUI using KamiToolKit, FFXIVClientStructs, and Dalamud. Features unit frames, castbars, job gauges, nameplates, party frames, status effects, enemy list, configurable hotbars with drag-and-drop, and profiles.","Changelog":"1.0.8.9: Gearset persists on slot (fix CommandId 0 treated as empty). 1.0.8.8: Gearset drag-drop fix; allow first gearset (index 0) on bar. 1.0.8.7: Fixed Gearset/Job Gear Set icon clearing when first equipment slot changes. 1.0.8.6: Crafting action tooltips now show full description instead of action name. 1.0.8.4: Alliance Frames 1 and 2 fix in raids; crafting action tooltips; Hide in duty no longer hides alliance frames. 1.0.8.3: Fix left-click staying broken after disable. 1.0.8.2: Charge icons stay lit until all charges spent.","InternalName":"HSUI","AssemblyVersion":"1.0.8.9","RepoUrl":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI","ApplicableVersion":"any","Tags":["UI","HUD","Unit Frames","Nameplates","Party Frames","Hotbars"],"CategoryTags":["UI"],"DalamudApiLevel":14,"IconUrl":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI/raw/branch/main/Media/Images/icon.png","ImageUrls":[],"DownloadLinkInstall":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI/releases/download/v1.0.8.9/latest.zip","IsHide":false,"IsTestingExclusive":false,"DownloadLinkTesting":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI/releases/download/v1.0.8.9/latest.zip","DownloadLinkUpdate":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI/releases/download/v1.0.8.9/latest.zip","LastUpdate":"1739318400"}]
|
[{"Author":"Knack117","Name":"HSUI","Punchline":"A modern HUD replacement built for customization.","Description":"HSUI provides a highly configurable HUD replacement for FFXIV, recreated from DelvUI using KamiToolKit, FFXIVClientStructs, and Dalamud. Features unit frames, castbars, job gauges, nameplates, party frames, status effects, enemy list, configurable hotbars with drag-and-drop, and profiles.","Changelog":"1.0.8.10: Hotbar crash fix when dragging inventory items; Release builds strip PDBs. 1.0.8.9: Gearset persists on slot (fix CommandId 0 treated as empty). 1.0.8.8: Gearset drag-drop fix; allow first gearset (index 0) on bar. 1.0.8.7: Fixed Gearset/Job Gear Set icon clearing when first equipment slot changes. 1.0.8.6: Crafting action tooltips now show full description instead of action name. 1.0.8.4: Alliance Frames 1 and 2 fix in raids; crafting action tooltips; Hide in duty no longer hides alliance frames. 1.0.8.3: Fix left-click staying broken after disable. 1.0.8.2: Charge icons stay lit until all charges spent.","InternalName":"HSUI","AssemblyVersion":"1.0.8.10","RepoUrl":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI","ApplicableVersion":"any","Tags":["UI","HUD","Unit Frames","Nameplates","Party Frames","Hotbars"],"CategoryTags":["UI"],"DalamudApiLevel":14,"IconUrl":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI/raw/branch/main/Media/Images/icon.png","ImageUrls":[],"DownloadLinkInstall":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI/releases/download/v1.0.8.10/latest.zip","IsHide":false,"IsTestingExclusive":false,"DownloadLinkTesting":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI/releases/download/v1.0.8.10/latest.zip","DownloadLinkUpdate":"http://brassnet.ddns.net:33983/KnackAtNite/HSUI/releases/download/v1.0.8.10/latest.zip","LastUpdate":"1760227200"}]
|
||||||
|
|||||||
Reference in New Issue
Block a user