Skip to content

Commit

Permalink
Merge pull request #789 from LavaGang/alpha-development
Browse files Browse the repository at this point in the history
MelonLoader v0.6.6 (P2)
  • Loading branch information
HerpDerpinstine authored Nov 9, 2024
2 parents f010301 + 8620acd commit 1119a28
Show file tree
Hide file tree
Showing 56 changed files with 848 additions and 1,249 deletions.
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.

File renamed without changes.
File renamed without changes.
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

0 comments on commit 1119a28

Please sign in to comment.