Phase 4: BepInEx plugin complete
- 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
This commit is contained in:
92
src/HomuraHimeAudioMod/ModConfig.cs
Normal file
92
src/HomuraHimeAudioMod/ModConfig.cs
Normal file
@@ -0,0 +1,92 @@
|
||||
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"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user