Commit graph

18902 commits

Author SHA1 Message Date
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
Christoph Oelckers
ea51c92fda - validate partner seg index in LoadGLZSegs before using it
KDiZD Z1M10 has something bogus in there, this case will now trigger a node rebuild.
2023-09-16 09:48:43 +02:00
Christoph Oelckers
71cc93f42c - fixed: ZScript's lump reader may not truncate strings at 0 bytes, like all other callers of GetStringFromLump need. 2023-09-16 07:44:58 +02:00
Magnus Norddahl
45a2cbe081 Update zvulkan to latest version 2023-09-16 00:32:15 -04:00
Christoph Oelckers
ef79ec193f - let P_CheckSwitchRange always check all 3 tiers.
To account for cases that a switch is unreachable but another tier got a reachable one.
2023-09-15 22:33:03 +02:00
Christoph Oelckers
b082c50502 - fixed doublebind check with automap.
When no doublebinds get passed to C_DoKey it may not set the doubleclick flag.
For the automap C_DoKey gets called twice, once with the automap bindings and once with the regular bindings and doubleclicks.
2023-09-15 22:00:05 +02:00
Christoph Oelckers
7f7edc4f72 - clear the Dehacked string table after passing it to GStrings.
For some reason std::move does not work here so make sure it won't stick around.
2023-09-15 21:46:53 +02:00
Christoph Oelckers
d001c3464d - removed another bad assert from codegen.cpp 2023-09-15 20:51:05 +02:00
Christoph Oelckers
cd31c74ecc - stop all cutscenes before the ENDOOM screen. 2023-09-15 20:48:39 +02:00
Professor Hastig
85ba35a1f1 - fix Strife-style startup asset check.
The STARTUP0 check is not only redundant but also was wrong. It already gets checked and validated in the asset loading loop, and this up-front check did not handle placement as a graphic.
2023-09-15 19:44:12 +02:00
Christoph Oelckers
eb93c764ee - restrict msglevel filtering only to the notify display, not the console, log and debug output. 2023-09-15 00:40:41 +02:00
Christoph Oelckers
096b9cdc4f - fixed. Boom's generalized crushers must stop 8 units above the floor
This required changing the special, so a new one was added to avoid altering Generic_Crusher.
2023-09-15 00:35:20 +02:00
Sally Coolatta
15521e5181 Fix a very rare crash with complex Polyobjects
If all of the worst stars align when compiling Polyobject BSP and splitting a seg into two sets:
- The very first seg in the current set fails all of the metrics for determining which side of a split it is on, and doesn't know which side it should go to. Since there are 0 are in front, it goes to front by default.
- Every other seg in the same set don't fail their metrics, and they all decide they are meant to go to the front side.
- Oops! Now there's nothing in the back side!
I've fixed this by collecting all of the undecided segs in a split, and setting the new side after the other segs. Doing it in the normal loop means there's a non-zero chance the crash prevention will fail depending on how the segs are in memory.

