mirror of
https://github.com/crskycode/GARbro.git
synced 2026-06-23 12:17:27 +08:00
added FileSystem infrastructure.
This commit is contained in:
@@ -143,6 +143,16 @@ namespace GameRes
|
||||
return m_interface.OpenEntry (this, entry);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Open specified <paramref name="entry"/> as memory-mapped view.
|
||||
/// </summary>
|
||||
public ArcView OpenView (Entry entry)
|
||||
{
|
||||
var stream = OpenEntry (entry);
|
||||
uint size = stream.CanSeek ? (uint)stream.Length : entry.Size;
|
||||
return new ArcView (stream, entry.Name, size);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Open specified <paramref name="entry"/> as a seekable Stream.
|
||||
/// </summary>
|
||||
@@ -168,6 +178,14 @@ namespace GameRes
|
||||
return ArchiveFormat.CreateFile (entry.Name);
|
||||
}
|
||||
|
||||
public IFileSystem CreateFileSystem ()
|
||||
{
|
||||
if (m_interface.IsHierarchic)
|
||||
return new ArchiveFileSystem (this);
|
||||
else
|
||||
return new FlatArchiveFileSystem (this);
|
||||
}
|
||||
|
||||
#region IDisposable Members
|
||||
bool disposed = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user