Skip to content

Commit 28c9d46

Browse files
Merge branch 'master' into master
2 parents 9e193d1 + c910e9d commit 28c9d46

134 files changed

Lines changed: 5072 additions & 457 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ jobs:
2121
with:
2222
dotnet-version: 7.0.x
2323
- name: Restore dependencies
24-
run: dotnet restore
24+
run: dotnet restore NeoModLoader.csproj
2525
- name: Build
26-
run: dotnet build
26+
run: dotnet build NeoModLoader.csproj
2727
- name: Archive production artifacts
2828
uses: actions/upload-artifact@v4
2929
with:

.github/workflows/build_mobile.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# This workflow will build a .NET project
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
3+
4+
name: Build-NML
5+
6+
on:
7+
push:
8+
branches: [ "master" ]
9+
pull_request:
10+
branches: [ "master" ]
11+
12+
jobs:
13+
Android:
14+
15+
runs-on: windows-2025
16+
17+
steps:
18+
- uses: actions/checkout@v3
19+
- name: Setup .NET
20+
uses: actions/setup-dotnet@v3
21+
with:
22+
dotnet-version: 7.0.x
23+
- name: Restore dependencies
24+
run: dotnet restore NeoModLoader_mobile.csproj
25+
- name: Build
26+
run: dotnet build NeoModLoader_mobile.csproj
27+
- name: Archive production artifacts
28+
uses: actions/upload-artifact@v4
29+
with:
30+
name: NeoModLoader
31+
path: |
32+
bin\Debug\net8.0\NeoModLoader.*

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.*
1+
.*
22
!.github
33
!.gitignore
44
!.gitattributes
@@ -11,8 +11,8 @@
1111
assemblies
1212
!resources/assemblies
1313
resources/commit
14-
*.csproj
1514
*.user
1615
*.snk
1716
App.config
18-
constants/Setting.cs
17+
constants/Setting.cs
18+
*.sln

NeoModLoader.csproj

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>net48</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>disable</Nullable>
7-
<LangVersion>11</LangVersion>
7+
<LangVersion>12</LangVersion>
88
<GenerateDocumentationFile>True</GenerateDocumentationFile>
99
<Authors>WorldBoxOpenMods</Authors>
1010
<PackageProjectUrl>https://github.com/WorldBoxOpenMods</PackageProjectUrl>
@@ -101,6 +101,9 @@
101101
<Reference Include="UnityEngine.ImageConversionModule">
102102
<HintPath>assembly-dependencies\UnityEngine.ImageConversionModule.dll</HintPath>
103103
</Reference>
104+
<Reference Include="UnityEngine.IMGUIModule">
105+
<HintPath>assembly-dependencies\UnityEngine.IMGUIModule.dll</HintPath>
106+
</Reference>
104107
<Reference Include="UnityEngine.InputLegacyModule">
105108
<HintPath>assembly-dependencies\UnityEngine.InputLegacyModule.dll</HintPath>
106109
</Reference>
@@ -125,7 +128,7 @@
125128
<!-- Used for writing config file for auto-installing BepInEx in Linux and OSX-->
126129
<PackageReference Include="Gameloop.Vdf" Version="0.6.2" />
127130
<!-- Used for reading sprite meta file generated by UnityEditor-->
128-
<PackageReference Include="YamlDotNet" Version="13.7.1" />
131+
<PackageReference Include="YamlDotNet" Version="16.3.0" />
129132
</ItemGroup>
130133

