From de79c3ca53fd13ce0c9176b2db0a0d9054b08bb7 Mon Sep 17 00:00:00 2001 From: gompocp <73906388+gompocp@users.noreply.github.com> Date: Tue, 4 May 2021 15:53:27 +0100 Subject: [PATCH] Mods Folder Icon --- ActionMenuApi/AMAPI.cs | 2 +- ActionMenuApi/ActionMenuApi.csproj | 6 ++++++ ActionMenuApi/ModMenu/ModsFolder.cs | 17 ++++++++++++++++- ActionMenuApi/actionmenuapi.icons | Bin 0 -> 16806 bytes 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 ActionMenuApi/actionmenuapi.icons diff --git a/ActionMenuApi/AMAPI.cs b/ActionMenuApi/AMAPI.cs index 5201623..5a97170 100644 --- a/ActionMenuApi/AMAPI.cs +++ b/ActionMenuApi/AMAPI.cs @@ -289,7 +289,7 @@ public static void AddModFolder(string text, Action openFunc, Texture2D icon = n AMAPI.AddSubMenuToSubMenu(text, openFunc, icon, null); }); } - + private static void AddPedalToList(ActionMenuPageType pageType, PedalStruct customPedal, Insertion insertion) { switch (pageType) diff --git a/ActionMenuApi/ActionMenuApi.csproj b/ActionMenuApi/ActionMenuApi.csproj index df48bed..3d378d7 100644 --- a/ActionMenuApi/ActionMenuApi.csproj +++ b/ActionMenuApi/ActionMenuApi.csproj @@ -57,6 +57,9 @@ ..\..\..\..\..\..\Programs\Software\SteamLibrary\steamapps\common\VRChat\MelonLoader\Managed\UnityEngine.dll + + ..\..\..\..\..\..\Programs\Software\SteamLibrary\steamapps\common\VRChat\MelonLoader\Managed\UnityEngine.AssetBundleModule.dll + ..\..\..\..\..\..\Programs\Software\SteamLibrary\steamapps\common\VRChat\MelonLoader\Managed\UnityEngine.CoreModule.dll @@ -96,6 +99,9 @@ + + + COPY "$(MSBuildProjectDirectory)\bin\ActionMenuApi.dll" "E:\Windows\Programs\Software\SteamLibrary\steamapps\common\VRChat\Mods" diff --git a/ActionMenuApi/ModMenu/ModsFolder.cs b/ActionMenuApi/ModMenu/ModsFolder.cs index 385f763..7740429 100644 --- a/ActionMenuApi/ModMenu/ModsFolder.cs +++ b/ActionMenuApi/ModMenu/ModsFolder.cs @@ -1,7 +1,10 @@ using System; using System.Collections.Generic; +using System.IO; +using System.Reflection; using ActionMenuApi.Pedals; using MelonLoader; +using UnhollowerRuntimeLib; using UnityEngine; namespace ActionMenuApi.ModMenu @@ -40,7 +43,19 @@ public void AddMainPageButton() public static void CreateInstance() { - if(instance == null) new ModsFolder("Mods", Texture2D.whiteTexture); //TEMP Texture //TODO: Swap to a different texture + if (instance != null) return; + AssetBundle iconsAssetBundle; + using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("ActionMenuApi.actionmenuapi.icons")) + using (var tempStream = new MemoryStream((int)stream.Length)) + { + stream.CopyTo(tempStream); + + iconsAssetBundle = AssetBundle.LoadFromMemory_Internal(tempStream.ToArray(), 0); + iconsAssetBundle.hideFlags |= HideFlags.DontUnloadUnusedAsset; + } + Texture2D modsSectionIcon = iconsAssetBundle.LoadAsset_Internal("Assets/ActionMenuApi/vrcmg.png", Il2CppType.Of()).Cast(); + modsSectionIcon.hideFlags |= HideFlags.DontUnloadUnusedAsset; + new ModsFolder("Mods", modsSectionIcon); //TEMP Texture //TODO: Swap to a different texture } } } \ No newline at end of file diff --git a/ActionMenuApi/actionmenuapi.icons b/ActionMenuApi/actionmenuapi.icons new file mode 100644 index 0000000000000000000000000000000000000000..84fd05314f65d2ce059295e741cca8d7685d1fb4 GIT binary patch literal 16806 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 ZxI-ko$BnFgZs_8iCw^?&8qxbx>jx5wNI?Jq literal 0 HcmV?d00001