Exemple #1
0
        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);
        }