Commit graph

16135 commits

Author SHA1 Message Date
Rachael Alexanderson
8be7ef0ec5 - forbid defcvars from a wadfile 2019-12-31 11:00:16 +01:00
Rachael Alexanderson
7dfd49b42e - tell the user the game version number when version is not specified as a hint 2019-12-31 04:23:53 -05:00
Magnus Norddahl
839b737429 Fix wrong blend tables used when dynamic lights hits translucent lines 2019-12-31 03:00:36 +01:00
Rachael Alexanderson
2b05bfed68 - implement 'defcvars'
# Conflicts:
#	src/d_main.cpp
2019-12-30 19:07:01 +01:00
Alexander Kromm
bd1892120d add Dictionary.Remove(String key) function 2019-12-30 14:57:37 +01:00
Alexander Kromm
2dc9837078 fix crash with saving null Dictionary 2019-12-30 14:57:37 +01:00
Cacodemon345
7fd27bc925 Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color) 2019-12-30 13:05:38 +01:00
Marisa Kirisame
55e482d0fc Additional CHAN_OVERLAP awareness for StartSound and ChangeSoundVolume/Pitch. 2019-12-30 13:01:59 +01:00
Christoph Oelckers
d08bb93b84 - elimintated all cases from the ZScript code where channel indices and flags were combined into one parameter and removed all remnants of CHAN_PICKUP. 2019-12-30 09:47:25 +01:00
Christoph Oelckers
d79c6c1c0a - fixed: A_StartSound was still masking the sound channel value for checking if it plays something. 2019-12-30 09:09:56 +01:00
Major Cooke
5425aa979d - Fixed: Invulnerability checking for rails was done before the various THRU actor flags instead of after, meaning actors could block shots regardless of those flags. This was never intended. 2019-12-30 08:37:08 +01:00
Major Cooke
0b0984b88e Added STOPRAILS actor flag.
- An actor with this flag will prevent railgun shots from penetrating further.
2019-12-30 08:37:08 +01:00
Alexander Kromm
703686beee export TMap<FString, FString> to ZScript 2019-12-29 13:37:38 +01:00
Christoph Oelckers
77469e0512 - fixed the colorization parser. 2019-12-29 12:11:16 +01:00
Christoph Oelckers
3530bc5945 - cleanup.
(The Raven license got removed from sc_man after checking that no Raven code is still present here, this file got a nearly complete overhaul over all those years.)
2019-12-29 11:30:37 +01:00
Christoph Oelckers
9b9fd35107 - hooked up the colorization feature.
It can now be used from UDMF and ZScript.
To avoid clutter it doesn't allow setting the values individually but requires definition of a data record in TEXTURES.

colorization
{
    DesaturationFactor <float>
    Invert
    AddColor <color>
    ModulateColor <color>
    BlendColor <color>, <mode> [, <alpha>]
}

