Commit Graph

16502 Commits

Author SHA1 Message Date
Christoph Oelckers a5feff7aa0 - fixed: The level's local event manager wasn't fully taken down when freeing the level's data. 2019-02-09 08:46:48 +01:00
Major Cooke acc510dfb3 Added inflictor, source and flag parameters to GetModifiedDamage on actors and ModifyDamage on inventory.
- The flags are used by DamageMobj so modders can determine radius damage, for example, by checking for DMG_EXPLOSION.
2019-02-08 20:07:49 +01:00
Christoph Oelckers 449610496f - fixed: 'level.frozen' still needs to be writable and have an effect. 2019-02-08 20:04:45 +01:00
Christoph Oelckers 584dae85f4 - fixed: LEVEL_USEPLAYERSTARTZ was checked on the wrong variable. 2019-02-08 19:58:15 +01:00
Christoph Oelckers 0b2494f9ca - fixed: The global viewpoint's Level member was accessed before it was set.
All affected code needs to get a Level parameter passed in through its arguments.
2019-02-08 13:12:46 +01:00
Christoph Oelckers bd1f5d9750 - start the HUD message ticker at -1 to compensate for the additional tick they now receive due to the change at which time the status bar gets ticked. 2019-02-08 08:58:16 +01:00
Christoph Oelckers bcc1aa95b2 - fixed: ACS calls need to explicitly pass the level into COPY_AAPTR.
Unlike from an action function, this can be called with a null actor, which for the player constants still needs to return something valid.
2019-02-07 15:41:35 +01:00
Christoph Oelckers 5af5717cf1 - added a compatibility fix for KDiZD Z1M3 and fixed some tagging issues in the compatibility handler.
One sector in an underwater area of KDIZD Z1M3 got tagged with an incorrect Transfer_Heights effect which caused render glitches in that area.
There were also a few AddSectorTag calls without first clearing the sector's tags leading to potentially undefined behavior.
2019-02-07 09:42:51 +01:00
Christoph Oelckers eec53a6670 - print more meaningful info in countdecals CCMD. 2019-02-07 09:39:37 +01:00
Christoph Oelckers 4cdbc99877 - fixed creation of phased light sequences. 2019-02-07 09:39:36 +01:00
Christoph Oelckers 9dec214c15 - properly un-count faded out decals without involving the Destroy method. 2019-02-07 09:39:36 +01:00
Christoph Oelckers 97e3e858a1 - re-count impact decals each time a savegame is loaded.
This counter is not always reliable, especially when running for longer periods, so putting it in a savegame is not a good idea.
2019-02-07 09:39:36 +01:00
Rachael Alexanderson 4f0850b098 Merge remote-tracking branch 'origin/new_level_refactor' into HEAD 2019-02-06 10:30:27 -05:00
Christoph Oelckers 74d34f6171 - fixed typo in ExitPic display.
It read the EnterPic instead.
2019-02-06 15:40:49 +01:00
Christoph Oelckers f38060d01b - fixed: The static event manager never got a link to the primary level. 2019-02-06 15:40:49 +01:00
Rachael Alexanderson 0590de3be2 Merge remote-tracking branch 'origin/new_level_refactor' into HEAD 2019-02-06 08:05:45 -05:00
Rachael Alexanderson 20a9587bb7 Merge remote-tracking branch 'origin/master' into HEAD 2019-02-06 08:05:38 -05:00
alexey.lysiuk 37a79470de - fixed compilation on POSIX targets
src/p_acs.cpp:3250:75: error: cannot pass object of non-trivial type 'FString' through variadic constructor; call will abort at runtime [-Wnon-pod-varargs]
src/p_conversation.cpp:354:56: error: cannot pass object of non-trivial type 'FString' through variadic constructor; call will abort at runtime [-Wnon-pod-varargs]
src/p_conversation.cpp:438:51: error: cannot pass object of non-trivial type 'FString' through variadic constructor; call will abort at runtime [-Wnon-pod-varargs]
src/p_conversation.cpp:548:58: error: cannot pass object of non-trivial type 'FString' through variadic constructor; call will abort at runtime [-Wnon-pod-varargs]
src/p_conversation.cpp:572:59: error: cannot pass object of non-trivial type 'FString' through variadic constructor; call will abort at runtime [-Wnon-pod-varargs]
src/p_conversation.cpp:584:58: error: cannot pass object of non-trivial type 'FString' through variadic constructor; call will abort at runtime [-Wnon-pod-varargs]
2019-02-06 12:22:05 +02:00
alexey.lysiuk 78c0b7f230 - changed type of Nop expression to void
Control flow statements with constant condition no longer cause misleading fatal errors in ZScript