This can technically happen with even the most simplistic Polyobjects, but it becomes more common the more complex it is (add tons of lines, move and rotate it at the same time, so on). Quite an annoying crash since it doesn't always replicate consistently.
2023-09-15 00:13:22 +02:00
Gutawer
23b489960e - put DTA_Localize at the end of the enum for backwards compat with integer usage 2023-09-14 23:24:42 +02:00
Gutawer
44d134298a - add support for not localizing some text functions, and modify menu text fields to use this 2023-09-14 23:24:42 +02:00
Christoph Oelckers
04815f9db4 - let Dehacked set the implicit missile flags. 2023-09-14 23:08:59 +02:00
Christoph Oelckers
4fd5f00c4b - made all FileReader implementations 64 bit capable. 2023-09-14 21:45:38 +02:00
Christoph Oelckers
139d1a7eb6 - use wrapping fixed point conversion for SW rendering coordinates. 2023-09-14 20:34:28 +02:00
Christoph Oelckers
6847a9a5c1 - added a nomirrors compatibility handler and applied it to Conf256's CONF55 map.
This is for disabling broken plane reflection setups.
2023-09-14 20:21:35 +02:00
Nikolay Ambartsumov
4ad76f549e When compat_floormove is enabled prevent sector floor from lowering if a thing is stuck in the ceiling (vanilla behavior) 2023-09-14 20:06:51 +02:00
Christoph Oelckers
30c2524742 - validate text data before drawing the console. 2023-09-14 16:45:06 +02:00
Christoph Oelckers
ffa7891719 - remove pointless assert. 2023-09-14 16:39:21 +02:00
Professor Hastig
a5e1f3bcad - fixed M_GetSavegamesPath for Linux. 2023-09-14 16:31:48 +02:00
Ricardo Luís Vaz Silva
0e70e95fa4 Add Inventory::ModifyBob and Inventory::ModifyBob3D 2023-09-14 16:28:38 +02:00
Ricardo Luís Vaz Silva
e61ab4cbe2 Expose OF_Transient to actors as bNoSaveGame 2023-09-14 16:28:23 +02:00
Ricardo Luís Vaz Silva
9f24d8babc Move StartGameDirect from PlayerMenu to Menu 2023-09-14 16:28:08 +02:00
Ricardo Luís Vaz Silva
133fbf1390 Disallow starting a new game during a netgame 2023-09-14 16:28:08 +02:00
Ricardo Luís Vaz Silva
736d38e8c3 add StartGameDirect function 2023-09-14 16:28:08 +02:00
Professor Hastig
fbf7d1025a - fixed bad clamp in software renderer
This one can have its upper bound below its lower bound which triggers the validation within std::clamp.

Fixes #2125
2023-09-14 05:11:02 -04:00
Christoph Oelckers
52ec2b2a5b - listsounds CCMD 2023-09-13 21:10:08 +02:00
Christoph Oelckers
0980b53881 - fixed: MBF21's BOSS flag implies NORADIUSDMG. 2023-09-13 20:48:57 +02:00
Christoph Oelckers
2fe0a7c60d - fixed sound issues with DSDHacked.
* forward declarations must be allowed.
* this must disable map-local SNDINFOs because the added sounds would get lost otherwise.
2023-09-13 18:44:14 +02:00
Christoph Oelckers
f72da434a8 - fixed: For Dehacked, A_CPosAttack needs to use a hard coded attack sound.
This discrepancy is ancient, so the approach used for the shotgunner does not work here and some hacks are needed to remap the function only for Dehacked.
2023-09-13 17:50:47 +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
b75a8ed8ff - removed pointless heap allocation that never was freed. 2023-09-11 23:22:24 +02:00
Christoph Oelckers
99f17f2dce - fixed several issues with parsing DSDhacked 2023-09-11 23:22:24 +02:00
Christoph Oelckers
7f61266621 - fixed memory leaks in file system management 2023-09-11 23:22:24 +02:00
Christoph Oelckers
bdd02d9b2c - implemented the remaining dynamic structures of dsdhacked 2023-09-11 23:22:24 +02:00
Christoph Oelckers
24d57b58c5 - dsdhacked: Allow dynamic creation of new actors 2023-09-11 23:22:24 +02:00
Christoph Oelckers
b44741b8aa - dsdehacked: allow dynamic creation of new states. 2023-09-11 23:22:23 +02:00
nashmuhandes
99983b37ca Update ZDRay UDMF specs and remove deleted features. 2023-09-11 20:09:16 +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
a44f7a72ca - fixed voxel loader 2023-09-10 21:31:53 +02:00
Christoph Oelckers
f6c3ce6b15 - fixed several line ID functions accessing the sector tag array. 2023-09-10 11:45:23 +02:00
Ricardo Luís Vaz Silva
bf0e74447d add float.equal_epsilon and double.equal_epsilon 2023-09-07 10:19:10 -04:00
Christoph Oelckers
de770faeb1 - disabled nosectionmerge because it doesn't work right. 2023-09-06 21:47:20 +02: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
ef8fd472a8 - fixed bad virtual override in FSheetTexture. 2023-09-03 19:52:53 +02:00
Christoph Oelckers
4baabf98c4 - use stb-image for JPEG decoding.
the statically provided library did not provide any advantage over it whatsoever and even libjpeg-turbo's better performance cannot really play out here so ease of use and getting rid of a dependency wins.
2023-09-03 08:34:58 +02:00
Ricardo Luís Vaz Silva
d0a955fef0 Allow disabling colors for NameAllKeys 2023-09-01 18:25:22 +02:00
inkoalawetrust
520b6af947 Added some null pointer checks to prevent crashes. 2023-08-31 19:51:06 +02:00
Christoph Oelckers
ccd39d6df7 - code cleanup 2023-08-25 20:07:48 +02:00
Christoph Oelckers
afecb1ca0f - avoid high stack usage in anmtexture.cpp
MSVC warned about this one.
2023-08-25 20:07:48 +02:00
alexey.lysiuk
af3afca658 - fixed game sources variable in CMake
CMake Error at src/CMakeLists.txt:1233 (add_executable): No SOURCES given to target: zdoom
2023-08-24 13:35:10 +03:00
Christoph Oelckers
e0b3bdaadc - fixed directory loader. 2023-08-23 22:09:58 +02:00
Christoph Oelckers
c6e2e0add2 - fix compilation 2023-08-23 18:26:42 +02:00
Cacodemon345
7c90ea6b84 - Convert the entire image backend infrastructure to be animation-friendly 2023-08-23 18:18:45 +02:00
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
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
Cacodemon345
145450a044 WebP image support 2023-08-22 19:14:21 +02:00
alexey.lysiuk
ae2fa11963 - added safeguards against very early access to console variables in Cocoa backend
for an unknown reason, application activation functions can be called way too early during app launch
`S_SetSoundPaused()` function tries to read values of `i_pauseinbackground` and `i_soundinbackground` console variables before their initialization leading to a null pointer dereference

