Skip to content

Commit 330f6ce

Browse files
committed
Merge branch 'upcoming' into upcoming-nuget-release
2 parents 19de186 + 35a82a3 commit 330f6ce

16 files changed

+66
-51
lines changed

.gitignore

+6-1
Original file line numberDiff line numberDiff line change
@@ -355,4 +355,9 @@ MigrationBackup/
355355
.idea
356356

357357
OTAPI.Client.Launcher/OTAPI.app/
358-
server/
358+
server/
359+
dependencies/
360+
terraria-server-*
361+
artifact-*/
362+
AutoGenerated.target
363+
*.mfw.md

OTAPI.Client.Launcher/Actions/OTAPI.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ static class OTAPI
3535
static void CompileAndInstall() //considering to keep or not. this can recompile OTAPI mods on launch...which will be great for developing it. will look into when i get back to it one day
3636
{
3737
ModContext ctx = new("OTAPI");
38-
ctx.BaseDirectory = "patchtime";
38+
ctx.BaseDirectory = Path.Combine(ModContext.DefaultBaseDirectory, "patchtime");
3939
var cl = new CSharpLoader(ctx)
4040
.SetAutoLoadAssemblies(false)
4141
.SetClearExistingModifications(false)

OTAPI.Client.Launcher/OTAPI.Client.Launcher.csproj

+11-11
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@
2929
<None Include="csharp\plugins\scripts\otapi\test-runtime.cs" />
3030
</ItemGroup>
3131
<ItemGroup>
32-
<PackageReference Include="Avalonia" Version="11.2.3" />
33-
<PackageReference Include="Avalonia.Desktop" Version="11.2.3" />
34-
<PackageReference Include="Avalonia.Diagnostics" Version="11.2.3" />
32+
<PackageReference Include="Avalonia" Version="11.2.5" />
33+
<PackageReference Include="Avalonia.Desktop" Version="11.2.5" />
34+
<PackageReference Include="Avalonia.Diagnostics" Version="11.2.5" />
3535
<PackageReference Include="CefGlue.Avalonia" Version="120.6099.210" />
3636
<PackageReference Include="CefGlue.Common" Version="120.6099.210" />
37-
<PackageReference Include="Material.Avalonia" Version="3.9.1" />
38-
<PackageReference Include="Projektanker.Icons.Avalonia.FontAwesome" Version="9.6.0" />
37+
<PackageReference Include="Material.Avalonia" Version="3.9.2" />
38+
<PackageReference Include="Projektanker.Icons.Avalonia.FontAwesome" Version="9.6.1" />
3939
<PackageReference Include="ReactiveUI" Version="20.1.63" />
4040
<PackageReference Include="Steamworks.NET" Version="2024.8.0" />
4141
<PackageReference Include="System.Private.Uri" Version="4.3.2" />
@@ -52,17 +52,17 @@
5252
</ProjectReference>
5353
</ItemGroup>
5454
<ItemGroup>
55-
<PackageReference Include="ImGui.NET" Version="1.91.0.1" GeneratePathProperty="true" />
56-
<PackageReference Include="ModFramework.Modules.ClearScript" Version="1.1.13" GeneratePathProperty="true" />
57-
<PackageReference Include="ModFramework.Modules.CSharp" Version="1.1.13" GeneratePathProperty="true" />
58-
<PackageReference Include="ModFramework.Modules.Lua" Version="1.1.13" GeneratePathProperty="true" />
55+
<PackageReference Include="ImGui.NET" Version="1.91.6.1" GeneratePathProperty="true" />
56+
<PackageReference Include="ModFramework.Modules.ClearScript" Version="1.1.14" GeneratePathProperty="true" />
57+
<PackageReference Include="ModFramework.Modules.CSharp" Version="1.1.14" GeneratePathProperty="true" />
58+
<PackageReference Include="ModFramework.Modules.Lua" Version="1.1.14" GeneratePathProperty="true" />
5959
<PackageReference Include="SharpZipLib" Version="1.4.2" />
60-
<PackageReference Include="System.Drawing.Common" Version="9.0.0" />
60+
<PackageReference Include="System.Drawing.Common" Version="9.0.2" />
6161
<PackageReference Include="MonoMod.RuntimeDetour.HookGen" Version="22.7.31.1" />
6262
<PackageReference Include="MonoMod" Version="22.7.31.1">
6363
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
6464
</PackageReference>
65-
<PackageReference Include="MonoMod.RuntimeDetour" Version="25.2.2">
65+
<PackageReference Include="MonoMod.RuntimeDetour" Version="25.2.3">
6666
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
6767
</PackageReference>
6868
</ItemGroup>

OTAPI.Patcher/NugetPackageBuilder.cs

+9-6
Original file line numberDiff line numberDiff line change
@@ -78,19 +78,22 @@ public void Build(ModFwModder modder)
7878
var packageBuilder = new NuGet.Packaging.PackageBuilder();
7979
packageBuilder.Populate(manifest.Metadata);
8080

81-
packageBuilder.AddFiles("../../../../", "COPYING.txt", "COPYING.txt");
81+
var basePath = Path.Combine(AppContext.BaseDirectory, "../../../../");
82+
packageBuilder.AddFiles(basePath, "COPYING.txt", "COPYING.txt");
8283

8384
foreach (var platform in platforms)
8485
{
8586
var dest = Path.Combine("lib", platform);
86-
packageBuilder.AddFiles(Environment.CurrentDirectory, "OTAPI.dll", dest);
87-
packageBuilder.AddFiles(Environment.CurrentDirectory, "OTAPI.Runtime.dll", dest);
87+
packageBuilder.AddFiles(AppContext.BaseDirectory, "OTAPI.dll", dest);
88+
packageBuilder.AddFiles(AppContext.BaseDirectory, "OTAPI.Runtime.dll", dest);
8889
}
8990

90-
if (File.Exists(PackageName))
91-
File.Delete(PackageName);
91+
var output = Path.Combine(AppContext.BaseDirectory, PackageName);
9292

93-
using (var srm = File.OpenWrite(PackageName))
93+
if (File.Exists(output))
94+
File.Delete(output);
95+
96+
using (var srm = File.OpenWrite(output))
9497
packageBuilder.Save(srm);
9598
}
9699
}

