Commit graph

18889 commits

Author SHA1 Message Date
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
Christoph Oelckers
0b36beb10d serialize the remap data of custom translations defined at run time. 2023-11-19 12:44:22 +01:00
Christoph Oelckers
8e319a7669 allow comparisons between ints and translation IDs in pre 4.12 ZScript. 2023-11-19 07:47:23 +01:00
Christoph Oelckers
eaf43dfb96 fixed potential nullptr dereference. 2023-11-19 07:22:12 +01:00
Ricardo Luís Vaz Silva
11f2fc10ea invert mouse again for movement, so that it cancels out the first inversion 2023-11-18 15:20:58 -05:00
Major Cooke
1f847301cb Updated ZSprites to use new translation code. 2023-11-17 08:06:11 -05:00
Major Cooke
8fcd2c5f43 Fixed compilation with CI 2023-11-17 08:06:11 -05:00
Major Cooke
48e7c2d994 - Proper heap handling of HWSprite pointer
- Added `Construct()` method and ensure it's called when created from any means
2023-11-17 08:06:11 -05:00
Major Cooke
0b6bae59ee Added scolor property, allowing for colorizing ZSprites.
- fixed ZSprites not updating important variables while frozen.
2023-11-17 08:06:11 -05:00
Major Cooke
052b3cd89c - serialize LightLevel 2023-11-17 08:06:11 -05:00
Major Cooke
b6b1b25035 Added ZSprites.
- Effectively similar to Actors, but without the excess.
- Can be created with either the `level` function or the static `Spawn` function in ZSprite.
- STAT_SPRITE belongs to ZSprites only; ZSprites cannot be moved out of, nor can anything else be moved in to, this statnum.

Misc:

- Fixed (Sprite)Offset taking roll into account.

Crediting phantombeta, RicardoLuis0 and RaveYard for assistance.
2023-11-17 08:06:11 -05:00
Ricardo Luís Vaz Silva
3056786f38 Add missing loop 2023-11-14 20:14:48 +01:00
Rachael Alexanderson
747e55ce60 - fix GL ES switch appearing as 'Unknown' in the menu sometimes 2023-11-13 17:12:00 -05:00
Ricardo Luís Vaz Silva
fc130ccaac Serialize Name Keys as Strings for maps 2023-11-13 06:19:10 +01:00
nashmuhandes
a04f909d06 Add sv_coopsharekeys - in coop, picking up a key will distribute it to all online players 2023-11-11 20:50:31 -05:00
Christoph Oelckers
578a398981 use FTranslationID in the 2D code. 2023-11-09 23:04:11 +01:00
Christoph Oelckers
9f90c64727 use FTranslationID in the high level parts of the hardware renderer. 2023-11-09 23:04:11 +01:00
Christoph Oelckers
c426094d54 use translation IDs in the software renderer. 2023-11-09 23:04:11 +01:00
Christoph Oelckers
c5c822ea75 use FTranslationID in the model code. 2023-11-09 23:04:11 +01:00
Christoph Oelckers
8c5eb2c807 use FTranslationID in all places where strict type checking is needed.
This means all properties in serializable classes now use this wrapper type. The backend hasn't been changed yet
2023-11-09 23:04:10 +01:00
Christoph Oelckers
f0c9b1765e gave translations a dedicated scripted type.
This is needed for implementing reliable serialization of custom translations. As long as they are merely ints they cannot be restored on loading a savegame because the serialization code does not know that these variables are special.
2023-11-09 23:04:10 +01:00
Professor Hastig
3781c43aec allow defining zero gravity through MAPINFO 2023-11-09 07:17:16 -05:00
Christoph Oelckers
d5e9783324 fixed bad parameter types in direct native functions.
bool can cause undefined behavior here, these should be int.
2023-11-07 18:06:50 +01:00
Christoph Oelckers
fb6e4becaa added rudimentary support for DSDA's COMPLVL lumo.
This cannot of course set real complevels, so what it does is set all appropriate compatibility flags from the respective preset.
It does leave out a few flags that are preferably left to the user, like infinitely tall actors or wall running.
2023-11-04 12:36:26 +01:00
Ricardo Luís Vaz Silva
06af5f2164 add master levels to game list for steam 2023-11-02 21:41:58 +01:00
Ricardo Luís Vaz Silva
a11346cf66 change which config to look for library folders in
steam changed library config from config.vdf to libraryfolders.vdf, at least on windows, might need a change on posix/i_steam.cpp as well, but i don't have a linux machine, so i can't check there
2023-11-02 21:41:58 +01:00
Christoph Oelckers
299728d3d9 fix copy/paste error in HWWallDispatcher 2023-11-02 21:40:08 +01:00
Professor Hastig
677e1c888b fixed: Skewing to front and back floor was swapped. 2023-11-02 16:27:43 +01:00
alexey.lysiuk
5d12598409 - bumped minimum OS version to 10.13 in .plist file 2023-11-02 11:45:40 +02:00
Ricardo Luís Vaz Silva
e26f9fb13d fix int assign optimization constants generating broken code because they weren't expected 2023-11-01 16:51:26 +01:00
Christoph Oelckers
f1017ef362 fixed DEHSUPP multiple load prevention.
The code in place did not work reliably, it now just checks if the StateMap could be created and if so, skips any subsequent load while only unloading everything in the finalization step.
2023-10-31 13:05:56 +01:00
Christoph Oelckers
61c2f5f8c0 Revert "When compat_floormove is enabled prevent sector floor from lowering if a thing is stuck in the ceiling (vanilla behavior)"
This reverts commit 4ad76f549e.

