Commit graph

16116 commits

Author SHA1 Message Date
alexey.lysiuk
8d34cf15cc - added missing range checks to level compatibility handler
# Conflicts:
#	src/compatibility.cpp
2019-01-04 03:13:25 -05:00
Rachael Alexanderson
dbc03a9f9d - force CMake to use internal asmjit. I left it in a state so that it can easily be changed back in the future. 2019-01-04 03:11:31 -05:00
Timo Myyrä
8cfbc75a4a fix Unix builds without backtrace functions in their libc
backtrace functions are not present in all libc implementations. Cmake has
module to add external libraries into build if needed so use it to fix build on
Unix systems without backtrace in libc.
2019-01-04 03:10:52 -05:00
Marrub
b34619b163 Fix A_CustomBulletAttack's spawnofs_xy parameter
The current behaviour offsets to the front of the actor rather than the side, due to an oversight in the code, which oddly is not present in the A_FireBullets equivalent.
2019-01-04 03:10:26 -05:00
Player701
e390ad1cc2 - Since GetParentAmmo is now virtual, BackpackItem and the "give ammo" cheat should call GetParentAmmo to determine base ammo classes. 2019-01-04 03:10:06 -05:00
Christoph Oelckers
76f7f8062d - fixed memory leaks in network code.
ReadString allocates a buffer, so saving it in a local variable and then forgetting it will not free the buffer afterward.
(This should probably be refactored to use some safer methods to read the string than this old-school method...)
2019-01-04 03:09:38 -05:00
Christoph Oelckers
74b60adda6 - this is version 3.7.1 2019-01-01 15:15:35 +01:00
alexey.lysiuk
4a9947eaa1 - fixed everlasting fast projectile after hitting ceiling
Without the test for ceiling hit fast projectile could enter its Death state every tick infinitely

https://forum.zdoom.org/viewtopic.php?t=63023
2019-01-01 13:58:25 +01:00
Christoph Oelckers
6c168d88e4 - fixed crash in AutoUseStrifeHealth
The loop never checked if the item was still valid and would continue to try to use it, even after it was removed from the inventory and destroyed.
As native code this just failed silently, but with the VM it needs to be explicitly checked.
2019-01-01 13:58:25 +01:00
Christoph Oelckers
57d55e6d06 - fixed typo in sky preparation. 2018-12-31 00:14:50 +01:00
Major Cooke
d61559150c - Fixed: SXF_CLEARCALLERSPECIAL cleared the spawned actor's special instead of the caller. 2018-12-31 00:14:50 +01:00
player701
c433d34798 - Fixed settings_controller not updating properly when a player becomes the new arbitrator in a netgame. 2018-12-30 10:48:30 +01:00
Christoph Oelckers
8c8966545d - added missing return in P_RemoveThing. 2018-12-30 08:43:38 +01:00
Christoph Oelckers
7b8e63db20 - added missing null pointer check to SBarInfo's inventory bar drawer. 2018-12-30 08:43:37 +01:00
alexey.lysiuk
a2b4c61a2a - fixed ammo check for weapon with 'uses both' flags
https://forum.zdoom.org/viewtopic.php?t=63047
2018-12-29 16:50:24 +01:00
alexey.lysiuk
1259d81b52 - fixed SPC music loops
This reverts the following commit from game-music-emu repository
49238f9ae5

https://forum.zdoom.org/viewtopic.php?t=62613
2018-12-29 14:54:16 +01:00
Christoph Oelckers
18253df868 - fixed precaching of switches.
The backwards animation accessed the wrong array which in case of sequences with different length could crash
2018-12-29 14:51:34 +01:00
alexey.lysiuk
780b3ce42c - fixed missing attack sound in A_CustomPunch
See 7bb3855439/src/p_actionfunctions.cpp (L1729)

https://forum.zdoom.org/viewtopic.php?t=63049
2018-12-29 11:52:24 +01:00
Major Cooke
6ed05f4469 Fixed: IsFakePain received the modified damage instead of the raw, preventing ALLOWPAIN from working as intended. 2018-12-29 11:52:23 +01:00
Erick Tenorio
74106773be - TNT.WAD fixes 2018-12-29 11:52:23 +01:00
Erick Tenorio
20de35b81d - Have Plutonia MAP16 pit kill player 2018-12-29 11:52:23 +01:00
Christoph Oelckers
475b57f291 - this is version 3.7.0 2018-12-27 14:25:43 +01:00
Christoph Oelckers
777fa53b27 Revert "- dynamically update polyobj lines"
This reverts commit 094ef39d5f.