OTAPI.Patcher/OTAPI.Patcher.csproj

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<TargetFramework>net9.0</TargetFramework>
6-
<Version>3.2.4</Version>
6+
<Version>3.2.5</Version>
77
<PreserveCompilationContext>true</PreserveCompilationContext>
88
<RuntimeIdentifiers>win;osx;linux;</RuntimeIdentifiers>
99
<Nullable>enable</Nullable>
1010
<PackageReleaseNotes>Terraria 1.4.4.9 on .NET9</PackageReleaseNotes>
1111
</PropertyGroup>
1212
<ItemGroup>
13-
<PackageReference Include="ModFramework.Modules.ClearScript" Version="1.1.13" />
14-
<PackageReference Include="ModFramework.Modules.CSharp" Version="1.1.13" />
15-
<PackageReference Include="ModFramework.Modules.Lua" Version="1.1.13" />
13+
<PackageReference Include="ModFramework.Modules.ClearScript" Version="1.1.14" />
14+
<PackageReference Include="ModFramework.Modules.CSharp" Version="1.1.14" />
15+
<PackageReference Include="ModFramework.Modules.Lua" Version="1.1.14" />
1616
<PackageReference Include="Steamworks.NET" Version="2024.8.0" />
1717
<PackageReference Include="MonoMod.RuntimeDetour.HookGen" Version="22.7.31.1" />
18-
<PackageReference Include="MonoMod.RuntimeDetour" Version="25.2.2" />
18+
<PackageReference Include="MonoMod.RuntimeDetour" Version="25.2.3" />
1919
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
2020
<PackageReference Include="System.Private.Uri" Version="4.3.2" />
21-
<PackageReference Include="System.Security.Permissions" Version="9.0.0" />
21+
<PackageReference Include="System.Security.Permissions" Version="9.0.2" />
2222
</ItemGroup>
2323
<ItemGroup>
2424
<ProjectReference Include="..\FNA\FNA.Core.csproj" />

OTAPI.Patcher/Targets/IPatchTarget.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ public static void WriteCIArtifacts(this IPatchTarget target, string outputFolde
8484
if (Directory.Exists(outputFolder)) Directory.Delete(outputFolder, true);
8585
Directory.CreateDirectory(outputFolder);
8686

87-
File.Copy("../../../../COPYING.txt", Path.Combine(outputFolder, "COPYING.txt"));
88-
File.Copy("OTAPI.dll", Path.Combine(outputFolder, "OTAPI.dll"));
89-
File.Copy("OTAPI.Runtime.dll", Path.Combine(outputFolder, "OTAPI.Runtime.dll"));
87+
File.Copy(Path.Combine(AppContext.BaseDirectory, "../../../../COPYING.txt"), Path.Combine(outputFolder, "COPYING.txt"));
88+
File.Copy(Path.Combine(AppContext.BaseDirectory, "OTAPI.dll"), Path.Combine(outputFolder, "OTAPI.dll"));
89+
File.Copy(Path.Combine(AppContext.BaseDirectory, "OTAPI.Runtime.dll"), Path.Combine(outputFolder, "OTAPI.Runtime.dll"));
9090
}
9191

9292
public static void AddEnvMetadata(this ModFwModder modder)

OTAPI.Patcher/Targets/MobileServerTarget.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ You should have received a copy of the GNU General Public License
1818
*/
1919
using ModFramework;
2020
using OTAPI.Patcher.Resolvers;
21+
using System;
22+
using System.IO;
2123

2224
namespace OTAPI.Patcher.Targets;
2325

@@ -28,7 +30,7 @@ public class MobileServerTarget : PCServerTarget
2830
public override string ArtifactName { get; } = "artifact-mobile";
2931
public override IFileResolver FileResolver { get; } = new MobileFileResolver();
3032

31-
public override NugetPackageBuilder NugetPackager { get; } = new("OTAPI.Mobile.nupkg", "../../../../docs/OTAPI.Mobile.nuspec");
33+
public override NugetPackageBuilder NugetPackager { get; } = new("OTAPI.Mobile.nupkg", Path.Combine(AppContext.BaseDirectory, "../../../../docs/OTAPI.Mobile.nuspec"));
3234
public override MarkdownDocumentor MarkdownDocumentor { get; } = new("OTAPI.Mobile.Server.mfw.md");
3335
}
3436

