Mercurial > repos > blastem
comparison blastem.c @ 1980:81df9aa2de9b
Less hacky run on audio thread mode
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 09 May 2020 23:25:51 -0700 |
parents | 3701517d852c |
children | a7b753e260a2 0f54a898db03 |
comparison
equal
deleted
inserted
replaced
1979:06c25babe464 | 1980:81df9aa2de9b |
---|---|
325 if (current_system) { | 325 if (current_system) { |
326 if (current_system->next_rom) { | 326 if (current_system->next_rom) { |
327 free(current_system->next_rom); | 327 free(current_system->next_rom); |
328 } | 328 } |
329 current_system->next_rom = strdup(filename); | 329 current_system->next_rom = strdup(filename); |
330 current_system->request_exit(current_system); | 330 system_request_exit(current_system, 1); |
331 if (menu_system && menu_system->type == SYSTEM_GENESIS) { | 331 if (menu_system && menu_system->type == SYSTEM_GENESIS) { |
332 genesis_context *gen = (genesis_context *)menu_system; | 332 genesis_context *gen = (genesis_context *)menu_system; |
333 if (gen->extra) { | 333 if (gen->extra) { |
334 menu_context *menu = gen->extra; | 334 menu_context *menu = gen->extra; |
335 menu->external_game_load = 1; | 335 menu->external_game_load = 1; |
366 int num_parts = parts[0] ? 5 : 3; | 366 int num_parts = parts[0] ? 5 : 3; |
367 if (!parts[4]) { | 367 if (!parts[4]) { |
368 num_parts--; | 368 num_parts--; |
369 } | 369 } |
370 current_system->next_rom = alloc_concat_m(num_parts, start); | 370 current_system->next_rom = alloc_concat_m(num_parts, start); |
371 current_system->request_exit(current_system); | 371 system_request_exit(current_system, 1); |
372 } | 372 } |
373 | 373 |
374 void lockon_media(char *lock_on_path) | 374 void lockon_media(char *lock_on_path) |
375 { | 375 { |
376 reload_media(); | 376 reload_media(); |
747 menu = 0; | 747 menu = 0; |
748 current_system = game_system; | 748 current_system = game_system; |
749 current_system->debugger_type = dtype; | 749 current_system->debugger_type = dtype; |
750 current_system->enter_debugger = start_in_debugger && menu == debug_target; | 750 current_system->enter_debugger = start_in_debugger && menu == debug_target; |
751 current_system->start_context(current_system, statefile); | 751 current_system->start_context(current_system, statefile); |
752 render_video_loop(); | |
752 } else if (menu && game_system) { | 753 } else if (menu && game_system) { |
753 current_system->arena = set_current_arena(game_system->arena); | 754 current_system->arena = set_current_arena(game_system->arena); |
754 current_system = game_system; | 755 current_system = game_system; |
755 menu = 0; | 756 menu = 0; |
756 current_system->resume_context(current_system); | 757 current_system->resume_context(current_system); |
764 current_system = menu_system; | 765 current_system = menu_system; |
765 menu = 1; | 766 menu = 1; |
766 } | 767 } |
767 if (!current_system->next_rom) { | 768 if (!current_system->next_rom) { |
768 current_system->resume_context(current_system); | 769 current_system->resume_context(current_system); |
770 render_video_loop(); | |
769 } | 771 } |
770 } else { | 772 } else { |
771 break; | 773 break; |
772 } | 774 } |
773 } | 775 } |