Skip to content

Commit cb545c0

Browse files
authored
cross platform DLL support (#2)
makes single DLL work across platforms
2 parents 90db9b6 + 77eb4cc commit cb545c0

3 files changed

Lines changed: 23 additions & 23 deletions

File tree

GameLogger.sln

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,11 @@ Global
66
GlobalSection(SolutionConfigurationPlatforms) = preSolution
77
Debug|Any CPU = Debug|Any CPU
88
Release|Any CPU = Release|Any CPU
9-
Android|Any CPU = Android|Any CPU
109
EndGlobalSection
1110
GlobalSection(ProjectConfigurationPlatforms) = postSolution
1211
{11FBC798-BAF5-4EE5-9511-BE6DB0592F99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1312
{11FBC798-BAF5-4EE5-9511-BE6DB0592F99}.Debug|Any CPU.Build.0 = Debug|Any CPU
1413
{11FBC798-BAF5-4EE5-9511-BE6DB0592F99}.Release|Any CPU.ActiveCfg = Release|Any CPU
1514
{11FBC798-BAF5-4EE5-9511-BE6DB0592F99}.Release|Any CPU.Build.0 = Release|Any CPU
16-
{11FBC798-BAF5-4EE5-9511-BE6DB0592F99}.Android|Any CPU.ActiveCfg = Android|Any CPU
17-
{11FBC798-BAF5-4EE5-9511-BE6DB0592F99}.Android|Any CPU.Build.0 = Android|Any CPU
1815
EndGlobalSection
1916
EndGlobal

GameLogger/GameLogger.csproj

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework Condition="'$(Configuration)' == 'Android'">net8.0</TargetFramework>
4-
<TargetFramework Condition="'$(Configuration)' != 'Android'">net6.0</TargetFramework>
3+
<TargetFramework>net6.0</TargetFramework>
54
<LangVersion>latest</LangVersion>
65
<DebugType>embedded</DebugType>
76
<author>whichtwix</author>
87
</PropertyGroup>
98

109
<ItemGroup>
1110
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.735" Private="false" ExcludeAssets="runtime;native" />
12-
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2025.11.18" PrivateAssets="all" Condition="'$(Configuration)' != 'Android'" />
13-
<PackageReference Include="AmongUs.GameLibs.Android" Version="2025.10.14" PrivateAssets="all" Condition="'$(Configuration)' == 'Android'"/>
11+
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2025.11.18" PrivateAssets="all" />
1412

1513
<PackageReference Include="BepInEx.AutoPlugin" Version="1.1.0" PrivateAssets="all" />
1614
<PackageReference Include="BepInEx.IL2CPP.MSBuild" Version="2.0.1" PrivateAssets="all" ExcludeAssets="runtime" />

GameLogger/Patches/LobbyPatches.cs

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,31 @@ public class LobbyLogs
1414

1515
public static void Postfix()
1616
{
17-
#if !ANDROID
18-
if (GameLogger.Builder.Length > 0)
17+
if (OperatingSystem.IsAndroid())
1918
{
20-
if (!Directory.Exists("GameLogs")) Directory.CreateDirectory("GameLogs");
21-
var game = GameLogger.Builder.ToString();
22-
File.AppendAllText($"GameLogs\\{DateTime.Now:u}_{Utils.GetMap()}.txt".Replace(":", "-"), game);
23-
GameLogger.Builder.Clear();
19+
GameLogger.Logger.LogMessage("Android detected, saving logs to persistent data path.");
20+
if (GameLogger.Builder.Length > 0)
21+
{
22+
var path = Path.GetFullPath("GameLogs", Application.persistentDataPath);
23+
GameLogger.Logger.LogMessage($"android path: {path}");
24+
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
25+
var game = GameLogger.Builder.ToString();
26+
var log = Path.Combine(path, $"{DateTime.Now:u}_{Utils.GetMap()}.txt".Replace(":", "-"));
27+
File.AppendAllText(log, game);
28+
GameLogger.Builder.Clear();
29+
}
2430
}
25-
#else
26-
if (GameLogger.Builder.Length > 0)
31+
else
2732
{
28-
var path = Path.GetFullPath("GameLogs", Application.persistentDataPath);
29-
GameLogger.Logger.LogMessage($"android path: {path}");
30-
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
31-
var game = GameLogger.Builder.ToString();
32-
var log = Path.Combine(path, $"{DateTime.Now:u}_{Utils.GetMap()}.txt".Replace(":", "-"));
33-
File.AppendAllText(log, game);
34-
GameLogger.Builder.Clear();
33+
GameLogger.Logger.LogMessage("Non-Android detected, saving logs to local GameLogs folder.");
34+
if (GameLogger.Builder.Length > 0)
35+
{
36+
if (!Directory.Exists("GameLogs")) Directory.CreateDirectory("GameLogs");
37+
var game = GameLogger.Builder.ToString();
38+
File.AppendAllText($"GameLogs\\{DateTime.Now:u}_{Utils.GetMap()}.txt".Replace(":", "-"), game);
39+
GameLogger.Builder.Clear();
40+
}
3541
}
36-
#endif
3742

3843
TimerLogs.Watch.Reset();
3944
TaskLogs.State = TaskLogs.TaskStates.None;

0 commit comments

Comments
 (0)