mirror of
				https://github.com/chev2/botw-toolset.git
				synced 2025-10-30 08:12:17 +00:00 
			
		
		
		
	Change Yaz0 method ReadFile to FromBytes
This commit is contained in:
		
							parent
							
								
									f19f94f459
								
							
						
					
					
						commit
						7aa85c437b
					
				
					 1 changed files with 16 additions and 23 deletions
				
			
		|  | @ -32,35 +32,28 @@ namespace BOTWToolset.IO.Yaz0 | |||
|         /// </summary> | ||||
|         /// <param name="file">The file (full path) to read.</param> | ||||
|         /// <returns><see cref="Yaz0"/> containing the file's data.</returns> | ||||
|         public static Yaz0 ReadFile(string file) | ||||
|         public static Yaz0 FromBytes(byte[] bytes) | ||||
|         { | ||||
|             if (File.Exists(file)) | ||||
|             Yaz0 y = new Yaz0(); | ||||
| 
 | ||||
|             // Use big-endian | ||||
|             using (var r = new BinaryReaderBig(new MemoryStream(bytes))) | ||||
|             { | ||||
|                 Yaz0 y = new Yaz0(); | ||||
|                 y.Magic = new string(r.ReadChars(4)); | ||||
|                 if (y.Magic != "Yaz0") | ||||
|                     throw new InvalidMagicException("This file is not Yaz0-encoded."); | ||||
| 
 | ||||
|                 // Use big-endian | ||||
|                 using (var r = new BinaryReaderBig(File.Open(file, FileMode.Open))) | ||||
|                 { | ||||
|                     y.Magic = new string(r.ReadChars(4)); | ||||
|                     if (y.Magic != "Yaz0") | ||||
|                         throw new InvalidMagicException("This file is not Yaz0-encoded."); | ||||
|                 y.UncompressedDataSize = r.ReadUInt32(); | ||||
|                 y.DataAlignment = r.ReadUInt32(); | ||||
| 
 | ||||
|                     y.UncompressedDataSize = r.ReadUInt32(); | ||||
|                     y.DataAlignment = r.ReadUInt32(); | ||||
|                 // Seek back to beginning of file to capture all bytes | ||||
|                 r.BaseStream.Seek(0, SeekOrigin.Begin); | ||||
| 
 | ||||
|                     // Seek back to beginning of file to capture all bytes | ||||
|                     r.BaseStream.Seek(0, SeekOrigin.Begin); | ||||
| 
 | ||||
|                     // Capture all bytes | ||||
|                     y.Bytes = r.ReadBytes((int)r.BaseStream.Length); | ||||
|                 } | ||||
| 
 | ||||
|                 return y; | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 throw new FileNotFoundException("Cannot find Yaz0 file to read."); | ||||
|                 // Capture all bytes | ||||
|                 y.Bytes = r.ReadBytes((int)r.BaseStream.Length); | ||||
|             } | ||||
| 
 | ||||
|             return y; | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Chev
						Chev