131134
<ItemGroup>
@@ -199,12 +202,16 @@
199202
<None Remove="resources\windowVertNamePlate.png" />
200203
<EmbeddedResource Include="resources\windowVertNamePlate.png" />
201204
<None Remove="resources\assemblies\NeoModLoader.AutoUpdate" />
202-
<None Remove="resources\assemblies\Assembly-CSharp-Publicized.dll"/>
203-
<EmbeddedResource Include="resources\assemblies\Assembly-CSharp-Publicized.dll"/>
204-
<None Remove="resources\assemblies\NeoModLoader.AutoUpdate.dll"/>
205-
<EmbeddedResource Include="resources\assemblies\NeoModLoader.AutoUpdate.dll"/>
206-
<None Remove="resources\assemblies\Mono.Cecil.Pdb.dll"/>
207-
<EmbeddedResource Include="resources\assemblies\Mono.Cecil.Pdb.dll"/>
205+
<None Remove="resources\assemblies\Assembly-CSharp-Publicized.dll" />
206+
<EmbeddedResource Include="resources\assemblies\Assembly-CSharp-Publicized.dll" />
207+
<None Remove="resources\assemblies\NeoModLoader.AutoUpdate.dll" />
208+
<EmbeddedResource Include="resources\assemblies\NeoModLoader.AutoUpdate.dll" />
209+
<None Remove="resources\assemblies\Mono.Cecil.Pdb.dll" />
210+
<EmbeddedResource Include="resources\assemblies\Mono.Cecil.Pdb.dll" />
211+
<EmbeddedResource Remove="android-assembly-dependencies\**" />
212+
<None Remove="android-assembly-dependencies\**" />
213+
<EmbeddedResource Remove="android_compatibility_module\IL2CPP\**" />
214+
<None Remove="android_compatibility_module\IL2CPP\**" />
208215
</ItemGroup>
209216

210217
<ItemGroup>
@@ -220,14 +227,20 @@
220227
<ItemGroup>
221228
<None Include=".github\workflows\build.yml" />
222229
</ItemGroup>
230+
231+
<ItemGroup>
232+
<Compile Remove="android-assembly-dependencies\**" />
233+
<Compile Remove="AndroidCompatibilityModule\IL2CPPWrapper\**" />
234+
<Compile Remove="android_compatibility_module\IL2CPPWrapper\**" />
235+
<Compile Remove="android_compatibility_module\IL2CPP\**" />
236+
</ItemGroup>
223237

224238
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
225239
<Exec Command="pwsh -File prepare_debug.ps1" Condition=" '$(OS)' == 'Windows_NT' " />
226-
<Exec Command="sh ./prepare_debug.sh" Condition=" '$(OS)' != 'Windows_NT' " />
240+
227241
</Target>
228242
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
229-
<Exec Command="sh ./before_build.sh" Condition=" '$(OS)' != 'Windows_NT' " />
230-
<Exec Command="pwsh -File before_build.ps1" Condition=" '$(OS)' == 'Windows_NT' " />
243+
231244
</Target>
232245

233246
</Project>