https://forum.zdoom.org/viewtopic.php?t=78092
2023-08-22 14:58:06 +03:00
Cacodemon345
22271d146a Switch to vcpkg for library dependencies 2023-08-21 21:12:00 +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
9b790d23a8 - optimization of WideString and FileReader::Printf.
Both now omit the intermediate FString as the target buffer can be directly written to.
WideString was also moved to utf8.cpp/h to uncouple from zstring.
2023-08-17 18:45:33 +02:00
Cacodemon345
a4573b4ad1 Fix QOI image loading 2023-08-17 08:56:50 -04:00
Cacodemon345
2261dde791 Fix for Clang compilers 2023-08-14 19:30:50 +02:00
Cacodemon345
ce8753c6e1 Replace cxx_thread_local check 2023-08-14 19:30:50 +02:00
Cacodemon345
14a3cf8fc2 CMakeLists upgrade to 3.16 and cleanup
* Remove precompiled header hack
* Fixes for compilation on VS2022 Debug configurations
2023-08-14 19:30:50 +02:00
Christoph Oelckers
74b3d8e0a0 - optimized the QOI loader
* removed the intermediate pixel buffer
* instead of calling the file API for each single byte, load it into a buffer and use direct memory access. Using a file API like this can be magnitudes slower, depending on the underlying data.
* don't store the header in the image source object, it is never used again after validatipn.
2023-08-13 19:03:20 +02:00
Cacodemon345
c727e40e6c Add support for QOI image formats 2023-08-13 06:04:15 -04:00
Cacodemon345
fe7beaaf17 Add support for HDR canvas textures
Vulkan only.
2023-08-12 06:46:05 -04:00
Christoph Oelckers
b695e845e1 - eliminated several pointless string copies in network code. 2023-08-12 10:56:34 +02:00
Christoph Oelckers
46473b45da - use an FString to store the source for DHUDMessage 2023-08-12 10:29:04 +02:00
Christoph Oelckers
a675e4add8 - removed unused ReplaceString function. 2023-08-12 10:28:18 +02:00
Christoph Oelckers
16cefb7528 - some angle cleanup
* clean out the angle conversion helpers from basics.h.
* use degrees instead of radians in TMatrix3x3.
2023-08-12 10:10:27 +02:00
Christoph Oelckers
0c9b652583 - moved EStateUseFlags to a more fitting header and deleted unused RAD2BAM inlines 2023-08-12 09:38:41 +02:00
Christoph Oelckers
b5c1237f93 - removed NOVTABLE #define.
This was used on just two small base classes, the overall savings are zero.
2023-08-12 09:31:33 +02:00
Rachael Alexanderson
d99ed7628c - fix: always update psprite scaling 2023-08-10 02:07:31 -04:00
nashmuhandes
1e0309ea10 - block the centerview CCMD if the player has TOTALLYFROZEN. This is deliberately done this way, instead of placing the check inside PlayerPawn::CheckPitch, because there may be other situations where we don't want to block the centering function (APowerFlight::EndEffect being one such case)
- also while I'm in this file, fix code styling for another one of my previous submissions
2023-08-09 09:17:20 -04:00
Christoph Oelckers
a46c0a52b6 - re-added the UTF-8 char formatter which is needed for ZScript. 2023-08-09 11:52:08 +02:00
Christoph Oelckers
fdad3186a6 - replaced zstrformat with stb_sprintf.
The main advantage here is that this allows to get rid of the gdtoa dependency, it is also preferable to have some code here that's being maintained.
Feature-wise both are mostly identical, stb also support MSFT integer size modifiers and hexadecimal floats.
2023-08-09 11:51:46 +02:00
Christoph Oelckers
479795abe2 - fix duplicated variable resulting in an assert on startup.
static definitions in headers are evil! Don't do that!
2023-08-09 10:12:16 +02:00
Christoph Oelckers
d3fa699782 - updated stb_image.h. 2023-08-09 08:25:04 +02:00
Christoph Oelckers
979f4311fa - moved stb_image.h to third party folder. 2023-08-09 08:22:47 +02:00
RaveYard
ea4ffa10e5 A_Chase CHF_DONTLOOKALLAROUND 2023-08-07 11:31:08 -04:00
Rachael Alexanderson
5e5315a9b3 - silence warnings in shadowinlines.h line 88 2023-08-03 13:13:40 -04:00
Ricardo Luís Vaz Silva
1852f14f30 fix rare crash due to null caller 2023-08-02 01:05:24 -04:00
Ricardo Luís Vaz Silva
bcbb85b1dd Add Weapon::ModifyBobLayer , Weapon::ModifyBobLayer3D and Weapon::ModifyBobPivotLayer3D 2023-08-02 01:05:24 -04:00
Ricardo Luís Vaz Silva
e6124627e4 allow explicit casts between vectors of different underlying types 2023-08-02 01:05:24 -04:00
Ricardo Luís Vaz Silva
9d0beeaafe Fix formatting for P_BobWeapon3D 2023-08-02 01:05:24 -04:00
Player701
eec08f0e24 - hopefully fixed the "is" operator to work with readonly pointers. 2023-08-02 00:42:40 -04:00
Boondorl
5a74e79b92 Added bounce virtual 2023-08-02 00:42:06 -04:00
Boondorl
fe1acc7f40 Localized fix to its own field 2023-08-02 00:41:39 -04:00
Boondorl
0cbbaece3b Fixed BlockingLine giving erroneous results
Fixed BlockingLine not clearing properly when xy velocity is 0
2023-08-02 00:41:39 -04:00
Ricardo Luís Vaz Silva
0149940a2a Add missing returns for untagged lines/sectors 2023-08-02 00:41:10 -04:00
Ricardo Luís Vaz Silva
793d6af5d1 add CountSectorTags/CountSectorTags/CountLineIDs/GetLineID 2023-08-02 00:41:10 -04:00
Boondorl
239a288a9a Exported reflection functionality
Localized reflection code to a single function. Fixed an error where NOSHIELDREFLECT was being checked on the wrong Actor. Fixed an oversight where MIRRORREFLECT was checking for valid target despite not needing one.
2023-08-02 00:40:01 -04:00
inkoalawetrust
150e893c67 Added ShadowAimFactor and ShadowPenaltyFactor.
These properties allow to specify how much an actors' aim is degraded when shooting at a shadow actor. And how much the shadow actor itself affects the shooters' aim, respectively.
2023-08-02 00:39:35 -04:00
inkoalawetrust
814c6f2188 Added MF9_SHADOWAIMVERT.
This flag causes the vertical aiming of monsters to also be affected when they aim at shadow actors.
2023-08-02 00:39:35 -04:00
inkoalawetrust
c729b831af Added MF9_SHADOWBLOCK.
Actors in the line of fire with this flag trigger the MF_SHADOW aiming penalty. The shooter needs to have MF9_DOSHADOWBLOCK to check for actors with this flag.
2023-08-02 00:39:35 -04:00
inkoalawetrust
162dbf0554 Added MF9_SHADOWAIM.
This flag allows actors with MF6_SEEINVISIBLE to still get an aim penalty by trying to shoot at a shadow actor.
2023-08-02 00:39:35 -04:00
inkoalawetrust
d882a41824 Added a ninth actor flag field. 2023-08-02 00:39:35 -04:00
inkoalawetrust
5b98eade91 Moved all the handling of MF_SHADOW for attacks into its' own file.
Also changed all the individual flag checks into one generic inline function.
2023-08-02 00:39:35 -04:00
inkoalawetrust
a7f76fe8b9 Added damage property to earthquakes.
When this property is set to any value above 0. The earthquake does the exact amount of damage specified, instead of a random amount.
2023-08-02 00:38:24 -04:00
inkoalawetrust
a38b151940 Added damage and thrust multipliers to quakes.
These properties allow for scaling the amount of damage an earthquake does and how much it pushes actors around.
2023-08-02 00:38:24 -04:00
inkoalawetrust
8d95138735 Added QF_DAMAGEFALLOFF.
This flag makes it so that the damage and actor thrusting of earthquakes fades with distance like the screen shake effect does.
2023-08-02 00:38:24 -04:00
inkoalawetrust
194f73a94b Added (XF/RADF)_CIRCULAR.
This flag makes explosions use a spherical radius, instead of a cubic one. Only took almost 30 years.
2023-08-02 00:37:58 -04:00
inkoalawetrust
ca1f3ac580 Added (XF/RADF)_NOALLIES.
This flag allows explosions to not harm any actors that are friendly to its' source.
2023-08-02 00:37:58 -04:00
inkoalawetrust
6489b05db9 Added (XF/RADF)_THRUSTLESS.
This flag allows for explosions that do not thrust any of the actors caught in the blast.
2023-08-02 00:37:58 -04:00
Ricardo Luís Vaz Silva
6164d883c9 Fix Linux compilation 2023-08-02 00:37:24 -04:00
Ricardo Luís Vaz Silva
0192392256 Individual Joystick Enable/Disable Toggles 2023-08-02 00:37:24 -04:00
James Le Cuirot
b95dbaf914 Ensure local headers are used over system headers to avoid breakage
types.h was being picked up from webp rather than locally due to the
`include_directories` call for GTK (and therefore its -I arguments)
coming before the same call for the local sources. webp can be pulled in
via GTK -> gdk-pixbuf -> tiff -> webp.

