1 Commits

Author SHA1 Message Date
KnackAtNite daaac71c83 v1.0.0.7: Duty List quest click opens Area Map even when Hide With Game GUI would block it
Made-with: Cursor
2026-02-27 23:00:49 -05:00
3 changed files with 12 additions and 3 deletions
+10 -1
View File
@@ -266,7 +266,8 @@ public unsafe class IntegrationsController : IDisposable
System.MapWindow.Close(); System.MapWindow.Close();
} }
if (!ShouldShowMap()) // Allow map when user explicitly opened via Duty List / gathering / flag / teleport
if (!ShouldShowMap() && !System.MapWindow.ProcessingCommand)
{ {
Service.Log.Debug("[OnShow] Condition to open map is rejected, aborting."); Service.Log.Debug("[OnShow] Condition to open map is rejected, aborting.");
return; return;
@@ -293,9 +294,17 @@ public unsafe class IntegrationsController : IDisposable
showMapHook!.Original(agent, a1, a2); showMapHook!.Original(agent, a1, a2);
}, Service.Log, "Exception during OnShowHook"); }, Service.Log, "Exception during OnShowHook");
private static bool IsUserInitiatedMapOpen(MapType type) =>
type is MapType.QuestLog or MapType.GatheringLog or MapType.FlagMarker or MapType.Bozja
or MapType.MobHunt or MapType.SharedFate or MapType.Teleport or MapType.Treasure;
private void OnOpenMapHook(AgentMap* agent, OpenMapInfo* mapInfo) => private void OnOpenMapHook(AgentMap* agent, OpenMapInfo* mapInfo) =>
HookSafety.ExecuteSafe(() => HookSafety.ExecuteSafe(() =>
{ {
// Set before Original so ShowMap (if called synchronously) can bypass ShouldShowMap rejection
if (IsUserInitiatedMapOpen(mapInfo->Type))
System.MapWindow.ProcessingCommand = true;
openMapHook!.Original(agent, mapInfo); openMapHook!.Original(agent, mapInfo);
switch (mapInfo->Type) switch (mapInfo->Type)
+1 -1
View File
@@ -4,7 +4,7 @@
<Name>HSMappy</Name> <Name>HSMappy</Name>
<InternalName>HSMappy</InternalName> <InternalName>HSMappy</InternalName>
<Author>Knack117</Author> <Author>Knack117</Author>
<Version>1.0.0.6</Version> <Version>1.0.0.7</Version>
<Punchline>A more versatile in-game map.</Punchline> <Punchline>A more versatile in-game map.</Punchline>
<Description>Replaces the in-game map with an ImGui implementation with several additional features. Fork with minimap improvements, quest radius on minimap, and more.</Description> <Description>Replaces the in-game map with an ImGui implementation with several additional features. Fork with minimap improvements, quest radius on minimap, and more.</Description>
<RepoUrl>http://brassnet.ddns.net:33983/KnackAtNite/HSMappy</RepoUrl> <RepoUrl>http://brassnet.ddns.net:33983/KnackAtNite/HSMappy</RepoUrl>
+1 -1
View File
@@ -1 +1 @@
[{"Author":"Knack117","Name":"HSMappy","Punchline":"A more versatile in-game map.","Description":"Replaces the in-game map with an ImGui implementation with several additional features. Fork with minimap improvements, quest radius on minimap, white gradient player cone, and more.","Changelog":"1.0.0.6: Minimap stays open after client restart (restore on login). 1.0.0.5: Fix crash when map texture path is invalid (ArgumentOutOfRangeException in Lumina GetFileHash). 1.0.0.4: Temp marker circle refreshes when quest objective is progressed. 1.0.0.3: Fix marker cache refresh after quest turn-in; invalidate temp cache so old markers don't persist. 1.0.0.2: Red direction arrow on minimap pointing to player flag. 1.0.0.1: Duty List quest click keeps Area Map open; player flags show on minimap. 1.0.0.0: Initial HSMappy release. Minimap: quest radius circle (orange, transparent), tooltip; cone drawn under markers; white gradient cone; /hsmappy commands.","InternalName":"HSMappy","AssemblyVersion":"1.0.0.6","RepoUrl":"http://brassnet.ddns.net:33983/KnackAtNite/HSMappy","ApplicableVersion":"any","Tags":["map","mapping","overlay","utility"],"CategoryTags":["jobs"],"DalamudApiLevel":14,"DownloadLinkInstall":"http://brassnet.ddns.net:33983/KnackAtNite/HSMappy/releases/download/v1.0.0.6/latest.zip","IsHide":false,"IsTestingExclusive":false,"DownloadLinkTesting":"http://brassnet.ddns.net:33983/KnackAtNite/HSMappy/releases/download/v1.0.0.6/latest.zip","DownloadLinkUpdate":"http://brassnet.ddns.net:33983/KnackAtNite/HSMappy/releases/download/v1.0.0.6/latest.zip","LastUpdate":"1772228578"}] [{"Author":"Knack117","Name":"HSMappy","Punchline":"A more versatile in-game map.","Description":"Replaces the in-game map with an ImGui implementation with several additional features. Fork with minimap improvements, quest radius on minimap, white gradient player cone, and more.","Changelog":"1.0.0.7: Duty List quest click opens Area Map even when Hide With Game GUI would block it. 1.0.0.6: Minimap stays open after client restart (restore on login). 1.0.0.5: Fix crash when map texture path is invalid (ArgumentOutOfRangeException in Lumina GetFileHash). 1.0.0.4: Temp marker circle refreshes when quest objective is progressed. 1.0.0.3: Fix marker cache refresh after quest turn-in; invalidate temp cache so old markers don't persist. 1.0.0.2: Red direction arrow on minimap pointing to player flag. 1.0.0.1: Duty List quest click keeps Area Map open; player flags show on minimap. 1.0.0.0: Initial HSMappy release. Minimap: quest radius circle (orange, transparent), tooltip; cone drawn under markers; white gradient cone; /hsmappy commands.","InternalName":"HSMappy","AssemblyVersion":"1.0.0.7","RepoUrl":"http://brassnet.ddns.net:33983/KnackAtNite/HSMappy","ApplicableVersion":"any","Tags":["map","mapping","overlay","utility"],"CategoryTags":["jobs"],"DalamudApiLevel":14,"DownloadLinkInstall":"http://brassnet.ddns.net:33983/KnackAtNite/HSMappy/releases/download/v1.0.0.7/latest.zip","IsHide":false,"IsTestingExclusive":false,"DownloadLinkTesting":"http://brassnet.ddns.net:33983/KnackAtNite/HSMappy/releases/download/v1.0.0.7/latest.zip","DownloadLinkUpdate":"http://brassnet.ddns.net:33983/KnackAtNite/HSMappy/releases/download/v1.0.0.7/latest.zip","LastUpdate":"1772233231"}]