コード例 #1
0
ファイル: ItemTag.cs プロジェクト: Drake53/War3App
        public ItemTag(MpqArchive archive, MpqEntry mpqEntry, ListViewItem[] children, GamePatch?originPatch)
        {
            MpqEntry           = mpqEntry;
            FileName           = mpqEntry.FileName;
            ArchiveName        = string.Empty;
            Adapter            = null;
            OriginalFileStream = archive.OpenFile(mpqEntry);

            Children = children.Select(child => child.GetTag()).ToArray();
            foreach (var child in Children)
            {
                child.Parent = this;
            }

            OriginPatch = originPatch;
        }
コード例 #2
0
ファイル: ItemTag.cs プロジェクト: Drake53/War3App
        public ItemTag(MpqArchive archive, MpqEntry mpqEntry, string archiveName = null)
        {
            MpqEntry           = mpqEntry;
            FileName           = mpqEntry.FileName;
            ArchiveName        = archiveName ?? string.Empty;
            OriginalFileStream = archive.OpenFile(mpqEntry);

            if (!OriginalFileStream.CanRead)
            {
                OriginalFileStream.Dispose();
                Status = MapFileStatus.Locked;
            }
            else
            {
                Adapter = AdapterFactory.GetAdapter(OriginalFileStream, FileName);
                Status  = Adapter is null ? MapFileStatus.Unknown : MapFileStatus.Pending;
            }
        }
コード例 #3
0
ファイル: MpqKnownFile.cs プロジェクト: yungshing/War3Net
 protected override void GetTableEntries(MpqArchive mpqArchive, uint index, uint relativeFileOffset, uint compressedSize, uint fileSize, out MpqEntry mpqEntry, out MpqHash mpqHash)
 {
     mpqEntry = new MpqEntry(_fileName, mpqArchive.HeaderOffset, relativeFileOffset, compressedSize, fileSize, TargetFlags);
     mpqHash  = new MpqHash(_fileName, mpqArchive.HashTableMask, Locale, index);
 }