Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Ottermandias/GatherBuddy
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: FFXIV-CombatReborn/GatherBuddyReborn
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Able to merge. These branches can be automatically merged.

Commits on May 18, 2024

  1. Copy the full SHA
    217850a View commit details
  2. Merge pull request #1 from NostraThomas99/navigation

    Added basic navigation support
    NostraThomas99 authored May 18, 2024
    Copy the full SHA
    6aeb631 View commit details

Commits on May 19, 2024

  1. Copy the full SHA
    f27fd9a View commit details

Commits on May 20, 2024

  1. Copy the full SHA
    6dcff1f View commit details

Commits on May 21, 2024

  1. Copy the full SHA
    74e117b View commit details
  2. Merge pull request #2 from FFXIV-CombatReborn/navigation

    Navigation and auto-gather mode
    NostraThomas99 authored May 21, 2024
    Copy the full SHA
    2a5b255 View commit details
  3. Update README.md

    LTS-FFXIV authored May 21, 2024
    Copy the full SHA
    751e95d View commit details
  4. Fixed quantity saving

    NostraThomas99 committed May 21, 2024
    Copy the full SHA
    389fc5b View commit details
  5. Added node interaction

    NostraThomas99 committed May 21, 2024
    Copy the full SHA
    6e76671 View commit details
  6. Copy the full SHA
    8f64a02 View commit details
  7. Copy the full SHA
    fcea711 View commit details
  8. Copy the full SHA
    0b5b082 View commit details

Commits on May 22, 2024

  1. Lots of bug fixes

    NostraThomas99 committed May 22, 2024
    Copy the full SHA
    441cc77 View commit details
  2. Copy the full SHA
    213f59d View commit details
  3. Copy the full SHA
    2c58168 View commit details
  4. Copy the full SHA
    046568a View commit details
  5. Copy the full SHA
    cbb606a View commit details
  6. Copy the full SHA
    dd9f00e View commit details
  7. Lots of changes

    Completed items no longer get removed from the list they just get ignored
    Fixed a potential lock up if vnavmesh took too long to path
    Prioritize gather window interaction over movement
    NostraThomas99 committed May 22, 2024
    Copy the full SHA
    aaa68f5 View commit details
  8. Copy the full SHA
    e676440 View commit details
  9. Copy the full SHA
    dd979ca View commit details
  10. More fixes

    Pathfinding now attempts to move to the floor nearest to the node rather than the node itself if possible
    Fixes to prevent spamming the /xllog with unnecessary errors
    NostraThomas99 committed May 22, 2024
    Copy the full SHA
    7f74afb View commit details

Commits on May 23, 2024

  1. Copy the full SHA
    80c2e28 View commit details
  2. Copy the full SHA
    866c39a View commit details
  3. Update README.md

    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    fab5a2e View commit details
  4. Copy the full SHA
    919af6b View commit details
  5. Copy the full SHA
    9c9f411 View commit details
  6. Added /gbr command

    NostraThomas99 committed May 23, 2024
    Copy the full SHA
    fc83184 View commit details
  7. Copy the full SHA
    183d531 View commit details
  8. Copy the full SHA
    621f7a9 View commit details
  9. Merge pull request #7 from FFXIV-CombatReborn/navigation

    Updated world_locations.json
    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    3a5e88a View commit details
  10. Recursive submodules

    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    48baec3 View commit details
  11. Change Internal Name

    NostraThomas99 committed May 23, 2024
    Copy the full SHA
    4ba562b View commit details
  12. Merge pull request #8 from FFXIV-CombatReborn/navigation

    Change Internal Name
    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    3b2abd2 View commit details
  13. Update Manifest

    NostraThomas99 committed May 23, 2024
    Copy the full SHA
    18f7751 View commit details
  14. Merge pull request #9 from FFXIV-CombatReborn/navigation

    Update Manifest
    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    de83fc3 View commit details
  15. Copy the full SHA
    560edb5 View commit details
  16. Merge pull request #10 from FFXIV-CombatReborn/navigation

    Catch errors when vnavmesh isn't installed
    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    f11481c View commit details
  17. Copy the full SHA
    476f31f View commit details
  18. Merge pull request #11 from FFXIV-CombatReborn/navigation

    Don't reload navmesh if mesh is building
    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    a91cfa8 View commit details
  19. Copy the full SHA
    ed0da88 View commit details
  20. Merge pull request #12 from FFXIV-CombatReborn/navigation

    Auto-gather debug info now says whether the node is targetable
    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    2d0c81c View commit details
  21. Copy the full SHA
    f58061e View commit details
  22. Merge pull request #13 from FFXIV-CombatReborn/navigation

    Update world_locations.json
    NostraThomas99 authored May 23, 2024
    Copy the full SHA
    27cd212 View commit details

