示例#1
0
        public override void Load(RSFileReader br)
        {
            br.Log("= = = SOUND = = =\n");
            byte b;

            while ((b = br.ReadByte()) != 0)
            {
                switch (b)
                {
                case 10:
                    AudioType = br.ReadString();
                    break;

                case 11:
                    int length = br.ReadInt32();
                    p_data = br.ReadBytes(length);
                    break;

                case 12:
                    Name = br.ReadString();
                    break;

                case 13:
                    FileName = br.ReadString();
                    break;
                }
            }
        }
示例#2
0
        public override void Load(RSFileReader br)
        {
            string s;

            s         = br.ReadString();
            AudioType = s;
            int length = br.ReadInt32();

            p_data = br.ReadBytes(length);
        }
示例#3
0
文件: GOFile.cs 项目: gopa810/Rambha
        public bool Load(string fileName, bool fullRead)
        {
            using (BinaryReader fr = new BinaryReader(File.OpenRead(fileName)))
            {
                RSFileReader br = new RSFileReader(fr);
                byte[]       b  = br.ReadBytes(16);
                if (!ByteArrayCompare(b, p_FileHeader))
                {
                    LoadMessage = "Header of file does not meet criteria for GOF file.";
                    return(false);
                }

                Properties.Clear();
                byte tag;

                while ((tag = br.ReadByte()) != 0)
                {
                    switch (tag)
                    {
                    case 10:
                        string key   = br.ReadString();
                        string value = br.ReadString();
                        Properties.Add(key, value);
                        break;

                    case 100:
                        if (!fullRead)
                        {
                            return(true);
                        }
                        Data.Clear();
                        Data.Load(br);
                        break;

                    default:
                        LoadMessage = string.Format("Unknown tag {0} at position {1} in the file.", tag, br.Position);
                        return(false);
                    }
                }
            }

            LoadMessage = string.Empty;
            return(true);
        }
示例#4
0
        public override void Load(RSFileReader br)
        {
            int length = br.ReadInt32();

            p_data = br.ReadBytes(length);
        }