Initial commit
This commit is contained in:
commit
e95bbff8de
12 changed files with 133 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
bin/
|
||||
obj/
|
||||
BIN
Audio/Death.wav
Normal file
BIN
Audio/Death.wav
Normal file
Binary file not shown.
BIN
Audio/Fostral.wav
Normal file
BIN
Audio/Fostral.wav
Normal file
Binary file not shown.
BIN
Audio/Glorx.wav
Normal file
BIN
Audio/Glorx.wav
Normal file
Binary file not shown.
BIN
Audio/Infernals.wav
Normal file
BIN
Audio/Infernals.wav
Normal file
Binary file not shown.
BIN
Audio/MainTheme.wav
Normal file
BIN
Audio/MainTheme.wav
Normal file
Binary file not shown.
BIN
Audio/Necross.wav
Normal file
BIN
Audio/Necross.wav
Normal file
Binary file not shown.
BIN
Audio/OuterWorlds.wav
Normal file
BIN
Audio/OuterWorlds.wav
Normal file
Binary file not shown.
BIN
Audio/VangersForever.wav
Normal file
BIN
Audio/VangersForever.wav
Normal file
Binary file not shown.
BIN
Audio/Xplo.wav
Normal file
BIN
Audio/Xplo.wav
Normal file
Binary file not shown.
93
Plugin.cs
Normal file
93
Plugin.cs
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using BepInEx;
|
||||
using BepInEx.Logging;
|
||||
using UnityEngine;
|
||||
using HarmonyLib;
|
||||
using CUCoreLib.Helpers;
|
||||
|
||||
namespace VangersMusic;
|
||||
|
||||
[BepInPlugin(MOD_CUSTOM_ID, MOD_CUSTOM_NAME, MOD_CUSTOM_VER)]
|
||||
[BepInDependency("net.cucorelib", BepInDependency.DependencyFlags.HardDependency)]
|
||||
public class Plugin : BaseUnityPlugin
|
||||
{
|
||||
internal static new ManualLogSource Logger;
|
||||
private readonly Harmony _harmony = new(MOD_CUSTOM_ID);
|
||||
|
||||
const string MOD_CUSTOM_ID = "org.rendo.vangersmusic";
|
||||
const string MOD_CUSTOM_NAME = "VangersMusic";
|
||||
const string MOD_CUSTOM_VER = "0.1";
|
||||
|
||||
private AudioClip _mainMenu;
|
||||
private AudioClip[] _location;
|
||||
private AudioClip _death;
|
||||
private AudioClip _dying;
|
||||
private AudioClip _infernals;
|
||||
|
||||
private SongList GenerateSongList(AudioClip forClip) {
|
||||
SongList list = new SongList();
|
||||
list.songs = new AudioClip[] {forClip};
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
// Plugin startup logic
|
||||
Logger = base.Logger;
|
||||
|
||||
_mainMenu = AssetLoader.LoadEmbeddedAudio("Audio.MainTheme.wav");
|
||||
|
||||
_location = new AudioClip[] {
|
||||
AssetLoader.LoadEmbeddedAudio("Audio.Fostral.wav"),
|
||||
AssetLoader.LoadEmbeddedAudio("Audio.Necross.wav"),
|
||||
AssetLoader.LoadEmbeddedAudio("Audio.Glorx.wav"),
|
||||
AssetLoader.LoadEmbeddedAudio("Audio.Xplo.wav"),
|
||||
AssetLoader.LoadEmbeddedAudio("Audio.OuterWorlds.wav"),
|
||||
};
|
||||
|
||||
_death = AssetLoader.LoadEmbeddedAudio("Audio.Death.wav");
|
||||
_dying = AssetLoader.LoadEmbeddedAudio("Audio.VangersForever.wav");
|
||||
_infernals = AssetLoader.LoadEmbeddedAudio("Audio.Infernals.wav");
|
||||
|
||||
Logger.LogInfo($"Plugin {MyPluginInfo.PLUGIN_GUID} is loaded!");
|
||||
StartCoroutine(OverrideMenuMusic());
|
||||
StartCoroutine(OverrideMusicManager());
|
||||
|
||||
}
|
||||
private void Start() {
|
||||
PreRunScript.instance.menuSongs = new List<AudioClip>(){_mainMenu};
|
||||
}
|
||||
private IEnumerator OverrideMusicManager() {
|
||||
while (true) {
|
||||
Logger.LogInfo("Waiting for music player to load");
|
||||
yield return new WaitUntil(()=> MusicManager.main != null);
|
||||
Logger.LogInfo("Started overriding music");
|
||||
|
||||
MusicManager.main.deadClip = _death;
|
||||
MusicManager.main.dyingClip = _dying;
|
||||
MusicManager.main.biomeMusic = new SongList[] {
|
||||
GenerateSongList(_location[0]),
|
||||
GenerateSongList(_location[1]),
|
||||
GenerateSongList(_location[2]),
|
||||
GenerateSongList(_location[3]),
|
||||
GenerateSongList(_location[4]),
|
||||
};
|
||||
foreach(var droneTrack in MusicManager.main.droneTracks) {
|
||||
droneTrack.clip = _infernals;
|
||||
}
|
||||
Logger.LogInfo("Ended overriding music");
|
||||
yield return new WaitUntil(()=> MusicManager.main == null);
|
||||
}
|
||||
}
|
||||
private IEnumerator OverrideMenuMusic() {
|
||||
while (true) {
|
||||
yield return new WaitUntil(()=> PreRunScript.instance != null);
|
||||
|
||||
PreRunScript.instance.menuSongs = new List<AudioClip>(){_mainMenu};
|
||||
yield return new WaitUntil(()=> PreRunScript.instance == null);
|
||||
}
|
||||
}
|
||||
}
|
||||
38
VangersMusic.csproj
Normal file
38
VangersMusic.csproj
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<AssemblyName>VangersMusic</AssemblyName>
|
||||
<Product>VangersMusic</Product>
|
||||
<Version>1.0.0</Version>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<RestoreAdditionalProjectSources>
|
||||
https://api.nuget.org/v3/index.json;
|
||||
https://nuget.bepinex.dev/v3/index.json;
|
||||
https://nuget.samboy.dev/v3/index.json
|
||||
</RestoreAdditionalProjectSources>
|
||||
<RootNamespace>VangersMusic</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BepInEx.Analyzers" Version="1.*" PrivateAssets="all" />
|
||||
<PackageReference Include="BepInEx.Core" Version="5.*" />
|
||||
<PackageReference Include="BepInEx.PluginInfoProps" Version="2.*" />
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>../../../CasualtiesUnknown_Data/Managed/Assembly-CSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CUCoreLib">
|
||||
<HintPath>../CUCoreLib.dll</HintPath>
|
||||
</Reference>
|
||||
<PackageReference Include="UnityEngine.Modules" Version="2022.3.62" IncludeAssets="compile" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Audio\**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework.TrimEnd(`0123456789`))' == 'net'">
|
||||
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.2" PrivateAssets="all" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Loading…
Add table
Add a link
Reference in a new issue