示例#1
0
        public unsafe MpqFile OpenFile(string szFileName, OpenFileFlags dwSearchScope)
        {
            IntPtr h;
            IntPtr hp = (IntPtr)(&h);
            bool   r  = StormLib.SFileOpenFileEx(handle, szFileName, dwSearchScope, hp);

            if (!r)
            {
                return(null);
            }
            return(new MpqFile(this, h));
        }
示例#2
0
        public MpqFileStream OpenFile(string filename)
        {
            if (!HasFile(filename))
            {
                throw new FileNotFoundException();
            }

            IntPtr fileHandle;

            if (!StormLib.SFileOpenFileEx(handle, filename, OpenFileFlags.FROM_MPQ, out fileHandle))
            {
                throw new IOException("SFileOpenFileEx failed");
            }

            return(new MpqFileStream(fileHandle));
        }