From b92e6fa0276f1c93d6478273f1015e037788dea0 Mon Sep 17 00:00:00 2001
From: Nytra <14206961+Nytra@users.noreply.github.com>
Date: Wed, 3 Sep 2025 01:07:19 +0100
Subject: [PATCH 1/3] Bump version num
---
.../MonkeyLoader.GamePacks.ResoniteModLoader.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MonkeyLoader.GamePacks.ResoniteModLoader/MonkeyLoader.GamePacks.ResoniteModLoader.csproj b/MonkeyLoader.GamePacks.ResoniteModLoader/MonkeyLoader.GamePacks.ResoniteModLoader.csproj
index 4947fe5..64f0ad2 100644
--- a/MonkeyLoader.GamePacks.ResoniteModLoader/MonkeyLoader.GamePacks.ResoniteModLoader.csproj
+++ b/MonkeyLoader.GamePacks.ResoniteModLoader/MonkeyLoader.GamePacks.ResoniteModLoader.csproj
@@ -11,7 +11,7 @@
MonkeyLoader.GamePacks.ResoniteModLoader
ResoniteModLoader
Banane9, Nytra
- 4.0.0.0
+ 4.0.0.1
This MonkeyLoader Game Pack for Resonite enables loading ResoniteModLoader mods as MonkeyLoader mods.
README.md
LGPL-3.0-or-later
From 8ff39a586764c341f947df87c55b06119211eb16 Mon Sep 17 00:00:00 2001
From: Nytra <14206961+Nytra@users.noreply.github.com>
Date: Wed, 3 Sep 2025 01:56:28 +0100
Subject: [PATCH 2/3] Fix load progress
---
.../ModLoader.cs | 20 +++++++------------
.../ResoniteMod.cs | 7 ++-----
2 files changed, 9 insertions(+), 18 deletions(-)
diff --git a/MonkeyLoader.GamePacks.ResoniteModLoader/ModLoader.cs b/MonkeyLoader.GamePacks.ResoniteModLoader/ModLoader.cs
index 9bad178..a63c251 100644
--- a/MonkeyLoader.GamePacks.ResoniteModLoader/ModLoader.cs
+++ b/MonkeyLoader.GamePacks.ResoniteModLoader/ModLoader.cs
@@ -68,8 +68,6 @@ protected override IEnumerable GetFeaturePatches()
///
protected override bool OnEngineInit()
{
- LoadProgressReporter.AddFixedPhases(4);
-
return base.OnEngineInit();
}
@@ -96,13 +94,13 @@ private static async Task InitializeFrooxEnginePostfixAsync(Task __result)
{
await __result;
- LoadProgressReporter.AdvanceFixedPhase("Loading RML Libraries...");
+ Engine.Current?.InitProgress?.SetSubphase("Loading RML Libraries...", true);
try
{
foreach (var file in GetAssemblyPaths("rml_libs"))
{
- LoadProgressReporter.SetSubphase(Path.GetFileNameWithoutExtension(file));
+ Engine.Current?.InitProgress?.SetSubphase(Path.GetFileNameWithoutExtension(file), true);
try
{
@@ -117,22 +115,20 @@ private static async Task InitializeFrooxEnginePostfixAsync(Task __result)
{
Logger.Warn(() => ex.Format($"Failed to load library from rml_libs: {file}"));
}
-
- LoadProgressReporter.ExitSubphase();
}
- LoadProgressReporter.AdvanceFixedPhase("Collecting RML Mods...");
+ Engine.Current?.InitProgress?.SetSubphase("Collecting RML Mods...", true);
var rmlMods = await LoadModsAsync().ToArrayAsync();
- LoadProgressReporter.AdvanceFixedPhase("Running RML Mods...");
+ Engine.Current?.InitProgress?.SetSubphase("Running RML Mods...", true);
await Task.Run(() => Mod.Loader.RunMods(rmlMods));
- LoadProgressReporter.AdvanceFixedPhase("Done with RML");
+ Engine.Current?.InitProgress?.SetSubphase("Done with RML", true);
}
catch (Exception ex)
{
Logger.Error(() => ex.Format("Exception in execution hook!"));
- LoadProgressReporter.AdvanceFixedPhase("Error running RML Mods!");
+ Engine.Current?.InitProgress?.SetSubphase("Error running RML Mods!", true);
}
}
@@ -156,7 +152,7 @@ private static async IAsyncEnumerable LoadModsAsync()
foreach (var modAssembly in modAssemblies)
{
var fileName = Path.GetFileName(modAssembly.Location);
- LoadProgressReporter.SetSubphase(modAssembly.GetName().Name!);
+ Engine.Current?.InitProgress?.SetSubphase(modAssembly.GetName().Name!, true);
RmlMod? rmlMod = null;
var success = true;
@@ -174,8 +170,6 @@ private static async IAsyncEnumerable LoadModsAsync()
Logger.Warn(() => ex.Format($"Failed to load mod from rml_mods: {fileName}"));
}
- LoadProgressReporter.ExitSubphase();
-
if (success)
yield return rmlMod!;
}
diff --git a/MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs b/MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs
index c5b2d90..222e2c0 100644
--- a/MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs
+++ b/MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs
@@ -1,3 +1,4 @@
+using FrooxEngine;
using MonkeyLoader;
using MonkeyLoader.Configuration;
using MonkeyLoader.Logging;
@@ -132,7 +133,7 @@ public virtual void OnEngineInit()
///
public override bool Run()
{
- LoadProgressReporter.SetSubphase(Name);
+ Engine.Current?.InitProgress?.SetSubphase(Name, true);
try
{
@@ -144,10 +145,6 @@ public override bool Run()
Logger.Error(ex.LogFormat($"Error while intitializing RML Mod {Name}:"));
return false;
}
- finally
- {
- LoadProgressReporter.ExitSubphase();
- }
}
///
From 0b2db869bed32f0e00a78b812b6630ba728eb8d3 Mon Sep 17 00:00:00 2001
From: Nytra <14206961+Nytra@users.noreply.github.com>
Date: Wed, 3 Sep 2025 05:55:56 +0100
Subject: [PATCH 3/3] Use LoadProgressReporter again
---
.../ModLoader.cs | 14 +++++++-------
.../ResoniteMod.cs | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/MonkeyLoader.GamePacks.ResoniteModLoader/ModLoader.cs b/MonkeyLoader.GamePacks.ResoniteModLoader/ModLoader.cs
index a63c251..3d894c8 100644
--- a/MonkeyLoader.GamePacks.ResoniteModLoader/ModLoader.cs
+++ b/MonkeyLoader.GamePacks.ResoniteModLoader/ModLoader.cs
@@ -94,13 +94,13 @@ private static async Task InitializeFrooxEnginePostfixAsync(Task __result)
{
await __result;
- Engine.Current?.InitProgress?.SetSubphase("Loading RML Libraries...", true);
+ LoadProgressReporter.SetSubphase("Loading RML Libraries...");
try
{
foreach (var file in GetAssemblyPaths("rml_libs"))
{
- Engine.Current?.InitProgress?.SetSubphase(Path.GetFileNameWithoutExtension(file), true);
+ LoadProgressReporter.SetSubphase(Path.GetFileNameWithoutExtension(file));
try
{
@@ -117,18 +117,18 @@ private static async Task InitializeFrooxEnginePostfixAsync(Task __result)
}
}
- Engine.Current?.InitProgress?.SetSubphase("Collecting RML Mods...", true);
+ LoadProgressReporter.SetSubphase("Collecting RML Mods...");
var rmlMods = await LoadModsAsync().ToArrayAsync();
- Engine.Current?.InitProgress?.SetSubphase("Running RML Mods...", true);
+ LoadProgressReporter.SetSubphase("Running RML Mods...");
await Task.Run(() => Mod.Loader.RunMods(rmlMods));
- Engine.Current?.InitProgress?.SetSubphase("Done with RML", true);
+ LoadProgressReporter.SetSubphase("Done with RML");
}
catch (Exception ex)
{
Logger.Error(() => ex.Format("Exception in execution hook!"));
- Engine.Current?.InitProgress?.SetSubphase("Error running RML Mods!", true);
+ LoadProgressReporter.SetSubphase("Error running RML Mods!");
}
}
@@ -152,7 +152,7 @@ private static async IAsyncEnumerable LoadModsAsync()
foreach (var modAssembly in modAssemblies)
{
var fileName = Path.GetFileName(modAssembly.Location);
- Engine.Current?.InitProgress?.SetSubphase(modAssembly.GetName().Name!, true);
+ LoadProgressReporter.SetSubphase(modAssembly.GetName().Name!);
RmlMod? rmlMod = null;
var success = true;
diff --git a/MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs b/MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs
index 222e2c0..979bd44 100644
--- a/MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs
+++ b/MonkeyLoader.GamePacks.ResoniteModLoader/ResoniteMod.cs
@@ -133,7 +133,7 @@ public virtual void OnEngineInit()
///
public override bool Run()
{
- Engine.Current?.InitProgress?.SetSubphase(Name, true);
+ LoadProgressReporter.SetSubphase(Name);
try
{