using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using HarmonyLib;
using MelonLoader;
using MelonLoader.Preferences;
using UnityEngine;
using makeitfreeze;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("SuperFast")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SuperFast")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("9eb5e0b5-f286-4256-8d88-039d075ded46")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: MelonInfo(typeof(mainclass), "Superhot & Superfast", "1.0.0", "BayTurtleKing", null)]
[assembly: MelonGame("SUPERHOT_Team", "SUPERHOT")]
[assembly: MelonAuthorColor(255, 200, 0, 220)]
[assembly: MelonPriority(99)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace makeitfreeze;
public static class buildinfo
{
public const string name = "Superhot & Superfast";
public const string description = "Makes Superhot not slow down";
public const string author = "BayTurtleKing";
public const string company = null;
public const string version = "1.0.0";
}
public class mainclass : MelonMod
{
public static MelonPreferences_Category prefs;
public static MelonPreferences_Entry<float> fixedspeed;
public override void OnInitializeMelon()
{
prefs = MelonPreferences.CreateCategory("SuperFast");
fixedspeed = prefs.CreateEntry<float>("fixedspeed", 1f, (string)null, "slow-mo multiplier, 1 = no slow-mo", false, false, (ValueValidator)null, (string)null);
}
}
[HarmonyPatch(typeof(TimeControl), "LateUpdate")]
public static class blockslowmopatch
{
private static bool Prefix()
{
Time.timeScale = mainclass.fixedspeed.Value;
return false;
}
}