[+] Load AssetBundle without manifest

pull/30/head
Clansty 2024-04-23 18:51:49 +08:00
parent c8db3ec762
commit b4cbb1fd14
4 changed files with 36 additions and 0 deletions

View File

@ -271,6 +271,7 @@
<Compile Include="Main.cs" />
<Compile Include="UX\CustomVersionString.cs" />
<Compile Include="UX\LoadJacketPng.cs" />
<Compile Include="UX\LoadAssetBundleWithoutManifest.cs" />
<Compile Include="UX\QuickSkip.cs" />
<Compile Include="UX\SinglePlayer.cs" />
<Compile Include="UX\SkipWarningScreen.cs" />

View File

@ -20,6 +20,8 @@ CustomVersionString=""
LoadJacketPng=true
# Press key "7" for 1 second to skip to next step or restart current song
QuickSkip=true
# Add ".ab" image resources without the need of rebuilding a manifest
LoadAssetBundleWithoutManifest=true
[Performance]
# Disable some useless checks and delays to speed up the game boot process

View File

@ -20,6 +20,7 @@ namespace AquaMai
public bool SinglePlayer { get; set; }
public bool SkipToMusicSelection { get; set; }
public bool LoadJacketPng { get; set; }
public bool LoadAssetBundleWithoutManifest { get; set; }
public bool QuickSkip { get; set; }
public string CustomVersionString { get; set; }
}

View File

@ -0,0 +1,32 @@
using System.Collections.Generic;
using System.Linq;
using HarmonyLib;
using UnityEngine;
using Manager;
using Util;
namespace AquaMai.UX
{
public class LoadAssetBundleWithoutManifest
{
private static HashSet<string> abFiles = new HashSet<string>();
[HarmonyPostfix]
[HarmonyPatch(typeof(OptionDataManager), "CheckAssetBundle")]
public static void PostCheckAssetBundle(ref Safe.ReadonlySortedDictionary<string, string> abs)
{
foreach (var ab in abs)
{
abFiles.Add(ab.Key);
}
}
[HarmonyPrefix]
[HarmonyPatch(typeof(AssetBundleManifest), "GetAllAssetBundles")]
public static bool PreGetAllAssetBundles(AssetBundleManifest __instance, ref string[] __result)
{
__result = abFiles.ToArray();
return false;
}
}
}