Commit graph

19517 commits

Author SHA1 Message Date
Cacodemon345
9a860ae445 Account for portals when spawning missiles in A_FireBullets/A_CustomBulletAttack
This also gives the caller the information whether the LineAttack
hitscan passed through a portal regardless of whether it actually hit an
actor or not as a nice bonus.
2021-05-20 19:42:29 +02:00
alexey.lysiuk
98a9729da2 - fixed return type of Actor.GetCVarString()
https://forum.zdoom.org/viewtopic.php?t=72334
2021-05-20 12:01:52 +03:00
Rachael Alexanderson
bc5d042505 - another submodule update 2021-05-19 20:14:50 -04:00
Rachael Alexanderson
04bf426846 - update widescreen submodule 2021-05-19 19:33:44 -04:00
Christoph Oelckers
e963010eea - strip trailing spaces off the lines for intermission texts.
Some mods have trailing spaces here that affect the formatting.
2021-05-19 21:28:16 +02:00
Christoph Oelckers
a3da915812 - gave the Raven invulnerability items the BIGPOWERUP flag to ensure proper respawning behavior. 2021-05-19 19:46:04 +02:00
Christoph Oelckers
9df70cd0df - change switch checking back to vanilla order. 2021-05-19 19:25:32 +02:00
Christoph Oelckers
a3a65f184f - use stb-image to handle PNGs with 16 bit color channels.
It is still not recommended to use this format - images tend to be huge and setup time is normally prohibitive - but at least they work now.
2021-05-19 19:20:51 +02:00
Christoph Oelckers
8bb36bd479 - do not use M_EPI1 and M_EPI2 in any Doom 2 context.
Their content is inconsistent across versions, so better always use the text version of the names.
2021-05-19 18:38:36 +02:00
Christoph Oelckers
bd0ca55a35 - fixed: explicit float to int casts should not emit truncation warnings. 2021-05-19 18:35:36 +02:00
Christoph Oelckers
f0d8bd0a74 - tweaked Hexen's weapon pieces so they do not floatbob into the floor with the hardware renderer. 2021-05-19 18:30:19 +02:00
Christoph Oelckers
28dab3889b - moved the handling of ending PowerWeaponLevel2 into PlayerPawn.Tick and restored the immediate weapon switch.
This got changed because switching weapons in EndPowerup is not safe - this can be called from weapon states where the player can end up with a different weapon being active than the one running the state.
The actual weapon switch has to be delayed until the state processing has ended.
2021-05-19 17:59:44 +02:00
Christoph Oelckers
af137dbb35 - reset the 'playedtitlemusic' flag in D_StartTitle.
When returning to the title loop the music should play once again.
2021-05-19 16:43:01 +02:00
Cacodemon345
14ffe3537f Clear CMAKE_REQUIRED_FLAGS if backtrace facility isn't found 2021-05-18 22:47:33 +03:00
Rachael Alexanderson
cfc080e37f - never run the shader timer on the 0th frame. fixes this bug: https://forum.zdoom.org/viewtopic.php?f=2&t=62693 2021-05-18 14:37:05 -04:00
Christoph Oelckers
8a4fa8b65f - backend update from Raze. 2021-05-17 20:44:19 +02:00
Christoph Oelckers
97b8c0ccfb Revert "- fixed some uses of postincre,ment/decrements on narrow types."
This reverts commit 668f8f2cf6.

Revert "- added a proper error message when '--' or '++' gets used on 8 or 16 bit values."

This reverts commit a94f5dd1b3.

None of this was necessary - the triggered assert was bogus and had to be removed.
2021-05-17 18:13:30 +02:00
Christoph Oelckers
6ebe30ce44 - fixed time positioning on stat screen.
This was still a hard coded offset, but with a two-line time display it needs to be dynamic in case the font is too tall.
2021-05-17 12:21:38 +02:00
Christoph Oelckers
6e9c85791c - pick the proper dot for cutting off the extension in ExtractFileBase. 2021-05-17 13:11:41 +02:00
Christoph Oelckers
6071cf66cc - added proper string labels for Doom 2 episodes. 2021-05-17 13:02:01 +02:00
Christoph Oelckers
5bf2a26b82 - removed bogus assert from FxMinMax.
This would also trigger on signed/unsigned mismatches which it is not supposed to do.
2021-05-17 12:48:22 +02:00
Christoph Oelckers
0b5b919352 - let the CSV parser for the string table handle hex escapes. 2021-05-17 12:42:45 +02:00
Christoph Oelckers
668f8f2cf6 - fixed some uses of postincre,ment/decrements on narrow types.
THe VM has no opcode for this, all these places produced code with undefined behavior.
2021-05-17 12:42:22 +02:00
Christoph Oelckers
a94f5dd1b3 - added a proper error message when '--' or '++' gets used on 8 or 16 bit values. 2021-05-17 12:27:27 +02:00
Christoph Oelckers
f4143f7624 - added a few missing statusbar constants- 2021-05-17 12:07:10 +02:00
Christoph Oelckers
161f3a3c07 - don't display keys on the HUD in deathmatch. 2021-05-17 12:06:44 +02:00
Christoph Oelckers
5077973012 - fixed A_CheckTerrain's check for instant death sectors.
This was still checking the sector special even though this had been reactored 5 years ago.
2021-05-17 12:00:16 +02:00
Christoph Oelckers
ebbc94280e - fixed: The PrisonPass's TryPickup method did not properly report successful pickup. 2021-05-17 11:51:06 +02:00
Christoph Oelckers
e47671c865 - make the title music only play once, unless a real demo is successfully played. 2021-05-17 11:41:43 +02:00
alexey.lysiuk
aaf8323eb2 - updated continuous integration settings
* Restored Clang 6 target by removing GCC 11 because its libstdc++ cannot be used with older compilers
* Replaced GCC 10 with 11
2021-05-15 10:54:11 +03:00
nashmuhandes
e2d3f26a35 Fixed wrong alpha value being applied on sprite shadows in the hardware renderer. 2021-05-12 10:48:51 -04:00
alexey.lysiuk
ddcf1535a6 - disabled clang 6 in continuous integration
I cannot reproduce this compilation error with up-to-date Ubuntu 20.04
2021-05-12 14:44:53 +03:00
Christoph Oelckers
31b1d760b1 - include fix. 2021-05-12 09:58:26 +02:00
Cacodemon345
c1c4066c76 SDL: Report Vulkan initialization errors 2021-05-09 22:57:00 +03:00
Christoph Oelckers
cf3c573222 - give the first 16 DEHEXTRA states proper content.
No idea where this BLD2 stuff came from...
2021-05-07 23:03:46 +02:00
Rachael Alexanderson
bc15ded2a1 - make DI_ALPHAMAPPED change the style to STYLE_Shaded in the status bar drawer 2021-05-07 03:41:41 -04:00
Christoph Oelckers
c51af868de Revert "- restricted the portal rendering shortcut only to real skies in the primary layer."
This reverts commit b193e582ce.

