diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
new file mode 100644
index 0000000..1974a71
--- /dev/null
+++ b/.github/workflows/publish.yaml
@@ -0,0 +1,44 @@
+name: Publish
+on:
+ push:
+ tags:
+ - '*.*.*.*'
+jobs:
+ Build:
+ permissions:
+ contents: write
+ runs-on: windows-latest
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@v4
+ with:
+ submodules: true
+
+ - 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: 8.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 BasicRotations/DefaultRotations.csproj
+
+ - name: Build Rotations
+ run: dotnet build --no-restore -c Release BasicRotations/DefaultRotations.csproj -p:AssemblyVersion=${{ env.tag }} -p:FileVersion=${{ env.tag }} -p:InformationalVersion=${{ env.tag }} --output .\build
+
+ - name: Publish Rotations
+ uses: softprops/action-gh-release@v2
+ with:
+ files: ./build/DefaultRotations.dll
+ token: ${{ secrets.GITHUB_TOKEN }}
+
diff --git a/.gitmodules b/.gitmodules
index 1be1354..d722527 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
[submodule "RotationSolver"]
path = RotationSolver
url = https://github.com/FFXIV-CombatReborn/RotationSolverReborn
+[submodule "RotationSolverReborn"]
+ path = RotationSolverReborn
+ url = https://github.com/FFXIV-CombatReborn/RotationSolverReborn
diff --git a/BasicRotations.sln b/BasicRotations.sln
index f096844..e361228 100644
--- a/BasicRotations.sln
+++ b/BasicRotations.sln
@@ -12,6 +12,16 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
README.md = README.md
EndProjectSection
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RotationSolver.Basic", "RotationSolverReborn\RotationSolver.Basic\RotationSolver.Basic.csproj", "{32959949-3E63-4A42-AEAB-C82592DD3D6A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XIVPainter", "RotationSolverReborn\XIVPainter\XIVPainter\XIVPainter.csproj", "{5747D20D-AA5E-4530-AC24-01B98E2553D0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ECommons", "RotationSolverReborn\ECommons\ECommons\ECommons.csproj", "{3609A65E-447C-41D8-99EF-8A6550614C23}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RotationSolver.SourceGenerators", "RotationSolverReborn\RotationSolver.SourceGenerators\RotationSolver.SourceGenerators.csproj", "{B55978DC-39A7-4679-A7C0-5ECB8D45BD95}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RotationSolver.GameData", "RotationSolverReborn\RotationSolver.GameData\RotationSolver.GameData.csproj", "{A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -28,6 +38,46 @@ Global
{00DD640B-5207-40FB-A99B-8625E6B218C3}.Release|Any CPU.Build.0 = Release|Any CPU
{00DD640B-5207-40FB-A99B-8625E6B218C3}.Release|x64.ActiveCfg = Release|x64
{00DD640B-5207-40FB-A99B-8625E6B218C3}.Release|x64.Build.0 = Release|x64
+ {32959949-3E63-4A42-AEAB-C82592DD3D6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {32959949-3E63-4A42-AEAB-C82592DD3D6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {32959949-3E63-4A42-AEAB-C82592DD3D6A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {32959949-3E63-4A42-AEAB-C82592DD3D6A}.Debug|x64.Build.0 = Debug|Any CPU
+ {32959949-3E63-4A42-AEAB-C82592DD3D6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {32959949-3E63-4A42-AEAB-C82592DD3D6A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {32959949-3E63-4A42-AEAB-C82592DD3D6A}.Release|x64.ActiveCfg = Release|Any CPU
+ {32959949-3E63-4A42-AEAB-C82592DD3D6A}.Release|x64.Build.0 = Release|Any CPU
+ {5747D20D-AA5E-4530-AC24-01B98E2553D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5747D20D-AA5E-4530-AC24-01B98E2553D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5747D20D-AA5E-4530-AC24-01B98E2553D0}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {5747D20D-AA5E-4530-AC24-01B98E2553D0}.Debug|x64.Build.0 = Debug|Any CPU
+ {5747D20D-AA5E-4530-AC24-01B98E2553D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5747D20D-AA5E-4530-AC24-01B98E2553D0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5747D20D-AA5E-4530-AC24-01B98E2553D0}.Release|x64.ActiveCfg = Release|Any CPU
+ {5747D20D-AA5E-4530-AC24-01B98E2553D0}.Release|x64.Build.0 = Release|Any CPU
+ {3609A65E-447C-41D8-99EF-8A6550614C23}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {3609A65E-447C-41D8-99EF-8A6550614C23}.Debug|Any CPU.Build.0 = Debug|x64
+ {3609A65E-447C-41D8-99EF-8A6550614C23}.Debug|x64.ActiveCfg = Debug|x64
+ {3609A65E-447C-41D8-99EF-8A6550614C23}.Debug|x64.Build.0 = Debug|x64
+ {3609A65E-447C-41D8-99EF-8A6550614C23}.Release|Any CPU.ActiveCfg = Release|x64
+ {3609A65E-447C-41D8-99EF-8A6550614C23}.Release|Any CPU.Build.0 = Release|x64
+ {3609A65E-447C-41D8-99EF-8A6550614C23}.Release|x64.ActiveCfg = Release|x64
+ {3609A65E-447C-41D8-99EF-8A6550614C23}.Release|x64.Build.0 = Release|x64
+ {B55978DC-39A7-4679-A7C0-5ECB8D45BD95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B55978DC-39A7-4679-A7C0-5ECB8D45BD95}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B55978DC-39A7-4679-A7C0-5ECB8D45BD95}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B55978DC-39A7-4679-A7C0-5ECB8D45BD95}.Debug|x64.Build.0 = Debug|Any CPU
+ {B55978DC-39A7-4679-A7C0-5ECB8D45BD95}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B55978DC-39A7-4679-A7C0-5ECB8D45BD95}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B55978DC-39A7-4679-A7C0-5ECB8D45BD95}.Release|x64.ActiveCfg = Release|Any CPU
+ {B55978DC-39A7-4679-A7C0-5ECB8D45BD95}.Release|x64.Build.0 = Release|Any CPU
+ {A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}.Debug|x64.Build.0 = Debug|Any CPU
+ {A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}.Release|x64.ActiveCfg = Release|Any CPU
+ {A4FAC4C5-63AB-41A1-BC10-1C8CE132AD28}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/BasicRotations/DefaultRotations.csproj b/BasicRotations/DefaultRotations.csproj
index 52587be..3467437 100644
--- a/BasicRotations/DefaultRotations.csproj
+++ b/BasicRotations/DefaultRotations.csproj
@@ -3,7 +3,7 @@
$(AppData)\XIVLauncher\addon\Hooks\dev\
-
+
diff --git a/RotationSolverReborn b/RotationSolverReborn
new file mode 160000
index 0000000..7f50cce
--- /dev/null
+++ b/RotationSolverReborn
@@ -0,0 +1 @@
+Subproject commit 7f50cce57dfcc1f613180c6ea0d656501ecee153