- file system update from Raze

* support for SSI container format - this is an obscure format used by a few Duke Nukem mods - added to have this subsystem identical between both engines.
* removed some dead wrapper code
* made the Open methods local to their implementations, this was never called virtually.
This commit is contained in:
Christoph Oelckers 2020-09-27 10:56:42 +02:00
commit 8a0634ed0d
15 changed files with 171 additions and 98 deletions

View file

@ -70,8 +70,8 @@ public:
int GetNamespace() const override { return Namespace; }
int GetFileOffset() { return Position; }
FileReader *GetReader()
int GetFileOffset() override { return Position; }
FileReader *GetReader() override
{
if(!Compressed)
{
@ -80,7 +80,7 @@ public:
}
return NULL;
}
int FillCache()
int FillCache() override
{
if(!Compressed)
{
@ -472,7 +472,7 @@ FResourceFile *CheckWad(const char *filename, FileReader &file, bool quiet, Lump
file.Seek(0, FileReader::SeekSet);
if (!memcmp(head, "IWAD", 4) || !memcmp(head, "PWAD", 4))
{
FResourceFile *rf = new FWadFile(filename, file);
auto rf = new FWadFile(filename, file);
if (rf->Open(quiet, filter)) return rf;
file = std::move(rf->Reader); // to avoid destruction of reader