Commit graph

1450 commits

Author SHA1 Message Date
Alexander Kromm
60026ba4f2 export dictionary iterator 2020-01-01 08:39:25 +01:00
Christoph Oelckers
f647f3c132 - added the Dehacked extensions from Crispy/Doom Retro.
All empty placeholders for mods to fill in, no new functionality.
2019-12-31 21:13:18 +01:00
Chronos Ouroboros
b4ba7dfec2 Fixed a regression in DoTakeInventory. (the C++ code just ignored the null pointer, but ZScript can't do that) 2019-12-30 12:37:33 -03:00
Alexander Kromm
bd1892120d add Dictionary.Remove(String key) function 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
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
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
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
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
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
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
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
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
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
alexey.lysiuk
857d0175b5 - fixed broken walkthrough of Restoring Deimos MAP07 2019-11-02 14:38:41 +02:00
alexey.lysiuk
10078f519a - fixed missing frames for axe attack without mana
The target state to jump is S_FAXEATK_5 in the original Hexen, but we were jumping to S_FAXEATK_7
5329fb5d75/src/hexen/info.c (L1298-L1299)

https://forum.zdoom.org/viewtopic.php?t=66216
2019-10-26 11:32:27 +03:00
PaulyB
a601350db6 Scythe MAP22 Compatibility fix 2019-10-21 08:19:17 +02:00
Christoph Oelckers
8b10d231cd - when adding some minmum lateral movement to trigger collision detection, do not just set Vel.X but actually use a vector pointing in the proper facing direction of the actor. 2019-10-20 14:02:28 +02:00
alexey.lysiuk
1dd08a73ed - fixed broken walkthrough of Skulldash MAP04 2019-10-20 10:00:44 +03:00
alexey.lysiuk
3d557b68b0 - fixed broken walkthrough of Restoring Deimos MAP03 2019-10-20 10:00:44 +03:00
alexey.lysiuk
89ecd7a964 - fixed: pickup flash didn't fade out if player was killed by pickup
https://forum.zdoom.org/viewtopic.php?t=66135
2019-10-16 18:13:01 +03:00