@@ -792,38 +792,28 @@ bool recomp::flashram_allowed() {
792792 save_type == SaveType::AllowAll;
793793}
794794
795- void recomp::start (
796- const recomp::Version& version,
797- ultramodern::renderer::WindowHandle window_handle,
798- const recomp::rsp::callbacks_t & rsp_callbacks,
799- const ultramodern::renderer::callbacks_t & renderer_callbacks,
800- const ultramodern::audio_callbacks_t & audio_callbacks,
801- const ultramodern::input::callbacks_t & input_callbacks,
802- const ultramodern::gfx_callbacks_t & gfx_callbacks_,
803- const ultramodern::events::callbacks_t & events_callbacks,
804- const ultramodern::error_handling::callbacks_t & error_handling_callbacks,
805- const ultramodern::threads::callbacks_t & threads_callbacks
806- ) {
807- project_version = version;
795+ void recomp::start (const recomp::Configuration& cfg) {
796+ project_version = cfg.project_version ;
808797 recomp::check_all_stored_roms ();
809798
810- recomp::rsp::set_callbacks (rsp_callbacks);
799+ recomp::rsp::set_callbacks (cfg. rsp_callbacks );
811800
812801 static const ultramodern::rsp::callbacks_t ultramodern_rsp_callbacks {
813802 .init = recomp::rsp::constants_init,
814803 .run_task = recomp::rsp::run_task,
815804 };
816805
817- ultramodern::set_callbacks (ultramodern_rsp_callbacks, renderer_callbacks, audio_callbacks, input_callbacks, gfx_callbacks_, events_callbacks, error_handling_callbacks, threads_callbacks);
806+ 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 );
818807
819- ultramodern::gfx_callbacks_t gfx_callbacks = gfx_callbacks_ ;
808+ ultramodern::gfx_callbacks_t gfx_callbacks = cfg. gfx_callbacks ;
820809
821810 ultramodern::gfx_callbacks_t ::gfx_data_t gfx_data{};
822811
823812 if (gfx_callbacks.create_gfx ) {
824813 gfx_data = gfx_callbacks.create_gfx ();
825814 }
826815
816+ auto window_handle = cfg.window_handle ;
827817 if (window_handle == ultramodern::renderer::WindowHandle{}) {
828818 if (gfx_callbacks.create_window ) {
829819 window_handle = gfx_callbacks.create_window (gfx_data);
@@ -833,6 +823,8 @@ void recomp::start(
833823 }
834824 }
835825
826+ ultramodern::set_message_queue_control (cfg.message_queue_control );
827+
836828 recomp::mods::initialize_mods ();
837829 recomp::mods::scan_mods ();
838830
0 commit comments