diff options
author | StapleButter <thetotalworm@gmail.com> | 2017-09-21 04:08:03 +0200 |
---|---|---|
committer | StapleButter <thetotalworm@gmail.com> | 2017-09-21 04:08:03 +0200 |
commit | 48cf9eb80552798f22986c60d9c66c5b74e46aab (patch) | |
tree | 6a632d6618663e4984902966aeb1aafaa7bb9f39 /src | |
parent | 495d0ba12d140fc205fbfbe491b6ddd8d6dbe891 (diff) |
make it a menu option while we're at it
Diffstat (limited to 'src')
-rw-r--r-- | src/GPU.cpp | 5 | ||||
-rw-r--r-- | src/GPU.h | 1 | ||||
-rw-r--r-- | src/NDS.cpp | 1 | ||||
-rw-r--r-- | src/libui_sdl/main.cpp | 13 |
4 files changed, 20 insertions, 0 deletions
diff --git a/src/GPU.cpp b/src/GPU.cpp index af8c5d8..8ac3e74 100644 --- a/src/GPU.cpp +++ b/src/GPU.cpp @@ -151,6 +151,11 @@ void Reset() GPU2D_B->SetFramebuffer(&Framebuffer[256*0]); } +void Stop() +{ + memset(Framebuffer, 0, 256*192*2*4); +} + // VRAM mapping notes // @@ -70,6 +70,7 @@ extern GPU2D* GPU2D_B; bool Init(); void DeInit(); void Reset(); +void Stop(); void MapVRAM_AB(u32 bank, u8 cnt); void MapVRAM_CD(u32 bank, u8 cnt); diff --git a/src/NDS.cpp b/src/NDS.cpp index 9b096b8..bee3a8d 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -347,6 +347,7 @@ void Stop() { printf("Stopping: shutdown\n"); Platform::StopEmu(); + GPU::Stop(); SPU::Stop(); } diff --git a/src/libui_sdl/main.cpp b/src/libui_sdl/main.cpp index 1068f92..c61cebe 100644 --- a/src/libui_sdl/main.cpp +++ b/src/libui_sdl/main.cpp @@ -37,6 +37,7 @@ uiArea* MainDrawArea; uiMenuItem* MenuItem_Pause; uiMenuItem* MenuItem_Reset; +uiMenuItem* MenuItem_Stop; SDL_Thread* EmuThread; int EmuRunning; @@ -261,6 +262,7 @@ void Run() uiMenuItemEnable(MenuItem_Pause); uiMenuItemEnable(MenuItem_Reset); + uiMenuItemEnable(MenuItem_Stop); uiMenuItemSetChecked(MenuItem_Pause, 0); } @@ -271,6 +273,7 @@ void Stop() uiMenuItemDisable(MenuItem_Pause); uiMenuItemDisable(MenuItem_Reset); + uiMenuItemDisable(MenuItem_Stop); uiMenuItemSetChecked(MenuItem_Pause, 0); memset(ScreenBuffer, 256*384*4, 0); @@ -355,6 +358,13 @@ void OnReset(uiMenuItem* item, uiWindow* window, void* blarg) Run(); } +void OnStop(uiMenuItem* item, uiWindow* window, void* blarg) +{ + if (!RunningSomething) return; + + Stop(); +} + int main(int argc, char** argv) { @@ -404,6 +414,9 @@ int main(int argc, char** argv) menuitem = uiMenuAppendItem(menu, "Reset"); uiMenuItemOnClicked(menuitem, OnReset, NULL); MenuItem_Reset = menuitem; + menuitem = uiMenuAppendItem(menu, "Stop"); + uiMenuItemOnClicked(menuitem, OnStop, NULL); + MenuItem_Stop = menuitem; MainWindow = uiNewWindow("melonDS " MELONDS_VERSION, 256, 384, 1); uiWindowOnClosing(MainWindow, OnCloseWindow, NULL); |