using BepInEx; using BepInEx.Configuration; namespace HomuraHimeAudioMod { public static class ModConfig { public static ConfigEntry MaxVoiceCount { get; set; } public static ConfigEntry DuckFadeTime { get; set; } public static ConfigEntry DuckVolume { get; set; } public static ConfigEntry EnemyIndicatorBoost { get; set; } public static ConfigEntry AlertSoundBoost { get; set; } public static ConfigEntry AttackSoundBoost { get; set; } public static ConfigEntry EnableDebugLogging { get; set; } public static ConfigEntry EnableVoiceLimitFix { get; set; } public static ConfigEntry EnableDuckingFix { get; set; } public static ConfigEntry 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" ); } } }