예제 #1
0
        public void Read(UruStream s)
        {
            while (true) {
                AuthFileEntry entry = new AuthFileEntry();
                entry.fName = s.ReadUnicodeString();
                if (entry.fName == String.Empty) break;
                entry.fSize = (long)(s.ReadUShort() << 16 | s.ReadUShort() & 0xFFFF);
                s.ReadUShort(); //NULL

                fFiles.Add(entry);
            }
        }
예제 #2
0
파일: Manifest.cs 프로젝트: Hoikas/mudpit
        public void Read(UruStream s)
        {
            while (true) {
                FileManifestEntry me = new FileManifestEntry();
                me.fFileName = s.ReadUnicodeString();
                if (me.fFileName == String.Empty) break; //The end of the manifest is an empty string

                me.fDownloadName = s.ReadUnicodeString();
                me.fHash = s.ReadUnicodeString();
                me.fCompressedHash = s.ReadUnicodeString();

                me.fFileSize = (uint)(s.ReadUShort() << 16 | s.ReadUShort() & 0xFFFF);
                s.ReadUShort(); //NULL

                me.fCompressedSize = (uint)(s.ReadUShort() << 16 | s.ReadUShort() & 0xFFFF);
                s.ReadUShort(); //NULL

                me.fFlags = (uint)(s.ReadUShort() << 16 | s.ReadUShort() & 0xFFFF);
                s.ReadUShort(); //NULL

                fEntries.Add(me);
            }
        }