NeoModLoader_mobile.csproj

Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<DefineConstants>IL2CPP</DefineConstants>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>disable</Nullable>
8+
<LangVersion>14</LangVersion>
9+
<GenerateDocumentationFile>True</GenerateDocumentationFile>
10+
<Authors>WorldBoxOpenMods</Authors>
11+
<PackageProjectUrl>https://github.com/WorldBoxOpenMods</PackageProjectUrl>
12+
<RepositoryUrl>https://github.com/WorldBoxOpenMods/ModLoader</RepositoryUrl>
13+
<RepositoryType>Git</RepositoryType>
14+
<AssemblyVersion>1.7</AssemblyVersion>
15+
<DebugType>portable</DebugType>
16+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
17+
<AssemblyName>NeoModLoader_mobile</AssemblyName>
18+
</PropertyGroup>
19+
20+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
21+
<SignAssembly>true</SignAssembly>
22+
<AssemblyOriginatorKeyFile>wbopenmods.snk</AssemblyOriginatorKeyFile>
23+
</PropertyGroup>
24+
25+
<!-- Used for HarmonyPatch, Authentication, Auto-update, Hotfix, Steam workshop-->
26+
<ItemGroup>
27+
<Reference Include="0Harmony">
28+
<HintPath>android-assembly-dependencies\0Harmony.dll</HintPath>
29+
</Reference>
30+
<Reference Include="Il2CppInterop.Common">
31+
<HintPath>..\..\..\Desktop\melon_data\MelonLoader\net8\Il2CppInterop.Common.dll</HintPath>
32+
</Reference>
33+
<Reference Include="Il2CppInterop.Runtime">
34+
<HintPath>android-assembly-dependencies\Il2CppInterop.Runtime.dll</HintPath>
35+
</Reference>
36+
<Reference Include="Il2Cppmscorlib">
37+
<HintPath>android-assembly-dependencies\Il2Cppmscorlib.dll</HintPath>
38+
</Reference>
39+
<Reference Include="Il2CppSystem.Core">
40+
<HintPath>android-assembly-dependencies\Il2CppSystem.Core.dll</HintPath>
41+
</Reference>
42+
<Reference Include="MelonLoader">
43+
<HintPath>android-assembly-dependencies\MelonLoader.dll</HintPath>
44+
</Reference>
45+
<Reference Include="Mono.Cecil">
46+
<HintPath>android-assembly-dependencies\Mono.Cecil.dll</HintPath>
47+
</Reference>
48+
<Reference Include="Mono.Cecil.Pdb">
49+
<HintPath>android-assembly-dependencies\Mono.Cecil.Pdb.dll</HintPath>
50+
</Reference>
51+
<Reference Include="MonoMod.Core">
52+
<HintPath>android-assembly-dependencies\MonoMod.Core.dll</HintPath>
53+
</Reference>
54+
<Reference Include="MonoMod.RuntimeDetour">
55+
<HintPath>android-assembly-dependencies\MonoMod.RuntimeDetour.dll</HintPath>
56+
</Reference>
57+
<Reference Include="MonoMod.Utils">
58+
<HintPath>android-assembly-dependencies\MonoMod.Utils.dll</HintPath>
59+
</Reference>
60+
<Reference Include="Newtonsoft.Json">
61+
<HintPath>assembly-dependencies\Newtonsoft.Json.dll</HintPath>
62+
</Reference>
63+
<Reference Include="RSG">
64+
<HintPath>android-assembly-dependencies\Il2CppRSG.dll</HintPath>
65+
</Reference>
66+
<Reference Include="UnityEngine.IMGUIModule">
67+
<HintPath>android-assembly-dependencies\UnityEngine.IMGUIModule.dll</HintPath>
68+
</Reference>
69+
<Reference Include="UnityEngine.UnityWebRequestModule">
70+
<HintPath>android-assembly-dependencies\UnityEngine.UnityWebRequestModule.dll</HintPath>
71+
</Reference>
72+
</ItemGroup>
73+
74+
<!-- Used for Compile and load mods -->
75+
<ItemGroup>
76+
<Reference Include="Microsoft.CodeAnalysis">
77+
<HintPath>resources\assemblies\Microsoft.CodeAnalysis.dll</HintPath>
78+
</Reference>
79+
<Reference Include="Microsoft.CodeAnalysis.CSharp">
80+
<HintPath>resources\assemblies\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
81+
</Reference>
82+
</ItemGroup>
83+
84+
<ItemGroup>
85+
<!-- Used for writing config file for auto-installing BepInEx in Linux and OSX-->
86+
<PackageReference Include="Gameloop.Vdf" Version="0.6.2" />
87+
<!-- Used for reading sprite meta file generated by UnityEditor-->
88+
<PackageReference Include="YamlDotNet" Version="16.3.0" />
89+
</ItemGroup>
90+
91+
<!-- Used for UI and other services -->
92+
<ItemGroup>
93+
<Reference Include="Assembly-CSharp">
94+
<HintPath>android-assembly-dependencies\Assembly-CSharp.dll</HintPath>
95+
</Reference>
96+
<Reference Include="Assembly-CSharp-firstpass">
97+
<HintPath>android-assembly-dependencies\Assembly-CSharp-firstpass.dll</HintPath>
98+
</Reference>
99+
<Reference Include="strings">
100+
<HintPath>android-assembly-dependencies\Il2Cppstrings.dll</HintPath>
101+
</Reference>
102+
<Reference Include="DOTween">
103+
<HintPath>android-assembly-dependencies\Il2CppDOTween.dll</HintPath>
104+
</Reference>
105+
<Reference Include="FMODUnity">
106+
<HintPath>android-assembly-dependencies\Il2CppFMODUnity.dll</HintPath>
107+
</Reference>
108+
<Reference Include="UnityEngine.AudioModule">
109+
<HintPath>android-assembly-dependencies\UnityEngine.AudioModule.dll</HintPath>
110+
</Reference>
111+
<Reference Include="UnityEngine.CoreModule">
112+
<HintPath>android-assembly-dependencies\UnityEngine.CoreModule.dll</HintPath>
113+
</Reference>
114+
<Reference Include="UnityEngine.ImageConversionModule">
115+
<HintPath>android-assembly-dependencies\UnityEngine.ImageConversionModule.dll</HintPath>
116+
</Reference>
117+
<Reference Include="UnityEngine.InputLegacyModule">
118+
<HintPath>android-assembly-dependencies\UnityEngine.InputLegacyModule.dll</HintPath>
119+
</Reference>
120+
<Reference Include="UnityEngine.JSONSerializeModule">
121+
<HintPath>android-assembly-dependencies\UnityEngine.JSONSerializeModule.dll</HintPath>
122+
</Reference>
123+
<Reference Include="UnityEngine.TextRenderingModule">
124+
<HintPath>android-assembly-dependencies\UnityEngine.TextRenderingModule.dll</HintPath>
125+
</Reference>
126+
<Reference Include="UnityEngine.UI">
127+
<HintPath>android-assembly-dependencies\UnityEngine.UI.dll</HintPath>
128+
</Reference>
129+
<Reference Include="UnityEngine.UIModule">
130+
<HintPath>android-assembly-dependencies\UnityEngine.UIModule.dll</HintPath>
131+
</Reference>
132+
</ItemGroup>
133+
134+
<ItemGroup>
135+
<None Remove="resources\assemblies\0Harmony.dll" />
136+
<None Remove="resources\assemblies\System.Reflection.Metadata-renamed.dll" />
137+
<EmbeddedResource Include="resources\assemblies\System.Reflection.Metadata-renamed.dll" />
138+
<None Remove="resources\assemblies\System.Text.Encoding.CodePages.dll" />
139+
<EmbeddedResource Include="resources\assemblies\System.Text.Encoding.CodePages.dll" />
140+
<None Remove="resources\assemblies\System.Threading.Tasks.Extensions.dll" />
141+
<EmbeddedResource Include="resources\assemblies\System.Threading.Tasks.Extensions.dll" />
142+
<None Remove="resources\assemblies\System.Collections.Immutable.dll" />
143+
<EmbeddedResource Include="resources\assemblies\System.Collections.Immutable.dll" />
144+
<None Remove="resources\assemblies\System.Buffers.dll" />
145+
<EmbeddedResource Include="resources\assemblies\System.Buffers.dll" />
146+
<None Remove="resources\assemblies\System.Diagnostics.StackTrace.dll" />
147+
<EmbeddedResource Include="resources\assemblies\System.Diagnostics.StackTrace.dll" />
148+
<None Remove="resources\assemblies\System.Globalization.Extensions.dll" />
149+
<EmbeddedResource Include="resources\assemblies\System.Globalization.Extensions.dll" />
150+
<None Remove="resources\assemblies\System.Numerics.dll" />
151+
<EmbeddedResource Include="resources\assemblies\System.Numerics.dll" />
152+
<None Remove="resources\assemblies\System.Runtime.dll" />
153+
<EmbeddedResource Include="resources\assemblies\System.Runtime.dll" />
154+
<None Remove="resources\assemblies\System.Reflection.Metadata.dll" />
155+
<EmbeddedResource Include="resources\assemblies\System.Reflection.Metadata.dll" />
156+
<None Remove="resources\assemblies\System.Memory.dll" />
157+
<EmbeddedResource Include="resources\assemblies\System.Memory.dll" />
158+
<None Remove="resources\assemblies\System.Numerics.Vectors.dll" />
159+
<EmbeddedResource Include="resources\assemblies\System.Numerics.Vectors.dll" />
160+
<None Remove="resources\assemblies\System.Runtime.CompilerServices.Unsafe.dll" />
161+
<EmbeddedResource Include="resources\assemblies\System.Runtime.CompilerServices.Unsafe.dll" />
162+
<None Remove="resources\assemblies\Microsoft.CodeAnalysis.dll" />
163+
<EmbeddedResource Include="resources\assemblies\Microsoft.CodeAnalysis.dll" />
164+
<None Remove="resources\assemblies\Microsoft.CodeAnalysis.CSharp.dll" />
165+
<EmbeddedResource Include="resources\assemblies\Microsoft.CodeAnalysis.CSharp.dll" />
166+
<None Remove="resources\assemblies\Mono.Cecil.dll" />
167+
<None Remove="resources\assemblies\MonoMod.RuntimeDetour.dll" />
168+
<None Remove="resources\assemblies\MonoMod.Utils.dll" />
169+
<None Remove="resources\assemblies\YamlDotNet.dll" />
170+
<EmbeddedResource Include="resources\assemblies\YamlDotNet.dll" />
171+
<None Remove="resources\assemblies\Facepunch.Steamworks.Posix.dll" />
172+
<None Remove="resources\assemblies\Facepunch.Steamworks.Win64.dll" />
173+
<None Remove="resources\logo.png" />
174+
<EmbeddedResource Include="resources\logo.png" />
175+
<None Remove="resources\locales\cz.json" />
176+
<EmbeddedResource Include="resources\locales\cz.json" />
177+
<None Remove="resources\locales\en.json" />
178+
<EmbeddedResource Include="resources\locales\en.json" />
179+
<None Remove="resources\locales\ch.json" />
180+
<EmbeddedResource Include="resources\locales\ch.json" />
181+
<None Remove="resources\assemblies\Assembly-CSharp-Publicized.dll" />
182+
<EmbeddedResource Include="resources\assemblies\Assembly-CSharp-Publicized.dll" />
183+
<None Remove="resources\square_frame_only.png" />
184+
<EmbeddedResource Include="resources\square_frame_only.png" />
185+
<None Remove="resources\commit" />
186+
<EmbeddedResource Include="resources\commit" />
187+
<None Remove="resources\github.png" />
188+
<EmbeddedResource Include="resources\github.png" />
189+
<None Remove="resources\assemblies\Gameloop.Vdf.dll" />
190+
<None Remove="resources\reload.png" />
191+
<EmbeddedResource Include="resources\reload.png" />
192+
193+
<None Remove="resources\window_empty_frame.png" />
194+
<EmbeddedResource Include="resources\window_empty_frame.png" />
195+
<None Remove="resources\windowBigCloseSliced.png" />
196+
<EmbeddedResource Include="resources\windowBigCloseSliced.png" />
197+
<None Remove="resources\windowVertNamePlate.png" />
198+
<EmbeddedResource Include="resources\windowVertNamePlate.png" />
199+
<None Remove="resources\assemblies\NeoModLoader.AutoUpdate.dll" />
200+
<EmbeddedResource Include="resources\assemblies\NeoModLoader.AutoUpdate.dll" />
201+
<None Remove="resources\assemblies\NeoModLoader.AutoUpdate_mobile.dll" />
202+
<EmbeddedResource Include="resources\assemblies\NeoModLoader.AutoUpdate_mobile.dll" />
203+
<None Remove="resources\assemblies\Mono.Cecil.Pdb.dll" />
204+
<EmbeddedResource Remove="assembly-dependencies\**" />
205+
<None Remove="assembly-dependencies\**" />
206+
<EmbeddedResource Remove="android_compatibility_module\Mono\**" />
207+
<None Remove="android_compatibility_module\Mono\**" />
208+
<EmbeddedResource Remove="services\WorkShop\**" />
209+
<None Remove="services\WorkShop\**" />
210+
</ItemGroup>
211+
212+
<ItemGroup>
213+
<Content Include=".github\ISSUE_TEMPLATE\bug-report-en.yaml" />
214+
<Content Include=".github\ISSUE_TEMPLATE\bug-report-zh.yaml" />
215+
</ItemGroup>
216+
217+
<ItemGroup>
218+
<Folder Include=".github\ASSETS\" />
219+
</ItemGroup>
220+
221+
<ItemGroup>
222+
<None Include=".github\workflows\build.yml" />
223+
</ItemGroup>
224+
225+
<ItemGroup>
226+
<Compile Remove="assembly-dependencies\**" />
227+
<Compile Remove="AndroidCompatibilityModule\Stubs\**" />
228+
<Compile Remove="android_compatibility_module\Stubs\**" />
229+
<Compile Remove="android_compatibility_module\Mono\**" />
230+
<Compile Remove="services\WorkShop\**" />
231+
<Compile Remove="services\ModWorkshopServiceUnix.cs" />
232+
<Compile Remove="services\ModWorkshopServiceWindows.cs" />
233+
</ItemGroup>
234+
235+
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
236+
237+
</Target>
238+
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
239+
<Exec Command="sh ./before_build.sh" Condition=" '$(OS)' != 'Windows_NT' " />
240+
</Target>
241+
242+
</Project>

0 commit comments

Comments
 (0)