This broke several maps so the implementation is obviously not correct.
2023-10-31 08:05:36 +01:00
Christoph Oelckers
ad778b0bcc added DSDA's thrust properties for UDMF 2023-10-29 23:18:06 +01:00
Christoph Oelckers
bdee1f3d34 added per-sector sky UDMF properties.
(Hardware rendering only, the SW renderer is not in a state where this is easily done.)
2023-10-29 17:49:59 +01:00
Christoph Oelckers
9a94472650 added friction and colormap related properties from DSDA. 2023-10-29 16:50:20 +01:00
Christoph Oelckers
4ddffd233a added UDMF wall scrolling properties from DSDA. 2023-10-29 16:07:27 +01:00
Christoph Oelckers
2b0731a5a7 implemented DSDA's sector scrolling properties.
The major new additions are flags to specify which kind of actor is supposed to be scrolled and carrying ceiling scrollers.
2023-10-29 13:51:44 +01:00
Christoph Oelckers
2fb41a7956 added all required names for the new DSDA UDMF properties to the list of names. 2023-10-29 08:48:32 +01:00
Christoph Oelckers
12bc9db609 hooked up the per-level colormaps with the hardware renderer. 2023-10-29 08:13:01 +01:00
Ricardo Luís Vaz Silva
e12f2ce0fe Allow setting the colormap from mapinfo (dsda-doom) 2023-10-29 07:40:56 +01:00
Christoph Oelckers
478a832515 fixed handling of DSDHacked sound replacement in the index range between the regular sounds and the MBF21 extensions. 2023-10-28 09:20:56 +02:00
Professor Hastig
4d88e82e32 added Wads.GetLumpLength. 2023-10-26 09:41:27 -04:00
Professor Hastig
77e5fd3081 fixed skewing for lower tiers. 2023-10-26 09:40:31 -04:00
Professor Hastig
a8c1f7a637 always save the map WAD in a savegame's metadata, even if it is from the IWAD
Otherwise the savegame loader will not be able to validate an IWAD savegame while the actual level comes from a different file.
2023-10-26 07:49:17 -04:00
Professor Hastig
1e8b3ea65d fix map WAD check for savegame validation. 2023-10-26 07:49:17 -04:00
Christoph Oelckers
eeac40fffc take most direct drawinfo references out of HWWall. 2023-10-25 21:35:42 +02:00
Christoph Oelckers
1f5df23818 took several functions out of HWDrawInfo.
The only thing they needed from that class is the Level pointer and the light mode, this is better passed in as function argument.
2023-10-25 21:19:58 +02:00
Christoph Oelckers
28400a12f1 fixed savegame file name check.
Writer and reader for the savegame metadata were mismatched so the readback of non-ASCII filenames failed.
2023-10-25 17:27:41 +02:00
Rachael Alexanderson
6d1ebf5f27 - allow FORCEBACKCULLFACES to work with hud models 2023-10-25 10:57:48 -04:00
Professor Hastig
70e4dd17b7 fix UMAPINFO's intermusic being used at the summary screen. 2023-10-25 16:25:24 +02:00
Professor Hastig
82c492f3d7 widen the special field in FBoomArgs.
This code still assumed that all special types fit into 8 bits which is no longer the case.
2023-10-25 16:24:21 +02:00
Professor Hastig
731cad7553 do not print all GL extensions to the log for the GLES renderer. 2023-10-25 16:23:44 +02:00
inkoalawetrust
f3d44f8131 Exposed P_GetMidTexturePosition() to ZScript. 2023-10-25 16:23:29 +02:00
Christoph Oelckers
b48caddb96 reworked the skewing properties.
The Eternity-based definitions are currently disabled due to unclear semantics and overall unsatisfying design. They can be re-enabled once their precise working has been established.
New properties were added to replace them with something that will be clearly specified and is fully ortohonal i.e. they will allow to align an upper tier skew with the floor as well and a lower tier's skew with a ceiling.
2023-10-20 18:14:20 +02:00
Professor Hastig
f92f6b8de4 added wall texture skewing.
This uses the same UDMF properties as Eternity recently introduced for the same feature.
2023-10-20 08:23:56 +02:00
Christoph Oelckers
9cd57faec1 rewrite of HWWalls to allow grabbing the output from the render item generator. 2023-10-19 18:35:51 +02:00
Christoph Oelckers
d65d1a3b82 minor backend update from Raze. 2023-10-17 20:54:27 +02:00
Ricardo Luís Vaz Silva
1957c15a41 give error instead of warning for zscript 4.12+ on return count mismatch 2023-10-15 18:51:05 +02:00
Ricardo Luís Vaz Silva
d699ba248e warn when fewer returns than expected are given for a function 2023-10-15 18:51:05 +02:00
Rachael Alexanderson
e2a9208c56 - fix error in last commit, >> should be << 2023-10-15 11:16:24 -04:00
Rachael Alexanderson
bac12948e5 - add forcecullbackfaces in modeldef 2023-10-14 14:37:40 -04:00
Ricardo Luís Vaz Silva
dccce46d5b allow "&" instead of "out" in function pointer parameters 2023-10-11 19:46:53 +02:00
Ricardo Luís Vaz Silva
c935a95cb0 Add function pointer Properties 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
0e9135132d Allow FindFunctionPointer to return non-virtual methods 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
d9a88d7080 Fix deserialization of methods inside function pointers 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
e61bd10bbf Finish implementing function pointers
Allow using function literals with function pointers, allow narrowing classes parameter types, and widening classes in return types, allow pointers to non-static, non-virtual functions, add null checking to function calls
2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
23c21b23c3 cleanup. 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
0ce4b3e7fb update/cleanup function pointers 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
e3704605d8 Implement Static Function Pointers 2023-10-11 19:12:48 +02:00
Rachael Alexanderson
88b5d9aba1 - fix $PROGDIR expansion being case sensitive 2023-10-10 10:29:01 -04:00
Christoph Oelckers
79f2fc6553 backend update from Raze.
Mainly a VMFunction script type and some associated utilities.
2023-10-09 18:45:30 +02:00
Christoph Oelckers
06466b9017 add missing include to a_quake.cpp.
The GCC AppImage build reported

