Fix loading errors

This commit is contained in:
Atony committed 2026-08-25 00:47:54 -05:00
1 parent 80e1e6e454
commit 47582897a8
10 files changed
+13 -32

No files matched your search

+2 -1
View File
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using AmongUs.GameOptions; using AmongUs.GameOptions;
using MiraAPI.GameOptions; using MiraAPI.GameOptions;
using MiraAPI.PluginLoading; using MiraAPI.PluginLoading;
using MiraAPI.Translation;
using MiraAPI.Utilities.Assets; using MiraAPI.Utilities.Assets;
using Reactor.Utilities.Extensions; using Reactor.Utilities.Extensions;
using TMPro; using TMPro;
@@ -49,7 +50,7 @@ public abstract class AbstractGameMode : IOptionable
/// <summary> /// <summary>
/// Gets the colored game mode name, using the color and name properties. /// Gets the colored game mode name, using the color and name properties.
/// </summary> /// </summary>
public string ColoredName => $"<color=#{this.Color.ToHtmlStringRGBA()}>{this.Name}</color>"; public string ColoredName => $"<color=#{this.Color.ToHtmlStringRGBA()}>{MiraLocaleManager.Get(Name)}</color>";
/// <summary> /// <summary>
/// Gets the game mode id. /// Gets the game mode id.
+1 -1
View File
@@ -11,7 +11,7 @@ namespace MiraAPI.GameModes;
public class ClassicMode : AbstractGameMode public class ClassicMode : AbstractGameMode
{ {
/// <inheritdoc/> /// <inheritdoc/>
public override string Name => "gamemode.classic.name"; public override string Name => "gamemode.classic";
/// <inheritdoc/> /// <inheritdoc/>
public override string Description => "gamemode.classic.description"; public override string Description => "gamemode.classic.description";
+2 -2
View File
@@ -25,10 +25,10 @@ namespace MiraAPI.GameModes;
public class HideAndSeekMode : AbstractGameMode public class HideAndSeekMode : AbstractGameMode
{ {
/// <inheritdoc/> /// <inheritdoc/>
public override string Name => "gamemode.hidenseek.name"; public override string Name => "gamemode.hidenseek";
/// <inheritdoc/> /// <inheritdoc/>
public override string Description => "Outlive the timer or eliminate the crew"; public override string Description => "gamemode.hidenseek.description";
// TODO: Once the Hide n Seek port is ready for release, we will remove this. // TODO: Once the Hide n Seek port is ready for release, we will remove this.
public override bool HideMode => !MiraApiPlugin.IsDevBuild; public override bool HideMode => !MiraApiPlugin.IsDevBuild;
+1 -1
View File
@@ -77,8 +77,8 @@ public partial class MiraApiPlugin : BasePlugin, IMiraPlugin
PluginManager = new MiraPluginManager(); PluginManager = new MiraPluginManager();
PluginManager.Initialize(this, this); PluginManager.Initialize(this, this);
LocalizationManager.Register(new MiraLocalizationProvider());
MiraLocaleManager.Register("mira.api"); MiraLocaleManager.Register("mira.api");
LocalizationManager.Register(new MiraLocalizationProvider());
IL2CPPChainloader.Instance.Finished += IL2CPPChainloader.Instance.Finished +=
ModCompatibility ModCompatibility
@@ -7,8 +7,6 @@ using Reactor.Utilities.Extensions;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using MiraAPI.Utilities.Assets;
using Reactor.Utilities.Extensions;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using Object = UnityEngine.Object; using Object = UnityEngine.Object;
@@ -114,7 +114,7 @@ internal static class GameOptionsMenuPatch
_modIcon.gameObject.SetActive(false); _modIcon.gameObject.SetActive(false);
} }
_gamemodeDescription.text = gameMode.Description; _gamemodeDescription.text = MiraLocaleManager.Get(gameMode.Description);
if (gameMode.ShowNormalGameSettings) if (gameMode.ShowNormalGameSettings)
{ {
foreach (var opt in _vanillaHeaders) foreach (var opt in _vanillaHeaders)
+1 -16
View File
@@ -151,7 +151,7 @@ public sealed class MiraPluginManager
IL2CPPChainloader.Instance.PluginLoad += (pluginInfo, assembly, plugin) => IL2CPPChainloader.Instance.PluginLoad += (pluginInfo, assembly, plugin) =>
{ {
if (plugin is not IMiraPlugin miraPlugin) if (plugin is not IMiraPlugin miraPlugin || pluginInfo.Metadata.GUID == MiraApiPlugin.Id)
{ {
return; return;
} }
@@ -272,21 +272,6 @@ public sealed class MiraPluginManager
PluginsWithOptionsOrGameModes = [..RegisteredPlugins.Where(m => m.MiraPlugin.DisplayOnOptionsMenu || m.GameModes.Count > 0)]; PluginsWithOptionsOrGameModes = [..RegisteredPlugins.Where(m => m.MiraPlugin.DisplayOnOptionsMenu || m.GameModes.Count > 0)];
ModifierManager.Modifiers = new ReadOnlyCollection<BaseModifier>(ModifierManager.InternalModifiers); ModifierManager.Modifiers = new ReadOnlyCollection<BaseModifier>(ModifierManager.InternalModifiers);
var dict = new Dictionary<string, object>();
foreach (var (key, value) in CustomGameModeManager.IdToModeMap)
{
if (value is ClassicMode)
{
continue;
}
dict.Add(value.Name, key);
if (((AmongUs.GameOptions.GameModes) key) == AmongUs.GameOptions.GameModes.Normal)
return;
// 'Default' was still being registered twice and idk why
GameModesHelpers.ModeToName.Add((AmongUs.GameOptions.GameModes)key, CustomStringName.CreateAndRegister(value.Name));
}
EnumInjector.InjectEnumValues<AmongUs.GameOptions.GameModes>(dict);
}; };
RegisterKeybinds(typeof(MiraGlobalKeybinds), PluginSingleton<MiraApiPlugin>.Instance); RegisterKeybinds(typeof(MiraGlobalKeybinds), PluginSingleton<MiraApiPlugin>.Instance);
+2 -2
View File
@@ -17,10 +17,10 @@
<string name="miraApi.customCategory2">Custom Category 2</string> <string name="miraApi.customCategory2">Custom Category 2</string>
<string name="miraApi.modifierMenuDescription">Configure modifiers and their settings here!</string> <string name="miraApi.modifierMenuDescription">Configure modifiers and their settings here!</string>
<string name="miraApi.customOptionMenuDescription">Apply game settings for this mod!</string> <string name="miraApi.customOptionMenuDescription">Apply game settings for this mod!</string>
<string name="gamemode.classic.name">Classic</string> <string name="gamemode.classic">Classic</string>
<string name="gamemode.classic.description">The classic Among Us experience! <string name="gamemode.classic.description">The classic Among Us experience!
Find the Impostors or deceive the Crew.</string> Find the Impostors or deceive the Crew.</string>
<string name="gamemode.hidenseek.name">Hide n Seek</string> <string name="gamemode.hidenseek">Hide n Seek</string>
<string name="gamemode.hidenseek.description">You can run, but you can't hide! <string name="gamemode.hidenseek.description">You can run, but you can't hide!
Outlive the timer or eliminate the crew.</string> Outlive the timer or eliminate the crew.</string>
<string name="gamesetting.global.clicktoclose">Click to close</string> <string name="gamesetting.global.clicktoclose">Click to close</string>
-3
View File
@@ -3,10 +3,7 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text.RegularExpressions;
using System.Linq;
using System.Xml.Linq; using System.Xml.Linq;
using Reactor.Utilities;
using UnityEngine; using UnityEngine;
namespace MiraAPI.Translation; namespace MiraAPI.Translation;
@@ -13,7 +13,7 @@ public class MiraLocalizationProvider : LocalizationProvider
public override bool TryGetText(StringNames stringName, out string? result) public override bool TryGetText(StringNames stringName, out string? result)
{ {
if ((int)stringName < 0 && _reactorProvider!.TryGetText(stringName, out var reactorText)) if (_reactorProvider != null && (int)stringName < 0 && _reactorProvider.TryGetText(stringName, out var reactorText))
{ {
if (reactorText.IsNullOrWhiteSpace()) if (reactorText.IsNullOrWhiteSpace())
{ {
@@ -21,7 +21,7 @@ public class MiraLocalizationProvider : LocalizationProvider
return true; return true;
} }
var localeText = MiraLocaleManager.Get(reactorText!); var localeText = MiraLocaleManager.Get(reactorText!);
if (!localeText.Contains("STRMISS")) if (localeText != reactorText)
{ {
result = localeText; result = localeText;
return true; return true;
@@ -58,4 +58,4 @@ public class MiraLocalizationProvider : LocalizationProvider
} }
Warning($"</resources>");*/ Warning($"</resources>");*/
} }
} }