https://forum.zdoom.org/viewtopic.php?t=63566
2019-02-06 12:09:14 +02:00
alexey.lysiuk 13a3f1aa6e - re-added --keep-going make switch in Travis configuration
Builds no longer stop on the first error
2019-02-06 11:50:41 +02:00
Christoph Oelckers 7fa3081581 - fixed some remaining issues with the interpolator.
Thanks to the lazy counter it used in its stat display I never noticed that the serializer was incomplete and that UnlinkFromMap did not call its super method.
After changing the counter to be actively counting on each call, all the other issues became immediately apparent.
2019-02-06 10:44:30 +01:00
Rachael Alexanderson d96d0b43f8 Merge remote-tracking branch 'origin/new_level_refactor' into HEAD 2019-02-06 03:56:27 -05:00
Christoph Oelckers 6ae9df6a23 - removed an old comment that no longer applied to the code in question.
The interpolator had been changed long ago to use proper GC tracking, so interpolations only can get collected if they had been fully orphaned.
This comment was the main reason why the design flaw in this code never got fixed until recently.
2019-02-06 09:38:17 +01:00
Christoph Oelckers c25e7897a7 - fixed bad default initialization of BoundingRect's coordinates. 2019-02-06 09:25:45 +01:00
Christoph Oelckers 5a2d6de296 - split up the OnDestroy method of interpolations.
It seems there can be rare conditions where an interpolation is 'lost' and later garbage collected. If that happens after the owning map is gone, all pointers in the interpolation object will be invalid and Destroy would crash while trying to unlink it. So anything that explicitly deletes an interpolation now has to manually unlink it from the map first so that OnDestroy can be kept clean of map references.
2019-02-05 18:34:02 +01:00
Christoph Oelckers 4c2aa1158e Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-02-05 13:56:37 +01:00
Christoph Oelckers 979f1df281 Merge remote-tracking branch 'remotes/origin/master' into new_level_refactor
# Conflicts:
#	src/g_level.cpp
#	src/p_user.cpp
2019-02-05 13:49:07 +01:00
Christoph Oelckers 0936a2fa19 - exported all texts from Strife's dialogues to the string table.
Now all this content can be localized. However, since this is actual game content it was placed in a secondary file in zd_extra.pk3, so that it won't affect the GPL-compatible status of the main one.
2019-02-05 13:39:38 +01:00
Christoph Oelckers c0e4ef159b - fixed display of "Find help" text in Strife. Also moved this piece of code to a place where a real player exists. This was set at a point where the map wasn't loaded yet which caused a few problems. 2019-02-05 13:34:49 +01:00
alexey.lysiuk 69492b1e27 - fixed ambient sounds "leaking" into reverb environment
Set speed of sound to 343.3 and init scale to 1 according to @kcat suggestion