/usr/bin/ld: CMakeFiles/zdoom.dir/playsim/mapthinkers/a_quake.cpp.o: in function `AActor::Distance2D(AActor*, bool) const':
a_quake.cpp:(.text._ZNK6AActor10Distance2DEPS_b[_ZNK6AActor10Distance2DEPS_b]+0x2c): undefined reference to `AActor::PosRelative(AActor const*) const'
2023-10-08 12:14:50 +02:00
Christoph Oelckers
ac646e96be use copystring instead of strdup when reading environments.
The mismatched the underlying code which allocates via copystring.
2023-10-08 11:54:14 +02:00
Christoph Oelckers
4f5df7b9ef allocate temporary state label strings from the compiler backend's allocator.
They share appoximate lifetime so this gets rid of 3 more copystring calls.
2023-10-08 11:40:34 +02:00
Christoph Oelckers
c8ee0cd5cc fixed another bad string validation check involving GetChars 2023-10-08 09:37:12 +02:00
Christoph Oelckers
56929833f0 fixed two bad validations of FName's. 2023-10-08 09:27:46 +02:00
Christoph Oelckers
448ca88bfd fixed some signed-ness issues. 2023-10-08 08:11:56 +02:00
Ricardo Luís Vaz Silva
bfe589fecd try to fix gcc thinking the vectors are uninitialized 2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva
04c167f181 final final GetChars fix on linux 2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva
f0be58e862 hopefully the last few GetChars fixes for linux 2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva
f4fb583c6c more GetChars fixes in linux/macOS 2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva
c69941e49d fix GetChars in linux/macOS 2023-10-08 07:31:59 +02:00
Christoph Oelckers
6055ff029d the remaining GetChars additions.
The offending operator const char * no longer exists.
2023-10-07 23:44:01 +02:00
Christoph Oelckers
7a5a2858a2 yet even more GetChars calls added. 2023-10-07 23:29:24 +02:00
Christoph Oelckers
c94c63110e added a third batch of GetChars call to FStrings. 2023-10-07 23:03:40 +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
Ricardo Luís Vaz Silva
5e96dbc981 Add final and sealed as class options 2023-10-07 17:29:29 +02:00
Ricardo Luís Vaz Silva
42df40941c change version, improve errors for array/map/struct copy 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
b9104e8aa9 Turn Map/Array assignments into Copy
Better error checking for struct assignment

