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
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
Christoph Oelckers
c95d611c1f
fixed ibm437_to_utf8
2023-12-12 18:07:31 +01:00
Christoph Oelckers
f873946bd0
fixed some warnings.
2023-12-10 13:31:50 +01:00
Christoph Oelckers
749d4e3acb
use the FResourceFile interface in favor of FResourceLump's where possible.
2023-12-10 12:20:06 +01:00
Christoph Oelckers
5c04185d5a
renamed things.
2023-12-10 12:06:52 +01:00
Christoph Oelckers
4da196a416
UTF8 conversion stuff.
...
This is for dealing with Unicode file names which cannot be handled with an idealized Unicode approach as was present before.
utf8proc was included to handle normalization because with externally provided filenames we have no control over enforcing our pld rules.
2023-12-10 10:29:38 +01:00
Christoph Oelckers
df56fc65e0
rework some of the friend-dependent access to FResourceLump.
2023-12-10 10:26:44 +01:00
Christoph Oelckers
ebc808e2a9
did some cleanup of the FResourceFile interface.
...
* making all members protected (but adding friend overrides for the classes which still need it)
* allowing to read data without retrieving the FResourceLump object.
2023-12-10 10:24:39 +01:00
Christoph Oelckers
fc84579319
let FileReader::Read return an opaque buffer instead of std::vector.
...
This can later allow returning a pointer to a static buffer from a cache without creating copies.
2023-12-10 09:07:49 +01:00
Christoph Oelckers
448ca88bfd
fixed some signed-ness issues.
2023-10-08 08:11:56 +02:00
Christoph Oelckers
89535b803a
Backend update from Raze.
2023-10-07 18:42:24 +02:00
Cacodemon345
4497d7fdaa
Update LZMA SDK to 23.01
...
As a bonus, add support for XZ-compressed files in ZIP
2023-10-07 17:31:24 +02:00
Professor Hastig
ab8711b57a
removed several bad casts to 'long'.
...
The 'long' type should generally be avoided because its size differs on Windows and Linux/Mac so it is almost guaranteed to cause undefined behavior
2023-10-04 16:47:43 +02:00
Cacodemon345
ba9ce0e83f
Switch to miniz from zlib
2023-09-17 23:52:51 +02:00
Christoph Oelckers
4fd5f00c4b
- made all FileReader implementations 64 bit capable.
2023-09-14 21:45:38 +02:00
Professor Hastig
8b31e0d3b6
- fix bad stringpool setup in filesystem.
...
Doing it in the constructor does not work because InitMultipleFiles will clear everything again before building up the directory so it would always be null.
This triggered another bug in file_directory.cpp which used the constructor's unvalidated parameter.
2023-09-13 16:42:22 +02:00
Christoph Oelckers
7f61266621
- fixed memory leaks in file system management
2023-09-11 23:22:24 +02:00
Ricardo Luís Vaz Silva
0243efd851
Fix pointer math in FileSystem to stop debug assertions in std::vector
2023-09-11 04:41:00 -04:00
Christoph Oelckers
e7a79b0d44
- string conversion fixes
2023-09-06 00:19:36 +02:00
Christoph Oelckers
17ab6e851a
- make sure that FileWriter::Printf never writes null characters.
2023-09-03 23:48:42 +02:00
Christoph Oelckers
e0b3bdaadc
- fixed directory loader.
2023-08-23 22:09:58 +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
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