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
	
	 Angie
						Angie