Lock assignments behind version, don't break or "fix" existing code using older ZScript versions
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
a13b19815c allow "&" instead of "out" in function parameters 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
7a9ca1ad3f Allow dumping jit for mod functions only 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
3cb8f1be44 Don't try to generate code for abstract functions during JIT dump 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
fa8df5a4e5 make Array::Append faster for simple structs
This makes appending arrays of simple types faster
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
65ea4f91b6 fix TMap move insertion, was using the copy constructor due to a missing std::move 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
b60b3fc09a fix PStruct::AddField not passing mDefFileNo 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
86e4d064e2 fix possible null dereference in FxStructMember::RequestAddress 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
fad350ff80 Make sure maps in return type don't segfault 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
3fc195c5b2 Improve handling of field names in error messages during Map/MapIterator compilation 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
87fcaab512 Fix Typo in Comment 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
766c61b3ed Deduplicate Map/MapIterator Types' Code 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
3e7de9aafa Fix inheritance for bNoSaveGame 2023-10-05 16:44:12 +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
Christoph Oelckers
48ba63c022 added even more explicit GetChars() calls. 2023-10-03 15:55:08 +02:00
Christoph Oelckers
1717ff47b2 add GetChars() accessors to many FString uses where const char* is wanted.
By no means complete, it's just a start to get rid of that automatic type conversion operator.
2023-10-03 14:27:39 +02:00
alexey.lysiuk
a3eb1ec1fd - fixed compilation with Clang
src/console/c_cmds.cpp:1310:40: error: cannot pass non-trivial object of type 'FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2023-10-02 10:24:24 +03:00
Christoph Oelckers
a7258de82e print proper level and music names for mapinfo CCMD 2023-10-01 23:38:14 +02:00
Rachael Alexanderson
99fac235eb - make clang happy 2023-10-01 20:36:12 +02:00
Rachael Alexanderson
a53d3d6a6e - add 'mapinfo' ccmd 2023-10-01 20:36:12 +02:00
Rachael Alexanderson
d33f2697a3 - set default backend to Vulkan, if Vulkan fails go GLES not OpenGL 2023-10-01 10:35:11 -04:00
alexey.lysiuk
678cab7994 - fixed DumpCPUInfo() definition for non-x64 platforms
fix #2188
2023-09-26 09:48:11 +03:00
Professor Hastig
3d6664c28e fix DSDHacked state creation.
Several problems here:

