Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion UnleashedRecomp/apu/audio.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
void XAudioInitializeSystem();
void XAudioRegisterClient(PPCFunc* callback, uint32_t param);
void XAudioSubmitFrame(void* samples);
void XAudioConfigValueChangedCallback(class IConfigDef* configDef);

uint32_t XAudioRegisterRenderDriverClient(be<uint32_t>* callback, be<uint32_t>* driver);
uint32_t XAudioUnregisterRenderDriverClient(uint32_t driver);
Expand Down
15 changes: 0 additions & 15 deletions UnleashedRecomp/apu/driver/sdl2_driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -150,18 +150,3 @@ void XAudioSubmitFrame(void* samples)
SDL_QueueAudio(g_audioDevice, &audioFrames, sizeof(audioFrames));
}
}

void XAudioConfigValueChangedCallback(IConfigDef* configDef)
{
if (configDef == &Config::ChannelConfiguration)
{
if (g_audioThread->joinable())
{
g_audioThreadShouldExit = true;
g_audioThread->join();
}

CreateAudioDevice();
CreateAudioThread();
}
}
9 changes: 4 additions & 5 deletions UnleashedRecomp/ui/options_menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ static bool g_isEnterKeyBuffered = false;
static bool g_canReset = false;
static bool g_isLanguageOptionChanged = false;
static bool g_titleAnimBegin = true;
static EChannelConfiguration g_currentChannelConfig;

static double g_appearTime = 0.0;

Expand Down Expand Up @@ -802,7 +803,6 @@ static void DrawConfigOption(int32_t rowIndex, float yOffset, ConfigDef<T>* conf
config->Callback(config);

VideoConfigValueChangedCallback(config);
XAudioConfigValueChangedCallback(config);

Game_PlaySound("sys_worldmap_finaldecide");
}
Expand Down Expand Up @@ -835,7 +835,6 @@ static void DrawConfigOption(int32_t rowIndex, float yOffset, ConfigDef<T>* conf
if (config->Value != s_oldValue)
{
VideoConfigValueChangedCallback(config);
XAudioConfigValueChangedCallback(config);

if (config->ApplyCallback)
config->ApplyCallback(config);
Expand Down Expand Up @@ -864,7 +863,6 @@ static void DrawConfigOption(int32_t rowIndex, float yOffset, ConfigDef<T>* conf
config->MakeDefault();

VideoConfigValueChangedCallback(config);
XAudioConfigValueChangedCallback(config);

if (config->Callback)
config->Callback(config);
Expand Down Expand Up @@ -1245,7 +1243,7 @@ static void DrawConfigOptions()
DrawConfigOption(rowCount++, yOffset, &Config::MasterVolume, true);
DrawConfigOption(rowCount++, yOffset, &Config::MusicVolume, true);
DrawConfigOption(rowCount++, yOffset, &Config::EffectsVolume, true);
DrawConfigOption(rowCount++, yOffset, &Config::ChannelConfiguration, true);
DrawConfigOption(rowCount++, yOffset, &Config::ChannelConfiguration, !OptionsMenu::s_isPause, cmnReason);
DrawConfigOption(rowCount++, yOffset, &Config::MusicAttenuation, AudioPatches::CanAttenuate(), &Localise("Options_Desc_OSNotSupported"));
DrawConfigOption(rowCount++, yOffset, &Config::BattleTheme, true);
break;
Expand Down Expand Up @@ -1786,7 +1784,7 @@ void OptionsMenu::Draw()
DrawFadeTransition();
}

s_isRestartRequired = Config::Language != App::s_language;
s_isRestartRequired = Config::Language != App::s_language || Config::ChannelConfiguration != g_currentChannelConfig;
}

void OptionsMenu::Open(bool isPause, SWA::EMenuType pauseMenuType)
Expand All @@ -1802,6 +1800,7 @@ void OptionsMenu::Open(bool isPause, SWA::EMenuType pauseMenuType)
g_categoryAnimMax = { 0.0f, 0.0f };
g_selectedItem = nullptr;
g_titleAnimBegin = true;
g_currentChannelConfig = Config::ChannelConfiguration;

/* Store button state so we can track it later
and prevent the first item being selected. */
Expand Down