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

◆ Load()

void Terraria.Map.WorldMap.Load ( )
inline

Definition at line 79 of file WorldMap.cs.

80 {
81 Lighting.Clear();
82 bool isCloudSave = Main.ActivePlayerFileData.IsCloudSave;
83 if ((isCloudSave && SocialAPI.Cloud == null) || !Main.mapEnabled)
84 {
85 return;
86 }
87 string text = Main.playerPathName.Substring(0, Main.playerPathName.Length - 4) + Path.DirectorySeparatorChar;
88 if (Main.ActiveWorldFileData.UseGuidAsMapName)
89 {
90 string text2 = text;
91 text = string.Concat(text, Main.ActiveWorldFileData.UniqueId, ".map");
92 if (!FileUtilities.Exists(text, isCloudSave))
93 {
94 text = text2 + Main.worldID + ".map";
95 }
96 }
97 else
98 {
99 text = text + Main.worldID + ".map";
100 }
101 if (!FileUtilities.Exists(text, isCloudSave))
102 {
103 Main.MapFileMetadata = FileMetadata.FromCurrentSettings(FileType.Map);
104 return;
105 }
107 using BinaryReader binaryReader = new BinaryReader(input);
108 try
109 {
110 int num = binaryReader.ReadInt32();
111 if (num <= 279)
112 {
113 if (num <= 91)
114 {
115 MapHelper.LoadMapVersion1(binaryReader, num);
116 }
117 else
118 {
119 MapHelper.LoadMapVersion2(binaryReader, num);
120 }
121 ClearEdges();
122 Main.clearMap = true;
123 Main.loadMap = true;
124 Main.loadMapLock = true;
125 Main.refreshMap = false;
126 }
127 }
128 catch (Exception value)
129 {
130 using (StreamWriter streamWriter = new StreamWriter("client-crashlog.txt", append: true))
131 {
132 streamWriter.WriteLine(DateTime.Now);
133 streamWriter.WriteLine(value);
134 streamWriter.WriteLine("");
135 }
136 if (!isCloudSave)
137 {
138 File.Copy(text, text + ".bad", overwrite: true);
139 }
140 Clear();
141 }
142 }
static void Copy(string sourceFileName, string destFileName)
Definition File.cs:47
static readonly char DirectorySeparatorChar
Definition Path.cs:71
override void WriteLine(string? value)
static FileMetadata FromCurrentSettings(FileType type)
static Terraria.Social.Base.CloudSocialModule Cloud
Definition SocialAPI.cs:18
static bool Exists(string path, bool cloud)
static byte[] ReadAllBytes(string path, bool cloud)
static DateTime Now
Definition DateTime.cs:103

References Terraria.Main.ActivePlayerFileData, Terraria.Main.ActiveWorldFileData, Terraria.Map.WorldMap.Clear(), Terraria.Lighting.Clear(), Terraria.Map.WorldMap.ClearEdges(), Terraria.Social.SocialAPI.Cloud, System.IO.File.Copy(), System.IO.Path.DirectorySeparatorChar, Terraria.Utilities.FileUtilities.Exists(), Terraria.IO.FileMetadata.FromCurrentSettings(), System.input, Terraria.Map.MapHelper.LoadMapVersion1(), Terraria.Map.MapHelper.LoadMapVersion2(), Terraria.Main.mapEnabled, System.DateTime.Now, Terraria.Main.playerPathName, Terraria.Utilities.FileUtilities.ReadAllBytes(), System.text, System.value, and System.IO.StreamWriter.WriteLine().