fix(core/audio): toggle* i enable[Sound|Music] reapliquen volum (PATCH-01)

Abans, toggleEnabled/toggleSound/toggleMusic i les variants sense bool
només flipaven el flag intern; els canals actius no notaven el canvi
fins a la pròxima crida explícita a setSoundVolume/setMusicVolume —
silenciós i fàcil de perdre.

Ara:
  - toggleEnabled passa per enable(bool), que ja reaplicava els volums.
  - enableSound(bool) i enableMusic(bool) es mouen a audio.cpp i
    reapliquen el volum gated cap a Ja::*.
  - Les variants enableSound()/disableSound()/enableMusic()/disableMusic()
    i els toggles passen per aquestes dues funcions, així que qualsevol
    camí d'activació produeix el mateix efecte sobre l'estat sonor.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
JailDesignerandClaude Opus 4.7 committed 2026-04-20 11:57:10 +02:00
1 parent 92f38bc51c
commit a6cd12a944
3 files changed
+27 -13

No files matched your search

+14
View File
@@ -207,6 +207,20 @@ void Audio::enable(bool value) {
setMusicVolume(enabled_ ? config_.music_volume : MIN_VOLUME);
}
// Estableix l'estat dels sons i reaplica el volum perquè els canals actius
// responguin a l'instant (evita que el toggle només surti efecte al pròxim
// setSoundVolume explícit).
void Audio::enableSound(bool value) {
sound_enabled_ = value;
setSoundVolume(config_.sound_volume);
}
// Estableix l'estat de la música i reaplica el volum per la mateixa raó.
void Audio::enableMusic(bool value) {
music_enabled_ = value;
setMusicVolume(config_.music_volume);
}
// Inicialitza SDL Audio
void Audio::initSDLAudio() {
if (!SDL_Init(SDL_INIT_AUDIO)) {