Files
SabreTools.Models/SFFS/StarForceFileSystem.cs

34 lines
1.4 KiB
C#
Raw Normal View History

2023-09-04 00:12:49 -04:00
namespace SabreTools.Models.SFFS
2023-09-04 00:11:04 -04:00
{
/// <summary>
/// SFFS consists of 2 major parts: the container files that contain the game
/// content and a filesystem filter driver (sfvfs02.sys) that handles all file-io.
/// When a game has SFFS'ed files and uses some file-io api like CreateFile, the
/// SFFS filterdriver sees this request and handles it if needed.that way, SFFS is
/// totally transparent to the game, since it never knows if the data is coming from
/// real file API or from the SFFS filterdriver. during SF initialization, the
/// SF-process registers itself as a SFFS process in a processid list, maintained
/// from the filterdriver. Part of that registration are the names of the
/// containerfiles, the process uses and an application key, that is needed to
/// decrypt headerinfos. Note that SFFS itself is completly vm-free.
/// </summary>
/// <see href="https://forum.xentax.com/viewtopic.php?f=21&t=2084"/>
public sealed class StarForceFileSystem
{
/// <summary>
/// Header
/// </summary>
2023-09-04 21:14:41 -04:00
public Header? Header { get; set; }
2023-09-04 00:11:04 -04:00
/// <summary>
/// Files
/// </summary>
2023-09-10 20:47:25 -04:00
public FileEntry?[]? Files { get; set; }
2023-09-04 00:11:04 -04:00
/// <summary>
/// File headers
/// </summary>
2023-09-10 20:47:25 -04:00
public FileHeader?[]? FileHeaders { get; set; }
2023-09-04 00:11:04 -04:00
}
}