Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InternalSaveWorld()

static void Terraria.IO.WorldFile.InternalSaveWorld ( bool useCloudSaving,
bool resetTime )
inlinestaticprivate

Definition at line 824 of file WorldFile.cs.

825 {
826 Utils.TryCreatingDirectory(Main.WorldPath);
827 if (Main.skipMenu)
828 {
829 return;
830 }
831 if (_hasCache)
832 {
834 }
835 else
836 {
838 }
839 if (resetTime)
840 {
842 }
843 if (Main.worldPathName == null)
844 {
845 return;
846 }
847 new Stopwatch().Start();
848 int num;
849 byte[] array;
850 using (MemoryStream memoryStream = new MemoryStream(7000000))
851 {
853 {
855 }
856 array = memoryStream.ToArray();
857 num = array.Length;
858 }
859 byte[] array2 = null;
860 if (FileUtilities.Exists(Main.worldPathName, useCloudSaving))
861 {
862 array2 = FileUtilities.ReadAllBytes(Main.worldPathName, useCloudSaving);
863 }
864 FileUtilities.Write(Main.worldPathName, array, num, useCloudSaving);
865 array = FileUtilities.ReadAllBytes(Main.worldPathName, useCloudSaving);
866 string text = null;
867 using (MemoryStream input = new MemoryStream(array, 0, num, writable: false))
868 {
870 if (!Main.validateSaves || ValidateWorld(fileIO))
871 {
872 if (array2 != null)
873 {
874 text = Main.worldPathName + ".bak";
875 Main.statusText = Lang.gen[50].Value;
876 }
878 }
879 else
880 {
881 text = Main.worldPathName;
882 }
883 }
884 if (text != null && array2 != null)
885 {
887 }
888 }
static void SetTempToCache()
Definition WorldFile.cs:982
static bool ValidateWorld(BinaryReader fileIO)
static void SaveWorld_Version2(BinaryWriter writer)
static bool _hasCache
Definition WorldFile.cs:129
static void ResetTempsToDayTime()
Definition WorldFile.cs:930
static void SetTempToOngoing()
Definition WorldFile.cs:956
static void DoRollingBackups(string backupWorldWritePath)
Definition WorldFile.cs:890
static bool Exists(string path, bool cloud)
static void Write(string path, byte[] data, int length, bool cloud)
static byte[] ReadAllBytes(string path, bool cloud)
static void WriteAllBytes(string path, byte[] data, bool cloud)

References Terraria.IO.WorldFile._hasCache, System.array, Terraria.IO.WorldFile.DoRollingBackups(), Terraria.Utilities.FileUtilities.Exists(), Terraria.Lang.gen, System.input, Terraria.Utilities.FileUtilities.ReadAllBytes(), Terraria.IO.WorldFile.ResetTempsToDayTime(), Terraria.IO.WorldFile.SaveWorld_Version2(), Terraria.IO.WorldFile.SetTempToCache(), Terraria.IO.WorldFile.SetTempToOngoing(), Terraria.Main.skipMenu, System.Diagnostics.Stopwatch.Start(), System.text, Terraria.Utils.TryCreatingDirectory(), Terraria.Main.validateSaves, Terraria.IO.WorldFile.ValidateWorld(), Terraria.Main.WorldPath, Terraria.Main.worldPathName, Terraria.Utilities.FileUtilities.Write(), Terraria.Utilities.FileUtilities.WriteAllBytes(), and System.writer.

Referenced by Terraria.IO.WorldFile.SaveWorld().