public static WorldFileData FromInvalidWorld(string path, bool cloudSave) { WorldFileData worldFileData = new WorldFileData(path); worldFileData.IsExpertMode = false; worldFileData.Metadata = FileMetadata.FromCurrentSettings(FileType.World); worldFileData.SetWorldSize(1, 1); worldFileData.HasCorruption = true; worldFileData.IsHardMode = false; worldFileData.IsValid = false; worldFileData.Name = FileUtilities.GetFileName(path, false); worldFileData.CreationTime = cloudSave ? DateTime.Now : File.GetCreationTime(path); return(worldFileData); }
public static WorldFileData FromInvalidWorld(string path, bool cloudSave) { WorldFileData worldFileData = new WorldFileData(path, cloudSave); worldFileData.GameMode = 0; worldFileData.SetSeedToEmpty(); worldFileData.WorldGeneratorVersion = 0UL; worldFileData.Metadata = FileMetadata.FromCurrentSettings(FileType.World); worldFileData.SetWorldSize(1, 1); worldFileData.HasCorruption = true; worldFileData.IsHardMode = false; worldFileData.IsValid = false; worldFileData.Name = FileUtilities.GetFileName(path, false); worldFileData.UniqueId = Guid.Empty; worldFileData.CreationTime = cloudSave ? DateTime.Now : File.GetCreationTime(path); return(worldFileData); }
public static WorldFileData FromInvalidWorld(string path, bool cloudSave) { WorldFileData worldFileData = new WorldFileData(path, cloudSave); worldFileData.IsExpertMode = false; worldFileData.Metadata = FileMetadata.FromCurrentSettings(FileType.World); worldFileData.SetWorldSize(1, 1); worldFileData.HasCorruption = true; worldFileData.IsHardMode = false; worldFileData.IsValid = false; worldFileData.Name = FileUtilities.GetFileName(path, false); if (!cloudSave) { worldFileData.CreationTime = File.GetCreationTime(path); } else { worldFileData.CreationTime = DateTime.Now; } return worldFileData; }
public static WorldFileData GetAllMetadata(string file, bool cloudSave) { if (file == null || (cloudSave && SocialAPI.Cloud == null)) { return null; } WorldFileData worldFileData = new WorldFileData(file, cloudSave); if (!FileUtilities.Exists(file, cloudSave)) { worldFileData.CreationTime = DateTime.Now; worldFileData.Metadata = FileMetadata.FromCurrentSettings(FileType.World); return worldFileData; } try { Stream stream; if (cloudSave) { stream = new MemoryStream(SocialAPI.Cloud.Read(file)); } else { stream = new FileStream(file, FileMode.Open); } using (stream) { using (BinaryReader binaryReader = new BinaryReader(stream)) { int num = binaryReader.ReadInt32(); if (num >= 135) { worldFileData.Metadata = FileMetadata.Read(binaryReader, FileType.World); } else { worldFileData.Metadata = FileMetadata.FromCurrentSettings(FileType.World); } if (num <= Main.curRelease) { binaryReader.ReadInt16(); stream.Position = (long)binaryReader.ReadInt32(); worldFileData.Name = binaryReader.ReadString(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); int y = binaryReader.ReadInt32(); int x = binaryReader.ReadInt32(); worldFileData.SetWorldSize(x, y); worldFileData.IsExpertMode = (num >= 112 && binaryReader.ReadBoolean()); if (num >= 141) { worldFileData.CreationTime = DateTime.FromBinary(binaryReader.ReadInt64()); } else if (!cloudSave) { worldFileData.CreationTime = File.GetCreationTime(file); } else { worldFileData.CreationTime = DateTime.Now; } binaryReader.ReadByte(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadDouble(); binaryReader.ReadDouble(); binaryReader.ReadDouble(); binaryReader.ReadBoolean(); binaryReader.ReadInt32(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); worldFileData.HasCrimson = binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); if (num >= 118) { binaryReader.ReadBoolean(); } binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadByte(); binaryReader.ReadInt32(); worldFileData.IsHardMode = binaryReader.ReadBoolean(); return worldFileData; } } } } catch (Exception) { } return null; }
public static WorldFileData GetAllMetadata(string file, bool cloudSave) { Stream memoryStream; if (file == null || cloudSave && SocialAPI.Cloud == null) { return null; } try { WorldFileData worldFileDatum = new WorldFileData(file, cloudSave); if (cloudSave) { memoryStream = new MemoryStream(SocialAPI.Cloud.Read(file)); } else { memoryStream = new FileStream(file, FileMode.Open); } using (Stream stream = memoryStream) { using (BinaryReader binaryReader = new BinaryReader(stream)) { int num = binaryReader.ReadInt32(); if (num < 135) { worldFileDatum.Metadata = FileMetadata.FromCurrentSettings(FileType.World); } else { worldFileDatum.Metadata = FileMetadata.Read(binaryReader, FileType.World); } if (num <= Main.curRelease) { binaryReader.ReadInt16(); stream.Position = (long)binaryReader.ReadInt32(); worldFileDatum.Name = binaryReader.ReadString(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); int num1 = binaryReader.ReadInt32(); worldFileDatum.SetWorldSize(binaryReader.ReadInt32(), num1); worldFileDatum.IsExpertMode = (num < 112 ? false : binaryReader.ReadBoolean()); if (num >= 141) { worldFileDatum.CreationTime = DateTime.FromBinary(binaryReader.ReadInt64()); } else if (cloudSave) { worldFileDatum.CreationTime = DateTime.Now; } else { worldFileDatum.CreationTime = File.GetCreationTime(file); } binaryReader.ReadByte(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadDouble(); binaryReader.ReadDouble(); binaryReader.ReadDouble(); binaryReader.ReadBoolean(); binaryReader.ReadInt32(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadInt32(); binaryReader.ReadInt32(); worldFileDatum.HasCrimson = binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); if (num >= 118) { binaryReader.ReadBoolean(); } binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadBoolean(); binaryReader.ReadByte(); binaryReader.ReadInt32(); worldFileDatum.IsHardMode = binaryReader.ReadBoolean(); return worldFileDatum; } } } } catch (Exception ex) { Console.WriteLine("Exception during world metadata load."); Console.WriteLine("If you are using -autocreate, it is safe to ignore this."); #if DEBUG Console.WriteLine(ex); System.Diagnostics.Debugger.Break(); #endif } return new WorldFileData(); }
public static WorldFileData GetAllMetadata(string file) { if (file != null) { WorldFileData data = new WorldFileData(file); if (!FileUtilities.Exists(file)) { data.CreationTime = DateTime.Now; data.Metadata = FileMetadata.FromCurrentSettings(FileType.World); return data; } try { using (Stream stream = new FileStream(file, FileMode.Open)) { using (BinaryReader reader = new BinaryReader(stream)) { int num = reader.ReadInt32(); if (num >= 0x87) data.Metadata = FileMetadata.Read(reader, FileType.World); else data.Metadata = FileMetadata.FromCurrentSettings(FileType.World); if (num <= Main.curRelease) { reader.ReadInt16(); stream.Position = reader.ReadInt32(); data.Name = reader.ReadString(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); int y = reader.ReadInt32(); int x = reader.ReadInt32(); data.SetWorldSize(x, y); data.IsExpertMode = (num >= 0x70) && reader.ReadBoolean(); if (num >= 0x8d) data.CreationTime = DateTime.FromBinary(reader.ReadInt64()); else data.CreationTime = DateTime.Now; data.CreationTime = File.GetCreationTime(file); reader.ReadByte(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); reader.ReadDouble(); reader.ReadDouble(); reader.ReadDouble(); reader.ReadBoolean(); reader.ReadInt32(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadInt32(); reader.ReadInt32(); data.HasCrimson = reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); if (num >= 0x76) { reader.ReadBoolean(); } reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadBoolean(); reader.ReadByte(); reader.ReadInt32(); data.IsHardMode = reader.ReadBoolean(); return data; } } } } catch (Exception) { } } return null; }