static void Main(string[] args) { archive.SetGameDir("C:\\Program Files (x86)\\Diablo III Beta\\Data_D3\\PC\\MPQs\\"); archive.AddArchive("CoreData.mpq"); var ra = archive.OpenFile("A1_BlackMushroom.acr", OpenFile.FROM_MPQ); var filesize = archive.GetFileSize(ra); var xa = archive.ReadFile(ra,filesize); _SFILE_FIND_DATA fileinfo = new _SFILE_FIND_DATA(); var temp = archive.FindFirstFile("Actor\\*", ref fileinfo); List<string> filelist = new List<string>(); while (archive.FindNextFile(temp, ref fileinfo)) { filelist.Add(fileinfo.cFileName); } }
public static extern bool SFileFindNextFile( IntPtr hFind, ref _SFILE_FIND_DATA lpFindFileData );
public static extern IntPtr SFileFindFirstFile( // This returns a handle to the MPQ Search Object IntPtr hMpq, // MPQ Handle [MarshalAs(UnmanagedType.LPStr)] string szMask, ref _SFILE_FIND_DATA lpFindFileData, [MarshalAs(UnmanagedType.LPStr)] string szListFile // Can be Null );
public bool FindNextFile(IntPtr SearchHandle, ref _SFILE_FIND_DATA FindInfo) { return StormLibNet.SFileFindNextFile(SearchHandle, ref FindInfo); }
// Returns Search Handle public IntPtr FindFirstFile(string Mask, ref _SFILE_FIND_DATA FindInfo) { return StormLibNet.SFileFindFirstFile(this.handle, Mask, ref FindInfo, null); }
public bool FindNextFile(IntPtr SearchHandle, ref _SFILE_FIND_DATA FindInfo) { return archives[0].FindNextFile(SearchHandle, ref FindInfo); }
public IntPtr FindFirstFile(string Mask, ref _SFILE_FIND_DATA FindInfo) { return archives[0].FindFirstFile(Mask, ref FindInfo); }