Mercurial > repos > blastem
changeset 1486:a6881d0d76d0 nuklear_ui
Pause game execution when in the new UI pause menu
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 26 Nov 2017 19:22:09 -0800 |
parents | 369da70ee2c2 |
children | 6a35815cc409 |
files | blastem.c nuklear_ui/blastem_nuklear.c nuklear_ui/blastem_nuklear.h |
diffstat | 3 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/blastem.c Sun Nov 26 18:33:36 2017 -0800 +++ b/blastem.c Sun Nov 26 19:22:09 2017 -0800 @@ -525,6 +525,7 @@ if (use_nuklear) { blastem_nuklear_init(!menu); current_system = game_system; + menu = 0; } #endif @@ -551,10 +552,16 @@ current_system = game_system; menu = 0; current_system->resume_context(current_system); - } else if (!menu && menu_system) { - current_system->arena = set_current_arena(menu_system->arena); - current_system = menu_system; - menu = 1; + } else if (!menu && (menu_system || use_nuklear)) { + if (use_nuklear) { +#ifndef DISABLE_NUKLEAR + ui_idle_loop(); +#endif + } else { + current_system->arena = set_current_arena(menu_system->arena); + current_system = menu_system; + menu = 1; + } current_system->resume_context(current_system); } else { break;
--- a/nuklear_ui/blastem_nuklear.c Sun Nov 26 18:33:36 2017 -0800 +++ b/nuklear_ui/blastem_nuklear.c Sun Nov 26 19:22:09 2017 -0800 @@ -226,7 +226,7 @@ nk_input_begin(context); } -void idle_loop(void) +void ui_idle_loop(void) { const uint32_t MIN_UI_DELAY = 15; static uint32_t last; @@ -268,6 +268,7 @@ context->style.window.background = nk_rgba(0, 0, 0, 128); context->style.window.fixed_background = nk_style_item_color(nk_rgba(0, 0, 0, 128)); current_view = view_pause; + current_system->request_exit(current_system); } static uint8_t active; @@ -307,5 +308,5 @@ render_set_event_handler(handle_event); render_set_gl_context_handlers(context_destroyed, context_created); active = 1; - idle_loop(); + ui_idle_loop(); }
--- a/nuklear_ui/blastem_nuklear.h Sun Nov 26 18:33:36 2017 -0800 +++ b/nuklear_ui/blastem_nuklear.h Sun Nov 26 19:22:09 2017 -0800 @@ -15,5 +15,6 @@ void show_pause_menu(void); uint8_t is_nuklear_active(void); uint8_t is_nuklear_available(void); +void ui_idle_loop(void); #endif //BLASTEM_NUKLEAR_H_