refactor(core/audio): quitar const que mentia en 6 mètodes (INCONS-01)
playSound (x2), stopAllSounds, fadeOutMusic, setSoundVolume i setMusicVolume es declaraven const però mutaven l'estat global de Ja::* (channels[], outgoing_music, music_volume, sound_volume[]). El const no protegia res: el compilador no detectava les mutacions perquè anaven a globals, no a membres, i podia induir a error a qui llegia el header. Els callers externs van via Audio* (no Audio const*), així que el canvi és source-compatible. Clang-tidy falla amb readability-make-member-function-const perquè tampoc veu la mutació — és exactament el símptoma que motiva el hallazgo. S'afegeix NOLINT localitzat a cada mètode amb la raó. Quan s'executi COUP-01 (encapsular Ja::* en classe membre) els NOLINT cauran sols perquè la mutació serà visible al compilador. effectiveVolume es queda const — és un càlcul pur sobre els membres. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
6a1ed37242
commit
964ff104ce
3 files changed
+19
-13
No files matched your search
@@ -69,16 +69,16 @@ class Audio {
|
||||
void pauseMusic(); // Pausar reproducción de música
|
||||
void resumeMusic(); // Continua la música pausada
|
||||
void stopMusic(); // Detener completamente la música
|
||||
void fadeOutMusic(int milliseconds) const; // Fundido de salida de la música
|
||||
void fadeOutMusic(int milliseconds); // Fundido de salida de la música (muta globals de Ja)
|
||||
|
||||
// --- Control de sonidos ---
|
||||
void playSound(const std::string& name, Group group = Group::GAME) const; // Reproducir sonido puntual por nombre
|
||||
void playSound(Ja::Sound* sound, Group group = Group::GAME) const; // Reproducir sonido puntual por puntero
|
||||
void stopAllSounds() const; // Detener todos los sonidos
|
||||
void playSound(const std::string& name, Group group = Group::GAME); // Reproducir sonido puntual por nombre (muta globals de Ja)
|
||||
void playSound(Ja::Sound* sound, Group group = Group::GAME); // Reproducir sonido puntual por puntero (muta globals de Ja)
|
||||
void stopAllSounds(); // Detener todos los sonidos (muta globals de Ja)
|
||||
|
||||
// --- Control de volumen (API interna: float 0.0..1.0) ---
|
||||
void setSoundVolume(float volume, Group group = Group::ALL) const; // Ajustar volumen de efectos
|
||||
void setMusicVolume(float volume) const; // Ajustar volumen de música
|
||||
void setSoundVolume(float volume, Group group = Group::ALL); // Ajustar volumen de efectos
|
||||
void setMusicVolume(float volume); // Ajustar volumen de música
|
||||
|
||||
// --- Helpers de conversió per a la capa de presentació ---
|
||||
// UI (menús, notificacions) manega enters 0..100; internament viu float 0..1.
|
||||
|
||||
Reference in new issue
Block a user