qa001 Posted July 29, 2014 Share Posted July 29, 2014 Try using DotNetZip library, this is the way I'm reading and it always worked.// Read the file headerusing (var reader = new BinaryReader(fileStream)){ saveData.FileHeader.Magic = reader.ReadInt32(); saveData.FileHeader._padd1 = reader.ReadChar(); saveData.FileHeader._padd2 = reader.ReadChar(); saveData.FileHeader._Unknown = reader.ReadInt32(); saveData.FileHeader.Encoded = reader.ReadChar(); using (var sreader = new StreamReader(fileStream)) remainingData = sreader.ReadToEnd();}if (saveData.FileHeader.Encoded == 'D'){ // We need to do base64 deconvert first byte[] data = StringConvert.FromBase64ToBytes(remainingData); // Create a new stream var memStream = new MemoryStream(data); // Read the save header using (var reader = new BinaryReader(memStream)) { saveData.SaveHeader.Version = reader.ReadInt32(); saveData.SaveHeader.HeaderSize = reader.ReadInt32(); saveData.SaveHeader.UncompressedSize = reader.ReadInt32(); saveData.SaveHeader.CompressedSize = reader.ReadInt32(); // Decompress the content var zlibstream = new ZlibStream(memStream, CompressionMode.Decompress); using (var sreader = new StreamReader(zlibstream)) remainingData = sreader.ReadToEnd(); }}// By here, remainingData contains the actual save file dataPS. FromBase64ToBytes is just a wrapper over System.Convert.FromBase64String Thanks! That works! Link to comment https://forums.kleientertainment.com/forums/topic/28369-reading-save-files/page/2/#findComment-517568 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now