This made the one thing I hoped it would fix even worse so it's useless.
2021-05-07 09:05:56 +02:00
Rachael Alexanderson
bb58dedff2 this fix was requested here: https://forum.zdoom.org/viewtopic.php?p=1188347#p1188347 2021-05-04 07:59:13 +02:00
Christoph Oelckers
3477d6c7c1 - added missing default values. 2021-05-03 14:33:40 +02:00
Christoph Oelckers
52554dc32c - Backend update fron Raze, mainly new script exports and extensions. 2021-05-03 14:13:03 +02:00
Christoph Oelckers
b193e582ce - restricted the portal rendering shortcut only to real skies in the primary layer.
This won't work properly with sector portals that contain other portals because those setups require a proper stencil to work as expected.
2021-05-03 13:58:46 +02:00
alexey.lysiuk
66e220ff9c - removed SDL2 version check
https://forum.zdoom.org/viewtopic.php?t=72152
2021-05-03 08:20:01 +03:00
alexey.lysiuk
80ba522b20 - brought back old SDL2 CMake module
https://forum.zdoom.org/viewtopic.php?t=72152
2021-05-02 22:02:35 +03:00
alexey.lysiuk
1efb9f4def - cleaned and minimized SDL2 version check 2021-05-02 13:05:20 +03:00
Cacodemon345
e4ada10e78
Remove support for SDL2 2.0.5 and earlier 2021-05-02 12:59:38 +03:00
William Breathitt Gray
f676cd81d2 Remove FindSDL2 find-module, use sdl2-config.cmake instead
This requires SDL >= 2.0.4.

Since <https://bugzilla.libsdl.org/show_bug.cgi?id=2464> was fixed in
SDL 2.0.4, SDL behaves as a CMake "config-file package", even if it was
not itself built using CMake: it installs a sdl2-config.cmake file to
${libdir}/cmake/SDL2, which tells CMake where to find SDL's headers and
library, analogous to a pkg-config .pc file.

As a result, we no longer need to copy/paste a "find-module package"
to be able to find a system copy of SDL >= 2.0.4 with find_package(SDL2).
Find-module packages are now discouraged by the CMake developers, in
favour of having upstream projects behave as config-file packages.

This results in a small API change: FindSDL2 used to set SDL2_INCLUDE_DIR
and SDL2_LIBRARY, but the standard behaviour for config-file packages is
to set <name>_INCLUDE_DIRS and <name>_LIBRARIES. Use the CONFIG keyword
to make sure we search in config-file package mode, and will not find a
FindSDL2.cmake in some other directory that implements the old interface.

In addition to deleting redundant code, this avoids some assumptions in
FindSDL2 about the layout of a SDL installation. The current libsdl2-dev
package in Debian breaks those assumptions; this is considered a bug
and will hopefully be fixed soon, but it illustrates how fragile these
assumptions can be. We can be more robust against different installation
layouts by relying on SDL's own CMake integration.

When linking to a copy of CMake in a non-standard location, users can
now set the SDL2_DIR or CMAKE_PREFIX_PATH environment variable to point
to it; previously, these users would have used the SDL2DIR environment
variable. This continues to be unnecessary if using matching system-wide
installations of CMake and SDL2, for example both from Debian.

This is based on the patch written by Simon McVittie for OpenJK:
52030235f0
2021-05-02 12:45:45 +03:00
Rachael Alexanderson
153968dc7c - change vid_allowtrueultrawide - -1 allows for any arbitrary ratio for hud aspects, 0 changed to old behavior (max 16:9), 1 changed to old behavior except at 21:9, 1 is now the default.
- `vid_allowtrueultrawide` is now placed in game-specific config, instead of global.
2021-05-02 01:25:21 -04:00
nashmuhandes
ff35ea9ac7 Don't print the weapon tag if the game is paused 2021-04-27 00:07:24 +02:00
nashmuhandes
afd7b2e954 Allow settable render styles for status bar drawing functions DrawTexture, DrawImage and DrawString 2021-04-26 23:04:39 +02:00
nashmuhandes
c12a671b3e Made OptionMenuSliderBase::IsGrayed virtual 2021-04-26 23:02:35 +02:00