Commits on May 24, 2024

  1. Added toggle command

    NostraThomas99 committed May 24, 2024
    Copy the full SHA
    377e7df View commit details
  2. Various fixes

    GBR now tracks recently visited nodes and will ignore them if necessary. This listed is also presented in the debug UI for easier node blacklisting.
    
    Check to see if we're the proper job before mounting up
    NostraThomas99 committed May 24, 2024
    Copy the full SHA
    a6b7318 View commit details
  3. Copy the full SHA
    0fd373d View commit details
  4. LastVistedNode fixes

    NostraThomas99 committed May 24, 2024
    Copy the full SHA
    60dd467 View commit details
  5. Copy the full SHA
    04f029d View commit details
  6. Startings of refactor

    NostraThomas99 committed May 24, 2024
    Copy the full SHA
    e00f1d2 View commit details
Showing with 53,544 additions and 828 deletions.
  1. +47 −0 .github/workflows/publish.yaml
  2. +2 −1 .gitignore
  3. +3 −0 .gitmodules
  4. +1 −0 ECommons
  5. +1 −0 GatherBuddy.GameData/Classes/Fish.cs
  6. +3 −0 GatherBuddy.GameData/Classes/FishingSpot.cs
  7. +4 −0 GatherBuddy.GameData/Classes/Gatherable.cs
  8. +8 −0 GatherBuddy.GameData/Classes/Node.Base.cs
  9. +5 −0 GatherBuddy.GameData/Classes/Node.Location.cs
  10. +2 −2 GatherBuddy.GameData/Data/ForcedAetherytes.cs
  11. +6 −1 GatherBuddy.GameData/GameData.cs
  12. +47 −0 GatherBuddy.GameData/GatherBuddy.GameData.csproj
  13. +1 −0 GatherBuddy.GameData/Interfaces/IGatherable.cs
  14. +8 −0 GatherBuddy.Levenshtein/GatherBuddy.Levenshtein.csproj
  15. +93 −4 GatherBuddy.sln
  16. +95 −0 GatherBuddy/AutoGather/AutoGather.ActionIDs.cs
  17. +413 −0 GatherBuddy/AutoGather/AutoGather.Actions.cs
  18. +214 −0 GatherBuddy/AutoGather/AutoGather.Collectables.cs
  19. +368 −0 GatherBuddy/AutoGather/AutoGather.Config.cs
  20. +249 −0 GatherBuddy/AutoGather/AutoGather.Consumables.cs
  21. +168 −0 GatherBuddy/AutoGather/AutoGather.Gather.cs
  22. +275 −0 GatherBuddy/AutoGather/AutoGather.Movement.cs
  23. +113 −0 GatherBuddy/AutoGather/AutoGather.Purify.cs
  24. +115 −0 GatherBuddy/AutoGather/AutoGather.Repair.cs
  25. +67 −0 GatherBuddy/AutoGather/AutoGather.Spiritbond.cs
  26. +224 −0 GatherBuddy/AutoGather/AutoGather.Ui.cs
  27. +209 −0 GatherBuddy/AutoGather/AutoGather.Var.cs
  28. +658 −0 GatherBuddy/AutoGather/AutoGather.cs
  29. +248 −0 GatherBuddy/AutoGather/ConfigPreset.cs
  30. +21 −0 GatherBuddy/AutoGather/Extensions/GatherableExtensions.cs
  31. +296 −0 GatherBuddy/AutoGather/GatheringTracker.cs
  32. +134 −0 GatherBuddy/AutoGather/Helpers/AdvancedUnstuck.cs
  33. +61 −0 GatherBuddy/AutoGather/Helpers/Angle.cs
  34. +28 −0 GatherBuddy/AutoGather/Helpers/DiscipleOfLand.cs
  35. +141 −0 GatherBuddy/AutoGather/Helpers/OverrideMovement.cs
  36. +530 −0 GatherBuddy/AutoGather/Helpers/RotationSolver.cs
  37. +44 −0 GatherBuddy/AutoGather/Helpers/SoundHelper.cs
  38. +332 −0 GatherBuddy/AutoGather/Lists/ActiveItemList.cs
  39. +223 −0 GatherBuddy/AutoGather/Lists/AutoGatherList.cs
  40. +141 −0 GatherBuddy/AutoGather/Lists/AutoGatherListsManager.ManipPreset.cs
  41. +117 −0 GatherBuddy/AutoGather/Lists/AutoGatherListsManager.cs
  42. +7 −1 GatherBuddy/Config/Configuration.cs
  43. +20 −0 GatherBuddy/CustomInfo/FuzzyVector3.cs
  44. +666 −0 GatherBuddy/CustomInfo/IlvConvertTable.csv
  45. +189 −0 GatherBuddy/CustomInfo/WorldData.cs
  46. BIN GatherBuddy/CustomInfo/honk-sound.wav
  47. +4,490 −0 GatherBuddy/CustomInfo/node_offsets.json
  48. +38,826 −0 GatherBuddy/CustomInfo/world_locations.json
  49. +12 −0 GatherBuddy/GatherBuddy.Commands.cs
  50. +52 −3 GatherBuddy/GatherBuddy.cs
  51. +92 −8 GatherBuddy/GatherBuddy.csproj
  52. +17 −15 GatherBuddy/{GatherBuddy.yaml → GatherBuddyReborn.yaml}
  53. +84 −34 GatherBuddy/GatherHelper/GatherWindow.Ui.cs
  54. +105 −105 GatherBuddy/GatherHelper/GatherWindowManager.ManipPreset.cs
  55. +130 −130 GatherBuddy/GatherHelper/GatherWindowManager.cs
  56. +140 −140 GatherBuddy/GatherHelper/GatherWindowPreset.cs
  57. +359 −0 GatherBuddy/Gui/Interface.AutoGatherTab.cs
  58. +638 −0 GatherBuddy/Gui/Interface.ConfigPresetsTab.cs
  59. +210 −3 GatherBuddy/Gui/Interface.ConfigTab.cs
  60. +38 −0 GatherBuddy/Gui/Interface.ContextMenus.cs
  61. +306 −18 GatherBuddy/Gui/Interface.DebugTab.cs
  62. +9 −1 GatherBuddy/Gui/Interface.GatherGroupTab.cs
  63. +219 −219 GatherBuddy/Gui/Interface.GatherWindowTab.cs
  64. +1 −0 GatherBuddy/Gui/Interface.Header.cs
  65. +6 −2 GatherBuddy/Gui/Interface.cs
  66. +569 −0 GatherBuddy/Plugin/AutoGather.cs
  67. +35 −2 GatherBuddy/Plugin/ContextMenu.cs
  68. +75 −49 GatherBuddy/Plugin/Executor.cs
  69. +39 −35 GatherBuddy/Plugin/GatherBuddyIpc.cs
  70. +241 −0 GatherBuddy/Plugin/IpcSubscribers.cs
  71. +2 −0 GatherBuddy/Plugin/UptimeManager.cs
  72. +19 −0 GatherBuddy/SeFunctions/HousingManager.cs
  73. +165 −53 GatherBuddy/packages.lock.json
  74. +41 −2 README.md
  75. +27 −0 manifest.json