Mode for BlendColor can be Alpha (normal translucent blending), as well as 3 special values taken from Build engine games: Screen, Overlay and HardLight.
2019-12-29 11:30:37 +01:00
Christoph Oelckers
f9d2dc51d0 - cleanup of new colorization code.
- profiling shows that running the code for applying the colorization and the gradients is extremely expensive, apparently this always causes a cache miss, so now the entire thing is enabled by a sidedef flag.
2019-12-29 11:30:36 +01:00
Christoph Oelckers
695ab81bca - let a sight check that gets lost return failure.
This way these cannnot unwantedly wake up monsters.
2019-12-28 16:33:20 +01:00
Rachael Alexanderson
15ebc84017 - fix a /0 crash in intermission text 2019-12-26 07:13:59 -05:00
alexey.lysiuk
388d800b40 - fixed compilation with GCC and Clang
src/d_main.cpp:3101:37: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
2019-12-25 17:44:57 +02:00
Rachael Alexanderson
2e467bd239 - update window title with current level name 2019-12-25 09:52:57 -05:00
Rachael Alexanderson
9858ed70b0 - fixed sprite drawing with hqresized textures 2019-12-24 06:44:52 -05:00
alexey.lysiuk
4fc1b3231a - removed <CR> symbols to fix zdoom.rc being modified after checkout 2019-12-24 10:46:13 +02:00
Rachael Alexanderson
9ad628f6e5 - fixed: strife conversations do not need to unnecessarily trigger the switch to 640x400 2019-12-24 00:55:24 -05:00
Rachael Alexanderson
4ff8922006 - reinstate 320x200 with the following caveat: it only functions outside of menus and console, and only when the dialogues and logs use the default font, the game will temporarily switch to 640x400 in these situations 2019-12-23 23:14:08 -05:00
Rachael Alexanderson
510a121b62 - change IWAD startup dialog to allow selecting between OpenGL, Vulkan, and SoftPoly backends. (windows only) 2019-12-23 20:05:17 -05:00
Cacodemon345
0090925fac Implement renderstyle and transparent actor sprite rendering in automap (#997)
* Implement renderstyle and transparent actor sprite rendering in automap

* Add "am_advspriterender" CVAR and add invisible actor checks.

* Rename cvar to `am_thingrenderstyles`
2019-12-23 10:29:14 -05:00
alexey.lysiuk
e9a7dcd17b - precache switch textures from ANIMATED lump
For example, SW1SKULL and SW2SKULL switches are animated in TNT: Evilution
Their frames are defined in ANIMATED lump which is old BOOM binary format
Textures other than base were not cached because the corresponding switch definitions (in ANIMDEFS lump) have one frame only and BOOM style animations were not taken into account

https://forum.zdoom.org/viewtopic.php?t=66652
2019-12-23 13:11:06 +01:00
Rachael Alexanderson
f284567830 - change vid_scalemode 6 to work similarly to 0 and 1 when vid_cropaspect is turned on
- add vid_scaletolowest
2019-12-22 09:01:43 -05:00
Christoph Oelckers
738b9ceb08 - fixed incompletely changed shader.
It was still using a variable from the first revision that no longer exists.
2019-12-21 21:07:00 +01:00
Magnus Norddahl
1004ac1636 Automatically size the StreamUBO to 64 KB regardless of what is in it 2019-12-21 16:13:39 +01:00
alexey.lysiuk
81ea919d61 - fixed shader compilation errors with OpenGL backend
ERROR: 0:95: Use of undeclared identifier 'uTextureModulateColor'
ERROR: 0:104: Use of undeclared identifier 'uTextureAddColor'
ERROR: 0:107: Use of undeclared identifier 'uTextureModulateColor'
...
2019-12-21 15:42:04 +02:00
Christoph Oelckers
bb8db9422f - scaled down the texture colorization feature for easier usability.
It makes little sense exposing every minute detail of this through UDMF.
Setting it up that way is far too complicated. Using virtual textures that map to a real texture plus a colorization record should be far easier to use by mappers.
This also doesn't piggyback on the Doom64 color feature anymore and is completely separate, despite some redundancies.
This is still missing the texture definition part, though.
2019-12-20 22:25:10 +01:00
Christoph Oelckers
fd15af0b50 Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-12-20 18:56:38 +01:00
Christoph Oelckers
03537e90ff - linked new properties with the renderer.
Support for the softpoly renderer still missing.
2019-12-20 18:56:03 +01:00
Christoph Oelckers
3a249cb06f - added high level interface to the new properties, i.e. UDMF and ZScript. 2019-12-20 18:02:42 +01:00
alexey.lysiuk
ffe1a651a9 - upsample texture if width * height is less or equal to gl_texture_hqresize_maxinputsize squared
https://forum.zdoom.org/viewtopic.php?t=66652
2019-12-20 18:11:22 +02:00
Christoph Oelckers
3209d4ed23 - added a few more texture coloring options to the shader.
Aside from adding an additive component it can now also do:

- desaturation (not limited to the range of 0..1 so it can also be used for oversaturation by applying a negative number or negative saturation by going above 1.0.
- invert the texture
- apply a blend, including 3 special mode taken from EDuke32.

Currently only the implementation is done, it is not exposed to UDMF yet.
2019-12-20 16:05:00 +01:00
Christoph Oelckers
41a9496bef - the texture precaching message is supposed to be debug only 2019-12-20 14:38:22 +01:00
alexey.lysiuk
a0670f5c5b - added minimal time profiling of texture precaching 2019-12-20 11:06:00 +02:00
alexey.lysiuk
daedf9d158 - improved normalNx scaling performance by ~10%
Actual boost heavily depends on platform's memory architecture, made it a bit more cache friendly in general
2019-12-20 11:04:50 +02:00
Rachael Alexanderson
33483115cd - amend last commit: use VID_MIN_HEIGHT and VID_MIN_WIDTH macros in place of hardcoded values 2019-12-20 03:31:44 -05:00
Rachael Alexanderson
a53652f36e - implement vid_scalemode = 6 - sets absolute minimum scaling to fill entire screen - useful for speeding up software rendering 2019-12-20 03:05:44 -05:00
Christoph Oelckers
318da33e39 - sound engine update.
Notable changes:
* IsSourcePlayingSomething had undefined behavior when checking unattached and unpositioned sounds.
* loading Blood RAW sounds with different sample rates but the same backing lump may not use the same hardware sound buffer.
* when playing an unpositioned sound the attenuation is irrelevant and must be ignored. This resulted in a 3D sound being started which was mostly inaudible due to lack of valid origin.
2019-12-19 11:57:58 +01:00
alexey.lysiuk
59f09d4893 - move setting status bar defaults to proper location
BaseStatusBar.Init() method isn't suitable for this because it will override SBarInfoWrapper setup done in native code

https://forum.zdoom.org/viewtopic.php?t=66676
https://forum.zdoom.org/viewtopic.php?t=66339
2019-12-18 15:40:39 +02:00
Marisa Kirisame
9430e1556f Change IsSourcePlayingSomething to handle overlapping sounds. 2019-12-17 15:53:56 +01:00
Christoph Oelckers
0ba6816622 - made FSoundChan::EntChannel a full int and reordered the structure for better packing. 2019-12-17 11:43:13 +01:00
Christoph Oelckers
136ab4f48a - renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope. 2019-12-17 09:58:50 +01:00
Christoph Oelckers
0a8effaf9e - fixed inverted listener check when using compatibility options. 2019-12-17 08:49:50 +01:00
Christoph Oelckers
3808e85c3e - the old bit masking for the channel needs to go, of course. 2019-12-17 00:28:32 +01:00