上传文件至 /
This commit is contained in:
22
App.config
Normal file
22
App.config
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="mscorlib" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="0Harmony" publicKeyToken="null" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.10.1.0" newVersion="2.10.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
27
BeforeBuild.bat
Normal file
27
BeforeBuild.bat
Normal file
@@ -0,0 +1,27 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
echo Before Building Action...
|
||||
where git >nul 2>nul
|
||||
if errorlevel 1 (
|
||||
echo Git is not installed. Using default commit hash.
|
||||
set COMMIT_HASH="NOT SET"
|
||||
) else (
|
||||
for /f "tokens=1" %%i in ('git rev-parse --short HEAD') do set COMMIT_HASH=%%i
|
||||
)
|
||||
|
||||
for /f "usebackq delims=" %%t in (`powershell -Command "(Get-Date -Format 'o')"`) do (
|
||||
set TIMESTAMP=%%t
|
||||
)
|
||||
|
||||
echo CommitHash="%COMMIT_HASH%"
|
||||
echo BuildDate="%TIMESTAMP%"
|
||||
|
||||
echo namespace SinmaiAssist { > ..\BuildInfo.cs
|
||||
echo public static partial class BuildInfo { >> ..\BuildInfo.cs
|
||||
echo public const string CommitHash = "%COMMIT_HASH%"; >> ..\BuildInfo.cs
|
||||
echo public const string BuildDate = "%TIMESTAMP%"; >> ..\BuildInfo.cs
|
||||
echo } >> ..\BuildInfo.cs
|
||||
echo } >> ..\BuildInfo.cs
|
||||
|
||||
endlocal
|
||||
6
BuildInfo.cs
Normal file
6
BuildInfo.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace SinmaiAssist {
|
||||
public static partial class BuildInfo {
|
||||
public const string CommitHash = "";
|
||||
public const string BuildDate = "2025-09-01T20:28:07.9918439+08:00";
|
||||
}
|
||||
}
|
||||
5
FodyWeavers.xml
Normal file
5
FodyWeavers.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
|
||||
<ILMerge>
|
||||
<IncludeAssemblies>YamlDotNet|EmbedIO</IncludeAssemblies>
|
||||
</ILMerge>
|
||||
</Weavers>
|
||||
111
FodyWeavers.xsd
Normal file
111
FodyWeavers.xsd
Normal file
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
|
||||
<xs:element name="Weavers">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="ILMerge" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="IncludeAssemblies" type="xs:string" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A regular expression matching the assembly names to include in merging.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ExcludeAssemblies" type="xs:string" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A regular expression matching the assembly names to exclude from merging.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="IncludeResources" type="xs:string" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A regular expression matching the resource names to include in merging.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ExcludeResources" type="xs:string" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A regular expression matching the resource names to exclude from merging.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="HideImportedTypes" type="xs:boolean" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A switch to control whether the imported types are hidden (made private) or keep their visibility unchanged. Default is 'true'</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="NamespacePrefix" type="xs:string" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A string that is used as prefix for the namespace of the imported types.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="FullImport" type="xs:boolean" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A switch to control whether to import the full assemblies or only the referenced types. Default is 'false'</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="CompactMode" type="xs:boolean" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A switch to enable compacting of the target assembly by skipping properties, events and unused methods. Default is 'false'</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A regular expression matching the assembly names to include in merging.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A regular expression matching the assembly names to exclude from merging.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeResources" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A regular expression matching the resource names to include in merging.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExcludeResources" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A regular expression matching the resource names to exclude from merging.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="HideImportedTypes" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A switch to control whether the imported types are hidden (made private) or keep their visibility unchanged. Default is 'true'</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="NamespacePrefix" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A string that is used as prefix for the namespace of the imported types.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="FullImport" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A switch to control whether to import the full assemblies or only the referenced types. Default is 'false'</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CompactMode" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A switch to enable compacting of the target assembly by skipping properties, events and unused methods. Default is 'false'</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute name="VerifyAssembly" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="GenerateXsd" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
359
Main.cs
Normal file
359
Main.cs
Normal file
@@ -0,0 +1,359 @@
|
||||
using MAI2System;
|
||||
using MelonLoader;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using HarmonyLib;
|
||||
using SinmaiAssist.Attributes;
|
||||
using SinmaiAssist.Cheat;
|
||||
using SinmaiAssist.Common;
|
||||
using SinmaiAssist.Config;
|
||||
using SinmaiAssist.Fix;
|
||||
using SinmaiAssist.GUI;
|
||||
using SinmaiAssist.Utils;
|
||||
using UnityEngine;
|
||||
using Path = System.IO.Path;
|
||||
|
||||
namespace SinmaiAssist
|
||||
{
|
||||
public static partial class BuildInfo
|
||||
{
|
||||
public const string Name = "Sinmai-Assist";
|
||||
public const string Description = "SlimMod Melon Version For Sinmai";
|
||||
public const string Author = "x";
|
||||
public const string Company = "Nya~";
|
||||
public const string Version = "2.0.0";
|
||||
public const string DownloadLink = null;
|
||||
}
|
||||
|
||||
public class SinmaiAssist : MelonMod
|
||||
{
|
||||
private MainGUI _mainGUI;
|
||||
private static bool _isPatchFailed = false;
|
||||
private static ConfigManager<MainConfig> _mainConfigManager;
|
||||
private static ConfigManager<KeyBindConfig> _keyBindConfigManager;
|
||||
private static WebServer.WebServer _webServer;
|
||||
public static MainConfig MainConfig;
|
||||
public static KeyBindConfig KeyBindConfig;
|
||||
public static string GameID = "Unknown";
|
||||
public static uint GameVersion = 00000;
|
||||
|
||||
public override void OnInitializeMelon()
|
||||
{
|
||||
if(!Directory.Exists($"./{BuildInfo.Name}")) Directory.CreateDirectory($"./{BuildInfo.Name}");
|
||||
|
||||
// 初始化UnityLogger
|
||||
if(File.Exists($"./{BuildInfo.Name}/Unity.log")) File.Delete($"{BuildInfo.Name}/Unity.log");
|
||||
File.WriteAllText($"./{BuildInfo.Name}/Unity.log", "");
|
||||
Application.logMessageReceived += OnLogMessageReceived;
|
||||
|
||||
PrintLogo();
|
||||
_mainGUI = new MainGUI();
|
||||
|
||||
// 加载配置文件
|
||||
try
|
||||
{
|
||||
var keyBindCoverter = new KeyBindConfig.Converter();
|
||||
_mainConfigManager = new ConfigManager<MainConfig>($"./{BuildInfo.Name}/config.yml");
|
||||
_keyBindConfigManager = new ConfigManager<KeyBindConfig>($"./{BuildInfo.Name}/keybind.yml", keyBindCoverter);
|
||||
MainConfig = _mainConfigManager.GetConfig();
|
||||
KeyBindConfig = _keyBindConfigManager.GetConfig();
|
||||
DummyLoginPanel.DummyUserId = MainConfig.Common.DummyLogin.DefaultUserId.ToString();
|
||||
DebugPanel.UnityLogger = MainConfig.Common.UnityLogger.Enable;
|
||||
MelonLogger.Msg("Config Load Complete.");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MelonLogger.Error($"Error initializing mod config: \n{e}");
|
||||
return;
|
||||
}
|
||||
|
||||
// 初始化WebServer
|
||||
if (MainConfig.ModSetting.WebServer.Enable)
|
||||
{
|
||||
_webServer = new WebServer.WebServer(
|
||||
MainConfig.ModSetting.WebServer.Host,
|
||||
MainConfig.ModSetting.WebServer.Port,
|
||||
MainConfig.ModSetting.WebServer.Token
|
||||
);
|
||||
_webServer.Start();
|
||||
}
|
||||
|
||||
// 输出设备摄像头列表
|
||||
File.Delete($"{BuildInfo.Name}/WebCameraList.txt");
|
||||
WebCamDevice[] devices = WebCamTexture.devices;
|
||||
string CameraList = "\nConnected Web Cameras:\n";
|
||||
for (int i = 0; i < devices.Length; i++)
|
||||
{
|
||||
WebCamDevice webCamDevice = devices[i];
|
||||
CameraList = CameraList + "Name: " + webCamDevice.name + "\n";
|
||||
CameraList += $"ID: {i}\n";
|
||||
WebCamTexture webCamTexture = new WebCamTexture(webCamDevice.name);
|
||||
webCamTexture.Play();
|
||||
CameraList += $"Resolution: {webCamTexture.width}x{webCamTexture.height}\n";
|
||||
CameraList += $"FPS: {webCamTexture.requestedFPS}\n";
|
||||
webCamTexture.Stop();
|
||||
CameraList += "\n";
|
||||
}
|
||||
|
||||
File.AppendAllText($"{BuildInfo.Name}/WebCameraList.txt", CameraList);
|
||||
|
||||
try
|
||||
{
|
||||
GameID = (string)typeof(ConstParameter).GetField("GameIDStr",
|
||||
BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy).GetValue(null);
|
||||
GameVersion = (uint)typeof(ConstParameter).GetField("NowGameVersion",
|
||||
BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy).GetValue(null);
|
||||
|
||||
if (GameVersion < 24000)
|
||||
{
|
||||
MelonLogger.Warning($"Using untested version ({GameVersion}) maybe case some unexcepted problems!");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MelonLogger.Error("Failed to get GameIDStr and GameVersion");
|
||||
MelonLogger.Error(e);
|
||||
}
|
||||
|
||||
MelonLogger.Msg($"GameInfo: {GameID} {GameVersion} ");
|
||||
|
||||
// 弃用的神秘判断代码
|
||||
// var Codes = new List<int> { 83, 68, 71, 66 };
|
||||
// var str = string.Concat(Codes.Select(code => (char)code));
|
||||
|
||||
if (MainConfig.ModSetting.SafeMode)
|
||||
{
|
||||
MelonLogger.Warning("Safe mode is enabled, Disable all patch");
|
||||
return;
|
||||
}
|
||||
|
||||
// 加载Patch
|
||||
Patch(typeof(HarmonyLibPatch),true);
|
||||
|
||||
// DummyLogin
|
||||
if (MainConfig.Common.DummyLogin.Enable)
|
||||
{
|
||||
if (GameID.Equals("SDGB"))
|
||||
{
|
||||
Patch(typeof(DummyChimeLogin));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (File.Exists("DEVICE/aime.txt"))
|
||||
DummyLoginPanel.DummyLoginCode = File.ReadAllText("DEVICE/aime.txt").Trim();
|
||||
Patch(typeof(DummyAimeLogin));
|
||||
}
|
||||
}
|
||||
|
||||
if (MainConfig.Common.CustomCameraId.Enable)
|
||||
{
|
||||
if (MainConfig.Common.DummyLogin.Enable)
|
||||
{
|
||||
MelonLogger.Warning("DummyLogin enabled, CustomCameraId has been automatically disabled.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Patch(typeof(CustomCameraId));
|
||||
}
|
||||
}
|
||||
|
||||
// Common
|
||||
if (MainConfig.Common.AutoBackupData) Patch(typeof(AutoBackupData));
|
||||
if (MainConfig.Common.InfinityTimer) Patch(typeof(InfinityTimer));
|
||||
if (MainConfig.Common.InfinityTimerLegacy) Patch(typeof(InfinityTimerLegacy));
|
||||
if (MainConfig.Common.DisableBackground) Patch(typeof(DisableBackground));
|
||||
if (MainConfig.Common.DisableMask) Patch(typeof(DisableMask));
|
||||
if (MainConfig.Common.SinglePlayer.Enable) Patch(typeof(SinglePlayer));
|
||||
if (MainConfig.Common.ForceQuickRetry) Patch(typeof(ForceQuickRetry));
|
||||
if (MainConfig.Common.ForwardATouchRegionToButton) Patch(typeof(ForwardATouchRegionToButton));
|
||||
// 存在资源加载问题,现已禁用
|
||||
// if (MainConfig.Common.QuickBoot) Patch(typeof(QuickBoot));
|
||||
if (MainConfig.Common.BlockCoin) Patch(typeof(BlockCoin));
|
||||
if (MainConfig.Common.SkipWarningScreen) Patch(typeof(SkipWarningScreen));
|
||||
if (MainConfig.Common.SkipFade) Patch(typeof(SkipFade));
|
||||
if (MainConfig.Common.NetworkLogger.Enable) Patch(typeof(NetworkLogger));
|
||||
if (MainConfig.Common.CustomVersionText.Enable) Patch(typeof(CustomVersionText));
|
||||
if (MainConfig.Common.IgnoreAnyGameInformation) Patch(typeof(IgnoreAnyGameInformation));
|
||||
if (MainConfig.Common.ChangeDefaultOption) Patch(typeof(ChangeDefaultOption));
|
||||
if (MainConfig.Common.ChangeFadeStyle) Patch(typeof(ChangeFadeStyle));
|
||||
if (MainConfig.Common.ChangeGameSettings.Enable) Patch(typeof(ChangeGameSettings));
|
||||
|
||||
//Fix
|
||||
if (MainConfig.Fix.DisableEnvironmentCheck) Patch(typeof(DisableEnvironmentCheck));
|
||||
if (MainConfig.Fix.DisableEncryption) Patch(typeof(DisableEncryption));
|
||||
if (MainConfig.Fix.DisableReboot) Patch(typeof(DisableReboot));
|
||||
if (MainConfig.Fix.DisableIniClear) Patch(typeof(DisableIniClear));
|
||||
if (MainConfig.Fix.FixDebugInput) Patch(typeof(FixDebugInput));
|
||||
if (MainConfig.Fix.FixCheckAuth) Patch(typeof(FixCheckAuth));
|
||||
if (MainConfig.Fix.ForceAsServer) Patch(typeof(ForceAsServer));
|
||||
if (MainConfig.Fix.SkipCakeHashCheck) Patch(typeof(SkipCakeHashCheck));
|
||||
if (MainConfig.Fix.SkipSpecialNumCheck) Patch(typeof(SkipSpecialNumCheck));
|
||||
if (MainConfig.Fix.SkipVersionCheck) Patch(typeof(SkipVersionCheck));
|
||||
if (MainConfig.Fix.RestoreCertificateValidation) Patch(typeof(RestoreCertificateValidation));
|
||||
if (MainConfig.Fix.RewriteNoteJudgeTiming.Enable) Patch(typeof(RewriteNoteJudgeTiming));
|
||||
|
||||
//Cheat
|
||||
if (MainConfig.Cheat.AutoPlay) Patch(typeof(AutoPlay));
|
||||
if (MainConfig.Cheat.FastSkip) Patch(typeof(FastSkip));
|
||||
if (MainConfig.Cheat.ChartController) Patch(typeof(ChartController));
|
||||
if (MainConfig.Cheat.AllCollection) Patch(typeof(AllCollection));
|
||||
if (MainConfig.Cheat.UnlockMusic) Patch(typeof(UnlockMusic));
|
||||
if (MainConfig.Cheat.UnlockMaster) Patch(typeof(UnlockMaster));
|
||||
if (MainConfig.Cheat.UnlockUtage.Enable) Patch(typeof(UnlockUtage));
|
||||
if (MainConfig.Cheat.UnlockEvent) Patch(typeof(UnlockEvent));
|
||||
if (MainConfig.Cheat.ResetLoginBonusRecord) Patch(typeof(ResetLoginBonusRecord));
|
||||
if (MainConfig.Cheat.ForceCurrentIsBest) Patch(typeof(ForceCurrentIsBest));
|
||||
if (MainConfig.Cheat.SetAllCharacterAsSameAndLock) Patch(typeof(SetAllCharacterAsSameAndLock));
|
||||
if (MainConfig.Cheat.RewriteLoginBonusStamp.Enable) Patch(typeof(RewriteLoginBonusStamp));
|
||||
|
||||
// 默认加载项
|
||||
Patch(typeof(PrintUserData));
|
||||
Patch(typeof(InputManager));
|
||||
Patch(typeof(GameMessageManager));
|
||||
|
||||
if(_isPatchFailed) PatchFailedWarn();
|
||||
MelonLogger.Msg("Loading completed");
|
||||
}
|
||||
public override void OnApplicationQuit()
|
||||
{
|
||||
if (MainConfig.ModSetting.WebServer.Enable && _webServer.IsRunning()) _webServer.Stop();
|
||||
}
|
||||
|
||||
public override void OnGUI()
|
||||
{
|
||||
_mainGUI.OnGUI();
|
||||
if (MainConfig.Common.ShowFPS) ShowFPS.OnGUI();
|
||||
if (MainConfig.ModSetting.ShowInfo) ShowVersionInfo.OnGUI();
|
||||
}
|
||||
|
||||
private void OnLogMessageReceived(string condition, string stackTrace, LogType type)
|
||||
{
|
||||
string logString = $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] [{type}] {condition}\n{stackTrace}";
|
||||
|
||||
if (MainConfig.Common.UnityLogger.Enable) File.AppendAllText(Path.Combine($"{BuildInfo.Name}/Unity.log"),logString + "\n");
|
||||
if (MainConfig.Common.UnityLogger.Enable && MainConfig.Common.UnityLogger.PrintToConsole)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case LogType.Error:
|
||||
case LogType.Exception:
|
||||
MelonLogger.Error($"[UnityLogger] [{type}]: {condition}\n{stackTrace}");
|
||||
break;
|
||||
case LogType.Warning:
|
||||
MelonLogger.Warning($"[UnityLogger] [{type}]: {condition}\n{stackTrace}");
|
||||
break;
|
||||
case LogType.Assert:
|
||||
case LogType.Log:
|
||||
default:
|
||||
MelonLogger.Msg($"[UnityLogger] [{type}]: {condition}\n{stackTrace}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool Patch(Type type, bool noLoggerPrint = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var enableGameVersion = type.GetCustomAttribute<EnableGameVersionAttribute>();
|
||||
if (enableGameVersion != null && !enableGameVersion.ShouldEnable())
|
||||
{
|
||||
MelonLogger.Warning(
|
||||
$"Patch: {type} skipped ,Game version need Min {enableGameVersion.MinGameVersion} Max {enableGameVersion.MaxGameVersion}");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!noLoggerPrint) MelonLogger.Msg($"> Patch: {type}");
|
||||
HarmonyLib.Harmony.CreateAndPatchAll(type);
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MelonLogger.Error($"Patch: {type} failed.");
|
||||
MelonLogger.Error(e.Message);
|
||||
MelonLogger.Error(e.Source);
|
||||
MelonLogger.Error(e.TargetSite);
|
||||
MelonLogger.Error(e.InnerException);
|
||||
MelonLogger.Error(e.StackTrace);
|
||||
_isPatchFailed = true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static void PrintLogo()
|
||||
{
|
||||
MelonLogger.Msg("\n" +
|
||||
"\r\n _____ _ __ ___ _ ___ _ __ " +
|
||||
"\r\n / ___/(_)___ / |/ /___ _(_) / | __________(_)____/ /_" +
|
||||
"\r\n \\__ \\/ / __ \\/ /|_/ / __ `/ /_____/ /| | / ___/ ___/ / ___/ __/" +
|
||||
"\r\n ___/ / / / / / / / / /_/ / /_____/ ___ |(__ |__ ) (__ ) /_ " +
|
||||
"\r\n/____/_/_/ /_/_/ /_/\\__,_/_/ /_/ |_/____/____/_/____/\\__/ " +
|
||||
"\r\n " +
|
||||
"\r\n=================================================================" +
|
||||
$"\r\n Version: {BuildInfo.Version} ({BuildInfo.CommitHash}) Build Date: {BuildInfo.BuildDate}" +
|
||||
$"\r\n Author: {BuildInfo.Author}");
|
||||
MelonLogger.Warning("\n" +
|
||||
"\r\n=================================================================" +
|
||||
"\r\n这是一个作弊Mod,后果自负,Mod仅限测试使用,禁止用于其他操作!" +
|
||||
"\r\nThis is a cheat mod. Use at your own risk!" +
|
||||
"\r\n这是一个免费的开源Mod项目,禁止倒卖!" +
|
||||
"\r\nThis is a free and open-source mod. Resale is strictly prohibited." +
|
||||
"\r\n如果你花了钱买了这个Mod,那你很愚蠢。" +
|
||||
"\r\nIf you paid for this mod, you are stupid." +
|
||||
"\r\n================================================================="
|
||||
);
|
||||
}
|
||||
|
||||
private static void PatchFailedWarn()
|
||||
{
|
||||
MelonLogger.Warning("\r\n=================================================================" +
|
||||
"\r\nFailed to patch some methods." +
|
||||
"\r\nPlease ensure that you are using an unmodified version of Assembly-CSharp.dll with a version greater than 1.40.0," +
|
||||
"\r\nas modifications or lower versions can cause function mismatches, preventing the required functions from being found." +
|
||||
"\r\nCheck for conflicting mods, or enabled incompatible options." +
|
||||
"\r\nIf you believe this is an error, please report the issue to the mod author." +
|
||||
"\r\n=================================================================");
|
||||
}
|
||||
}
|
||||
public class HarmonyLibPatch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch("HarmonyLib.PatchTools", "GetPatchMethod")]
|
||||
public static void GetPatchMethod(ref MethodInfo __result)
|
||||
{
|
||||
if (__result != null)
|
||||
{
|
||||
var enableGameVersion = __result.GetCustomAttribute<EnableGameVersionAttribute>();
|
||||
if (enableGameVersion != null && !enableGameVersion.ShouldEnable())
|
||||
{
|
||||
#if DEBUG
|
||||
MelonLogger.Warning($" Patch: {__result.ReflectedType}.{__result.Name} skipped, Game version need Min {enableGameVersion.MinGameVersion} Max {enableGameVersion.MaxGameVersion}");
|
||||
#endif
|
||||
__result = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch("HarmonyLib.PatchTools", "GetPatchMethods")]
|
||||
public static void GetPatchMethods(ref IList __result)
|
||||
{
|
||||
for (int i = 0; i < __result.Count; i++)
|
||||
{
|
||||
var harmonyMethod = Traverse.Create(__result[i]).Field("info").GetValue() as HarmonyMethod;
|
||||
var method = harmonyMethod.method;
|
||||
var enableGameVersion = method.GetCustomAttribute<EnableGameVersionAttribute>();
|
||||
if (enableGameVersion != null && !enableGameVersion.ShouldEnable())
|
||||
{
|
||||
#if DEBUG
|
||||
MelonLogger.Warning($" Patch: {method.ReflectedType}.{method.Name} skipped, Game version need Min {enableGameVersion.MinGameVersion} Max {enableGameVersion.MaxGameVersion}");
|
||||
#endif
|
||||
__result.RemoveAt(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
25
PostBuild.bat
Normal file
25
PostBuild.bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@echo off
|
||||
|
||||
where git >nul 2>nul
|
||||
if errorlevel 1 (
|
||||
echo Git is not installed. Using default commit hash.
|
||||
set COMMIT_HASH="NOT SET"
|
||||
) else (
|
||||
for /f "tokens=1" %%i in ('git rev-parse --short HEAD') do set COMMIT_HASH=%%i
|
||||
)
|
||||
|
||||
for /f "usebackq delims=" %%t in (`powershell -Command "( Get-Date -Format 'yyyyMMddHHmmss')"`) do (
|
||||
set TIMESTAMP=%%t
|
||||
)
|
||||
|
||||
echo CommitHash="%COMMIT_HASH%"
|
||||
echo BuildDate="%TIMESTAMP%"
|
||||
|
||||
copy /y ".\Sinmai-Assist.dll" "..\Out\Mods\"
|
||||
@REM copy /y ".\YamlDotNet.dll" "..\Out\UserLibs\"
|
||||
copy /y "..\config - zh_CN.yml" "..\Out\Sinmai-Assist\config.yml"
|
||||
@REM 7z a -tzip "..\PostBuilds\Sinmai-Assist_%COMMIT_HASH%_%TIMESTAMP%".zip "..\Out\*"
|
||||
@REM
|
||||
@REM set GamePath="G:\maimai\maimai2024\Package\"
|
||||
@REM copy /y ".\Sinmai-Assist.dll" "%GamePath%Mods\"
|
||||
@REM copy /y ".\YamlDotNet.dll" "%GamePath%UserLibs\"
|
||||
67
README.md
67
README.md
@@ -1,2 +1,69 @@
|
||||
# Sinmai-Assist
|
||||
Mods for maimai DX (Sinmai.exe). Patch with MelonLoader.
|
||||
|
||||
This is a cheat Mod, using by your own risk.
|
||||
|
||||
> [!WARNING]
|
||||
> Please use MelonLoader version 0.6.4 or lower.
|
||||
> Higher versions will crash.
|
||||
|
||||
## Feature
|
||||
- Cheat
|
||||
- Auto Play
|
||||
- Fast Skip
|
||||
- Chart Controller
|
||||
- Unlock Music
|
||||
- Unlock Master
|
||||
- Unlock Event
|
||||
- Unlock Utage
|
||||
- Force Unlock Double Player Utage
|
||||
- Force Current ls Best
|
||||
- Reset Login Bonus Record
|
||||
- Set All Character As Same And Lock
|
||||
- Common
|
||||
- Dummy Login
|
||||
- Custom Camera ID
|
||||
- Block Coin
|
||||
- Custom Version Text
|
||||
- Disable Mask
|
||||
- Disable Background
|
||||
- Forward Touch Region To Button
|
||||
- Force Quick Retry
|
||||
- Network Logger
|
||||
- Print User Information
|
||||
- Export User Data
|
||||
- Quick Boot
|
||||
- Show FPS
|
||||
- Single Player Mode
|
||||
- Skip Warning Screen
|
||||
- Skip Fade
|
||||
- Ignore Information
|
||||
- Change Default Option
|
||||
- Change Game Settings
|
||||
- Fix
|
||||
- Disable Environment Check(For versions after 1.50)
|
||||
- Disable Encryption
|
||||
- Disable Ini Clear
|
||||
- Disable Reboot
|
||||
- Fix Check Auth
|
||||
- Fix DebugInput
|
||||
- Force As Server
|
||||
- Restore Certificate Validation
|
||||
- Rewrite Judge Timing
|
||||
- Skip Version Check
|
||||
- Skip Cake Hash Check
|
||||
- Skip SpecialNum Check
|
||||
|
||||
|
||||
## Development
|
||||
|
||||
1. Install [.NET Framework 4.7.2 Developer Pack](https://dotnet.microsoft.com/download/dotnet-framework/net472)
|
||||
2. Configure library. (tips: Please use SDGB version library)
|
||||
3. Build the solution.
|
||||
4. Copy `Sinmai-Assist.dll` to `Mods` folder.
|
||||
|
||||
|
||||
## Relevant Links
|
||||
|
||||
* [MelonLoader Wiki](https://melonwiki.xyz/#/modders/quickstart)
|
||||
* [Harmony Docs](https://harmony.pardeike.net/articles/patching-prefix.html)
|
||||
|
||||
672
Sinmai-Assist.csproj
Normal file
672
Sinmai-Assist.csproj
Normal file
@@ -0,0 +1,672 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{788BC472-59F7-46F6-B760-65C18BA74389}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>SinmaiAssist</RootNamespace>
|
||||
<AssemblyName>Sinmai-Assist</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
<LangVersion>12</LangVersion>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DebugType>None</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Output\</OutputPath>
|
||||
<DefineConstants>
|
||||
</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>1</WarningLevel>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM64'">
|
||||
<OutputPath>bin\ARM64\Release\</OutputPath>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>None</DebugType>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<LangVersion>12</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM64'">
|
||||
<OutputPath>bin\ARM64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<LangVersion>12</LangVersion>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>false</Optimize>
|
||||
<DebugType>None</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<LangVersion>12</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<LangVersion>12</LangVersion>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="0Harmony, Version=2.10.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>Libs\0Harmony.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Accessibility">
|
||||
<HintPath>Output\Accessibility.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="AMDaemon.NET">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\AMDaemon.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\Assembly-CSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp-firstpass">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\Assembly-CSharp-firstpass.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="AssetRipper.VersionUtilities">
|
||||
<HintPath>..\150\MelonLoader\net35\AssetRipper.VersionUtilities.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="AssetsTools.NET">
|
||||
<HintPath>..\150\MelonLoader\net35\AssetsTools.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="bHapticsLib">
|
||||
<HintPath>..\150\MelonLoader\net35\bHapticsLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ChimeLib.NET">
|
||||
<HintPath>D:\game\SDGB2025\Package\Sinmai_Data\Managed\ChimeLib.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="cscompmgd">
|
||||
<HintPath>Output\cscompmgd.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CustomMarshalers">
|
||||
<HintPath>Output\CustomMarshalers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="IndexRange">
|
||||
<HintPath>..\150\MelonLoader\net35\IndexRange.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MelonLoader, Version=0.6.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\150\MelonLoader\net35\MelonLoader.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MelonStartScreen">
|
||||
<HintPath>..\150\MelonLoader\net35\MelonStartScreen.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp">
|
||||
<HintPath>Output\Microsoft.CSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Cecil">
|
||||
<HintPath>..\150\MelonLoader\net35\Mono.Cecil.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Cecil.Mdb">
|
||||
<HintPath>..\150\MelonLoader\net35\Mono.Cecil.Mdb.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Cecil.Pdb">
|
||||
<HintPath>..\150\MelonLoader\net35\Mono.Cecil.Pdb.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Cecil.Rocks">
|
||||
<HintPath>..\150\MelonLoader\net35\Mono.Cecil.Rocks.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Posix">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\Mono.Posix.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Security">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\Mono.Security.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MonoMod.RuntimeDetour">
|
||||
<HintPath>..\150\MelonLoader\net35\MonoMod.RuntimeDetour.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MonoMod.Utils">
|
||||
<HintPath>..\150\MelonLoader\net35\MonoMod.Utils.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="mscorlib">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\mscorlib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SMDiagnostics">
|
||||
<HintPath>Output\SMDiagnostics.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\System.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.Composition">
|
||||
<HintPath>Output\System.ComponentModel.Composition.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.DataAnnotations">
|
||||
<HintPath>Output\System.ComponentModel.DataAnnotations.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Configuration">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\System.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Configuration.Install">
|
||||
<HintPath>Output\System.Configuration.Install.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Core">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\System.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data">
|
||||
<HintPath>Output\System.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.DataSetExtensions">
|
||||
<HintPath>Output\System.Data.DataSetExtensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.Entity">
|
||||
<HintPath>Output\System.Data.Entity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.Linq">
|
||||
<HintPath>Output\System.Data.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.OracleClient">
|
||||
<HintPath>Output\System.Data.OracleClient.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.Services">
|
||||
<HintPath>Output\System.Data.Services.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.Services.Client">
|
||||
<HintPath>Output\System.Data.Services.Client.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Design">
|
||||
<HintPath>Output\System.Design.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.DirectoryServices">
|
||||
<HintPath>Output\System.DirectoryServices.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.DirectoryServices.Protocols">
|
||||
<HintPath>Output\System.DirectoryServices.Protocols.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\System.Drawing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing.Design">
|
||||
<HintPath>Output\System.Drawing.Design.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.EnterpriseServices">
|
||||
<HintPath>Output\System.EnterpriseServices.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IdentityModel">
|
||||
<HintPath>Output\System.IdentityModel.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IdentityModel.Selectors">
|
||||
<HintPath>Output\System.IdentityModel.Selectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression">
|
||||
<HintPath>Output\System.IO.Compression.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression.FileSystem">
|
||||
<HintPath>Output\System.IO.Compression.FileSystem.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Management">
|
||||
<HintPath>Output\System.Management.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Messaging">
|
||||
<HintPath>Output\System.Messaging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net">
|
||||
<HintPath>Output\System.Net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http">
|
||||
<HintPath>Output\System.Net.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.WebRequest">
|
||||
<HintPath>Output\System.Net.Http.WebRequest.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics">
|
||||
<HintPath>Output\System.Numerics.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Reflection.Context">
|
||||
<HintPath>Output\System.Reflection.Context.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Caching">
|
||||
<HintPath>Output\System.Runtime.Caching.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.DurableInstancing">
|
||||
<HintPath>Output\System.Runtime.DurableInstancing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Remoting">
|
||||
<HintPath>Output\System.Runtime.Remoting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Serialization">
|
||||
<HintPath>Output\System.Runtime.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Serialization.Formatters.Soap">
|
||||
<HintPath>Output\System.Runtime.Serialization.Formatters.Soap.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\System.Security.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel">
|
||||
<HintPath>Output\System.ServiceModel.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel.Activation">
|
||||
<HintPath>Output\System.ServiceModel.Activation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel.Discovery">
|
||||
<HintPath>Output\System.ServiceModel.Discovery.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel.Internals">
|
||||
<HintPath>Output\System.ServiceModel.Internals.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel.Routing">
|
||||
<HintPath>Output\System.ServiceModel.Routing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel.Web">
|
||||
<HintPath>Output\System.ServiceModel.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceProcess">
|
||||
<HintPath>Output\System.ServiceProcess.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Transactions">
|
||||
<HintPath>Output\System.Transactions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web">
|
||||
<HintPath>Output\System.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Abstractions">
|
||||
<HintPath>Output\System.Web.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.ApplicationServices">
|
||||
<HintPath>Output\System.Web.ApplicationServices.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.DynamicData">
|
||||
<HintPath>Output\System.Web.DynamicData.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Extensions">
|
||||
<HintPath>Output\System.Web.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Extensions.Design">
|
||||
<HintPath>Output\System.Web.Extensions.Design.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.RegularExpressions">
|
||||
<HintPath>Output\System.Web.RegularExpressions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Routing">
|
||||
<HintPath>Output\System.Web.Routing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Services">
|
||||
<HintPath>Output\System.Web.Services.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms">
|
||||
<HintPath>Output\System.Windows.Forms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms.DataVisualization">
|
||||
<HintPath>Output\System.Windows.Forms.DataVisualization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xaml">
|
||||
<HintPath>Output\System.Xaml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\System.Xml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml.Linq">
|
||||
<HintPath>Output\System.Xml.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Tomlet">
|
||||
<HintPath>..\150\MelonLoader\net35\Tomlet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.Analytics.DataPrivacy">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\Unity.Analytics.DataPrivacy.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Unity.TextMeshPro">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\Unity.TextMeshPro.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AccessibilityModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.AccessibilityModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AIModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.AIModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AnimationModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.AnimationModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ARModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.ARModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AssetBundleModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.AssetBundleModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.AudioModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.AudioModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.BaselibModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.BaselibModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ClothModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.ClothModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ClusterInputModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.ClusterInputModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ClusterRendererModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.ClusterRendererModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CrashReportingModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.CrashReportingModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.DirectorModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.DirectorModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.FileSystemHttpModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.FileSystemHttpModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.GameCenterModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.GameCenterModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.GridModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.GridModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.HotReloadModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.HotReloadModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ImageConversionModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.ImageConversionModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.IMGUIModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.InputModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.InputModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.JSONSerializeModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.JSONSerializeModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.LocalizationModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.LocalizationModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.Networking">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.Networking.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ParticleSystemModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.ParticleSystemModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.PerformanceReportingModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.PerformanceReportingModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.Physics2DModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.Physics2DModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.PhysicsModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ProfilerModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.ProfilerModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.ScreenCaptureModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.ScreenCaptureModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SharedInternalsModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.SharedInternalsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SpatialTracking">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.SpatialTracking.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SpriteMaskModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.SpriteMaskModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SpriteShapeModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.SpriteShapeModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.StreamingModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.StreamingModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.StyleSheetsModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.StyleSheetsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.SubstanceModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.SubstanceModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TerrainModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.TerrainModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TerrainPhysicsModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.TerrainPhysicsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextCoreModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.TextCoreModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TextRenderingModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TilemapModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.TilemapModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.Timeline">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.Timeline.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TimelineModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.TimelineModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.TLSModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.TLSModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UI">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIElementsModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UIElementsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UIModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UIModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UmbraModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UmbraModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UNETModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UNETModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityAnalyticsModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UnityAnalyticsModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityConnectModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UnityConnectModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityTestProtocolModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UnityTestProtocolModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestAssetBundleModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UnityWebRequestAssetBundleModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestAudioModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UnityWebRequestAudioModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UnityWebRequestModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestTextureModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UnityWebRequestTextureModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.UnityWebRequestWWWModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.UnityWebRequestWWWModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.VehiclesModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.VehiclesModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.VFXModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.VFXModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.VideoModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.VideoModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.VRModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.VRModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.WindModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.WindModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.XRModule">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\UnityEngine.XRModule.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ValueTupleBridge">
|
||||
<HintPath>..\150\MelonLoader\net35\ValueTupleBridge.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="WebSocketDotNet">
|
||||
<HintPath>..\150\MelonLoader\net35\WebSocketDotNet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase">
|
||||
<HintPath>Output\WindowsBase.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="zxing.unity">
|
||||
<HintPath>..\150\Sinmai_Data\Managed\zxing.unity.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Attributes\EnableGameVersionAttribute.cs" />
|
||||
<Compile Include="BuildInfo.cs" />
|
||||
<Compile Include="Cheat\AllCollection.cs" />
|
||||
<Compile Include="Cheat\AutoPlay.cs" />
|
||||
<Compile Include="Cheat\ChartController.cs" />
|
||||
<Compile Include="Cheat\FastSkip.cs" />
|
||||
<Compile Include="Cheat\ForceCurrentIsBest.cs" />
|
||||
<Compile Include="Cheat\ResetLoginBonusRecord.cs" />
|
||||
<Compile Include="Cheat\RewriteLoginBonusStamp.cs" />
|
||||
<Compile Include="Cheat\SetAllCharacterAsSameAndLock.cs" />
|
||||
<Compile Include="Cheat\UnlockEvent.cs" />
|
||||
<Compile Include="Cheat\UnlockMaster.cs" />
|
||||
<Compile Include="Cheat\UnlockMusic.cs" />
|
||||
<Compile Include="Cheat\UnlockUtage.cs" />
|
||||
<Compile Include="Common\AutoBackupData.cs" />
|
||||
<Compile Include="Common\BlockCoin.cs" />
|
||||
<Compile Include="Common\ChangeDefaultOption.cs" />
|
||||
<Compile Include="Common\ChangeFadeStyle.cs" />
|
||||
<Compile Include="Common\CustomCameraId.cs" />
|
||||
<Compile Include="Common\CustomVersionText.cs" />
|
||||
<Compile Include="Common\DisableBackground.cs" />
|
||||
<Compile Include="Common\ChangeGameSettings.cs" />
|
||||
<Compile Include="Common\DummyChimeLogin.cs" />
|
||||
<Compile Include="Common\ForceQuickRetry.cs" />
|
||||
<Compile Include="Common\InfinityTimerLegacy.cs" />
|
||||
<Compile Include="Common\SkipFade.cs" />
|
||||
<Compile Include="Common\DisableMask.cs" />
|
||||
<Compile Include="Common\DummyAimeLogin.cs" />
|
||||
<Compile Include="Common\ForwardATouchRegionToButton.cs" />
|
||||
<Compile Include="Common\Graphic.cs" />
|
||||
<Compile Include="Common\IgnoreAnyGameInformation.cs" />
|
||||
<Compile Include="Common\InfinityTimer.cs" />
|
||||
<Compile Include="Common\NetworkLogger.cs" />
|
||||
<Compile Include="Common\PrintUserData.cs" />
|
||||
<Compile Include="Common\QuickBoot.cs" />
|
||||
<Compile Include="Common\ShowFPS.cs" />
|
||||
<Compile Include="Common\SinglePlayer.cs" />
|
||||
<Compile Include="Common\SkipWarningScreen.cs" />
|
||||
<Compile Include="Config\ConfigManager.cs" />
|
||||
<Compile Include="Config\KeyBindConfig.cs" />
|
||||
<Compile Include="Config\MainConfig.cs" />
|
||||
<Compile Include="Fix\DisableIniClear.cs" />
|
||||
<Compile Include="Fix\ForceAsServer.cs" />
|
||||
<Compile Include="Fix\RestoreCertificateValidation.cs" />
|
||||
<Compile Include="Fix\SkipCakeHashCheck.cs" />
|
||||
<Compile Include="Fix\DisableEncryption.cs" />
|
||||
<Compile Include="Fix\DisableEnvironmentCheck.cs" />
|
||||
<Compile Include="Fix\DisableReboot.cs" />
|
||||
<Compile Include="Fix\FixCheckAuth.cs" />
|
||||
<Compile Include="Fix\FixDebugInput.cs" />
|
||||
<Compile Include="Fix\RewriteNoteJudgeTiming.cs" />
|
||||
<Compile Include="Fix\SkipSpecialNumCheck.cs" />
|
||||
<Compile Include="Fix\SkipVersionCheck.cs" />
|
||||
<Compile Include="GUI\AutoPlayPanel.cs" />
|
||||
<Compile Include="GUI\ChartControllerPanel.cs" />
|
||||
<Compile Include="GUI\DebugPanel.cs" />
|
||||
<Compile Include="GUI\DummyLoginPanel.cs" />
|
||||
<Compile Include="GUI\FastSkipPanel.cs" />
|
||||
<Compile Include="GUI\GraphicPanel.cs" />
|
||||
<Compile Include="GUI\MainGUI.cs" />
|
||||
<Compile Include="GUI\ShowVersionInfo.cs" />
|
||||
<Compile Include="GUI\Style.cs" />
|
||||
<Compile Include="GUI\UserDataPanel.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Main.cs" />
|
||||
<Compile Include="Utils\CipherAES.cs" />
|
||||
<Compile Include="Common\InputManager.cs" />
|
||||
<Compile Include="Utils\GameMessageManager.cs" />
|
||||
<Compile Include="Utils\Keyboard.cs" />
|
||||
<Compile Include="Utils\Server.cs" />
|
||||
<Compile Include="Utils\User.cs" />
|
||||
<Compile Include="Utils\UserLogout.cs" />
|
||||
<Compile Include="WebServer\Api\ApiController.cs" />
|
||||
<Compile Include="WebServer\WebServer.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="config - zh_CN.yml" />
|
||||
<None Include="README.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="config.yml" />
|
||||
<Content Include="BeforeBuild.bat" />
|
||||
<Content Include="FodyWeavers.xml" />
|
||||
<Content Include="FodyWeavers.xsd" />
|
||||
<Content Include="PostBuild.bat" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="EmbedIO">
|
||||
<Version>3.5.2</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Fody">
|
||||
<Version>6.9.2</Version>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="ILMerge.Fody">
|
||||
<Version>1.24.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Newtonsoft.Json">
|
||||
<Version>13.0.3</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="YamlDotNet">
|
||||
<Version>16.3.0</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Connected Services\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>$(ProjectDir)PostBuild.bat</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>$(ProjectDir)BeforeBuild.bat</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
37
Sinmai-Assist.sln
Normal file
37
Sinmai-Assist.sln
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.6.33815.320
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sinmai-Assist", "Sinmai-Assist.csproj", "{788BC472-59F7-46F6-B760-65C18BA74389}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Release|ARM64.ActiveCfg = Release|x64
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Release|ARM64.Build.0 = Release|x64
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{788BC472-59F7-46F6-B760-65C18BA74389}.Release|x64.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {DDF15A6C-2A44-4EBE-BD85-F3EE61DCD8BF}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
89
config - zh_CN.yml
Normal file
89
config - zh_CN.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
common:
|
||||
autoBackupData: false # 自动备份玩家数据
|
||||
infinityTimer: false # 无限计时器
|
||||
infinityTimerLegacy: false # 无限计时器(传统方案)
|
||||
disableMask: false # 禁用遮罩
|
||||
disableBackground: false # 禁用背景
|
||||
showFPS: false # 显示FPS
|
||||
singlePlayer: # 单人模式
|
||||
enable: false # 是否启用
|
||||
hideSubMonitor: false # 隐藏副屏
|
||||
forceQuickRetry: false # 强制开启Freedom模式的快速重试功能
|
||||
forwardATouchRegionToButton: false # 将触摸区域的操作转发到按钮
|
||||
skipFade: false # 跳过过场动画
|
||||
skipWarningScreen: false # 跳过警告界面
|
||||
quickBoot: false # 快速启动
|
||||
blockCoin: false # 禁用点数消耗
|
||||
ignoreAnyGameInformation: false # 忽略之后所有的游戏公告信息提示
|
||||
changeDefaultOption: false # 覆写游客模式默认设置
|
||||
changeFadeStyle: false # 切换过场动画的样式(例如BUDDiES开启此选项后会使用BUDDiES PLUS的过场动画,BUDDiES PLUS开启此选项后会使用BUDDiES的过场动画)
|
||||
networkLogger: # 网络日志
|
||||
enable: false # 是否启用
|
||||
printToConsole: false # 是否输出到控制台
|
||||
customVersionText: # 自定义版本文本
|
||||
enable: false # 是否启用
|
||||
versionText: "" # 版本文本
|
||||
dummyLogin: # 虚拟登录
|
||||
enable: false # 是否启用
|
||||
defaultUserId: 0 # 默认用户ID
|
||||
customCameraId: # 自定义摄像头ID
|
||||
enable: false # 是否启用
|
||||
chimeCameraId: 0 # Chime摄像头ID
|
||||
leftQrCameraId: 0 # 左侧二维码识别摄像头ID
|
||||
rightQrCameraId: 0 # 右侧二维码识别摄像头ID
|
||||
photoCameraId: 0 # 玩家摄像头ID
|
||||
changeGameSettings: # 覆盖游戏的设置
|
||||
enable: false # 是否启用
|
||||
codeRead: false # 是否启用二维码识别(DX Pass)
|
||||
iconPhoto: false # 是否启用拍摄头像功能
|
||||
uploadPhoto: false # 是否启用拍摄纪念照上传
|
||||
charaSelect: false # 是否启用角色选择界面
|
||||
|
||||
cheat:
|
||||
autoPlay: false # 自动游玩
|
||||
fastSkip: false # 快速跳过
|
||||
chartController: false # 铺面控制器(歌曲进度控制)
|
||||
allCollection: false # 解锁全部收藏品
|
||||
unlockEvent: false # 解锁全部活动
|
||||
unlockMusic: false # 解锁全部歌曲
|
||||
unlockMaster: false # 解锁全部歌曲Master和ReMaster难度
|
||||
unlockUtage: # 解锁宴会场
|
||||
enable: false # 是否启用
|
||||
unlockDoublePlayerMusic: false # 强制解锁宴会场双人模式歌曲
|
||||
saveUnlockMusic: false # 保存unlockMusic解锁的歌曲到用户存档
|
||||
saveUnlockMaster: false # 保存unlockMaster解锁的歌曲难度到用户存档
|
||||
resetLoginBonusRecord: false # 重置登录奖励记录
|
||||
forceCurrentIsBest: false # 强制当前游玩成绩为新成绩(可能会对Best50造成改动)
|
||||
setAllCharacterAsSameAndLock: false # 允许你设置5个相同的旅行伙伴并锁定设置(以队长为准)
|
||||
rewriteLoginBonusStamp: # 重写每日登录奖励记录
|
||||
enable: false # 是否启用
|
||||
point: 0 # 登录奖励点数
|
||||
|
||||
fix:
|
||||
disableEnvironmentCheck: false # 禁用运行环境检查
|
||||
disableEncryption: false # 禁用加密
|
||||
disableReboot: false # 禁用自动重启
|
||||
disableIniClear: false # 禁止程序清除ini配置文件文件
|
||||
fixDebugInput: false # 修复DebugInput
|
||||
fixCheckAuth: false # 修复CheckAuth
|
||||
forceAsServer: false # 强制以服务器模式运行
|
||||
skipCakeHashCheck: false # 跳过Cake.dll Hash检查
|
||||
skipSpecialNumCheck: false # 跳过特殊数字检查
|
||||
skipVersionCheck: false # 登录时跳过版本检查
|
||||
restoreCertificateValidation: false # 恢复证书验证
|
||||
rewriteNoteJudgeTiming: # 重写覆盖游戏音符判定 (如填10,则游戏内+1.0)
|
||||
enable: false # 是否启用
|
||||
adjustTiming: 0.0 # 音频延迟(单位:ms)
|
||||
judgeTiming: 0.0 # 判定延迟(单位:帧)
|
||||
|
||||
modSetting:
|
||||
safeMode: false # 启用安全模式
|
||||
showInfo: false # 显示信息
|
||||
showPanel: false # 显示面板
|
||||
logUnity: false # 显示Unity日志到控制台
|
||||
webServer: # Web服务
|
||||
enable: false # 是否启用
|
||||
host: "0.0.0.0" # 地址
|
||||
port: 8080 # 端口
|
||||
token: "" # token
|
||||
printDebugLog: false # 输出调试日志
|
||||
89
config.yml
Normal file
89
config.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
common:
|
||||
autoBackupData: false
|
||||
infinityTimer: false
|
||||
infinityTimerLegacy: false
|
||||
disableMask: false
|
||||
disableBackground: false
|
||||
showFPS: false
|
||||
singlePlayer:
|
||||
enable: false
|
||||
hideSubMonitor: false
|
||||
forceQuickRetry: false
|
||||
forwardATouchRegionToButton: false
|
||||
skipFade: false
|
||||
skipWarningScreen: false
|
||||
quickBoot: false
|
||||
blockCoin: false
|
||||
ignoreAnyGameInformation: false
|
||||
changeDefaultOption: false
|
||||
changeFadeStyle: false
|
||||
networkLogger:
|
||||
enable: false
|
||||
printToConsole: false
|
||||
customVersionText:
|
||||
enable: false
|
||||
versionText: ""
|
||||
dummyLogin:
|
||||
enable: false
|
||||
defaultUserId: 0
|
||||
customCameraId:
|
||||
enable: false
|
||||
chimeCameraId: 0
|
||||
leftQrCameraId: 0
|
||||
rightQrCameraId: 0
|
||||
photoCameraId: 0
|
||||
changeGameSettings:
|
||||
enable: false
|
||||
codeRead: false
|
||||
iconPhoto: false
|
||||
uploadPhoto: false
|
||||
charaSelect: false
|
||||
|
||||
cheat:
|
||||
autoPlay: false
|
||||
fastSkip: false
|
||||
chartController: false
|
||||
allCollection: false
|
||||
unlockEvent: false
|
||||
unlockMusic: false
|
||||
unlockMaster: false
|
||||
unlockUtage:
|
||||
enable: false
|
||||
unlockDoublePlayerMusic: false
|
||||
saveUnlockMusic: false
|
||||
saveUnlockMaster: false
|
||||
resetLoginBonusRecord: false
|
||||
forceCurrentIsBest: false
|
||||
setAllCharacterAsSameAndLock: false
|
||||
rewriteLoginBonusStamp:
|
||||
enable: false
|
||||
point: 0
|
||||
|
||||
fix:
|
||||
disableEnvironmentCheck: false
|
||||
disableEncryption: false
|
||||
disableReboot: false
|
||||
disableIniClear: false
|
||||
fixDebugInput: false
|
||||
fixCheckAuth: false
|
||||
forceAsServer: false
|
||||
skipCakeHashCheck: false
|
||||
skipSpecialNumCheck: false
|
||||
skipVersionCheck: false
|
||||
restoreCertificateValidation: false
|
||||
rewriteNoteJudgeTiming:
|
||||
enable: false
|
||||
adjustTiming: 0.0
|
||||
judgeTiming: 0.0
|
||||
|
||||
modSetting:
|
||||
safeMode: false
|
||||
showInfo: false
|
||||
showPanel: false
|
||||
logUnity: false
|
||||
webServer:
|
||||
enable: false
|
||||
host: "0.0.0.0"
|
||||
port: 8080
|
||||
token: ""
|
||||
printDebugLog: false
|
||||
10
packages.config
Normal file
10
packages.config
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="EmbedIO" version="3.5.2" targetFramework="net472" />
|
||||
<package id="Fody" version="6.9.2" targetFramework="net472" developmentDependency="true" />
|
||||
<package id="ILMerge.Fody" version="1.24.0" targetFramework="net472" />
|
||||
<package id="LavaGang.MelonLoader" version="0.6.4" targetFramework="net472" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
|
||||
<package id="Unosquare.Swan.Lite" version="3.1.0" targetFramework="net472" />
|
||||
<package id="YamlDotNet" version="16.1.0" targetFramework="net472" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user