Commit graph

21536 commits

Author SHA1 Message Date
Christoph Oelckers
a31cfa97e4 fixed typo in FZipFile::GetRawData.
This one caused incompletely loaded savegames.
2023-12-20 00:06:49 +01:00
Christoph Oelckers
d11bf52831 fixed crash with files from directories. 2023-12-19 19:09:35 +01:00
Christoph Oelckers
273f7c55bc fixed some filesystem issues with directories and compression. 2023-12-17 17:15:14 +01:00
Christoph Oelckers
efef4bdfd1 addressed a few warnings in the filesystem code. 2023-12-17 13:32:44 +01:00
jekyllgrim
df5dc5ebd8 Moved the enum to doombase.zs 2023-12-17 13:20:08 +01:00
jekyllgrim
fc809cfab6 Virtualized returns for SpecialMissileHit/SpecialBounceHit 2023-12-17 13:20:08 +01:00
Christoph Oelckers
aec7feb48a add 'noexcept' to two functions. 2023-12-16 11:48:08 +01:00
Christoph Oelckers
633c09a3bb de-inlined two functions that were generating too much code. 2023-12-16 10:58:04 +01:00
Christoph Oelckers
08614613be for memory backed files, let FResourceFile::Read return a reference to the backing store instead of copying the data. 2023-12-16 10:54:31 +01:00
Christoph Oelckers
d45ca8151f added another missing include 2023-12-16 08:58:46 +01:00
Christoph Oelckers
7ce63abe6c add missing check for embedded WADs. 2023-12-16 07:41:22 +01:00
Christoph Oelckers
cffa49d05f add missing #includes 2023-12-16 07:23:57 +01:00
Christoph Oelckers
bae3adc89f moved writezip.cpp out of filesystem and eliminated uses of TArray. 2023-12-15 16:59:00 +01:00
Christoph Oelckers
96961a5663 moved the hard coded exclusions for the file system to the blockedlist.
These exclusions are still engine specific, in case we want to use this in a more generic context they have to be disabled.
2023-12-15 16:58:26 +01:00
Christoph Oelckers
375faa649e fix missing include. 2023-12-14 20:39:15 +01:00
Christoph Oelckers
869d7a6dcb only try to find a common folder in Zips if there's some data to check against.
Without this the check for required file names will always fail so running the entire thing is pointless.
2023-12-14 17:55:46 +01:00
Christoph Oelckers
f8d839d6eb move root folder detection out of file_zip.
added support for Descent Hog and Mvl files., mainly useful for playing Descent's music directly from the asset files.
2023-12-14 17:22:32 +01:00
Christoph Oelckers
799679bf6c block off shared readers to worker threads.
The file system should be thread safe now.
2023-12-14 17:22:32 +01:00
Christoph Oelckers
737e3f22d7 implement the different reader types. 2023-12-14 17:22:32 +01:00
Christoph Oelckers
11d6b3e5b4 only use the new flag names 2023-12-14 17:22:32 +01:00
Christoph Oelckers
301323944f eliminate the intermediate reader for the savegame pics. 2023-12-14 17:22:32 +01:00
Christoph Oelckers
78a71bb662 streamline the buffer readers. 2023-12-14 17:22:32 +01:00
Christoph Oelckers
235d36fe69 simplification of MemoryArrayReader interface. 2023-12-14 17:22:32 +01:00
Christoph Oelckers
9bcbdfa09c take OpenDecompressor out of FileReader and fixed exploding decompression 2023-12-14 17:22:32 +01:00
Christoph Oelckers
6f8c3c60c4 Use FResourceFile directly for the simple container types.
Instead let FResourceFile provide an interface for ad-hoc construction of a new container.
2023-12-14 17:22:31 +01:00
Christoph Oelckers
72a2e5d532 fixed remaining issues in resource file loading. 2023-12-14 17:22:31 +01:00
Christoph Oelckers
f3c7e01195 fixed BufferingReader 2023-12-14 17:22:31 +01:00
Christoph Oelckers
292705ddc3 fixed OpenDecompressor flag handling. 2023-12-14 17:22:31 +01:00
Christoph Oelckers
e1cf8af9d3 zero the Entries array on allocation 2023-12-14 17:22:31 +01:00
Christoph Oelckers
0be8fed6fc fixed BufferingReader. 2023-12-14 17:22:31 +01:00
Christoph Oelckers
df3e82d94c cleaned up some redundant file reads and fixed file opening in the movie player.
As a streaming action this cannot borrow the one from the archive.
2023-12-14 17:22:31 +01:00
Christoph Oelckers
3e7ec9118f got rid of FUncompressedFile and reenabled postprocessing. 2023-12-14 17:22:31 +01:00
Christoph Oelckers
10f743a0d6 cleaned out all remaining references to FResourceLump.
Most importantly, the lump locking mechanism is finally gone.
2023-12-14 17:22:30 +01:00
Christoph Oelckers
e35b0f1453 got rid of FZipLump. 2023-12-14 17:22:30 +01:00
Christoph Oelckers
c27c8c232a handle RFF encryption like compression.
This allows simplifiying the code a lot by moving the decrypter to OpenDecompressor and handling it with generic code in the base class.
2023-12-14 17:22:30 +01:00
Christoph Oelckers
728bbd6327 fix some stuff 2023-12-14 17:22:30 +01:00
Christoph Oelckers
39020f7f95 preparations for getting rid of FZipLump
* allow ancient compression algorithms to be handled by OpenDecompressor.
* move FCompressedBuffer to fs_files.h
* use a mutex lock for 7z access because it cannot be made thread save otherwise.
2023-12-14 17:22:30 +01:00
Christoph Oelckers
9710c71669 got rid of FWadFileLump 2023-12-14 17:22:30 +01:00
Christoph Oelckers
854097024f Get rid of FUncompressedFile::Lumps
(RFF is inoperable in this commit!)
2023-12-14 17:22:30 +01:00
Christoph Oelckers
27a356814c got rid of F7ZLump 2023-12-14 17:22:30 +01:00
Christoph Oelckers
f5f9d5b5d8 got rid of FDirectoryLump. 2023-12-14 17:22:30 +01:00
Christoph Oelckers
3b0d101607 move GetRawData and associated code out of FResourceLump 2023-12-14 17:22:29 +01:00
Christoph Oelckers
ae1bd3c890 set up the new Entries array. 2023-12-14 17:22:29 +01:00
Christoph Oelckers
e9700e2771 remove unused variable 2023-12-14 17:22:29 +01:00
Christoph Oelckers
fe106d9bfe merge FileData and ResourceData. 2023-12-14 17:22:29 +01:00
Christoph Oelckers
d2cb44b1bf get rid of the FResourceLump pointer in LumpRecord. 2023-12-14 17:22:29 +01:00
Christoph Oelckers
dc52cac89e more access methods for FResourceFile 2023-12-14 17:22:29 +01:00
Christoph Oelckers
aaea3d52aa fixed more warnings. 2023-12-14 17:22:29 +01:00
Christoph Oelckers
c1ecc41f9d rewrote FileSystem::AddFromBuffer so that it gets backed by an actual FResourceFile. 2023-12-14 17:22:29 +01:00
Christoph Oelckers
0a1eccef92 remove unused FileSystem::AddExternalFile method. 2023-12-14 17:22:29 +01:00