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 }