Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MelonLoader v0.6.6 (P2) #789

Merged
merged 42 commits into from
Nov 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
f932262
Added Tilde to Disabled Melon Folder Check
HerpDerpinstine Oct 15, 2024
4d4a33b
Fixed an issue with Linux Proxy failing to find dobby
HerpDerpinstine Oct 15, 2024
b6d35c7
Update Il2CppICallInjector.cs
HerpDerpinstine Oct 18, 2024
0cdc619
Redesigned metadata structure and workflow versioning
slxdy Oct 13, 2024
81707dc
Updated nuget workflow output path
slxdy Oct 13, 2024
57ab8ce
Cleanup
slxdy Oct 13, 2024
1906317
Fixed internal versioning
slxdy Oct 13, 2024
acc6b36
Cleanup
slxdy Oct 13, 2024
4583979
Minor fixes
slxdy Oct 13, 2024
fd0f266
Fixed workflows
slxdy Oct 13, 2024
7b98436
Fixed run name for PRs
slxdy Oct 13, 2024
f05c252
Optimized/simplified the Build workflow
slxdy Oct 14, 2024
3c26264
Merge pull request #771 from slxdy/metadata-versioning
HerpDerpinstine Oct 20, 2024
e0f30d6
Reworked Il2CppICallInjector to use Il2CppInterop's Native to Manage …
HerpDerpinstine Oct 22, 2024
680bc8c
Reworked Il2CppICallInjector to use Il2CppInterop's Native to Manage …
HerpDerpinstine Oct 22, 2024
6f4a8ad
Update Il2CppICallInjector.cs
HerpDerpinstine Oct 22, 2024
6ed0285
Implemented ICall Injection Extern Validation
HerpDerpinstine Oct 22, 2024
6cdfa75
Cleaned up Il2CppInteropFixes Logging
HerpDerpinstine Oct 22, 2024
220e6c2
Reworked MelonFolderHandler to allow scanning for UserLibs
HerpDerpinstine Oct 22, 2024
588b998
Improved ICall Injection Method Validation
HerpDerpinstine Oct 22, 2024
013f4a6
Update Il2CppInteropFixes.cs
HerpDerpinstine Oct 22, 2024
eb175bb
Fix Il2CppInterop ReportException Logging not having the proper prefix
HerpDerpinstine Oct 22, 2024
f5e2b16
Attempt to prevent trying to load Managed Assemblies from Native Libr…
HerpDerpinstine Oct 22, 2024
4f1e3f4
Update Il2CppICallInjector.cs
HerpDerpinstine Oct 22, 2024
4258552
Reworked Il2CppICallInjector to improve method scanning and ignore ge…
HerpDerpinstine Oct 23, 2024
3456685
Fixed an issue with Compatibility Layer loading not validating Names …
HerpDerpinstine Oct 23, 2024
1bac6b0
Fixed a race condition with Multi-Launching a Game and the Logger try…
HerpDerpinstine Oct 27, 2024
9f135c1
Fixed an issue with Disabled Melon Folders not being ignored during M…
HerpDerpinstine Oct 27, 2024
bbce3a6
Reworked Melon Folder Scanning to be manifest json aware
HerpDerpinstine Nov 4, 2024
41ed941
Implemented Melon Preprocessor to prevent Loading Duplicates
HerpDerpinstine Nov 4, 2024
2a784d2
Fixed an issue with Type Load spamming errors when failing to resolve…
HerpDerpinstine Nov 4, 2024
9e31cfc
Cleanup
HerpDerpinstine Nov 4, 2024
769ed03
Reworked Launch Option Parsing to ignore First Element
HerpDerpinstine Nov 5, 2024
a1b3d8e
Fixed an issue with Launch Option Parsing ignoring Argument Values
HerpDerpinstine Nov 5, 2024
6ba897e
Cleanup
HerpDerpinstine Nov 5, 2024
2d08f76
Updated NuGet Packages
HerpDerpinstine Nov 5, 2024
7f85893
Fixed Package Dependency
HerpDerpinstine Nov 5, 2024
9ec682e
Cleanup Assembly Resolver
HerpDerpinstine Nov 5, 2024
c31fd05
Fixed an issue with Preload Support Module attempting to resolve its …
HerpDerpinstine Nov 5, 2024
b2dc90e
Reverted AssetTools.NET to 3.0.0-preview3
HerpDerpinstine Nov 5, 2024
07faaa5
Update CHANGELOG.md
HerpDerpinstine Nov 5, 2024
8620acd
Removed extra NOTICE.txt from packages
HerpDerpinstine Nov 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
370 changes: 178 additions & 192 deletions .github/workflows/build.yml

