mirror of
https://github.com/N64Recomp/N64ModernRuntime.git
synced 2025-10-30 08:02:29 +00:00
Move gfx callbacks struct to librecomp
This commit is contained in:
parent
e94dc4055b
commit
5960c5625b
5 changed files with 30 additions and 21 deletions
|
|
@ -4,9 +4,11 @@
|
|||
#include <vector>
|
||||
#include <filesystem>
|
||||
|
||||
#include "ultramodern/ultramodern.hpp"
|
||||
|
||||
#include "gfx.hpp"
|
||||
#include "recomp.h"
|
||||
#include "rsp.hpp"
|
||||
#include <ultramodern/ultramodern.hpp>
|
||||
|
||||
namespace recomp {
|
||||
struct GameEntry {
|
||||
|
|
@ -54,7 +56,7 @@ namespace recomp {
|
|||
const ultramodern::renderer::callbacks_t& renderer_callbacks,
|
||||
const ultramodern::audio_callbacks_t& audio_callbacks,
|
||||
const ultramodern::input::callbacks_t& input_callbacks,
|
||||
const ultramodern::gfx_callbacks_t& gfx_callbacks,
|
||||
const recomp::gfx::callbacks_t& gfx_callbacks,
|
||||
const ultramodern::events::callbacks_t& events_callbacks,
|
||||
const ultramodern::error_handling::callbacks_t& error_handling_callbacks,
|
||||
const ultramodern::threads::callbacks_t& threads_callbacks
|
||||
|
|
|
|||
22
librecomp/include/librecomp/gfx.hpp
Normal file
22
librecomp/include/librecomp/gfx.hpp
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef __LIBRECOMP_GFX_HPP__
|
||||
#define __LIBRECOMP_GFX_HPP__
|
||||
|
||||
#include "ultramodern/renderer_context.hpp"
|
||||
|
||||
namespace recomp {
|
||||
namespace gfx {
|
||||
struct callbacks_t {
|
||||
using gfx_data_t = void*;
|
||||
using create_gfx_t = gfx_data_t();
|
||||
using create_window_t = ultramodern::renderer::WindowHandle(gfx_data_t);
|
||||
using update_gfx_t = void(gfx_data_t);
|
||||
|
||||
create_gfx_t* create_gfx;
|
||||
create_window_t* create_window;
|
||||
update_gfx_t* update_gfx;
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -379,7 +379,7 @@ void recomp::start(
|
|||
const ultramodern::renderer::callbacks_t& renderer_callbacks,
|
||||
const ultramodern::audio_callbacks_t& audio_callbacks,
|
||||
const ultramodern::input::callbacks_t& input_callbacks,
|
||||
const ultramodern::gfx_callbacks_t& gfx_callbacks_,
|
||||
const recomp::gfx::callbacks_t& gfx_callbacks_,
|
||||
const ultramodern::events::callbacks_t& events_callbacks,
|
||||
const ultramodern::error_handling::callbacks_t& error_handling_callbacks,
|
||||
const ultramodern::threads::callbacks_t& threads_callbacks
|
||||
|
|
@ -393,11 +393,11 @@ 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, threads_callbacks);
|
||||
ultramodern::set_callbacks(ultramodern_rsp_callbacks, renderer_callbacks, audio_callbacks, input_callbacks, events_callbacks, error_handling_callbacks, threads_callbacks);
|
||||
|
||||
ultramodern::gfx_callbacks_t gfx_callbacks = gfx_callbacks_;
|
||||
recomp::gfx::callbacks_t gfx_callbacks = gfx_callbacks_;
|
||||
|
||||
ultramodern::gfx_callbacks_t::gfx_data_t gfx_data{};
|
||||
recomp::gfx::callbacks_t::gfx_data_t gfx_data{};
|
||||
|
||||
if (gfx_callbacks.create_gfx) {
|
||||
gfx_data = gfx_callbacks.create_gfx();
|
||||
|
|
|
|||
|
|
@ -108,18 +108,6 @@ struct audio_callbacks_t {
|
|||
set_frequency_t* set_frequency;
|
||||
};
|
||||
|
||||
// TODO: Most of the members of this struct are not used by ultramodern. Should we move them to librecomp instead?
|
||||
struct gfx_callbacks_t {
|
||||
using gfx_data_t = void*;
|
||||
using create_gfx_t = gfx_data_t();
|
||||
using create_window_t = renderer::WindowHandle(gfx_data_t);
|
||||
using update_gfx_t = void(gfx_data_t);
|
||||
|
||||
create_gfx_t* create_gfx;
|
||||
create_window_t* create_window;
|
||||
update_gfx_t* update_gfx;
|
||||
};
|
||||
|
||||
bool is_game_started();
|
||||
void quit();
|
||||
void join_event_threads();
|
||||
|
|
@ -142,7 +130,6 @@ void set_callbacks(
|
|||
const renderer::callbacks_t& renderer_callbacks,
|
||||
const audio_callbacks_t& audio_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 threads::callbacks_t& threads_callbacks
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ void ultramodern::set_callbacks(
|
|||
const renderer::callbacks_t& renderer_callbacks,
|
||||
const audio_callbacks_t& audio_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 threads::callbacks_t& threads_callbacks
|
||||
|
|
@ -15,7 +14,6 @@ void ultramodern::set_callbacks(
|
|||
ultramodern::renderer::set_callbacks(renderer_callbacks);
|
||||
ultramodern::set_audio_callbacks(audio_callbacks);
|
||||
ultramodern::input::set_callbacks(input_callbacks);
|
||||
(void)gfx_callbacks; // nothing yet
|
||||
ultramodern::events::set_callbacks(events_callbacks);
|
||||
ultramodern::error_handling::set_callbacks(error_handling_callbacks);
|
||||
ultramodern::threads::set_callbacks(threads_callbacks);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue