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 <vector> | ||||||
| #include <filesystem> | #include <filesystem> | ||||||
| 
 | 
 | ||||||
|  | #include "ultramodern/ultramodern.hpp" | ||||||
|  | 
 | ||||||
|  | #include "gfx.hpp" | ||||||
| #include "recomp.h" | #include "recomp.h" | ||||||
| #include "rsp.hpp" | #include "rsp.hpp" | ||||||
| #include <ultramodern/ultramodern.hpp> |  | ||||||
| 
 | 
 | ||||||
| namespace recomp { | namespace recomp { | ||||||
|     struct GameEntry { |     struct GameEntry { | ||||||
|  | @ -54,7 +56,7 @@ namespace recomp { | ||||||
|         const ultramodern::renderer::callbacks_t& renderer_callbacks, |         const ultramodern::renderer::callbacks_t& renderer_callbacks, | ||||||
|         const ultramodern::audio_callbacks_t& audio_callbacks, |         const ultramodern::audio_callbacks_t& audio_callbacks, | ||||||
|         const ultramodern::input::callbacks_t& input_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::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 |         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::renderer::callbacks_t& renderer_callbacks, | ||||||
|     const ultramodern::audio_callbacks_t& audio_callbacks, |     const ultramodern::audio_callbacks_t& audio_callbacks, | ||||||
|     const ultramodern::input::callbacks_t& input_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::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 |     const ultramodern::threads::callbacks_t& threads_callbacks | ||||||
|  | @ -393,11 +393,11 @@ void recomp::start( | ||||||
|         .run_task = recomp::rsp::run_task, |         .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) { |     if (gfx_callbacks.create_gfx) { | ||||||
|         gfx_data = gfx_callbacks.create_gfx(); |         gfx_data = gfx_callbacks.create_gfx(); | ||||||
|  |  | ||||||
|  | @ -108,18 +108,6 @@ struct audio_callbacks_t { | ||||||
|     set_frequency_t* set_frequency; |     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(); | bool is_game_started(); | ||||||
| void quit(); | void quit(); | ||||||
| void join_event_threads(); | void join_event_threads(); | ||||||
|  | @ -142,7 +130,6 @@ void set_callbacks( | ||||||
|     const renderer::callbacks_t& renderer_callbacks, |     const renderer::callbacks_t& renderer_callbacks, | ||||||
|     const audio_callbacks_t& audio_callbacks, |     const audio_callbacks_t& audio_callbacks, | ||||||
|     const input::callbacks_t& input_callbacks, |     const input::callbacks_t& input_callbacks, | ||||||
|     const gfx_callbacks_t& gfx_callbacks, |  | ||||||
|     const events::callbacks_t& events_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 |     const threads::callbacks_t& threads_callbacks | ||||||
|  |  | ||||||
|  | @ -6,7 +6,6 @@ void ultramodern::set_callbacks( | ||||||
|     const renderer::callbacks_t& renderer_callbacks, |     const renderer::callbacks_t& renderer_callbacks, | ||||||
|     const audio_callbacks_t& audio_callbacks, |     const audio_callbacks_t& audio_callbacks, | ||||||
|     const input::callbacks_t& input_callbacks, |     const input::callbacks_t& input_callbacks, | ||||||
|     const gfx_callbacks_t& gfx_callbacks, |  | ||||||
|     const events::callbacks_t& events_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 |     const threads::callbacks_t& threads_callbacks | ||||||
|  | @ -15,7 +14,6 @@ void ultramodern::set_callbacks( | ||||||
|     ultramodern::renderer::set_callbacks(renderer_callbacks); |     ultramodern::renderer::set_callbacks(renderer_callbacks); | ||||||
|     ultramodern::set_audio_callbacks(audio_callbacks); |     ultramodern::set_audio_callbacks(audio_callbacks); | ||||||
|     ultramodern::input::set_callbacks(input_callbacks); |     ultramodern::input::set_callbacks(input_callbacks); | ||||||
|     (void)gfx_callbacks; // nothing yet
 |  | ||||||
|     ultramodern::events::set_callbacks(events_callbacks); |     ultramodern::events::set_callbacks(events_callbacks); | ||||||
|     ultramodern::error_handling::set_callbacks(error_handling_callbacks); |     ultramodern::error_handling::set_callbacks(error_handling_callbacks); | ||||||
|     ultramodern::threads::set_callbacks(threads_callbacks); |     ultramodern::threads::set_callbacks(threads_callbacks); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Angie
						Angie