@@ -729,38 +729,28 @@ bool recomp::flashram_allowed() {
729729 save_type == SaveType::AllowAll;
730730}
731731
732- void recomp::start (
733- const recomp::Version& version,
734- ultramodern::renderer::WindowHandle window_handle,
735- const recomp::rsp::callbacks_t & rsp_callbacks,
736- const ultramodern::renderer::callbacks_t & renderer_callbacks,
737- const ultramodern::audio_callbacks_t & audio_callbacks,
738- const ultramodern::input::callbacks_t & input_callbacks,
739- const ultramodern::gfx_callbacks_t & gfx_callbacks_,
740- const ultramodern::events::callbacks_t & events_callbacks,
741- const ultramodern::error_handling::callbacks_t & error_handling_callbacks,
742- const ultramodern::threads::callbacks_t & threads_callbacks
743- ) {
744- project_version = version;
732+ void recomp::start (const recomp::Configuration& cfg) {
733+ project_version = cfg.project_version ;
745734 recomp::check_all_stored_roms ();
746735
747- recomp::rsp::set_callbacks (rsp_callbacks);
736+ recomp::rsp::set_callbacks (cfg. rsp_callbacks );
748737
749738 static const ultramodern::rsp::callbacks_t ultramodern_rsp_callbacks {
750739 .init = recomp::rsp::constants_init,
751740 .run_task = recomp::rsp::run_task,
752741 };
753742
754- ultramodern::set_callbacks (ultramodern_rsp_callbacks, renderer_callbacks, audio_callbacks, input_callbacks, gfx_callbacks_, events_callbacks, error_handling_callbacks, threads_callbacks);
743+ ultramodern::set_callbacks (ultramodern_rsp_callbacks, cfg. renderer_callbacks , cfg. audio_callbacks , cfg. input_callbacks , cfg. gfx_callbacks , cfg. events_callbacks , cfg. error_handling_callbacks , cfg. threads_callbacks );
755744
756- ultramodern::gfx_callbacks_t gfx_callbacks = gfx_callbacks_ ;
745+ ultramodern::gfx_callbacks_t gfx_callbacks = cfg. gfx_callbacks ;
757746
758747 ultramodern::gfx_callbacks_t ::gfx_data_t gfx_data{};
759748
760749 if (gfx_callbacks.create_gfx ) {
761750 gfx_data = gfx_callbacks.create_gfx ();
762751 }
763752
753+ auto window_handle = cfg.window_handle ;
764754 if (window_handle == ultramodern::renderer::WindowHandle{}) {
765755 if (gfx_callbacks.create_window ) {
766756 window_handle = gfx_callbacks.create_window (gfx_data);
@@ -770,6 +760,8 @@ void recomp::start(
770760 }
771761 }
772762
763+ ultramodern::set_message_queue_control (cfg.message_queue_control );
764+
773765 recomp::mods::initialize_mods ();
774766 recomp::mods::scan_mods ();
775767
0 commit comments