47 changes: 47 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Publish
on:
push:
tags:
- '*.*.*.*'
jobs:
Build:
permissions:
contents: write
runs-on: windows-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Get Environment Variables
run: |
$tag = "${{ github.ref }}" -replace 'refs/tags/', ''
"tag=$tag" | Out-File -Append -FilePath $Env:GITHUB_ENV
- name: Set up .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 9.0.x

- name: Download Dalamud Latest
run: |
Invoke-WebRequest -Uri https://goatcorp.github.io/dalamud-distrib/latest.zip -OutFile latest.zip
Expand-Archive -Force latest.zip "$env:AppData\XIVLauncher\addon\Hooks\dev"
- name: Restore Nuget Packages
run: dotnet restore Gatherbuddy/Gatherbuddy.csproj

- name: Build Plugin
run: dotnet build --no-restore -c Release Gatherbuddy/Gatherbuddy.csproj -p:AssemblyVersion=${{ env.tag }} -p:FileVersion=${{ env.tag }} -p:PackageVersion=${{ env.tag }} -p:InformationalVersion=${{ env.tag }} --output .\build

- name: Zip Plugin
run: Compress-Archive -Path .\build\* -DestinationPath .\build\GatherbuddyReborn.zip

- name: Publish Plugin
uses: softprops/action-gh-release@v2
with:
files: ./build/GatherbuddyReborn.zip
token: ${{ secrets.GITHUB_TOKEN }}

