Christoph Oelckers
53d8a5bb2c
- Reverted JPEG XL support because the project is not really usable on vcpkg.
2023-08-23 18:18:45 +02:00
alexey.lysiuk
79be69ec4a
- implemented FS_FullPath()
function for POSIX
2023-08-23 14:57:22 +03:00
alexey.lysiuk
bfefc12427
- fixed a bunch of Linux and macOS compilation errors
2023-08-23 12:34:33 +03:00
Christoph Oelckers
e28d3b7f0b
- fix directory check in POSIX directory loader.
2023-08-22 23:15:23 +02:00
Christoph Oelckers
be2f9c8660
- added DSDA's passover/nopassover keys to the MAPINFO parser.
2023-08-22 23:15:23 +02:00
Cacodemon345
99fd354dd9
Fix copyright mistake
2023-08-22 23:11:00 +02:00
Cacodemon345
145044ea34
Check if JPEG_XL is enabled instead of just relying on library existence alone
2023-08-22 23:11:00 +02:00
Cacodemon345
44a3bd719c
JPEG XL implementation
2023-08-22 23:11:00 +02:00
Christoph Oelckers
5a1b858c0e
- added some safety checks for reading empty lumps into a std::vector.
...
These can trip the internal safety checks, even though nothing gets read in.
2023-08-22 22:59:29 +02:00
Christoph Oelckers
42283f56ab
- added a quick header check for WebP before loading the entire file for real identification.
...
This allows quick rejection of virtually everything that's not a WebP without loading the entire file first.
2023-08-22 22:54:54 +02:00
Christoph Oelckers
1748477086
- use FileData for readinf WebP
2023-08-22 22:54:54 +02:00
Christoph Oelckers
c77ece4922
moved private definitions out of public headers.
2023-08-22 22:54:54 +02:00
Christoph Oelckers
ebb71cebf1
- put the entire filesystem code into a namespace and created some subdirectories.
2023-08-22 22:54:54 +02:00
Christoph Oelckers
94c9ee4593
- got rid of the remaining persistent std::strings in the file system.
...
This also uses the string pool now.
2023-08-22 22:54:54 +02:00
Christoph Oelckers
929cae2f41
- rename File_Name back.
2023-08-22 22:54:53 +02:00
Christoph Oelckers
8e250abe0a
- fix lump name setup.
2023-08-22 22:54:53 +02:00
Christoph Oelckers
54dc687436
- use the string pool for storing resource file names.
2023-08-22 22:54:53 +02:00
Christoph Oelckers
6d2047eef6
- also use the stringpool for the lump names in the filesystem.
2023-08-22 22:54:53 +02:00
Christoph Oelckers
3d673e3f20
- use a string pool to store the filenames in FResourceLump.
2023-08-22 22:54:53 +02:00
Christoph Oelckers
4f8305de5f
- use the lump cache directly for FileData.
...
This was the final puzzle piece to allow using memory mapped files. :)
2023-08-22 22:54:53 +02:00
Christoph Oelckers
2c2bf0265f
- refactored all places which treated FileData as zero terminated.
2023-08-22 22:54:53 +02:00
Christoph Oelckers
79e6d068a9
- got rid of the last two TArrays in the filesystem class.
2023-08-22 22:54:53 +02:00
Christoph Oelckers
535eb9a853
- use std::vector in GetFilesInFolder
2023-08-22 22:54:52 +02:00
Christoph Oelckers
2a6fb6da84
- use better hash function.
...
This is djb2 which is supposedly one of the best string hashing functions around.
Avoids annoying dependencies and is a lot simpler and faster than the alternatives.
2023-08-22 22:54:52 +02:00
Christoph Oelckers
5433430767
- FString is always gone.
2023-08-22 22:54:52 +02:00
Christoph Oelckers
3e3526f1ec
- use a local hash function in the file system.
2023-08-22 22:54:52 +02:00
Christoph Oelckers
acd5911cd4
- StringPool class added
...
This is a specialized stripped doen FMemArena.
2023-08-22 22:54:52 +02:00
Christoph Oelckers
4906d287cb
- use std::vector<std::string> to pass the file list to InitMultipleFiles
2023-08-22 22:54:52 +02:00
Christoph Oelckers
a0d679b84b
- FileData cleanup and uncoupling from FString.
...
Work is still needed to allow this to use the lump cache directly because some decisions in the past made this data padded by a zero byte.
2023-08-22 22:54:52 +02:00
Christoph Oelckers
ca1d7fd539
- store longName in a std::string and use std::vector for FileInfo
...
TArray cannot handle std::string so this must both be changed together.
2023-08-22 22:48:06 +02:00
Christoph Oelckers
8a5d3c096b
- return a std::string from GetFileFullPath
2023-08-22 22:18:54 +02:00
Christoph Oelckers
25b7b18c3d
- got rid of the two copying variants of fileSystem.GetFileShortName.
2023-08-22 22:18:53 +02:00
Christoph Oelckers
c5b5b2b873
- cleanup.
2023-08-22 22:18:53 +02:00
Christoph Oelckers
eccbafc1bc
- let FileData.GetString only return a const char pointer.
...
Not exposing the implementation will allow a lot more optimization in the backend and we also want to get rid of FString here.
2023-08-22 22:18:53 +02:00
Christoph Oelckers
5398045f7d
- got rid of FileSystem::GetFileData.
...
Using FMemFile is better in all these places.
2023-08-22 22:18:53 +02:00
Christoph Oelckers
21d6eb99eb
use std::vector as return value for the FileReader's buffer readers.
2023-08-22 22:18:21 +02:00
Christoph Oelckers
12c7413149
- handle ZLibError
2023-08-22 21:49:56 +02:00
Christoph Oelckers
7f024debfd
- clean up includes in 3 files.
2023-08-22 21:49:56 +02:00
Christoph Oelckers
9f45cc0469
- use snprintf for FileWriter::Printf.
...
pulling in stb_sprintf here may be tricky if the consuming application uses different options, so better not use it here.
2023-08-22 21:49:55 +02:00
Christoph Oelckers
def6bffdfc
- use std::vector for the MemoryArrayReader
2023-08-22 21:49:55 +02:00
Christoph Oelckers
2671394961
- only use standard types in WriteZip's API.
2023-08-22 21:49:55 +02:00
Christoph Oelckers
825f92b274
- use std::string in FZipFile::Open
2023-08-22 21:49:55 +02:00
Christoph Oelckers
959d0e93f7
- fixed and cleaned up file_whres.cpp
2023-08-22 21:49:55 +02:00
Christoph Oelckers
f0bbc32bae
- add m_swap.h to several files.
2023-08-22 21:49:55 +02:00
Christoph Oelckers
454af06acf
- use a local byteswap header in the file system.
2023-08-22 21:49:55 +02:00
Christoph Oelckers
771fa2b51c
- rewrote dir CCMD using ScanDirectory and avoiding I_ChDir entirely.
2023-08-22 21:49:55 +02:00
Christoph Oelckers
5f3d25ef44
- use ScanDirectory in all places where the findfile API was used.
...
This allows to completely hide its implementation details from the rest of the code which only gets a list of file names now.
2023-08-22 21:49:54 +02:00
Christoph Oelckers
566a8f58a7
- disable dir CCMD.
...
The implementation of this one is garbage, it needs to be redone without I_ChDir.
2023-08-22 21:49:54 +02:00
Christoph Oelckers
219b3fb9f9
- uncoupled directory loader from the rest of the engine.
2023-08-22 21:49:54 +02:00
Christoph Oelckers
5a32f98bde
- first stage of uncoupling the file system from the engine.
...
This replaces several FStrings and TArrays with std::string and std::vector.
2023-08-22 21:49:54 +02:00