mirror of
				https://github.com/N64Recomp/N64ModernRuntime.git
				synced 2025-10-30 08:02:29 +00:00 
			
		
		
		
	Add on init callback to GameEntry, fix thread_queue_remove not actually removing the thread (#87)
This commit is contained in:
		
							parent
							
								
									0afeb089a5
								
							
						
					
					
						commit
						a2f201db84
					
				
					 3 changed files with 8 additions and 2 deletions
				
			
		|  | @ -30,9 +30,11 @@ namespace recomp { | |||
|         bool has_compressed_code = false; | ||||
| 
 | ||||
|         gpr entrypoint_address; | ||||
|         void (*entrypoint)(uint8_t* rdram, recomp_context* context); | ||||
|         void (*entrypoint)(uint8_t* rdram, recomp_context* context) = nullptr; | ||||
| 
 | ||||
|         void (*thread_create_callback)(uint8_t* rdram, recomp_context* context); | ||||
|         void (*thread_create_callback)(uint8_t* rdram, recomp_context* context) = nullptr; | ||||
| 
 | ||||
|         void (*on_init_callback)(uint8_t* rdram, recomp_context* context) = nullptr; | ||||
| 
 | ||||
|         std::u8string stored_filename() const; | ||||
|     }; | ||||
|  |  | |||
|  | @ -530,6 +530,9 @@ bool wait_for_game_started(uint8_t* rdram, recomp_context* context) { | |||
|                 const recomp::GameEntry& game_entry = find_it->second; | ||||
| 
 | ||||
|                 init(rdram, context, game_entry.entrypoint_address); | ||||
|                 if (game_entry.on_init_callback) { | ||||
|                     game_entry.on_init_callback(rdram, context); | ||||
|                 } | ||||
| 
 | ||||
|                 uint32_t mod_ram_used = 0; | ||||
|                 if (!game_entry.mod_game_id.empty()) { | ||||
|  |  | |||
|  | @ -47,6 +47,7 @@ bool ultramodern::thread_queue_remove(RDRAM_ARG PTR(PTR(OSThread)) queue_, PTR(O | |||
|     while (cur != NULLPTR) { | ||||
|         PTR(OSThread)* cur_ptr = queue_to_ptr(PASS_RDRAM queue_); | ||||
|         if (*cur_ptr == t_) { | ||||
|             *cur_ptr = TO_PTR(OSThread, *cur_ptr)->next; | ||||
|             return true; | ||||
|         } | ||||
|         cur = TO_PTR(OSThread, *cur_ptr)->next; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Wiseguy
						Wiseguy