internal ArcFileTreeNode(FileType type, string path, Hash40 pathHash, FileMetadata fileMetadata) { PathHash = pathHash; Type = type; Path = path; // TODO: Get file path and extension. // TODO: Use separate types? Offset = fileMetadata.Offset; CompSize = fileMetadata.CompSize; DecompSize = fileMetadata.DecompSize; IsStream = fileMetadata.IsStream; IsShared = fileMetadata.IsShared; IsRedirect = fileMetadata.IsRedirect; IsRegional = fileMetadata.IsRegional; IsLocalized = fileMetadata.IsLocalized; IsCompressed = fileMetadata.IsCompressed; UsesZstd = fileMetadata.UsesZstd; }
internal static extern string?ArcHash40ToString(Hash40 hash);
internal static unsafe extern FileMetadata ArcGetFileMetadata(IntPtr arc, Hash40 hash);
internal static extern DirListing ArcListDir(IntPtr arc, Hash40 hash);