Commit graph

3577 commits

Author SHA1 Message Date
Christoph Oelckers
77469e0512 - fixed the colorization parser. 2019-12-29 12:11:16 +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
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
af18c78156 - Google fucked this up. Thanks Google. 2019-12-22 09:08:52 -05:00
Rachael Alexanderson
71808b0d3f - language update 2019-12-22 09:01:43 -05:00
Rachael Alexanderson
cd617ca0c6 - add vid_scalemode 6 to the menu 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
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
3a249cb06f - added high level interface to the new properties, i.e. UDMF and ZScript. 2019-12-20 18:02:42 +01: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
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
Christoph Oelckers
136ab4f48a - renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope. 2019-12-17 09:58:50 +01:00
Christoph Oelckers
e82565373f - separated the channel number from the flags in the sound interface so that the 8 channel limit can be eliminated.
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.

The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
2019-12-16 23:52:39 +01:00
alexey.lysiuk
1a19dbb52f - added 'damageonland' property to terrain definition
This property helps to replicate vanilla Hexen behavior of damaging player right after touching lava floor

https://forum.zdoom.org/viewtopic.php?t=66512
2019-12-12 15:14:30 +01:00
Ed the Bat
f1a0345c57 More compat fixes for Swan Fox maps (#982)
* More compat fixes for Swan Fox maps

Found some more issues on maps that already have compat fixes in place

* Missed a dud line

At least I'd commented it out so it was benign, but still...
2019-12-09 07:51:02 -05:00
Rachael Alexanderson
d44a4f428e - add line_horizon on HOM line in Sapphire.wad 2019-12-09 01:56:42 -05:00
Christoph Oelckers
b9582cc98e - continued refactoring on sound code.
The game independent part of the code has been mostly isolated.
2019-12-08 21:22:53 +01:00
Rachael Alexanderson
a477dbb542 - move backend selector from display menu to video mode menu 2019-12-06 12:36:16 -05:00
Magnus Norddahl
dd87619cc4 Merge remote-tracking branch 'origin/master' into polybackend 2019-12-05 21:19:20 +01:00
Christoph Oelckers
bbdd146243 - removed dead menu options 2019-12-05 00:00:54 +01:00
Rachael Alexanderson
a07d7856c2 - language update 2019-12-03 13:07:14 -05:00
Rachael Alexanderson
3269b61ffc - change menu option for 'vid_preferbackend' 2019-12-02 09:43:06 -05:00
Christoph Oelckers
6023b69693 - added null check to the dialogue lines array so that it doesn't crash if the text is never word wrapped. 2019-11-30 22:04:26 +01:00
alexey.lysiuk
c74c38eef7 - fixed monster teleportation on Ancient Aliens MAP23
Particular combination of teleport lines and monster radius requires vanilla behavior of P_PointOnLineSide()

https://forum.zdoom.org/viewtopic.php?t=66504
2019-11-28 13:01:23 +02:00
alexey.lysiuk
e21c9e0ef8 - made most of AltHud class functions virtual
This allows arbitrary customization of alternative HUD
2019-11-26 15:45:18 +02:00
alexey.lysiuk
a7f2df4fef - added ability to set custom alternative HUD
Use GAMEINFO key 'althudclass' to specify own class derived from AltHud

https://forum.zdoom.org/viewtopic.php?t=66422
2019-11-26 15:45:18 +02:00
Rachael Alexanderson
a3741abbf3
- add cvar 'cl_disableinvertedcolormap' - changes the invulnerability… (#972)
* - add cvar 'cl_disableinvertedcolormap' - changes the invulnerability sphere to instead be a regular desaturated colormap that transitions from deep blue to pale yellow

* - add menu option for cl_disableinvertedcolormap

* - added customization for invulnerability colormap

* - fixed custom colormap being calculated incorrectly

* - disable custom invulnerability map before the main game loop
2019-11-26 07:46:18 -05:00
alexey.lysiuk
20d3752fdd - exported several Wads.GetLump...() methods to ZScript
* GetLumpName() returns 8-characters lump name
* GetLumpFullName() returns full name with path and extension
* GetLumpNamespace() returns lump's namespace
* GetNumLumps() returns total number of lumps

https://forum.zdoom.org/viewtopic.php?t=66285
2019-11-25 17:37:56 +02:00
Ed the Bat
4d8dfd2437 More level_compatibility map fixes
These maps have actors not marked for any game mode (single, cooperative, deathmatch). That works in Zandronum, but GZDoom requires this fix.
2019-11-24 23:55:52 +01:00
Rachael Alexanderson
2e0f7a0979 - fixed a compatibility fix that used 'FlipLine' 2019-11-24 06:42:03 -05:00
Rachael Alexanderson
2489ea2e45 - rename 'FlipLine' to 'FlipLineVertexes' to clarify what it does
- add function 'FlipLineCompletely' which calls both 'FlipLineVertexes' and 'FlipLineSideRefs'
2019-11-24 06:40:01 -05:00
Player701
db1359f98e - Implemented scale parameter for BaseStatusBar::DrawString 2019-11-24 10:45:07 +01:00
Ed the Bat
f941c98c1e Compatibility fixes for Clavicula Nox
https://www.doomworld.com/idgames/levels/doom2/Ports/a-c/clavnoxr

This Vavoom mod was unplayable in G/ZDoom without cheating, due to how swimmable water was implemented. This finally fixes it to work.
2019-11-22 17:47:11 +01:00
Ed the Bat
826c3c4221 Update level_compatibility.zs (#973)
* Update level_compatibility.zs

Map fixes for some older mods

* Formatting changes

Spaces around commas and comment markers, to better match the rest of the file
2019-11-20 14:02:14 -05:00
Rachael Alexanderson
4d66e9a8bb - remove SetLineSideRefs - this actually cannot be exported right now, due to the fact that both sides and lines have backreferences to themselves and their ancestry, and that linedefs have forward references to the sectors on their respective sides.
- made FlipLineSideRefs native, due to the SetLineSideRefs removal
- fixed a bug with FlipLineSideRefs that rendered upper and lower textures incorrectly due to incorrect sector references
- FlipLineSideRefs now should only work on single-sided lines
2019-11-14 14:32:20 -05:00
Rachael Alexanderson
b0751db552 - add native SetLineSideRefs(line, side1idx, side2idx)
- add scripted FlipLineSideRefs(line)
2019-11-14 09:20:16 -05:00
Rachael Alexanderson
21a74dfb13 - new zscript function 'SetLineVertexes(line, v1, v2)'
- scriptify 'FlipLine' completely using new function, remove native version
2019-11-12 08:08:35 -05:00
3saster
a4b6a8f093 Added 'nocheats' CVAR (#969)
This CVAR disables all classic cheats (i.e. keyboard cheats). This prevents keypresses from being eaten due to attempting to read cheats
2019-11-12 07:29:16 -05:00
Marisa Kirisame
12bbb5b6f9 Localize level/author strings on intermission startup, fixes misalignments. 2019-11-10 18:14:42 +01:00
Rachael Alexanderson
1098a13fdb - add 'FlipLine' to 'LevelPostProcessor' 2019-11-10 09:04:30 -05:00
alexey.lysiuk
82c248854d - extended level post-processing with special string arguments 2019-11-10 11:37:02 +02:00
alexey.lysiuk
00ff4083d2 - extended level post-processing with thing IDs 2019-11-10 11:37:02 +02:00
alexey.lysiuk
098b1c5973 - level post-processor cleanup 2019-11-10 11:37:02 +02:00
alexey.lysiuk
c5237ce58f - level post-processor can now add new things 2019-11-10 11:37:02 +02:00
alexey.lysiuk
1e29444152 - extended level post-processing with specials and arguments 2019-11-10 11:37:02 +02:00
alexey.lysiuk
79880b2bd9 - extended level post-processing with editor numbers and angles 2019-11-10 11:37:02 +02:00
alexey.lysiuk
a2a50f34d5 - added things related getters to level post-processing
New functions cover existing interface only
Unsigned integers are now used instead signed for indices and bitfields
2019-11-10 11:37:02 +02:00
alexey.lysiuk
59bdebb20a - added generic level post-processing script class
It was extracted from LevelCompatibility class, and native code was moved accordingly
2019-11-10 11:37:02 +02:00
alexey.lysiuk
093901a561 - set meaningful defaults on initialization of BaseStatusBar
https://forum.zdoom.org/viewtopic.php?t=66339
2019-11-09 15:00:03 +02:00
alexey.lysiuk
ad89f1381c - fixed missing fullbright for Berserk
https://forum.zdoom.org/viewtopic.php?t=66307
2019-11-05 15:32:00 +02:00