mirror of
https://github.com/MewoLab/AquaDX.git
synced 2025-10-25 20:12:39 +00:00
[+] Feature for load self-made charts jacket from file
This commit is contained in:
parent
b13af00061
commit
df863e879f
@ -270,6 +270,7 @@
|
|||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="Main.cs" />
|
<Compile Include="Main.cs" />
|
||||||
<Compile Include="UX\CustomVersionString.cs" />
|
<Compile Include="UX\CustomVersionString.cs" />
|
||||||
|
<Compile Include="UX\LoadJacketPng.cs" />
|
||||||
<Compile Include="UX\SinglePlayer.cs" />
|
<Compile Include="UX\SinglePlayer.cs" />
|
||||||
<Compile Include="UX\SkipWarningScreen.cs" />
|
<Compile Include="UX\SkipWarningScreen.cs" />
|
||||||
<Compile Include="UX\SkipToMusicSelection.cs" />
|
<Compile Include="UX\SkipToMusicSelection.cs" />
|
||||||
|
|||||||
@ -16,6 +16,8 @@ SinglePlayer=true
|
|||||||
SkipToMusicSelection=false
|
SkipToMusicSelection=false
|
||||||
# Set the version string displayed at the top-right corner of the screen
|
# Set the version string displayed at the top-right corner of the screen
|
||||||
CustomVersionString=""
|
CustomVersionString=""
|
||||||
|
# Load Jacket image from folder "LocalAssets" and filename "{MusicID}.png" for self-made charts
|
||||||
|
LoadJacketPng=true
|
||||||
|
|
||||||
[Performance]
|
[Performance]
|
||||||
# Disable some useless checks and delays to speed up the game boot process
|
# Disable some useless checks and delays to speed up the game boot process
|
||||||
|
|||||||
@ -19,6 +19,7 @@ namespace AquaMai
|
|||||||
public bool SkipWarningScreen { get; set; }
|
public bool SkipWarningScreen { get; set; }
|
||||||
public bool SinglePlayer { get; set; }
|
public bool SinglePlayer { get; set; }
|
||||||
public bool SkipToMusicSelection { get; set; }
|
public bool SkipToMusicSelection { get; set; }
|
||||||
|
public bool LoadJacketPng { get; set; }
|
||||||
public string CustomVersionString { get; set; }
|
public string CustomVersionString { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
47
AquaMai/UX/LoadJacketPng.cs
Normal file
47
AquaMai/UX/LoadJacketPng.cs
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Reflection;
|
||||||
|
using HarmonyLib;
|
||||||
|
using UnityEngine;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using MelonLoader;
|
||||||
|
|
||||||
|
namespace AquaMai.UX
|
||||||
|
{
|
||||||
|
[HarmonyPatch]
|
||||||
|
public class LoadJacketPng
|
||||||
|
{
|
||||||
|
public static IEnumerable<MethodBase> TargetMethods()
|
||||||
|
{
|
||||||
|
var AM = typeof(AssetManager);
|
||||||
|
return new[] { AM.GetMethod("GetJacketThumbTexture2D", new []{typeof(string)}), AM.GetMethod("GetJacketTexture2D", new []{typeof(string)}) };
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool Prefix(string filename, ref Texture2D __result)
|
||||||
|
{
|
||||||
|
var matches = Regex.Matches(filename, @"UI_Jacket_(\d+)(_s)?\.png");
|
||||||
|
if (matches.Count < 1)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var id = matches[0].Groups[1].Value;
|
||||||
|
foreach (var ext in new []{".jpg",".png",".webp",".bmp",".gif"})
|
||||||
|
{
|
||||||
|
if (File.Exists(Path.Combine(Environment.CurrentDirectory, "LocalAssets", id + ext)))
|
||||||
|
{
|
||||||
|
filename = id + ext;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var localPath = Path.Combine(Environment.CurrentDirectory, "LocalAssets", filename);
|
||||||
|
if (!File.Exists(localPath)) return true;
|
||||||
|
|
||||||
|
__result = new Texture2D(1, 1);
|
||||||
|
ImageConversion.LoadImage(__result, File.ReadAllBytes(localPath));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user