using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using LCSoundTool;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("DefinitelyNotABirthdayMod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DefinitelyNotABirthdayMod")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("1b4894a1-38e7-4603-a54f-5166cb01a0db")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace DefinitelyNotABirthdayMod;
[BepInPlugin("Shaun-SpoodsBirthdaySoundPack", "SpoodsBirthdaySoundPack", "1.0.8")]
public class ChangeDropshipSong : BaseUnityPlugin
{
private const string modGUID = "Shaun-SpoodsBirthdaySoundPack";
private const string modName = "SpoodsBirthdaySoundPack";
private const string modVersion = "1.0.8";
private readonly Harmony harmony = new Harmony("Shaun-SpoodsBirthdaySoundPack");
private static ChangeDropshipSong Instance;
internal ManualLogSource mls;
private void Awake()
{
if ((Object)(object)Instance == (Object)null)
{
Instance = this;
}
mls = Logger.CreateLogSource("Shaun-SpoodsBirthdaySoundPack");
mls.LogInfo((object)"Starting Shaun's mod");
harmony.PatchAll(typeof(ChangeDropshipSong));
LoadAudioClipsAndReplaceDropshipMusic("Shaun-SpoodsBirthdaySoundPack");
}
private void LoadAudioClipsAndReplaceDropshipMusic(string modGUID)
{
string text = Path.Combine(Paths.PluginPath, modGUID);
mls.LogInfo((object)("Loading audio files in directory: " + text));
string text2 = text + "\\DropshipSongReplacement.mp3";
string text3 = text + "\\BoomboxMusic1.mp3";
string text4 = text + "\\BoomboxMusic2.mp3";
string text5 = text + "\\BoomboxMusic3.mp3";
string text6 = text + "\\BoomboxMusic4.mp3";
string text7 = text + "\\BoomboxMusic5.mp3";
string text8 = text + "\\AngryScreech1.wav";
string text9 = text + "\\BugDie.wav";
string text10 = text + "\\Chitter1.wav";
string text11 = text + "\\growl.wav";
string text12 = text + "\\Lunge1.wav";
string text13 = text + "\\Roar.wav";
string text14 = text + "\\ClingToPlayer.wav";
string text15 = text + "\\BitePlayer.wav";
string text16 = text + "\\CrawlerDie.wav";
string text17 = text + "\\LongRoar1.wav";
string text18 = text + "\\ShortRoar1.wav";
string text19 = text + "\\DoublewingFlapConstant.wav";
if (File.Exists(text2) && File.Exists(text3) && File.Exists(text4) && File.Exists(text5) && File.Exists(text6) && File.Exists(text7) && File.Exists(text8) && File.Exists(text9) && File.Exists(text10) && File.Exists(text11) && File.Exists(text12) && File.Exists(text13) && File.Exists(text14) && File.Exists(text16) && File.Exists(text17) && File.Exists(text18) && File.Exists(text19))
{
AudioClip audioClip = SoundTool.GetAudioClip(text, text2);
audioClip = AdjustVolume(audioClip, 0.25f);
SoundTool.ReplaceAudioClip("IcecreamTruckV2", audioClip);
SoundTool.ReplaceAudioClip("IcecreamTruckV2Christmas", audioClip);
SoundTool.ReplaceAudioClip("IcecreamTruckV2Far", audioClip);
SoundTool.ReplaceAudioClip("IcecreamTruckV2ChristmasFar", audioClip);
SoundTool.ReplaceAudioClip("IcecreamTruckFar", audioClip);
AudioClip audioClip2 = SoundTool.GetAudioClip(text, text3);
AudioClip audioClip3 = SoundTool.GetAudioClip(text, text4);
AudioClip audioClip4 = SoundTool.GetAudioClip(text, text5);
AudioClip audioClip5 = SoundTool.GetAudioClip(text, text6);
AudioClip audioClip6 = SoundTool.GetAudioClip(text, text7);
audioClip2 = AdjustVolume(audioClip2, 0.5f);
audioClip3 = AdjustVolume(audioClip3, 0.5f);
audioClip4 = AdjustVolume(audioClip4, 0.5f);
audioClip5 = AdjustVolume(audioClip5, 0.5f);
audioClip6 = AdjustVolume(audioClip6, 0.5f);
SoundTool.ReplaceAudioClip("BoomboxMusic1", audioClip2);
SoundTool.ReplaceAudioClip("BoomboxMusic2", audioClip3);
SoundTool.ReplaceAudioClip("BoomboxMusic3", audioClip4);
SoundTool.ReplaceAudioClip("BoomboxMusic4", audioClip5);
SoundTool.ReplaceAudioClip("BoomboxMusic5Zedfox", audioClip6);
AudioClip audioClip7 = SoundTool.GetAudioClip(text, text8);
AudioClip audioClip8 = SoundTool.GetAudioClip(text, text9);
AudioClip audioClip9 = SoundTool.GetAudioClip(text, text10);
audioClip7 = AdjustVolume(audioClip7, 0.5f);
audioClip8 = AdjustVolume(audioClip8, 0.5f);
audioClip9 = AdjustVolume(audioClip9, 0.5f);
SoundTool.ReplaceAudioClip("AngryScreech", audioClip7);
SoundTool.ReplaceAudioClip("AngryScreech1", audioClip7);
SoundTool.ReplaceAudioClip("AngryScreech2", audioClip7);
SoundTool.ReplaceAudioClip("BugDie", audioClip8);
SoundTool.ReplaceAudioClip("Chitter1", audioClip9);
SoundTool.ReplaceAudioClip("Chitter2", audioClip9);
SoundTool.ReplaceAudioClip("Chitter3", audioClip9);
AudioClip audioClip10 = SoundTool.GetAudioClip(text, text11);
AudioClip audioClip11 = SoundTool.GetAudioClip(text, text12);
AudioClip audioClip12 = SoundTool.GetAudioClip(text, text13);
audioClip10 = AdjustVolume(audioClip10, 0.5f);
audioClip11 = AdjustVolume(audioClip11, 0.5f);
audioClip12 = AdjustVolume(audioClip12, 0.25f);
SoundTool.ReplaceAudioClip("growl", audioClip10);
SoundTool.ReplaceAudioClip("Lunge1", audioClip11);
SoundTool.ReplaceAudioClip("Roar", audioClip12);
AudioClip audioClip13 = SoundTool.GetAudioClip(text, text14);
audioClip13 = AdjustVolume(audioClip13, 0.5f);
SoundTool.ReplaceAudioClip("ClingToPlayer", audioClip13);
SoundTool.ReplaceAudioClip("ClingToPlayerLocal", audioClip13);
AudioClip audioClip14 = SoundTool.GetAudioClip(text, text15);
AudioClip audioClip15 = SoundTool.GetAudioClip(text, text16);
AudioClip audioClip16 = SoundTool.GetAudioClip(text, text17);
AudioClip audioClip17 = SoundTool.GetAudioClip(text, text18);
audioClip14 = AdjustVolume(audioClip14, 0.5f);
audioClip15 = AdjustVolume(audioClip15, 0.5f);
audioClip16 = AdjustVolume(audioClip16, 0.5f);
audioClip17 = AdjustVolume(audioClip17, 0.5f);
SoundTool.ReplaceAudioClip("BitePlayer", audioClip14);
SoundTool.ReplaceAudioClip("CrawlerDie", audioClip15);
SoundTool.ReplaceAudioClip("LongRoar1", audioClip16);
SoundTool.ReplaceAudioClip("LongRoar2", audioClip16);
SoundTool.ReplaceAudioClip("LongRoar3", audioClip16);
SoundTool.ReplaceAudioClip("ShortRoar1", audioClip17);
AudioClip audioClip18 = SoundTool.GetAudioClip(text, text19);
SoundTool.ReplaceAudioClip("DoublewingFlapConstant", audioClip18);
}
else
{
mls.LogError((object)("Error loading files! eg. " + text2));
}
}
private static AudioClip AdjustVolume(AudioClip clip, float volume)
{
float[] array = new float[clip.samples];
clip.GetData(array, 0);
for (int i = 0; i < array.Length; i++)
{
array[i] *= volume;
}
AudioClip val = AudioClip.Create("AdjustedClip", array.Length, clip.channels, clip.frequency, false);
val.SetData(array, 0);
return val;
}
}