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
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
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
5398045f7d
- got rid of FileSystem::GetFileData.
...
Using FMemFile is better in all these places.
2023-08-22 22:18:53 +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
Christoph Oelckers
2524ea6b0e
- moved linked textures from file system to texture manager.
2023-08-22 21:49:54 +02:00
Christoph Oelckers
1dc47f91c2
- file system error management refactoring.
2023-08-22 21:49:54 +02:00
Christoph Oelckers
7fee89d1f5
- uncouple the file system from the engine's Printf function.
...
This is needed to use it in non GZDoom based projects.
2023-08-17 21:36:22 +02:00
Christoph Oelckers
47b76180d6
- fixed several warnings emitted by Clang.
2023-03-26 08:48:54 +02:00
0e5c6e37b1
Prevent important messages from being accidentally filtered.
2023-01-04 17:54:09 +01:00
Christoph Oelckers
7e0084f56b
- Backend update from Raze.
2022-10-25 07:02:45 +02:00
Christoph Oelckers
8cba80a2cd
Revert "- fixed allocation size when constructing a string from a file system entry."
...
This reverts commit 513d8cea8d .
This change broke voxel loading and possibly other things as well
2022-09-04 08:58:45 +02:00
Christoph Oelckers
513d8cea8d
- fixed allocation size when constructing a string from a file system entry.
...
The internal allocator already added space for the terminazing \0, so the string's size was one character too large.
2022-08-17 21:10:15 +02:00
Christoph Oelckers
c62e14d2c1
- Backend update from Raze
...
Mostly cleanup and better separation of game/backend concerns.
2022-06-06 12:09:29 +02:00
Christoph Oelckers
72be9bcc27
- pass ´hashfile´ to filesystem as parameter
...
Avoid global variables, also check args as late as possible.
2022-04-29 02:20:35 +02:00
Christoph Oelckers
2bc787b1cc
- only check „allowduplicates“ for the final file system init
...
The other calls to InitMultipleFiles should not use it.
Also fix the check to not skip some entries.
2022-04-29 01:36:06 +02:00
Rachael Alexanderson
28d9fe68ae
- add duplication checking to file list, prevent loading the same file twice unless explicitly asked by the user
2022-02-17 01:05:39 -05:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Christoph Oelckers
1c517d19fa
- Backend update from Raze.
...
This is mainly code cleanup from setting the compiler to a stricter warning level.
2022-01-02 11:39:17 +01:00
Christoph Oelckers
b5294e9e90
- backend update from Raze.
2021-08-31 07:59:37 +02:00
Christoph Oelckers
c3772fe203
- changed FString API to use ptrdiff_t instead of long for signed size arguments.
2021-08-12 00:45:59 +02:00
Christoph Oelckers
26d00e14c7
- file system update from Raze.
2021-08-11 12:39:32 +02:00
Christoph Oelckers
c1a8776a15
- updated common code from screenjob branch.
...
That is, all parts not related to cutscenes.
2021-08-03 12:30:44 +02:00
Christoph Oelckers
52554dc32c
- Backend update fron Raze, mainly new script exports and extensions.
2021-05-03 14:13:03 +02:00
Christoph Oelckers
ba146ed5e5
- Backend update from Raze
2021-04-19 12:58:35 +02:00
Christoph Oelckers
f108a106c9
- backend update from Raze.
2021-01-29 13:54:18 +01:00
Christoph Oelckers
65c52b9825
- Backend update.
2020-10-16 23:25:18 +02:00
Christoph Oelckers
8a0634ed0d
- 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.
2020-09-27 10:56:42 +02:00
alexey.lysiuk
f2ddbeeb81
- fixed crash when loading empty resource directory
...
https://forum.zdoom.org/viewtopic.php?t=69004
2020-06-18 11:32:16 +03:00
Christoph Oelckers
58bc12ee19
- fixed: When reopening a lump, the full file name must be used.
2020-06-08 23:37:21 +02:00
Christoph Oelckers
9099bc8420
- reworking some lower level texture code.
2020-04-19 10:57:46 +02:00
Christoph Oelckers
5ac88ebce2
- added some Raze-specific file system utilities so that both can work with the same code.
2020-04-11 14:00:21 +02:00
Christoph Oelckers
05d8856fe0
- moved file system implementation to 'common'.
2020-04-11 14:00:20 +02:00