https://forum.zdoom.org/viewtopic.php?t=63185
https://forum.zdoom.org/viewtopic.php?t=63524
2019-02-05 13:13:52 +02:00
Christoph Oelckers ce22f1db51 - fixed: SendPitchLimits is not playsim code so it cannot use the PlayerPawn for anything.
This really needs to operate solely on the static players array.
2019-02-05 11:54:29 +01:00
Christoph Oelckers 546d3d1bf5 - allow localization of Hexen's original ACS strings.
This way of looking up strings is intentionally limited to content from Hexen.wad and Hexdd.wad.
2019-02-05 11:51:19 +01:00
alexey.lysiuk 2f161a04d9 - updated Travis CI configuration
Added MSVC 2017 targets because AppVeyor is too slow
Set Linux workers to use Ubuntu 16.04
2019-02-05 12:00:37 +02:00
alexey.lysiuk c026b991ae - do not print initial player's log text on loading of saved game 2019-02-05 12:00:16 +02:00
alexey.lysiuk 7a46d6e9cd - fixed output of localized player's log text to console 2019-02-05 11:56:20 +02:00
Christoph Oelckers dc86138219 Merge branch 'master' into new_level_refactor 2019-02-05 10:15:37 +01:00
Christoph Oelckers c4f7f01f31 - fixed optimization settings of RelWithDebInfo build to match the regular release version.
CMake sets RelWithDebInfo to only inline functions explicitly marked as such whereas Release is allowed to inline everything suitable.
2019-02-05 10:03:49 +01:00
Christoph Oelckers 26acd564fb - restored order of destruction of interpolations and thinkers, which got accidentally reversed. 2019-02-04 16:27:57 +01:00
alexey.lysiuk 8892cb619d - disabled usage of intrinsics on non-Intel platforms 2019-02-04 15:53:41 +02:00
alexey.lysiuk 2765159fc6 - disabled VM JIT completely on unsuported platforms 2019-02-04 15:53:35 +02:00
Christoph Oelckers a0042fd653 - removed bad character from A_CustomPunch definition. 2019-02-04 14:08:34 +01:00
Christoph Oelckers e41c898817 Merge branch 'master' into new_level_refactor 2019-02-04 13:11:01 +01:00
Christoph Oelckers 496eba3acb - fix polyobject init 2019-02-04 13:10:53 +01:00
Christoph Oelckers af9636b7c3 - fixed glitches with some poorly set up sector stack portals. 2019-02-04 13:08:30 +01:00
alexey.lysiuk 20f29ab808 - fixed erroneous removal of property flag members
https://forum.zdoom.org/viewtopic.php?t=63520
2019-02-03 12:33:06 +02:00
alexey.lysiuk 8137162ca0 - fixes compilation of POSIX targets
src/posix/cocoa/i_input.mm:95:22: error: use of undeclared identifier 'E_CheckUiProcessors'
src/posix/cocoa/i_input.mm:200:21: error: use of undeclared identifier 'E_CheckRequireMouse'
src/posix/sdl/i_input.cpp:183:19: error: use of undeclared identifier 'E_CheckUiProcessors'
src/events.cpp:540:1: error: pasting formed '::RenderFrame', an invalid preprocessing token
src/events.cpp:541:1: error: pasting formed '::WorldLightning', an invalid preprocessing token
src/events.cpp:542:1: error: pasting formed '::WorldTick', an invalid preprocessing token
src/events.cpp:543:1: error: pasting formed '::UiTick', an invalid preprocessing token
src/events.cpp:544:1: error: pasting formed '::PostUiTick', an invalid preprocessing token
2019-02-03 11:19:17 +02:00
Christoph Oelckers 53162a8a5c Merge branch 'master' into new_level_refactor
# Conflicts:
#	src/am_map.cpp
2019-02-03 09:20:13 +01:00
Christoph Oelckers 25071e26e5 - fixed: The CheckEnvironmant call in PlayerThink can already invalidate the PlayerPawn so even the calls to CheckUndoMorph and CheckUse need to get the pawn through the PlayerInfo. 2019-02-03 09:11:33 +01:00
Christoph Oelckers 2fd1276d28 - fixed: Instead of mapping Hexen's BLANK texture to the null texture, make its actual use type that of a null texture.
The software renderer does not have any safeguards against such a mapping and crashes on it.
This code was a quick hack from ancient times from when ZDoom did not have robust texture management and some recent changes ran afoul of this very special exception.
2019-02-03 08:59:37 +01:00
Christoph Oelckers 2cff43ba90 - fixed: The HUD model code did not account for placeholder sprites. 2019-02-03 08:23:18 +01:00