Compare commits

...

2 Commits

3 changed files with 27 additions and 15 deletions

View File

@@ -230,15 +230,14 @@ void JA_PlayMusic(JA_Music_t *music, const int loop)
current_music->times = loop;
current_music->stream = SDL_CreateAudioStream(&current_music->spec, &JA_audioSpec);
if (!current_music->stream)
printf("[ERROR] SDL_CreateAudioStream failed: %s\n", SDL_GetError());
if (!SDL_PutAudioStreamData(current_music->stream, current_music->buffer, current_music->length))
printf("[ERROR] SDL_PutAudioStreamData failed!\n");
SDL_SetAudioStreamGain(current_music->stream, JA_musicVolume);
printf("[ERROR] SDL_SetAudioStreamGain failed: %s\n", SDL_GetError());
if (!SDL_SetAudioStreamGain(current_music->stream, JA_musicVolume))
printf("[ERROR] SDL_SetAudioStreamGain failed: %s\n", SDL_GetError());
if (!SDL_BindAudioStream(sdlAudioDevice, current_music->stream))
{
printf("[ERROR] SDL_BindAudioStream failed: %s\n", SDL_GetError());
}
// SDL_ResumeAudioStreamDevice(current_music->stream);
}
void JA_PauseMusic()

View File

@@ -193,10 +193,7 @@ void ServiceMenu::applySettings()
void ServiceMenu::applyVideoSettings()
{
Screen::get()->applySettings();
auto option = getOptionByCaption(Lang::getText("[SERVICE_MENU] WINDOW_SIZE"));
if (option)
option->setHidden(Options::video.fullscreen);
updateMenu(); // El menú debe refrescarse si algo se oculta
setHiddenOptions();
}
void ServiceMenu::applyAudioSettings()
@@ -206,10 +203,7 @@ void ServiceMenu::applyAudioSettings()
void ServiceMenu::applySettingsSettings()
{
auto option = getOptionByCaption(Lang::getText("[SERVICE_MENU] SHUTDOWN"));
if (option)
option->setHidden(!Options::settings.shutdown_enabled);
updateMenu(); // El menú debe refrescarse si algo se oculta
setHiddenOptions();
}
MenuOption *ServiceMenu::getOptionByCaption(const std::string &caption) const
@@ -294,7 +288,7 @@ void ServiceMenu::initializeOptions()
options_.push_back(std::make_unique<FolderOption>(Lang::getText("[SERVICE_MENU] SETTINGS"), SettingsGroup::MAIN, SettingsGroup::SETTINGS));
options_.push_back(std::make_unique<FolderOption>(Lang::getText("[SERVICE_MENU] SYSTEM"), SettingsGroup::MAIN, SettingsGroup::SYSTEM));
// precalculateMenuWidths();
setHiddenOptions();
}
// Sincroniza los valores de las opciones tipo lista
@@ -331,3 +325,21 @@ std::string ServiceMenu::settingsGroupToString(SettingsGroup group) const
return Lang::getText("[SERVICE_MENU] TITLE");
}
}
// Establece el estado de oculto de ciertas opciones
void ServiceMenu::setHiddenOptions()
{
{
auto option = getOptionByCaption(Lang::getText("[SERVICE_MENU] WINDOW_SIZE"));
if (option)
option->setHidden(Options::video.fullscreen);
}
{
auto option = getOptionByCaption(Lang::getText("[SERVICE_MENU] SHUTDOWN"));
if (option)
option->setHidden(!Options::settings.shutdown_enabled);
}
updateMenu(); // El menú debe refrescarse si algo se oculta
}

View File

@@ -95,6 +95,7 @@ private:
void AdjustListValues();
void playMenuSound();
std::string settingsGroupToString(SettingsGroup group) const;
void setHiddenOptions();
// --- Singleton ---
ServiceMenu();