Large diffs are not rendered by default.

26 changes: 0 additions & 26 deletions .github/workflows/nuget.yml

This file was deleted.

49 changes: 30 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,36 @@
### v0.6.6

1. Updated Il2CppInterop to 1.4.6-ci.579
2. Implemented a RegisterTypeInIl2CppWithInterfaces attribute
3. Implemented Recursive Melon Folders with extended UserLib Resolving
4. Reimplemented NetFramework Variant of Cpp2IL as fallback
5. Standardized Assembly Searching and Resolving to work on both Mono and Il2Cpp Games
6. Temporarily removed Start Screen for being broken in most cases
7. Modified Command-Line Argument Logging to show Internal Arguments Only
8. Added UserLibs folders to Native Library Search Directories
9. Moved `dobby.dll` to `MelonLoader\Dependencies`
10. Moved Assembly Resolver Related Classes to `MelonLoader.Resolver` Namespace
11. Moved `MonoLibrary` class to `MelonLoader.Utils` Namespace
12. Removed Useless TODO Warning from Il2CppAssemblyGenerator
13. Removed EOS Compatibility Layer for being Unneeded
14. Fixed Regression with LemonMD5, LemonSHA256, and LemonSHA512
15. Fixed an issue with older Cpp2IL versions causing a download failure
16. Fixed an issue with Il2CppInterop not properly logging Trampoline Exceptions
17. Fixed an issue with Il2Cpp Class Injection Attributes causing exceptions to be thrown on Mono games
18. Fixed an issue with the Bootstrap not reading `--melonloader.basedir` correctly
19. Fixed an issue with Loading `dobby.dll` in some rare cases
20. Fixed an issue with Compatibility Layers getting Garbage Collected while still in use
2. Reverted AssetTools.NET to 3.0.0-preview3
3. Implemented a RegisterTypeInIl2CppWithInterfaces attribute
4. Implemented Recursive Melon Folders with extended UserLib Resolving
5. Implemented Melon Preprocessor to prevent Loading Duplicates
6. Reimplemented NetFramework Variant of Cpp2IL as fallback
7. Standardized Assembly Searching and Resolving to work on both Mono and Il2Cpp Games
8. Temporarily removed Start Screen for being broken in most cases
9. Modified Command-Line Argument Logging to show Internal Arguments Only
10. Reworked Il2CppICallInjector to use Il2CppInterop's Native to Manage trampoline generation
11. Reworked Launch Option Parsing to ignore First Element
12. Added UserLibs folders to Native Library Search Directories
13. Moved `dobby.dll` to `MelonLoader\Dependencies`
14. Moved Assembly Resolver Related Classes to `MelonLoader.Resolver` Namespace
15. Moved `MonoLibrary` class to `MelonLoader.Utils` Namespace
16. Moved dobby scan to check Game Directory after Base Directory
17. Removed Useless TODO Warning from Il2CppAssemblyGenerator
18. Removed EOS Compatibility Layer for being Unneeded
19. Fixed Regression with LemonMD5, LemonSHA256, and LemonSHA512
20. Fixed an issue with older Cpp2IL versions causing a download failure
21. Fixed an issue with Il2CppInterop not properly logging Trampoline Exceptions
22. Fixed an issue with Il2Cpp Class Injection Attributes causing exceptions to be thrown on Mono games
23. Fixed an issue with the Bootstrap not reading `--melonloader.basedir` correctly
24. Fixed an issue with Loading `dobby.dll` in some rare cases
25. Fixed an issue with Compatibility Layers getting Garbage Collected while still in use
26. Fixed an issue with Linux Proxy failing to find dobby
27. Fixed an issue with trying to load Managed Assemblies from Native Libraries inside UserLibs
28. Fixed an issue with Compatibility Layer loading not validating Names Checked
29. Fixed an issue with Type Load spamming errors when failing to resolve a Dependency
30. Fixed an issue with Launch Option Parsing ignoring Argument Values
31. Fixed a race condition crash with Multi-Launching a Game and the Logger trying to delete old files

---

