Commit graph

9988 commits

Author SHA1 Message Date
Christoph Oelckers
6f50708651 - fixed: A single sight check iteration may not succeed if origin and end point are in different portal groups. All those may do is collect more portals. 2017-01-08 19:45:36 +01:00
Christoph Oelckers
f2ef270042 - fixed: The check for virtual function overrides was never done if the overriding function had no qualifier at all.
- fixed several occurences where an 'override' qualifier was missing.
2017-01-08 19:45:36 +01:00
Christoph Oelckers
748b1a6f66 - fixed bad variable assignment in Heresiarch. 2017-01-08 19:45:36 +01:00
Christoph Oelckers
0bdc2f59ad - added new Stairs_BuildUpDoomCrush special from Eternity and used it to fix the bad implementation to make Doom's turbo stairs crush. This also removes the crushing from Generic_Stairs entirely, just like it was in Boom. 2017-01-08 19:45:09 +01:00
Christoph Oelckers
7f59f00f59 - this is version 2.3.1 2017-01-07 14:30:26 +01:00
Christoph Oelckers
7cf7ebaf6d - fixed: A_SetInventory must check for voodoo dolls and delegate the action to the real player because it will always break the real player's inventory if done so. 2017-01-07 14:29:04 +01:00
Christoph Oelckers
362551e58d - floatified the translucency values in particle_t to elimintate the gross inaccuracies with fadeout time.
- widened ttl variable in particle_t to short to allow longer living particles than 6 seconds.
- reordered fields in particle_t to reduce struct size a bit.
2017-01-07 13:13:16 +01:00
Christoph Oelckers
8b001956ad - fixed: initialization of local vector variables did not properly allocate registers if the initializer was a subelement of another local vector variable. 2017-01-07 11:36:57 +01:00
Christoph Oelckers
fd0681edda - fixed some edge cases with visible player sprites through non-static line portals. This required reinstating some code which I thought was no longer needed. 2017-01-07 01:07:35 +01:00
Christoph Oelckers
76153dbccc - let the prediction code handle all 4 threaded lists an actor gets linked into.
This is mostly a straight refactoring of the existing code to work independently of specific member variables in the involved classes, using a bit of template magic to avoid redundancy and moving the work code into subfunctions.
It still needs some testing to see if it a) helps fix the crash issues and b) doesn't break anything-
2017-01-06 18:20:36 +01:00
Christoph Oelckers
6c1fcdc34b - use a memory arena to allocate msecnodes.
These are rather small and extremely frequently allocated, so they are prime candidates for memory arena, because it not only avoids fragmentation and internal overhead due to mass allocation of small memory blocks but it also makes it a lot faster to free the memory when finishing a level.
2017-01-06 18:20:36 +01:00
Christoph Oelckers
09419524f7 - moved the msecnode code to its own file.
Note that this originates from Boom so it needs to keep the Doom license.
2017-01-06 18:20:35 +01:00
Christoph Oelckers
7af6bb4da0 - renamed a few variables for clarity. 2017-01-06 18:20:35 +01:00
alexey.lysiuk
3dcbbcb514 Added virtual destructor to FPresentShaderBase class
No more 'delete called on non-final class that has virtual functions but non-virtual destructor' warnings reported by GCC/Clang
2017-01-06 18:20:35 +01:00
Christoph Oelckers
9aa49a9199 - fixed uninitialized variable warning in codegen.cpp 2017-01-06 18:20:34 +01:00
Christoph Oelckers
b865e9ce02 - only print GL extensions to the log, but not to the console.
The list has become so long by now that it's more of a distraction than help. Besides, searching on-screen for specific extensions is futile anyway.
2017-01-06 18:20:34 +01:00
Christoph Oelckers
50af195e45 - fixed check for Mesa driver. 2017-01-05 11:50:45 +01:00
Christoph Oelckers
aa356fcd00 - fixed: The CheckReturn check for FxSwitchStatement was not strict enough.
It may only return true if there is no default case because without that any non-matching value will go past the statement.
2017-01-05 11:45:18 +01:00
Christoph Oelckers
303a192349 - fixed: portal offsets at frame start were not applied to ViewActorPos. 2017-01-05 11:45:18 +01:00
Christoph Oelckers
40cc745424 - fixed: The default minimum and maximum distances for A_Teleport were swapped. 2017-01-05 11:45:17 +01:00
Rachael Alexanderson
25b8370ae2 - Made WadSmoosh detection a lot stricter. 2017-01-05 11:45:17 +01:00
Rachael Alexanderson
ddac3fa391 - Wildweasel pointed out that WadSmoosh generates a "SMOOSHED" lump. http://forum.zdoom.org/viewtopic.php?p=967226#p967226 2017-01-05 11:45:16 +01:00
Rachael Alexanderson
b5bc84feea - Made WadSmoosh detection more flexible (since it doesn't necessarily require MAP01 to be present). 2017-01-05 11:45:16 +01:00
Rachael Alexanderson
8da48c8697 - Added Wadsmoosh detection. 2017-01-05 11:45:16 +01:00
Christoph Oelckers
5418021e46 - fixed: Dehacked must flag all states it touched for use in weapons. 2017-01-05 11:45:15 +01:00
Christoph Oelckers
4f868f53b1 - completed attenuation for Heretic. A few items were intentionally left unattenuated. 2017-01-05 11:45:15 +01:00
Christoph Oelckers
1f80203638 - fixed a few Freedoom light definitions. 2017-01-05 11:45:15 +01:00
Christoph Oelckers
73433566ef - fixed: 'out' parameters must always allocate an address register, regardless of type. 2017-01-05 11:45:14 +01:00
Christoph Oelckers
4fb44dffeb - disabled OpenGL 3.0 on the Open Source Mesa driver for Linux because it appears to be broken. 2017-01-05 11:45:14 +01:00
Christoph Oelckers
f8fa6294d2 - added attenuation to ca. 40% of Heretic's light definitions. 2017-01-05 11:45:13 +01:00
Christoph Oelckers
28f9e0314e - fixed typo in A_BrainSpit. 2017-01-05 11:45:13 +01:00
Christoph Oelckers
76c9ca89bd - fixed: The check for explicitly not splitting wall polygons at seg vertices was inverted. 2017-01-05 11:45:13 +01:00
Christoph Oelckers
a87d984c47 - fixed: The conditional operator could clobber a local variable if it was the result of the true expression. 2017-01-02 22:31:02 +01:00
Christoph Oelckers
b7dc899cfe - fixed: PPointer was unable to handle pointers to class types for savegames. 2017-01-02 22:31:02 +01:00
Christoph Oelckers
9f4abcec89 - use the attenuated light definitions from QZDoom.
- apply them also to Freedoom.
- to compensate for the increase in light size required for attenuated lights to look correct, when running in legacy mode, they to be reduced in size to 2/3 of their defined size because the textured lighting method does not support real attenuation.
- removed the ancient size limit of 255 for light sizes which comes from a time when args were bytes.
2017-01-02 11:41:27 +01:00
Christoph Oelckers
d85496db5f - parse GLDEFS and its game-specific variants in lump order instead of both names sequentially. 2017-01-02 00:42:53 +01:00
Christoph Oelckers
e8356bc13d - let SBARINFO treat 'null' as 'untranslated'. Strictly speaking this wasn't a bug but apparently some people tend to use 'null' as a general placeholder for 'nothing', even where not intended. 2017-01-02 00:42:52 +01:00
Christoph Oelckers
9899c589d6 - re-added the glow properties for UDMF which somehow got lost. 2017-01-02 00:42:52 +01:00
Christoph Oelckers
46093cad14 - fixed: FLightDefaults::ApplyProperties must always validate the light's radius. 2017-01-01 17:50:13 +01:00
Christoph Oelckers
4898bec12d - fixed: The StripRight fix left some code from a previous fix in that no longer applies. 2017-01-01 16:57:56 +01:00
Christoph Oelckers
c49573f183 - fixed: A_M_Refire's 'ignoremissile' parameter lost its default value. 2017-01-01 16:57:55 +01:00
Christoph Oelckers
e651833943 - fixed: FString::StripRight's space checking counter was broken and would cause deletion of the last valid character in the string. 2017-01-01 14:38:46 +01:00
Christoph Oelckers
5085954041 - this is version 2.3.0. 2017-01-01 12:30:38 +01:00
Christoph Oelckers
356c5f2e08 - removed the ZScript warning. 2017-01-01 12:29:03 +01:00
Christoph Oelckers
d5233c2bd2 - do the same for brightmaps, Doom's original ones also don't really match with Freedoom. 2017-01-01 12:19:15 +01:00
Christoph Oelckers
61a9a308e2 - forgot the filter directory. 2017-01-01 11:58:40 +01:00
Christoph Oelckers
3b30b4d979 - use filter directories for light definitions so that they do not get used for unwanted IWADs using the same game type.
- fixed light definitions for Freedoom to match the graphics.
2017-01-01 11:57:07 +01:00
Edoardo Prezioso
9575715b1e - Added support to GCC/Clang sanitizers. 2017-01-01 00:17:42 +01:00
Christoph Oelckers
e4c63563e3 - fixed: The 3D floor light splitting code for sprites did not copy the sector's fog density.
- fixed: fog calculations for fuzz effects were wrong.
2017-01-01 00:16:53 +01:00
Edoardo Prezioso
6b943043d1 - Update the list of dummy actor flags from Zandronum. 2016-12-31 23:02:01 +01:00