As this is mostly untested with an unverified potential performance impact it is not yet ready for release.
2018-12-27 14:25:43 +01:00
Christoph Oelckers
017b3f9dc7 - fixed OpenGL texture objects weren't deleted when a texture was destroyed. 2018-12-27 14:25:13 +01:00
Christoph Oelckers
f351df5c22 - moved Extradata parser into MapLoader class. 2018-12-27 12:33:18 +01:00
Christoph Oelckers
733cd5260a - moved slope creation functions and most initialize-time variables into MapLoader class. 2018-12-27 12:33:18 +01:00
Christoph Oelckers
89ba723609 - moved the content from p_glnodes into the MapLoader class. 2018-12-27 12:33:17 +01:00
Christoph Oelckers
2e22c01d45 - moved most content of p_setup.cpp into a MapLoader class. 2018-12-27 12:33:17 +01:00
Ijon
071347d7fb NOFRICTION now applies to Z friction when flying or swimming 2018-12-27 12:26:33 +01:00
alexey.lysiuk
23f2a3a7fc - fixed crash in Actor.Warp() with null destination
https://forum.zdoom.org/viewtopic.php?t=63031
2018-12-27 13:01:42 +02:00
Christoph Oelckers
f3ae61a2d3 - remove some obsolete bit of cruft from the class type system.
This was a remnant of putting the meta data directly into the class descriptor which turned out to be an unworkable approach
2018-12-27 08:49:34 +01:00
Christoph Oelckers
b31f284e28 - fixed 3D floor initialization for actor spawning.
Since actors are being spawned before the renderer gets set up this needs to fully initialize the list before spawning the actors, then take it down again for creating the vertex buffer and then recreate it.
2018-12-27 08:28:09 +01:00
Kevin Caccamo
e04fc026ff Expand UDMF and ZScript API for side's own additive colors
Add 'useowncoloradd_{top,mid,bottom}' sidedef properties to the UDMF 
spec
Only use side's additive colors if 'useowncoloradd_(top|mid|bottom)' is 
set.
Rename UseOwnColors flag to UseOwnSpecialColors
Add UseOwnAdditiveColor flag to side_t::part
Add EnableAdditiveColor to side_t
Add Side.EnableAdditiveColor to ZScript API
2018-12-26 16:58:27 +01:00
Kevin Caccamo
286886e161 Minor fixes for additive colour ZScript API
Sector.SetAdditiveColor actually called Sector.SetSpecialColor
Add use boolean property, used to determine whether or not to override the sector's additive wall colour with the side's additive colour.
2018-12-26 16:58:27 +01:00
Kevin Caccamo
9622ca7517 Add additive color before applying object colors
Based on what I saw in this video (https://youtu.be/Yx1tflavea8), the 
additive colors are applied before the object colors
2018-12-26 16:58:27 +01:00
Kevin Caccamo
0773e6a98e Rework implementation as per the new specification
The new specification is more flexible, and allows assigning additive 
colors to individual parts of a sector (walls, sprites, flats) and even 
individual parts of a side (top, middle, bottom)

Add AdditiveColors arrays to sector_t and side_t::part
Initialize AdditiveColors arrays to 0
Export AdditiveColors to ZScript
Save AdditiveColors in saved game files
Use colors from AdditiveColors arrays when setting the additive color 
for the render state
Add code to parse the new UDMF additive color properties
Remove additive color slot from sector color/part enum
Add SetAdditiveColor to sector_t and side_t
Add GetAdditiveColor to side_t
Export new methods and additive color arrays to ZScript
2018-12-26 16:58:27 +01:00
Kevin Caccamo
60696c91a2 Change some of the names of the additive color properties 2018-12-26 16:58:27 +01:00
Kevin Caccamo
141a60b93d Update additive colour info in GZDoom UDMF specs 2018-12-26 16:58:27 +01:00
Kevin Caccamo
c165d0dc03 Add info about additive material colors to udmf_zdoom.txt 2018-12-26 16:58:27 +01:00
Kevin Caccamo
6485570c93 Implement additive colours on HUD sprites
Also, make sure the alpha for the additive colour is 255.
2018-12-26 16:58:27 +01:00
Kevin Caccamo
33723e8904 Implement additive colour on walls and sprites
Also, don't modify the alpha channel when adding the additive colour.
2018-12-26 16:58:27 +01:00
Kevin Caccamo
80bcac48ef Forcibly assign 0 to the additive special color 2018-12-26 16:58:27 +01:00
Kevin Caccamo
758cd77e55 Rename ColorAdd to AddColor, and use it ingame
Rename ColorAdd to AddColor
Add AddColor to FRenderState
Tweak SpecialColors array in ZScript to include the additive color
Add uAddColor to the shader compiler
Add uAddColor to the texel
2018-12-26 16:58:27 +01:00
Kevin Caccamo
e5d43a734a Initial work on Doom64-style fade/glow 2018-12-26 16:58:27 +01:00
Magnus Norddahl
094ef39d5f - dynamically update polyobj lines 2018-12-26 14:26:57 +01:00
Major Cooke
1e741446d7 Reduced redundancy by putting all function aftermath handling in a subfunction. 2018-12-26 11:55:42 +01:00
Major Cooke
6372cdaa41 Split off pain chance triggering from ReactToDamage into its own function and gave ZScript access to it.
- TriggerPainChance(Name mod, bool forcedPain)
- One exception: PainThrehold is only checked in ReactToDamage, since this function does not require checking damage amount.
2018-12-26 11:55:42 +01:00
Major Cooke
2f7fae2fb0 DamageMobj Refactor
- Split off all reactive functionality (pain, infighting, etc) into its own function, ReactToDamage.
- Refactored all DamageMobj's damage <= 0 values.
 - Any unconditional cancellations now return -1. ReactToDamage will not be called if values < 0.
 - All pain/wound/target changing allowances return 0.
2018-12-26 11:55:42 +01:00
Ijon
d2d684a35a Add NOFRICTION and NOFRICTIONBOUNCE flags
NOFRICTION disables all friction effects on the thing it's set on
(including the speed cap from water/crouching), and NOFRICTIONBOUNCE
disables the "bounce off walls on an icy floor" effect on the thing
it's set on.
2018-12-26 11:49:17 +01:00
Magnus Norddahl
1bb2bb31d4 - fix first softpoly frame being empty 2018-12-25 16:50:11 +01:00