Millores en la gestió del "mute" en el joc
This commit is contained in:
@@ -241,10 +241,16 @@ void Director::bindInputs()
|
|||||||
void Director::initJailAudio()
|
void Director::initJailAudio()
|
||||||
{
|
{
|
||||||
JA_Init(48000, AUDIO_S16, 2);
|
JA_Init(48000, AUDIO_S16, 2);
|
||||||
JA_EnableMusic(options.audio.music.enabled);
|
if (options.audio.enabled)
|
||||||
JA_EnableSound(options.audio.sound.enabled);
|
{
|
||||||
JA_SetMusicVolume(options.audio.music.volume);
|
JA_SetMusicVolume(to_JA_volume(options.audio.music.volume));
|
||||||
JA_SetSoundVolume(options.audio.sound.volume);
|
JA_SetSoundVolume(to_JA_volume(options.audio.sound.volume));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
JA_SetMusicVolume(0);
|
||||||
|
JA_SetSoundVolume(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Arranca SDL y crea la ventana
|
// Arranca SDL y crea la ventana
|
||||||
|
|||||||
@@ -56,10 +56,18 @@ namespace globalInputs
|
|||||||
// Activa o desactiva el audio
|
// Activa o desactiva el audio
|
||||||
void switchAudio()
|
void switchAudio()
|
||||||
{
|
{
|
||||||
options.audio.sound.enabled = options.audio.music.enabled = !options.audio.music.enabled;
|
options.audio.enabled = !options.audio.enabled;
|
||||||
JA_EnableMusic(options.audio.music.enabled);
|
if (options.audio.enabled)
|
||||||
JA_EnableSound(options.audio.sound.enabled);
|
{
|
||||||
Notifier::get()->showText("Audio " + boolToOnOff(options.audio.music.enabled));
|
JA_SetMusicVolume(to_JA_volume(options.audio.music.volume));
|
||||||
|
JA_SetSoundVolume(to_JA_volume(options.audio.sound.volume));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
JA_SetMusicVolume(0);
|
||||||
|
JA_SetSoundVolume(0);
|
||||||
|
}
|
||||||
|
Notifier::get()->showText("Audio " + boolToOnOff(options.audio.enabled));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba los inputs que se pueden introducir en cualquier sección del juego
|
// Comprueba los inputs que se pueden introducir en cualquier sección del juego
|
||||||
|
|||||||
@@ -32,10 +32,12 @@ void initOptions()
|
|||||||
options.video.shaders = true;
|
options.video.shaders = true;
|
||||||
|
|
||||||
// Opciones de audio
|
// Opciones de audio
|
||||||
|
options.audio.enabled = true;
|
||||||
|
options.audio.volume = 100;
|
||||||
options.audio.music.enabled = true;
|
options.audio.music.enabled = true;
|
||||||
options.audio.music.volume = 128;
|
options.audio.music.volume = 100;
|
||||||
options.audio.sound.enabled = true;
|
options.audio.sound.enabled = true;
|
||||||
options.audio.sound.volume = 64;
|
options.audio.sound.volume = 50;
|
||||||
|
|
||||||
// Opciones de juego
|
// Opciones de juego
|
||||||
options.game.difficulty = GameDifficulty::NORMAL;
|
options.game.difficulty = GameDifficulty::NORMAL;
|
||||||
@@ -178,9 +180,11 @@ bool saveOptionsFile(std::string file_path)
|
|||||||
|
|
||||||
// Opciones de audio
|
// Opciones de audio
|
||||||
file << "\n\n## AUDIO\n";
|
file << "\n\n## AUDIO\n";
|
||||||
file << "## volume [0 .. 128]\n";
|
file << "## volume [0 .. 100]\n";
|
||||||
file << "\n";
|
file << "\n";
|
||||||
|
|
||||||
|
file << "audio.enabled=" + boolToString(options.audio.enabled) + "\n";
|
||||||
|
file << "audio.volume=" + std::to_string(options.audio.volume) + "\n";
|
||||||
file << "audio.music.enabled=" + boolToString(options.audio.music.enabled) + "\n";
|
file << "audio.music.enabled=" + boolToString(options.audio.music.enabled) + "\n";
|
||||||
file << "audio.music.volume=" + std::to_string(options.audio.music.volume) + "\n";
|
file << "audio.music.volume=" + std::to_string(options.audio.music.volume) + "\n";
|
||||||
file << "audio.sound.enabled=" + boolToString(options.audio.sound.enabled) + "\n";
|
file << "audio.sound.enabled=" + boolToString(options.audio.sound.enabled) + "\n";
|
||||||
@@ -269,6 +273,15 @@ bool setOptions(const std::string &var, const std::string &value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Opciones de audio
|
// Opciones de audio
|
||||||
|
else if (var == "audio.enabled")
|
||||||
|
{
|
||||||
|
options.audio.enabled = stringToBool(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (var == "audio.volume")
|
||||||
|
{
|
||||||
|
options.audio.volume = std::stoi(value);
|
||||||
|
}
|
||||||
else if (var == "audio.music.enabled")
|
else if (var == "audio.music.enabled")
|
||||||
{
|
{
|
||||||
options.audio.music.enabled = stringToBool(value);
|
options.audio.music.enabled = stringToBool(value);
|
||||||
@@ -387,4 +400,11 @@ bool setOptions(const std::string &var, const std::string &value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convierte valores de 0 a 100 en valores de 0 a 128
|
||||||
|
int to_JA_volume(int vol)
|
||||||
|
{
|
||||||
|
vol = vol * 1.28f;
|
||||||
|
return std::clamp(vol, 0, 128);
|
||||||
}
|
}
|
||||||
@@ -57,6 +57,8 @@ struct OptionsAudio
|
|||||||
{
|
{
|
||||||
OptionsMusic music; // Opciones para la música
|
OptionsMusic music; // Opciones para la música
|
||||||
OptionsSound sound; // Opciones para los efectos de sonido
|
OptionsSound sound; // Opciones para los efectos de sonido
|
||||||
|
bool enabled; // Indica si el audio está activo o no
|
||||||
|
int volume; // Volumen al que suenan el audio
|
||||||
};
|
};
|
||||||
|
|
||||||
// Estructura para las opciones del juego
|
// Estructura para las opciones del juego
|
||||||
@@ -96,4 +98,7 @@ extern Options options;
|
|||||||
bool loadOptionsFile(std::string file_path);
|
bool loadOptionsFile(std::string file_path);
|
||||||
|
|
||||||
// Guarda el fichero de configuración
|
// Guarda el fichero de configuración
|
||||||
bool saveOptionsFile(std::string file_path);
|
bool saveOptionsFile(std::string file_path);
|
||||||
|
|
||||||
|
// Convierte valores de 0 a 100 en valores de 0 a 128
|
||||||
|
int to_JA_volume(int vol);
|
||||||
Reference in New Issue
Block a user