3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
bin/
obj/
.vs/
.vs/
.idea/
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -2,3 +2,6 @@
path = OtterGui
url = https://github.com/Ottermandias/OtterGui.git
branch = main
[submodule "ECommons"]
path = ECommons
url = https://github.com/NightmareXIV/ECommons
1 change: 1 addition & 0 deletions ECommons
Submodule ECommons added at 5e8da5
1 change: 1 addition & 0 deletions GatherBuddy.GameData/Classes/Fish.cs
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@
using ItemRow = Lumina.Excel.Sheets.Item;
using FishRow = Lumina.Excel.Sheets.FishParameter;
using SpearFishRow = Lumina.Excel.Sheets.SpearfishingItem;
using FFXIVClientStructs.FFXIV.Client.Game;

namespace GatherBuddy.Classes;

3 changes: 3 additions & 0 deletions GatherBuddy.GameData/Classes/FishingSpot.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using GatherBuddy.Interfaces;
using GatherBuddy.Structs;
using GatherBuddy.Utility;
@@ -62,6 +63,8 @@ public ObjectType Type
public bool Spearfishing
=> _data is SpearfishingNotebook;

public Dictionary<uint, List<Vector3>> WorldPositions { get; internal set; } = new();

public int CompareTo(FishingSpot? obj)
=> SheetId.CompareTo(obj?.SheetId ?? 0);

4 changes: 4 additions & 0 deletions GatherBuddy.GameData/Classes/Gatherable.cs
Original file line number Diff line number Diff line change
@@ -65,6 +65,10 @@ public override string ToString()
public int CompareTo(Gatherable? rhs)
=> ItemId.CompareTo(rhs?.ItemId ?? 0);

public bool IsCrystal => ItemData.FilterGroup == 11;

public bool IsTreasureMap => ItemData.FilterGroup == 18;

private readonly int _levelStars;

private static readonly string[] StarsArray =
8 changes: 8 additions & 0 deletions GatherBuddy.GameData/Classes/Node.Base.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using GatherBuddy.Enums;
using GatherBuddy.Interfaces;
using GatherBuddy.Structs;
@@ -42,6 +43,7 @@ public bool IsBotanist

public string Folklore { get; init; }


public GatheringNode(GameData data, IReadOnlyDictionary<uint, List<uint>> gatheringPoint,
IReadOnlyDictionary<uint, List<uint>> gatheringItemPoint, GatheringPointBase node)
{
@@ -58,6 +60,12 @@ public GatheringNode(GameData data, IReadOnlyDictionary<uint, List<uint>> gather
var coordRow = coords.GetRowOrDefault(node.RowId);
IntegralXCoord = coordRow != null ? Maps.NodeToMap(coordRow.Value.X, Territory.SizeFactor) : 100;
IntegralYCoord = coordRow != null ? Maps.NodeToMap(coordRow.Value.Y, Territory.SizeFactor) : 100;

foreach (var nodeRow2 in nodeList)
{
var worldCoords = data.WorldCoords.TryGetValue(nodeRow2, out var wc) ? wc : new List<Vector3>();
WorldPositions[nodeRow2] = worldCoords;
}

Radius = coordRow?.Radius ?? 10;

5 changes: 5 additions & 0 deletions GatherBuddy.GameData/Classes/Node.Location.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
using System;
using System.Collections.Generic;
using System.Numerics;

namespace GatherBuddy.Classes;

public partial class GatheringNode
@@ -14,4 +18,5 @@ public partial class GatheringNode

public ushort Radius { get; set; }
public ushort DefaultRadius { get; internal set; }
public Dictionary<uint, List<Vector3>> WorldPositions { get; internal set; } = new();
}
4 changes: 2 additions & 2 deletions GatherBuddy.GameData/Data/ForcedAetherytes.cs
Original file line number Diff line number Diff line change
@@ -48,8 +48,8 @@ public static readonly (uint NodeId, uint AetheryteId)[] Aetherytes =
(834, 172), // Rime Dolomite -> Camp Broken Glass
(771, 106), // Rarefied Shiitake Mushroom -> Onokoro
(682, 148), // Purpure -> Macarenses Angle
(310, 104), // Rarefied Raw Triphane -> Rhalgr's Reach
(312, 111), // Rarefied Raw Star Spinel -> Kugane
//(310, 104), // Rarefied Raw Triphane -> Rhalgr's Reach
//(312, 111), // Rarefied Raw Star Spinel -> Kugane
};

