Commit graph

10147 commits

Author SHA1 Message Date
nashmuhandes
4521f9eabc Merge tag 'g2.3.2'
# Conflicts:
#	src/p_effect.cpp
#	src/p_secnodes.cpp
#	src/r_draw.cpp
#	src/r_things.cpp
#	src/win32/win32video.cpp
2017-02-05 18:34:29 +08:00
Christoph Oelckers
a1026ff037 This is 2.3.2. 2017-01-11 01:24:16 +01:00
Christoph Oelckers
98adc98e56 - fixed the railgun's spiral duration was set incorrectly. 2017-01-11 01:23:08 +01:00
Christoph Oelckers
b7460144b6 - fixed: Stairs_BuildUpDoomCrush wasn't in the special dispatcher list. 2017-01-11 01:14:26 +01:00
Christoph Oelckers
5ec33de8a7 - removed r_columnmethod 1 because the code was broken and already gone from QZDoom. 2017-01-11 01:14:26 +01:00
Christoph Oelckers
ff9513a814 Revert "- fixed: The stair builder code tried to access a member of a null pointer after finding no more stair sectors."
This reverts commit 9eb2730328.

This fix doesn't apply to 'maint'.
2017-01-10 22:21:57 +01:00
Christoph Oelckers
62648ca29c - fixed: 'stat music' tried to access a non-existent stream decoder for any music played through Timidity++ on OpenAL. 2017-01-10 22:20:23 +01:00
Christoph Oelckers
bc6530a3ce - fixed: Any inventory item that is about to be placed in an inventory must stop all its sounds. 2017-01-10 22:20:23 +01:00
Christoph Oelckers
1061b34721 - added global per-mod precaching lists, to be defined in MAPINFO's Gameinfo section. 2017-01-10 22:20:22 +01:00
Christoph Oelckers
92c815074b - added a workaround for a crashing condition in FThinkerIterator.
It can actually happen that the thinker chain gets broken if an actor being iterated happens to destroy the immediately following actor in the chain as well. In that case both actors lose their chain links and the iterator cannot advance any further, the only solution to avoid a crash is to terminate the iteration of the current list.
2017-01-10 22:20:22 +01:00
Christoph Oelckers
9eb2730328 - fixed: The stair builder code tried to access a member of a null pointer after finding no more stair sectors.
# Conflicts:
#	src/p_floor.cpp
2017-01-10 22:20:21 +01:00
Edoardo Prezioso
ea29e45ef5 - Fixed the wrong handling of empty command line argument. 2017-01-10 22:19:57 +01:00
Christoph Oelckers
9a94613f55 - fixed: The Windows CreateFramebuffer methods need to check the desired screen size for an actual resolution when switching to fullscreen. 2017-01-09 21:39:36 +01:00
alexey.lysiuk
284ebd13b5 Autoaim is now updated when adjusting slider with mouse
Fixes #208 Autoaim slider in Player Setup does not save if changed with cursor
2017-01-09 21:39:36 +01:00
Christoph Oelckers
5c14b80c8e - copied sight check fix. 2017-01-09 21:39:17 +01:00
Christoph Oelckers
80374383a0 - fixed: Particles should disappear if their alpha goes below zero. 2017-01-08 19:45:37 +01:00
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
nashmuhandes
c93160cb1d Relicense p_secnodes.cpp to GPL. 2017-01-08 02:30:54 +08:00
nashmuhandes
21ec9b0d61 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_things.cpp
2017-01-08 02:10:17 +08:00
Christoph Oelckers
d381fb5e3f - 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 15:44:39 +01:00
Christoph Oelckers
581cd27818 - 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 15:44:39 +01:00
Christoph Oelckers
42b1432b64 - 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 15:44:38 +01:00
Christoph Oelckers
acf66d9f8f - 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 15:44:38 +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
62ea83a35a - 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 15:06:17 +01:00
Christoph Oelckers
c52bc06e9b - 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 13:09:58 +01:00
Christoph Oelckers
ed25cf61c5 - 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 12:54:01 +01:00
Christoph Oelckers
b11c8fef57 - renamed a few variables for clarity. 2017-01-06 11:56:17 +01:00
Christoph Oelckers
44ad55602d - got rid of uint32(-1) casts. 2017-01-06 11:43:27 +01:00
alexey.lysiuk
b297047060 Removed useless integer type size expansion
Fixed Apple's Clang warnings:
absolute value function 'abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value
2017-01-06 10:40:51 +01:00
alexey.lysiuk
1a0d8dffd9 Fixed harmless initialization order mismatch
No more 'field ... will be initialized after field ...' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
0e9f52f9e5 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 10:40:51 +01:00
alexey.lysiuk
d77718d422 Fixed harmless uninitialized variables warnings
No more 'variable  is used uninitialized whenever switch default is taken' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
9ed2da176e Fixed signed/unsigned mismatch in comparisons
No more 'comparison of integers of different signs' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
Christoph Oelckers
e0540c6b37 - fixed uninitialized variable warning in codegen.cpp 2017-01-06 10:33:58 +01:00
Christoph Oelckers
fcb1c1edc4 - 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-05 12:01:00 +01:00