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
Christoph Oelckers
21acb9d467
simplify lump filter setup and move the Doom special case for 'doom.doom' out of FResourceFile
2023-12-14 17:22:28 +01:00