OTAPI.Patcher/Targets/PCClientTarget.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public Task PatchAsync()
163163
{
164164
Console.WriteLine($"Open Terraria API v{Common.GetVersion()}");
165165

166-
ModContext.BaseDirectory = "patchtime"; // PatchtimePath;
166+
ModContext.BaseDirectory = Path.Combine(ModContext.DefaultBaseDirectory, "patchtime");
167167
var refs = Path.Combine(Environment.CurrentDirectory, "OTAPI.dll");
168168
var otapi = Path.Combine(InstallDestination, "OTAPI.exe");
169169
var hooks = Path.Combine(InstallDestination, "OTAPI.Runtime.dll");

OTAPI.Patcher/Targets/PCServerTarget.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class PCServerTarget : IServerPatchTarget
2626

2727
public virtual IFileResolver FileResolver { get; } = new PCFileResolver();
2828

29-
public virtual NugetPackageBuilder NugetPackager { get; } = new("OTAPI.PC.nupkg", "../../../../docs/OTAPI.PC.nuspec");
29+
public virtual NugetPackageBuilder NugetPackager { get; } = new("OTAPI.PC.nupkg", Path.Combine(AppContext.BaseDirectory, "../../../../docs/OTAPI.PC.nuspec"));
3030
public virtual MarkdownDocumentor MarkdownDocumentor { get; } = new("OTAPI.PC.Server.mfw.md");
3131

3232
public virtual string ArtifactName { get; } = "artifact-pc";

OTAPI.Patcher/Targets/PatchTargets.cs

+6-5
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1616
You should have received a copy of the GNU General Public License
1717
along with this program. If not, see <http://www.gnu.org/licenses/>.
1818
*/
19+
using Mono.Cecil;
20+
using Mono.Cecil.Cil;
1921
using System;
2022
using System.Collections.Generic;
2123
using System.IO;
2224
using System.Linq;
2325
using System.Runtime.InteropServices;
24-
using Mono.Cecil;
25-
using Mono.Cecil.Cil;
2626

2727
namespace OTAPI.Patcher.Targets;
2828

@@ -47,7 +47,7 @@ public static IPatchTarget DeterminePatchTarget()
4747
if (!String.IsNullOrWhiteSpace(cli) && _targets.TryGetValue(cli[0], out IPatchTarget? match))
4848
return match;
4949

50-
if(Console.IsInputRedirected)
50+
if (Console.IsInputRedirected)
5151
return new PCServerTarget();
5252

5353
int attempts = 5;
@@ -82,7 +82,8 @@ public static IPatchTarget DeterminePatchTarget()
8282
/// </summary>
8383
public static void PatchMonoMod()
8484
{
85-
var bin = File.ReadAllBytes("MonoMod.dll");
85+
var dllPath = Path.Combine(AppContext.BaseDirectory, "MonoMod.dll");
86+
var bin = File.ReadAllBytes(dllPath);
8687
using MemoryStream ms = new(bin);
8788
var asm = AssemblyDefinition.ReadAssembly(ms);
8889
var modder = asm.MainModule.Types.Single(x => x.FullName == "MonoMod.MonoModder");
@@ -114,7 +115,7 @@ public static void PatchMonoMod()
114115
OpCodes.Ldc_I4, RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? 37 : 0
115116
));
116117

117-
asm.Write("MonoMod.dll");
118+
asm.Write(dllPath);
118119
}
119120
}
120121
}

OTAPI.Patcher/Targets/TMLPCServerTarget.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ You should have received a copy of the GNU General Public License
1919

2020
using ModFramework;
2121
using OTAPI.Patcher.Resolvers;
22+
using System;
2223
using System.IO;
2324
using System.Linq;
2425

@@ -31,7 +32,7 @@ public class TMLPCServerTarget : PCServerTarget
3132
public override string ArtifactName { get; } = "artifact-tml";
3233
public override IFileResolver FileResolver { get; } = new TMLFileResolver();
3334

34-
public override NugetPackageBuilder NugetPackager { get; } = new("OTAPI.TML.nupkg", "../../../../docs/OTAPI.TML.nuspec");
35+
public override NugetPackageBuilder NugetPackager { get; } = new("OTAPI.TML.nupkg", Path.Combine(AppContext.BaseDirectory, "../../../../docs/OTAPI.TML.nuspec"));
3536
public override MarkdownDocumentor MarkdownDocumentor { get; } = new("OTAPI.TML.PC.Server.mfw.md");
3637

3738
public override bool PublicEverything => false; // tml expects various classes to still be private

OTAPI.Scripts/Mods/PatchSteamworks.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ You should have received a copy of the GNU General Public License
2525
using Mono.Cecil;
2626
using Mono.Cecil.Cil;
2727
using MonoMod;
28+
using System;
29+
using System.IO;
2830
using System.Linq;
2931

