Christoph Oelckers
fd9b762106
moved animlib to thirdparty folder.
2023-12-25 08:45:47 +01:00
Christoph Oelckers
df35d6c7ea
fixed MBF21's instant death sector types.
2023-12-24 12:24:55 +01:00
Christoph Oelckers
59b0b0620a
got rid of the redundant copy of alext.h
2023-12-24 09:15:41 +01:00
Christoph Oelckers
36651fffaa
deleted unused toWide declaration from file_directory.cpp
2023-12-24 08:51:52 +01:00
Christoph Oelckers
baa9251741
simplified the directory reader a little bit
...
* we do not need to make a second allocation for the systemFilePath
* as systemFilePath is never null, there is no need to check for that case.
* moved systemFilePath into a separate array to save memory on other file types.
2023-12-24 08:35:47 +01:00
Vasilii Shirokii
f8dcc33e6d
Code style
2023-12-24 08:22:40 +01:00
Vasilii Shirokii
90d672e345
Maintain the actual on-disk path (FResourceEntry::SystemFilePath) for the directory filesystem, because the FResourceEntry::FileName can be modified by game filter-s
2023-12-24 08:22:40 +01:00
Christoph Oelckers
97c04357f1
fixed alternative parts of vectors.h
...
Not relevant for GZDoom itself but let's keep things tidy.
2023-12-21 22:11:53 +01:00
Christoph Oelckers
d2c395757c
fixed bad setup in FileData constructor.
2023-12-21 17:14:56 +01:00
Major Cooke
751ee7390b
Fixed incorrect offsetting for SpriteOffset.
2023-12-20 17:50:36 -05:00
Ignacio Taranto
e572bb8db3
Fix Zip file modification timestamps
...
The problem was that `time_to_dos` was putting the last modification
file date first and the time second. This was causing the date to be
interpreted as the time and vice versa when reading the Zip file.
See: https://github.com/ZDoom/gzdoom/issues/2306
2023-12-20 23:26:52 +01:00
Christoph Oelckers
3f05f38a60
fix max health for Doom's health bonus with Dehacked modifications present.
2023-12-20 00:11:09 +01:00
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
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
Christoph Oelckers
c95d611c1f
fixed ibm437_to_utf8
2023-12-12 18:07:31 +01:00
Rachael Alexanderson
0bf634013e
- fix nullptr dereference
2023-12-11 08:00:23 +01:00
Rachael Alexanderson
93772c4e0c
- add new ccmd cvarsearch
allows searching cvar by name, languageid, or description
2023-12-11 08:00:23 +01:00
Christoph Oelckers
6ff667a490
fixed savepic loading.
2023-12-10 22:14:09 +01:00
Rachael Alexanderson
42ab7dd70f
- mark gl_maplightmode as a cheat
...
I've heard from several people since this was put in that this should be marked as a cheat. This PR lets you make the final call on that.
2023-12-10 18:22:57 +01:00
Christoph Oelckers
f873946bd0
fixed some warnings.
2023-12-10 13:31:50 +01:00
Christoph Oelckers
36d05112d5
backend update from Raze.
...
Mainly fixing case table for Georgian script and de-inlining M_Calloc.
2023-12-10 13:26:43 +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
96b3f1f5e0
removed unused variable in M_FindResponseFile and added file length check in ANM player.
2023-12-10 11:55:42 +01:00
Christoph Oelckers
02a6e0422d
Clang did not like this...
2023-12-10 11:00:44 +01:00
Christoph Oelckers
7d0ad4897f
use proper access functions to ResourceData.
2023-12-10 10:32:16 +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
54fb37e39e
changed SoundEngine::ReadSound back to a TArray.
2023-12-10 09:07:48 +01:00
Christoph Oelckers
41573df58f
added STL compatible access functions to TArray.
...
This allows using them in templates made for STL containers.
2023-12-10 09:07:48 +01:00
Tyler Schneider
429d402dc4
Fixed console rendering crash on wide consoles
2023-12-10 07:18:28 +01:00
Rachael Alexanderson
102c467de5
- add option to override renderflags +BILLBOARD[NO]FACECAMERA
2023-12-09 18:18:28 -05:00
Rachael Alexanderson
b4d5c7d669
- add actor flag +BILLBOARDNOFACECAMERA which forces sprite aimed at camera heading instead of camera position when gl_billboard_faces_camera is true
...
```
class ZombieManNoFaceCamera : Zombieman replaces Zombieman
{
default
{
+BILLBOARDNOFACECAMERA;
}
}
```
2023-12-09 05:57:51 -05:00
Rachael Alexanderson
97336cf7c2
- add missing nullptr check
2023-12-08 16:22:22 -05:00
Rachael Alexanderson
3caa6247be
- add flag +BILLBOARDFACECAMERA - renders actor billboard to always face the camera
...
tested with this code snippet:
```
class ZombieManFaceCamera : Zombieman replaces Zombieman
{
default
{
+BILLBOARDFACECAMERA;
}
}
```
2023-12-08 10:12:58 -05:00
Ricardo Luís Vaz Silva
43c70cdf9d
JIT-Compile all functions during startup
2023-12-06 17:44:51 -05:00
Ricardo Luís Vaz Silva
aed85a25a2
serialize cvars
2023-11-25 21:06:39 -05:00
Ricardo Luís Vaz Silva
74ace89d6e
properly serialize int-backed keys for maps
2023-11-25 21:06:39 -05:00
Rachael Alexanderson
4b54aac288
- rename ZSprites to VisualThinkers
2023-11-22 12:11:57 -05:00
Professor Hastig
c42b51d5eb
fix floorclipping on slopes.
2023-11-21 18:55:00 -05:00
Ricardo Luís Vaz Silva
4ec76afc40
move all doom-specific loops out of common code
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
71999e7cf6
add foreach(a/type a : thinkeriterator/actoriterator)
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
f5507a7373
add foreach(a/l/a,p/l,p/a,p,f/l,p,f : blocklinesiterator/blockthingsiterator)
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
5cb0e3bc5b
add foreach v loop for maps
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
c58bd6efb5
add foreach k,v loop for maps
...
* make FxFunctionCall and FxMemberFunctionCall take a temporary for args, since they always move it
* fix type for cast
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
b6b6b0cb89
fix gcc/clang
2023-11-20 22:08:33 -05:00
Ricardo Luís Vaz Silva
5d5e7ca042
Decoupled IQM Model Animations
2023-11-20 22:08:33 -05:00
Ricardo Luís Vaz Silva
1a8dfd2dfa
ActorModelData cleanup in preparation for decoupled model animations
2023-11-20 22:08:33 -05:00
Major Cooke
848dbd4d3d
Fixed uninitialized variables causing issues with other compilers.
2023-11-20 22:07:58 -05:00
Major Cooke
0498236f68
- Exposed PrevRoll, enabling roll interpolation disabling without affecting position interpolation.
...
- Added translation parameter to the `Spawn` function again.
2023-11-20 22:07:47 -05:00
Christoph Oelckers
c73f805110
restore accidentally deleted 'else'.
2023-11-19 13:01:08 +01:00