* the crucial call did not override 'mustexist'.
* once created an extended stare would not be looked at anymore.
* extended states received no usage flags.
2023-09-25 16:10:10 +02:00
Professor Hastig
22e8bea91b fixed actor class creation for DSDHacked
* the did not get defaults assigned.
* the RETARGETAFTERSLAM flag must also be set for newly created classes here
2023-09-25 16:10:10 +02:00
Christoph Oelckers
79831526cd - disable survey code again. 2023-09-25 00:08:12 +02:00
Christoph Oelckers
7491361863 - do some cleansing of the GPU string and add CPU name when only getting an anonymous series name.
The cleansing is mainly for AMD's Linux drivers which report too much extraneous info here.
The CPU name helps when classifying anonymous iGPU series.
2023-09-24 22:20:50 +02:00
Christoph Oelckers
955b8bae1a Revert "Add more information in saved game comments"
This reverts commit 56c2bd018d.

Considering the follow-up I think it's best to scrap this.
2023-09-21 19:26:56 +02:00
Rachael Alexanderson
00e0a9fd76 - address GCC error in d_anonstats.cpp 2023-09-20 23:58:30 -04:00
Hugo Locurcio
ffcfec66b3 Store kills/items/secrets in save comment only if visible on HUD
This prevents spoiling levels when the HUD information is disabled.

This change is not retroactive: it has no effect on existing savegames.
You need to save again for this change to have an effect.
2023-09-20 23:51:58 -04:00
Christoph Oelckers
5870ec2e7a - fix missing prototype in Linux 2023-09-20 23:58:01 +02:00
Christoph Oelckers
7f9df12431 - Survey: return more meaningful info for current OS and Vulkan version. 2023-09-20 20:03:07 +02:00
Christoph Oelckers
b3cb2fafc7 stats 2023-09-20 19:49:54 +02:00
Cacodemon345
ba9ce0e83f Switch to miniz from zlib 2023-09-17 23:52:51 +02:00
Rachael Alexanderson
9b3409b28d - update stats script 2023-09-17 06:13:21 -04:00
Rachael Alexanderson
25e9561279 - change anonstats cvars in order to allow easier updates to them in the future 2023-09-17 04:46:06 -04:00
Christoph Oelckers
084301f4d6 - refined light mode selection.
This is to ensure that if the map specifies light mode Doom (i.e. hardware approximation of software lighting) it is not overridden by the user-selected software emulating light mode.
gl_lightmode should only apply if neither the map nor gl_maplightmode set an explicit light mode.
2023-09-17 08:40:36 +02:00
Christoph Oelckers
5f11fd051b - fixed the overlapping sector handler in hw_fakeflat.cpp.
this picked the wrong plane as the proper texture cutoff.
2023-09-16 22:17:09 +02:00
Christoph Oelckers
f7c379b720 - fixed: The UDMF loader did not adjust the floor/ceiling overlap state after processing UDMF sector plane properties. 2023-09-16 21:55:35 +02:00
Christoph Oelckers
d596e5a8fa - fixed: EV_DoDonut checked the wrong compatibility variable.
This missed all map specified flags.
2023-09-16 21:35:01 +02:00
Christoph Oelckers
e86de4463f fixed CheckswitchRange logic for multiple switches on a line. 2023-09-16 21:06:10 +02:00
Christoph Oelckers
f55e388d3f - add description to gl_lightmode 2023-09-16 12:09:57 +02:00
Christoph Oelckers
7fbd99ca0f - fixed flags for gl_lightmode.
With how this is being handled now, the CVAR needs to have the CVAR_GLOBALCONFIG flag and CVAR_NOINITCALL unset or it simply won't work right.
Since its meaning has completely changed now (i.e. it's mainly a performance switch to a less demanding implementation instead of being able to select vastly different lighting methods) making it global is more sensible.
2023-09-16 12:06:42 +02:00
Christoph Oelckers
23ffaaecb0 - changed last commit to not translate the text written to the savegame info.
This would be a bit problematic if it was transferred to other systems if the source language cannot be understood.
2023-09-16 11:45:00 +02:00
Hugo Locurcio
56c2bd018d Add more information in saved game comments
Save games now store kills/items/secrets and player health/armor
in the comment string, which is displayed in the save/load game menu.

This change is not retroactive: old savegames will not display
this information until they are overwritten.
2023-09-16 11:42:29 +02:00
John Stebbins
bd4f4f739a Fix gameinfo load from same directory as file containing gameinfo lump
Fixes scenario 2 in https://github.com/ZDoom/gzdoom/issues/2011#issuecomment-1440997829
2023-09-16 10:53:53 +02:00