This can be avoided by specifying `SYSTEM` or `BEFORE` as appropriate
when calling `include_directories`. I have done both for good measure.
2023-08-02 00:22:50 -04:00
RaveYard
98f4beabe8 Ignore UDMF lightmap keywords on sidedef as per ZDRay implementation 2023-08-02 00:22:17 -04:00
alexey.lysiuk
62f37079a7 - fixed compilation with Clang
src/common/scripting/backend/vmbuilder.cpp:869:88: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
src/common/scripting/backend/vmbuilder.cpp:916:85: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
2023-07-22 13:22:53 +03:00
Christoph Oelckers
81fb9a26b2 - backend update from Raze.
* add QualifiedName to VMFunction and allocate these static names from the class data memory arena instead of using FStrings.
* null pointer type checks in the VM added to avoid crash on bad codegen.
2023-07-22 09:55:49 +02:00
Christoph Oelckers
f9a86c595c - fixed getRealLightmode: don't overwrite level->info->lightmode. 2023-07-21 14:55:59 +02:00
Joshua Watt
d2ac72129d posix: sdl: Stop reading STDIN on EOF
If EOF is read on stdin (such as when it is /dev/null), stop calling
select() on it. Otherwise, the code goes into an infinite loop
attempting to read from stdin which is always ready but never has any
data and it never calls the timer callback to progress.
2023-07-17 22:57:28 +02:00
Professor Hastig
4b49d9d185 fixed bad operator 2023-07-17 22:50:05 +02:00
Professor Hastig
666a99f204 lightmode refactor
* make all legacy light modes except 'Doom' MAPINFO only. A CVAR still exists for testing but its value won't be saved to the config.
* user can only select between "performance', 'software' and 'vanilla'. 'performance' is the old 'Doom' mode which is still needed to speed things up on low end hardware.
* MAPINFO can not enforce any of the two software light modes, as low end users require the option to change this to the 'performance' setting. Selecting one will always revert to the user's light mode selection.
2023-07-17 22:50:05 +02:00
nashmuhandes
be2616ca97 Fix missing serialization of LevelLocals' flags3 2023-07-15 20:05:39 +02:00
Jacob Alexander Tice
bcfa43b7d6 Replace .local/share/Steam with .steam/steam
.local/share/Steam doesn't exist on all distros, but .steam/steam does.
2023-07-05 21:40:32 -04:00
Ricardo Luís Vaz Silva
7235058f09 scan secondary library folders on windows 2023-07-05 21:28:42 -04:00
Ricardo Luís Vaz Silva
7e8bb6ea30 fix steamapps folder case 2023-07-05 21:28:42 -04:00
Professor Hastig
602c7c4e24 fix UMAPINFO boss action clearing.
This did not handle the case where the actions were cleared without adding new ones and also did not clear the MBF21 boss action flags.
2023-07-05 09:17:37 -04:00
Ricardo Luís Vaz Silva
71d4eb66f2 Clear Services Map during VM Shutdown 2023-06-28 20:19:43 +02:00
Ricardo Luís Vaz Silva
a8b8de94d6 misc cleanup/fixes 2023-06-26 23:28:26 +02:00
Ricardo Luís Vaz Silva
abcc0421e4 Fix size miscalculation for surfaceSkinIDs 2023-06-26 23:28:26 +02:00
Ricardo Luís Vaz Silva
c6978c23ab Disable FName as a native parameter 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
0e438f10f3 fix CMDL_HideModel 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
49eae74272 assert that FName is a POD and as such is passed directly on registers, so that if it changes to be a non-pod, it won't silently break parameters 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
61d68eb2d6 Rewrite changed model rendering code, and change how model skins are handled 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
b55ffdbfd3 major A_ChangeModel cleanup 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
5b85557ddb add TArray::AppendFill for appending a single value multiple times 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
30e7b30c45 Simplify DirectNativeDesc, allow FName as a native parameter 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
7dda6570ec remove memory leak in A_ChangeModel 2023-06-26 00:36:36 -04:00
Rachael Alexanderson
bc41356b35 - minor formatting fix 2023-06-19 04:38:35 -04:00
l2ksolkov
01dfcc7d95 Fix compilation on FreeBSD
Fixes #2073
Changes get_current_dir_name to functionally equivalent getcwd. Also moves "printf.h" to outside linux ifdef.
2023-06-19 04:31:18 -04:00