Implement immediate settings application and fix escape menu behavior

Settings Changes:
- All settings now apply immediately without Apply button
- Each slider/checkbox instantly updates the game state and saves
- Escape key closes settings window if open (no longer shows escape menu behind it)
- Restore Defaults buttons now also apply settings immediately

Audio Changes:
- Increased NPC voice volume from 0.6 to 1.0 (60% to 100% base volume)
- Helper lambda in Audio tab for efficient volume application
- Master volume multiplier applied to all audio systems in real-time

UX Improvements:
- Removed redundant Apply button
- Settings save automatically on every change
- More intuitive settings flow - see changes instantly
- Cleaner escape key handling priority
This commit is contained in:
Kelsi 2026-02-09 17:12:35 -08:00
parent 9741c8ee7c
commit 016cc01c68
2 changed files with 181 additions and 120 deletions

View file

@ -306,7 +306,7 @@ void NpcVoiceManager::playSound(uint64_t npcGuid, VoiceType voiceType, SoundCate
bool success = AudioEngine::instance().playSound3D(
sample.data,
position,
0.6f * volumeScale_,
1.0f * volumeScale_,
pitchDist(rng_),
60.0f
);