private void PublishUploadDataComplete(object s, UploadDataCompletedEventArgs e, TmodFile theTModFile) { if (e.Error != null) { if (e.Cancelled) { Main.menuMode = Interface.modSourcesID; return; } UIModBrowser.LogModBrowserException(e.Error); return; } var result = e.Result; int responseLength = result.Length; if (result.Length > 256 && result[result.Length - 256 - 1] == '~') { using (var fileStream = File.Open(theTModFile.path, FileMode.Open, FileAccess.ReadWrite)) using (var fileReader = new BinaryReader(fileStream)) using (var fileWriter = new BinaryWriter(fileStream)) { fileReader.ReadBytes(4); // "TMOD" fileReader.ReadString(); // ModLoader.version.ToString() fileReader.ReadBytes(20); // hash if (fileStream.Length - fileStream.Position > 256) // Extrememly basic check in case ReadString errors? { fileWriter.Write(result, result.Length - 256, 256); } } responseLength -= 257; } string response = Encoding.UTF8.GetString(result, 0, responseLength); UIModBrowser.LogModPublishInfo(response); }
private static void PublishUploadDataComplete(object s, UploadDataCompletedEventArgs e, TmodFile theTModFile) { if (e.Error != null) { if (e.Cancelled) { Main.menuMode = Interface.modSourcesID; return; } UIModBrowser.LogModBrowserException(e.Error); return; } ModLoader.GetMod(theTModFile.name)?.Close(); var result = e.Result; string response = HandlePublishResponse(theTModFile, result); UIModBrowser.LogModPublishInfo(response); }