- Added ModConfig.cs with full configuration system - Updated Plugin.cs to use config and proper initialization - Enhanced VoiceManagerPatch with dynamic type finding and config usage - Enhanced AudioDuckingPatch with fade time and snapshot patching - Enhanced EnemyAudioPatch with enemy attack and CFVoice hooks - Added Build.ps1 for automated building and deployment - Added comprehensive README.md with installation and configuration
93 lines
2.9 KiB
C#
93 lines
2.9 KiB
C#
using BepInEx;
|
|
using BepInEx.Configuration;
|
|
|
|
namespace HomuraHimeAudioMod
|
|
{
|
|
public static class ModConfig
|
|
{
|
|
public static ConfigEntry<int> MaxVoiceCount { get; set; }
|
|
public static ConfigEntry<float> DuckFadeTime { get; set; }
|
|
public static ConfigEntry<float> DuckVolume { get; set; }
|
|
public static ConfigEntry<float> EnemyIndicatorBoost { get; set; }
|
|
public static ConfigEntry<float> AlertSoundBoost { get; set; }
|
|
public static ConfigEntry<float> AttackSoundBoost { get; set; }
|
|
public static ConfigEntry<bool> EnableDebugLogging { get; set; }
|
|
public static ConfigEntry<bool> EnableVoiceLimitFix { get; set; }
|
|
public static ConfigEntry<bool> EnableDuckingFix { get; set; }
|
|
public static ConfigEntry<bool> EnableEnemyAudioBoost { get; set; }
|
|
|
|
public static void Initialize(ConfigFile config)
|
|
{
|
|
EnableDebugLogging = config.Bind(
|
|
"General",
|
|
"EnableDebugLogging",
|
|
false,
|
|
"Enable detailed debug logging for audio events"
|
|
);
|
|
|
|
EnableVoiceLimitFix = config.Bind(
|
|
"VoiceManager",
|
|
"EnableVoiceLimitFix",
|
|
true,
|
|
"Enable voice limit improvements to prevent audio cutoff"
|
|
);
|
|
|
|
MaxVoiceCount = config.Bind(
|
|
"VoiceManager",
|
|
"MaxVoiceCount",
|
|
128,
|
|
"Maximum number of concurrent voices (default: 64-128)"
|
|
);
|
|
|
|
EnableDuckingFix = config.Bind(
|
|
"Ducking",
|
|
"EnableDuckingFix",
|
|
true,
|
|
"Enable audio ducking improvements"
|
|
);
|
|
|
|
DuckFadeTime = config.Bind(
|
|
"Ducking",
|
|
"DuckFadeTime",
|
|
0.05f,
|
|
"Fade time for audio ducking (seconds)"
|
|
);
|
|
|
|
DuckVolume = config.Bind(
|
|
"Ducking",
|
|
"DuckVolume",
|
|
0.3f,
|
|
"Volume level during ducking (0.0-1.0)"
|
|
);
|
|
|
|
EnableEnemyAudioBoost = config.Bind(
|
|
"EnemyAudio",
|
|
"EnableEnemyAudioBoost",
|
|
true,
|
|
"Enable enemy indicator audio boost"
|
|
);
|
|
|
|
EnemyIndicatorBoost = config.Bind(
|
|
"EnemyAudio",
|
|
"EnemyIndicatorBoost",
|
|
1.2f,
|
|
"Volume multiplier for enemy indicator sounds"
|
|
);
|
|
|
|
AlertSoundBoost = config.Bind(
|
|
"EnemyAudio",
|
|
"AlertSoundBoost",
|
|
1.3f,
|
|
"Volume multiplier for enemy alert sounds"
|
|
);
|
|
|
|
AttackSoundBoost = config.Bind(
|
|
"EnemyAudio",
|
|
"AttackSoundBoost",
|
|
1.15f,
|
|
"Volume multiplier for enemy attack sounds"
|
|
);
|
|
}
|
|
}
|
|
}
|