From 3431f1fa79458e14f66e7f0d530bb18d7bc519be Mon Sep 17 00:00:00 2001 From: Anna Date: Sat, 17 Feb 2024 22:18:34 -0500 Subject: [PATCH] fix: use correct place names --- ScreenshotMetadata.cs | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/ScreenshotMetadata.cs b/ScreenshotMetadata.cs index 3646e2b..af818b0 100644 --- a/ScreenshotMetadata.cs +++ b/ScreenshotMetadata.cs @@ -13,8 +13,9 @@ namespace Screenie; public class ScreenshotMetadata { public required string Blake3Hash; public required Character? ActiveCharacter; - public required string Territory; - public required uint TerritoryId; + public required string Location; + public required string LocationSub; + public required uint TerritoryType; public required string World; public required uint WorldId; public required DateTime CapturedAtLocal; @@ -48,11 +49,11 @@ public class ScreenshotMetadata { var mapId = AgentMap.Instance()->CurrentMapId; map = plugin.DataManager.GetExcelSheet()?.GetRow(mapId); } - + var territory = plugin.DataManager.GetExcelSheet()?.GetRow(plugin.ClientState.TerritoryType); var offsetX = map?.OffsetX ?? 0; var offsetY = map?.OffsetY ?? 0; - var scale = (float) (map?.SizeFactor ?? 0); + var scale = map?.SizeFactor ?? 0; Character? active = null; World? world = null; @@ -72,8 +73,11 @@ public class ScreenshotMetadata { return new ScreenshotMetadata { Blake3Hash = "", ActiveCharacter = active, - Territory = territory?.Name.ToDalamudString().TextValue ?? Unknown, - TerritoryId = plugin.ClientState.TerritoryType, + Location = map?.PlaceName.Value?.Name.ToDalamudString().TextValue + ?? territory?.PlaceName.Value?.Name.ToDalamudString().TextValue + ?? Unknown, + LocationSub = map?.PlaceNameSub.Value?.Name.ToDalamudString().TextValue ?? Unknown, + TerritoryType = plugin.ClientState.TerritoryType, World = world?.Name.ToDalamudString().TextValue ?? Unknown, WorldId = world?.RowId ?? 0, CapturedAtLocal = timeUtc.ToLocalTime(), @@ -104,16 +108,16 @@ public class Character { this.HomeWorldId = player.HomeWorld.Id; this.RawPosition = player.Position; this.MapPosition = new Vector3( - ConvertRawPositionToMapCoordinate(player.Position.X, scale, offsetX), - ConvertRawPositionToMapCoordinate(player.Position.Y, scale, offsetY), - ConvertRawPositionToMapCoordinate(player.Position.Z, scale, 0) + ConvertRawPositionToMapCoordinate((int) player.Position.X, scale, offsetX), + ConvertRawPositionToMapCoordinate((int) player.Position.Y, scale, offsetY), + ConvertRawPositionToMapCoordinate((int) player.Position.Z, scale, 0) ); this.Level = player.Level; this.Job = player.ClassJob.GameData?.Name.ToDalamudString().TextValue ?? ScreenshotMetadata.Unknown; this.JobId = player.ClassJob.Id; } - private static float ConvertRawPositionToMapCoordinate(float pos, float scale, short offset) { + private static float ConvertRawPositionToMapCoordinate(int pos, float scale, short offset) { var num1 = scale / 100f; var num2 = (pos / 1000f + offset) * num1; return (float) (41.0 / num1 * ((num2 + 1024.0) / 2048.0) + 1.0);