mirror of
				https://github.com/NinjaCheetah/WiiPy.git
				synced 2025-10-30 23:26:19 -04:00 
			
		
		
		
	Experimental update to how cIOSes are built
This commit is contained in:
		
							parent
							
								
									2342657e70
								
							
						
					
					
						commit
						55e38caf46
					
				| @ -89,18 +89,27 @@ def build_cios(args): | ||||
|             # Set the content in the title to the newly-patched content, and set the type to normal. | ||||
|             title.set_content(dec_content, content_index, content_type=libWiiPy.title.ContentType.NORMAL) | ||||
| 
 | ||||
|     # Next phase of cIOS building is to add the required extra modules to the end. | ||||
|     # Next phase of cIOS building is to add the required extra modules. | ||||
|     for content in target_base.findall("content"): | ||||
|         target_module = content.get("module") | ||||
|         if target_module is not None: | ||||
|             target_index = int(content.get("tmdmoduleid"), 16) | ||||
|             # The cIOS map supplies a Content ID to use for each additional module. | ||||
|             cid = int(content.get("id")[-2:], 16) | ||||
|             target_path = modules_path.joinpath(target_module + ".app") | ||||
|             if target_path.exists(): | ||||
|                 new_module = open(target_path, "rb").read() | ||||
|             if not target_path.exists(): | ||||
|                 raise Exception(f"A required module \"{target_module}.app\" could not be found!") | ||||
|             # Check where this module belongs. If it's -1, add it to the end. If it's any other value, this module needs | ||||
|             # to go at the index specified. | ||||
|             new_module = target_path.read_bytes() | ||||
|             if target_index == -1: | ||||
|                 title.add_content(new_module, cid, libWiiPy.title.ContentType.NORMAL) | ||||
|             else: | ||||
|                 raise Exception(f"A required module \"{target_module}.app\" could not be found!") | ||||
|                 existing_module = title.get_content_by_index(target_index) | ||||
|                 existing_cid = title.content.content_records[target_index].content_id | ||||
|                 existing_type = title.content.content_records[target_index].content_type | ||||
|                 title.set_content(new_module, target_index, cid, libWiiPy.title.ContentType.NORMAL) | ||||
|                 title.add_content(existing_module, existing_cid, existing_type) | ||||
| 
 | ||||
|     # Last cIOS building step, we need to set the slot and version. | ||||
|     slot = args.slot | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user