diff options
Diffstat (limited to 'src/libui_sdl/main.cpp')
-rw-r--r-- | src/libui_sdl/main.cpp | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/libui_sdl/main.cpp b/src/libui_sdl/main.cpp index 89ec551..c36ae2d 100644 --- a/src/libui_sdl/main.cpp +++ b/src/libui_sdl/main.cpp @@ -27,9 +27,13 @@ #include "../version.h" #include "../Config.h" +#include "DlgEmuSettings.h" + #include "../NDS.h" #include "../GPU.h" #include "../SPU.h" +#include "../Wifi.h" +#include "../Platform.h" uiWindow* MainWindow; @@ -161,7 +165,7 @@ int EmuThreadFunc(void* burp) fpslimitcount = 0; uiAreaQueueRedrawAll(MainDrawArea); - SDL_Delay(50); + SDL_Delay(100); } } @@ -405,6 +409,31 @@ void OnStop(uiMenuItem* item, uiWindow* window, void* blarg) Stop(); } +void OnOpenEmuSettings(uiMenuItem* item, uiWindow* window, void* blarg) +{ + DlgEmuSettings::Open(); +} + + +void ApplyNewSettings() +{ + if (!RunningSomething) return; + + int prevstatus = EmuRunning; + EmuRunning = 2; + while (EmuStatus != 2); + + GPU3D::SoftRenderer::SetupRenderThread(); + + if (Wifi::MPInited) + { + Platform::MP_DeInit(); + Platform::MP_Init(); + } + + EmuRunning = prevstatus; +} + bool _fileexists(char* name) { @@ -484,6 +513,10 @@ int main(int argc, char** argv) uiMenuItemOnClicked(menuitem, OnStop, NULL); MenuItem_Stop = menuitem; + menu = uiNewMenu("Config"); + menuitem = uiMenuAppendItem(menu, "Emu settings"); + uiMenuItemOnClicked(menuitem, OnOpenEmuSettings, NULL); + MainWindow = uiNewWindow("melonDS " MELONDS_VERSION, 256, 384, 1); uiWindowOnClosing(MainWindow, OnCloseWindow, NULL); |