Register threads callbacks

This commit is contained in:
Angie 2024-05-31 21:57:50 -04:00 committed by angie
parent 9a9585d0f9
commit 5a36cabf4b
4 changed files with 13 additions and 6 deletions

View file

@ -56,7 +56,8 @@ namespace recomp {
const ultramodern::input::callbacks_t& input_callbacks,
const ultramodern::gfx_callbacks_t& gfx_callbacks,
const ultramodern::events::callbacks_t& events_callbacks,
const ultramodern::error_handling::callbacks_t& error_handling_callbacks_
const ultramodern::error_handling::callbacks_t& error_handling_callbacks,
const ultramodern::threads::callbacks_t& threads_callbacks
);
void start_game(const std::u8string& game_id);

View file

@ -381,7 +381,8 @@ void recomp::start(
const ultramodern::input::callbacks_t& input_callbacks,
const ultramodern::gfx_callbacks_t& gfx_callbacks_,
const ultramodern::events::callbacks_t& events_callbacks,
const ultramodern::error_handling::callbacks_t& error_handling_callbacks_
const ultramodern::error_handling::callbacks_t& error_handling_callbacks,
const ultramodern::threads::callbacks_t& threads_callbacks
) {
recomp::check_all_stored_roms();
@ -392,7 +393,7 @@ void recomp::start(
.run_task = recomp::rsp::run_task,
};
ultramodern::set_callbacks(ultramodern_rsp_callbacks, renderer_callbacks, audio_callbacks, input_callbacks, gfx_callbacks_, events_callbacks, error_handling_callbacks_);
ultramodern::set_callbacks(ultramodern_rsp_callbacks, renderer_callbacks, audio_callbacks, input_callbacks, gfx_callbacks_, events_callbacks, error_handling_callbacks, threads_callbacks);
ultramodern::gfx_callbacks_t gfx_callbacks = gfx_callbacks_;

View file

@ -9,13 +9,15 @@
#undef MOODYCAMEL_DELETE_FUNCTION
#define MOODYCAMEL_DELETE_FUNCTION = delete
#include "lightweightsemaphore.h"
#include "ultra64.h"
#include "ultramodern/error_handling.hpp"
#include "ultramodern/events.hpp"
#include "ultramodern/input.hpp"
#include "ultramodern/rsp.hpp"
#include "ultramodern/renderer_context.hpp"
#include "ultramodern/rsp.hpp"
#include "ultramodern/threads.hpp"
struct UltraThreadContext {
std::thread host_thread;
@ -144,7 +146,8 @@ void set_callbacks(
const input::callbacks_t& input_callbacks,
const gfx_callbacks_t& gfx_callbacks,
const events::callbacks_t& events_callbacks,
const error_handling::callbacks_t& error_handling_callbacks
const error_handling::callbacks_t& error_handling_callbacks,
const threads::callbacks_t& threads_callbacks
);
} // namespace ultramodern

View file

@ -8,7 +8,8 @@ void ultramodern::set_callbacks(
const input::callbacks_t& input_callbacks,
const gfx_callbacks_t& gfx_callbacks,
const events::callbacks_t& thread_callbacks,
const error_handling::callbacks_t& error_handling_callbacks
const error_handling::callbacks_t& error_handling_callbacks,
const threads::callbacks_t& threads_callbacks
) {
ultramodern::rsp::set_callbacks(rsp_callbacks);
ultramodern::renderer::set_callbacks(renderer_callbacks);
@ -17,6 +18,7 @@ void ultramodern::set_callbacks(
(void)gfx_callbacks; // nothing yet
ultramodern::events::set_callbacks(thread_callbacks);
ultramodern::error_handling::set_callbacks(error_handling_callbacks);
ultramodern::threads::set_callbacks(threads_callbacks);
}
void ultramodern::preinit(RDRAM_ARG ultramodern::renderer::WindowHandle window_handle) {