3032
/// <summary>
@@ -34,7 +36,8 @@ You should have received a copy of the GNU General Public License
3436
[MonoMod.MonoModIgnore]
3537
void PatchSteam(ModFwModder modder)
3638
{
37-
var steamworks = AssemblyDefinition.ReadAssembly("Steamworks.NET.dll"); // Avoid using type refs, as arm64 will die on this assembly.
39+
var assemblyPath = Path.Combine(AppContext.BaseDirectory, "Steamworks.NET.dll");
40+
var steamworks = AssemblyDefinition.ReadAssembly(assemblyPath); // Avoid using type refs, as arm64 will die on this assembly.
3841
var version = steamworks.Name.Version; // Avoid using type refs, as arm64 will die on this assembly.
3942

4043
//Update the references to match what is installed

OTAPI.Scripts/OTAPI.Scripts.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<ItemGroup>
3333
<ProjectReference Include="..\FNA\FNA.Core.csproj" />
3434
<PackageReference Include="Steamworks.NET" Version="2024.8.0" />
35-
<PackageReference Include="ModFramework" Version="1.1.13" />
35+
<PackageReference Include="ModFramework" Version="1.1.14" />
3636
<PackageReference Include="MonoMod" Version="22.7.31.1" />
3737
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
3838
</ItemGroup>

OTAPI.Server.Launcher/OTAPI.Server.Launcher.csproj

+9-9
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,23 @@
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="ModFramework" Version="1.1.13">
15+
<PackageReference Include="ModFramework" Version="1.1.14">
1616
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
1717
</PackageReference>
18-
<PackageReference Include="ModFramework.Modules.ClearScript" Version="1.1.13" />
19-
<PackageReference Include="ModFramework.Modules.CSharp" Version="1.1.13" />
20-
<PackageReference Include="ModFramework.Modules.Lua" Version="1.1.13" />
18+
<PackageReference Include="ModFramework.Modules.ClearScript" Version="1.1.14" />
19+
<PackageReference Include="ModFramework.Modules.CSharp" Version="1.1.14" />
20+
<PackageReference Include="ModFramework.Modules.Lua" Version="1.1.14" />
2121
<PackageReference Include="Steamworks.NET" Version="2024.8.0" />
2222
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
23-
<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.0" />
24-
<PackageReference Include="System.Drawing.Common" Version="9.0.0" />
25-
<PackageReference Include="System.IO.Packaging" Version="9.0.0" />
26-
<PackageReference Include="System.Security.Permissions" Version="9.0.0" />
23+
<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.2" />
24+
<PackageReference Include="System.Drawing.Common" Version="9.0.2" />
25+
<PackageReference Include="System.IO.Packaging" Version="9.0.2" />
26+
<PackageReference Include="System.Security.Permissions" Version="9.0.2" />
2727
<PackageReference Include="Mono.Cecil" Version="0.11.6" />
2828
<PackageReference Include="MonoMod" Version="22.7.31.1">
2929
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
3030
</PackageReference>
31-
<PackageReference Include="MonoMod.RuntimeDetour" Version="25.2.2">
31+
<PackageReference Include="MonoMod.RuntimeDetour" Version="25.2.3">
3232
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
3333
</PackageReference>
3434
</ItemGroup>

examples/RuntimeExample.Client/RuntimeExample.Client.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
1212
</PropertyGroup>
1313
<ItemGroup>
14-
<PackageReference Include="ModFramework" Version="1.1.13" />
14+
<PackageReference Include="ModFramework" Version="1.1.14" />
1515
</ItemGroup>
1616
<ItemGroup>
1717
<Reference Include="OTAPI.Runtime">
@@ -25,6 +25,6 @@
2525
</Reference>
2626
</ItemGroup>
2727
<ItemGroup>
28-
<PackageReference Include="ImGui.NET" Version="1.91.0.1" />
28+
<PackageReference Include="ImGui.NET" Version="1.91.6.1" />
2929
</ItemGroup>
3030
</Project>

examples/RuntimeExample.Server/RuntimeExample.Server.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="ModFramework" Version="1.1.13" />
10+
<PackageReference Include="ModFramework" Version="1.1.14" />
1111
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
1212
</ItemGroup>
1313

0 commit comments

Comments
 (0)