Expand Down
6 changes: 1 addition & 5 deletions Dependencies/CompatibilityLayers/Demeo/Demeo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,14 @@
<PropertyGroup>
<RootNamespace>MelonLoader.CompatibilityLayers</RootNamespace>
<TargetFramework>net472</TargetFramework>
<LangVersion>Latest</LangVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>$(SolutionDir)Output\$(Configuration)\MelonLoader\Dependencies\CompatibilityLayers\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>embedded</DebugType>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\MelonLoader\MelonLoader.csproj" Private="false" />
<PackageReference Include="HarmonyX" Version="2.10.2">
<ExcludeAssets>Runtime</ExcludeAssets>
</PackageReference>
<PackageReference Include="HarmonyX" Version="2.10.2" ExcludeAssets="Runtime" />
</ItemGroup>
</Project>
2 changes: 2 additions & 0 deletions Dependencies/CompatibilityLayers/Demeo/Module.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
using System.Reflection;
using MelonLoader.Modules;

[assembly: MelonLoader.PatchShield]

namespace MelonLoader.CompatibilityLayers
{
internal class Demeo_Module : MelonModule
Expand Down
13 changes: 0 additions & 13 deletions Dependencies/CompatibilityLayers/Demeo/Properties/AssemblyInfo.cs

This file was deleted.

2 changes: 0 additions & 2 deletions Dependencies/CompatibilityLayers/IPA/IPA.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
<PropertyGroup>
<RootNamespace>MelonLoader.CompatibilityLayers</RootNamespace>
<TargetFramework>net35</TargetFramework>
<LangVersion>Latest</LangVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>$(SolutionDir)Output\$(Configuration)\MelonLoader\Dependencies\CompatibilityLayers\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand Down
2 changes: 2 additions & 0 deletions Dependencies/CompatibilityLayers/IPA/Module.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
using MelonLoader.Modules;
using MelonLoader.Resolver;

[assembly: MelonLoader.PatchShield]

namespace MelonLoader.CompatibilityLayers
{
internal class IPA_Module : MelonModule
Expand Down
13 changes: 0 additions & 13 deletions Dependencies/CompatibilityLayers/IPA/Properties/AssemblyInfo.cs

This file was deleted.

2 changes: 2 additions & 0 deletions Dependencies/CompatibilityLayers/Muse_Dash_Mono/Module.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
using ModHelper;
using MelonLoader.Resolver;

[assembly: MelonLoader.PatchShield]

namespace MelonLoader.CompatibilityLayers
{
internal class Muse_Dash_Mono_Module : MelonModule
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
<PropertyGroup>
<RootNamespace>MelonLoader.CompatibilityLayers</RootNamespace>
<TargetFramework>net35</TargetFramework>
<LangVersion>Latest</LangVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>$(SolutionDir)Output\$(Configuration)\MelonLoader\Dependencies\CompatibilityLayers\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using MelonLoader.Modules;
using System.Collections.Generic;

[assembly: MelonLoader.PatchShield]

namespace MelonLoader.CompatibilityLayers
{
internal class SLZ_Module : MelonModule
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
<PropertyGroup>
<RootNamespace>MelonLoader.CompatibilityLayers</RootNamespace>
<TargetFramework>net472</TargetFramework>
<LangVersion>Latest</LangVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>$(SolutionDir)Output\$(Configuration)\MelonLoader\Dependencies\CompatibilityLayers\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand All @@ -17,9 +15,9 @@
<DefineConstants />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\MelonLoader\MelonLoader.csproj">
<Private>false</Private>
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
</ProjectReference>
<ProjectReference Include="..\..\..\MelonLoader\MelonLoader.csproj">
<Private>false</Private>
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
</ProjectReference>
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
<PropertyGroup>
<RootNamespace>MelonLoader.Il2CppAssemblyGenerator</RootNamespace>
<TargetFramework>net6</TargetFramework>
<LangVersion>Latest</LangVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>$(SolutionDir)Output\$(Configuration)\MelonLoader\Dependencies\Il2CppAssemblyGenerator\</OutputPath>
Expand All @@ -18,7 +16,7 @@
<PackageReference Include="Il2CppInterop.Generator" Version="1.4.6-ci.579" ExcludeAssets="Runtime" />
<PackageReference Include="Il2CppInterop.Common" Version="1.4.6-ci.579" ExcludeAssets="Runtime" />
<PackageReference Include="Il2CppInterop.Runtime" Version="1.4.6-ci.579" ExcludeAssets="Runtime" />
<PackageReference Include="Mono.Cecil" Version="0.11.5" ExcludeAssets="Runtime" />
<PackageReference Include="Mono.Cecil" Version="0.11.6" ExcludeAssets="Runtime" />
<PackageReference Include="AssetRipper.VersionUtilities" Version="1.5.0" ExcludeAssets="Runtime" />
</ItemGroup>
</Project>
12 changes: 0 additions & 12 deletions Dependencies/Il2CppAssemblyGenerator/Properties/AssemblyInfo.cs

This file was deleted.

47 changes: 23 additions & 24 deletions Dependencies/MelonStartScreen/MelonStartScreen.csproj
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<RootNamespace>MelonLoader.MelonStartScreen</RootNamespace>
<TargetFrameworks>net35;net6</TargetFrameworks>
<LangVersion>Latest</LangVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AppendTargetFrameworkToOutputPath>true</AppendTargetFrameworkToOutputPath>
<OutputPath>$(SolutionDir)Output\$(Configuration)\MelonLoader\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>embedded</DebugType>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\Loading_Lemon.dat" />
<EmbeddedResource Include="Resources\Loading_Melon.dat" />
<EmbeddedResource Include="Resources\Logo_Lemon.dat" />
<EmbeddedResource Include="Resources\Logo_Melon.dat" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\MelonLoader\MelonLoader.csproj" Private="false" />
<PackageReference Include="AssetRipper.VersionUtilities" Version="1.5.0" ExcludeAssets="Runtime" />
<PackageReference Include="Samboy063.Tomlet" Version="5.4.0">
<ExcludeAssets>Runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
<PropertyGroup>
<RootNamespace>MelonLoader.MelonStartScreen</RootNamespace>
<TargetFrameworks>net35;net6</TargetFrameworks>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<AppendTargetFrameworkToOutputPath>true</AppendTargetFrameworkToOutputPath>
<OutputPath>$(SolutionDir)Output\$(Configuration)\MelonLoader\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>embedded</DebugType>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\Loading_Lemon.dat" />
<EmbeddedResource Include="Resources\Loading_Melon.dat" />
<EmbeddedResource Include="Resources\Logo_Lemon.dat" />
<EmbeddedResource Include="Resources\Logo_Melon.dat" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\MelonLoader\MelonLoader.csproj" Private="false" />
<PackageReference Include="AssetRipper.VersionUtilities" Version="1.5.0"
ExcludeAssets="Runtime" />
<PackageReference Include="Samboy063.Tomlet" Version="5.4.0">
<ExcludeAssets>Runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
</Project>
12 changes: 0 additions & 12 deletions Dependencies/MelonStartScreen/Properties/AssemblyInfo.cs

This file was deleted.

13 changes: 2 additions & 11 deletions Dependencies/SupportModules/Il2Cpp/Il2Cpp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,16 @@
<PropertyGroup>
<RootNamespace>MelonLoader.Support</RootNamespace>
<TargetFramework>net6</TargetFramework>
<LangVersion>Latest</LangVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>$(SolutionDir)Output\$(Configuration)\MelonLoader\Dependencies\SupportModules\</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>embedded</DebugType>
<DefineConstants>SM_Il2Cpp</DefineConstants>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

<RestoreAdditionalProjectSources>
https://nuget.bepinex.dev/v3/index.json
</RestoreAdditionalProjectSources>
<RestoreAdditionalProjectSources>https://nuget.bepinex.dev/v3/index.json</RestoreAdditionalProjectSources>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Libs\**" />
<EmbeddedResource Remove="Libs\**" />
<None Remove="Libs\**" />
</ItemGroup>
<ItemGroup>
<Reference Include="Il2Cppmscorlib">
<HintPath>Libs\Il2Cppmscorlib.dll</HintPath>
Expand Down Expand Up @@ -49,7 +40,7 @@
<PackageReference Include="Il2CppInterop.Common" Version="1.4.6-ci.579" ExcludeAssets="Runtime" />
<PackageReference Include="Il2CppInterop.Runtime" Version="1.4.6-ci.579" ExcludeAssets="Runtime" />
<PackageReference Include="Il2CppInterop.HarmonySupport" Version="1.4.6-ci.579" ExcludeAssets="Runtime" />
<PackageReference Include="Mono.Cecil" Version="0.11.5" ExcludeAssets="Runtime" />
<PackageReference Include="Mono.Cecil" Version="0.11.6" ExcludeAssets="Runtime" />
<PackageReference Include="MonoMod.RuntimeDetour" Version="22.7.31.1" ExcludeAssets="Runtime" />
<PackageReference Include="MonoMod.Utils" Version="22.7.31.1" ExcludeAssets="Runtime" />
<PackageReference Include="Samboy063.Tomlet" Version="5.4.0" ExcludeAssets="Runtime" />
Expand Down
2 changes: 2 additions & 0 deletions Dependencies/SupportModules/Il2Cpp/Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
using MelonLoader.Utils;
using System.IO;

[assembly: MelonLoader.PatchShield]

#pragma warning disable CS0618 // Type or member is obsolete

namespace MelonLoader.Support
Expand Down
Loading