Пример #1
0
        /// <summary>
        /// Loads the remap entries from the specified file
        /// </summary>
        /// <param name="sFileName"></param>
        /// <returns></returns>
        public List <RemapEntry> LoadFile(string sFileName)
        {
            FileStream zFileStream = null;
            var        listConfigs = new List <RemapEntry>();

            try
            {
                zFileStream = new FileStream(sFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
                var nPrefix = StreamUtil.ReadIntFromStream(zFileStream);
                if (nPrefix != FILE_DATA_PREFIX)
                {
                    throw new Exception("{} does not have the correct data prefix. This is likely an unsupported format.".FormatString(sFileName));
                }

                var nDataFormatVersion = StreamUtil.ReadIntFromStream(zFileStream);
                if (nDataFormatVersion != DATA_FORMAT_VERSION)
                {
                    throw new Exception("{} indicates an unsupported data format.".FormatString(sFileName));
                }

                while (zFileStream.Position < zFileStream.Length)
                {
                    listConfigs.Add(new RemapEntry(zFileStream));
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            finally
            {
                zFileStream?.Close();
            }

            return(listConfigs);
        }