public static void Apply(GameData data)
7 changes: 6 additions & 1 deletion GatherBuddy.GameData/GameData.cs
Original file line number Diff line number Diff line change
@@ -2,6 +2,9 @@
using System.Collections.Frozen;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using Dalamud;
using Dalamud.Logging;
using Dalamud.Game;
using Dalamud.Plugin.Services;
using Dalamud.Utility;
@@ -41,6 +44,7 @@ public class GameData
public FrozenDictionary<uint, Bait> Bait { get; } = FrozenDictionary<uint, Bait>.Empty;
public FrozenDictionary<uint, Fish> Fishes { get; } = FrozenDictionary<uint, Fish>.Empty;
public FrozenDictionary<uint, FishingSpot> FishingSpots { get; } = FrozenDictionary<uint, FishingSpot>.Empty;
public Dictionary<uint, List<Vector3>> WorldCoords { get; init; } = new();

public IReadOnlyList<OceanRoute> OceanRoutes { get; } = Array.Empty<OceanRoute>();
public OceanTimeline OceanTimeline { get; } = null!;
@@ -63,10 +67,11 @@ public class GameData
_ => (null, null),
};

public GameData(IDataManager gameData, Logger log)
public GameData(IDataManager gameData, Logger log, Dictionary<uint, List<Vector3>> worldCoordsDict)
{
Log = log;
DataManager = gameData;
WorldCoords = worldCoordsDict;
try
{
GatheringIcons = new GatheringIcons(gameData);
47 changes: 47 additions & 0 deletions GatherBuddy.GameData/GatherBuddy.GameData.csproj
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
<Project Sdk="Dalamud.NET.Sdk/12.0.2">
<PropertyGroup>
<TargetFramework>net9.0-windows</TargetFramework>
<LangVersion>preview</LangVersion>
<PlatformTarget>x64</PlatformTarget>
<RootNamespace>GatherBuddy</RootNamespace>
<AssemblyName>GatherBuddy.GameData</AssemblyName>
<WarningLevel>4</WarningLevel>
<OutputPath>bin\$(Configuration)\</OutputPath>
<MSBuildWarningsAsMessages>$(MSBuildWarningsAsMessages);MSB3277</MSBuildWarningsAsMessages>
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<Configurations>Debug;Release</Configurations>
<Platforms>x64</Platforms>
</PropertyGroup>

<PropertyGroup>
@@ -14,4 +22,43 @@
<ProjectReference Include="..\GatherBuddy.Levenshtein\GatherBuddy.Levenshtein.csproj" />
<ProjectReference Include="..\OtterGui\OtterGui.csproj" />
</ItemGroup>

<PropertyGroup>
<DalamudLibPath>$(AppData)\XIVLauncher\addon\Hooks\dev\</DalamudLibPath>
</PropertyGroup>

<ItemGroup>
<Reference Include="Dalamud">
<HintPath>$(DalamudLibPath)Dalamud.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="FFXIVClientStructs">
<HintPath>$(DalamudLibPath)FFXIVClientStructs.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ImGui.NET">
<HintPath>$(DalamudLibPath)ImGui.NET.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ImGuiScene">
<HintPath>$(DalamudLibPath)ImGuiScene.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Lumina">
<HintPath>$(DalamudLibPath)Lumina.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Lumina.Excel">
<HintPath>$(DalamudLibPath)Lumina.Excel.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>$(DalamudLibPath)Newtonsoft.Json.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="InteropGenerator.Runtime">
<HintPath>$(DalamudLibPath)InteropGenerator.Runtime.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions GatherBuddy.GameData/Interfaces/IGatherable.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using GatherBuddy.Classes;
using GatherBuddy.Utility;
using Lumina.Excel.Sheets;

8 changes: 8 additions & 0 deletions GatherBuddy.Levenshtein/GatherBuddy.Levenshtein.csproj
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
<Project Sdk="Dalamud.NET.Sdk/12.0.2">
<PropertyGroup>
<TargetFramework>net9.0-windows</TargetFramework>
<LangVersion>preview</LangVersion>
<PlatformTarget>x64</PlatformTarget>
<RootNamespace>GatherBuddy.Levenshtein</RootNamespace>
<AssemblyName>GatherBuddy.Levenshtein</AssemblyName>
<WarningLevel>4</WarningLevel>
<OutputPath>bin\$(Configuration)\</OutputPath>
<MSBuildWarningsAsMessages>$(MSBuildWarningsAsMessages);MSB3277</MSBuildWarningsAsMessages>
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<Configurations>Debug;Release</Configurations>
<Platforms>x64</Platforms>
</PropertyGroup>

<PropertyGroup>
Loading