Commit graph

3672 commits

Author SHA1 Message Date
Christoph Oelckers
c0b9bb6e76 - bumped ZScript version to 4.3 and silenced the remaining deprecation warnings. 2020-01-04 14:25:56 +01:00
Christoph Oelckers
4a67bfcddb - deprecated A_PlaySound for real and transitoned the internal scripts to A_StartSound 2020-01-04 14:25:55 +01:00
Christoph Oelckers
b7e1a35e6f - cleaned up the parameters of A_StartSound.
There were two booleans that could be merged into the flag word.
This also fixes a bug with CHAN_NOSTOP not working for local sounds because it checked the wrong sound source for the playing sound.
2020-01-04 14:25:55 +01:00
Alexander Kromm
60026ba4f2 export dictionary iterator 2020-01-01 08:39:25 +01:00
Christoph Oelckers
7156611643 - fixed two missing commas in DEHSUPP. 2019-12-31 23:27:00 +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
Major Cooke
6c5c6b1fd0 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-12-31 12:58:53 -06:00
Rachael Alexanderson
4bc923dddf - slight rearrange of vid_scalemode and menu update 2019-12-31 10:41:30 -05:00
Major Cooke
d101df463d Added ViewAngle/Pitch/Roll properties to actors.
- These are offsets for camera angles that allow turning the camera without affecting aim or movement direction.
- Added SPF_VIEW flag for A_SetAngle/Pitch/Roll, which will set the view direction instead of the actor's actual facing direction.
- Added ABSVIEWANGLES flag, used to make the view absolute instead of an offset.
2019-12-30 13:11:39 -06:00
Major Cooke
db3b296dfa Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-12-30 12:56:24 -06:00
Major Cooke
77054fb638 Revert "Major Cooke: View Angles (Part 1)"
This reverts commit d2ecc535c1.
2019-12-30 12:50:14 -06: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
Rachael Alexanderson
01663e357e Merge branch 'master' of https://github.com/coelckers/gzdoom into newmaster 2019-12-28 14:19:31 -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
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
Major Cooke
4eb1b6ad95 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-12-17 09:03:05 -06:00
Christoph Oelckers
136ab4f48a - renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope. 2019-12-17 09:58:50 +01:00
Major Cooke
a960355d76 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-12-16 18:11:48 -06: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
Major Cooke
f44d2b2974 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-12-16 09:17:02 -06: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
Major Cooke
101b4763d5 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-12-11 13:18:58 -06: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
Major Cooke
adae79646f Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-12-05 12:38:02 -06: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
Major Cooke
03ef6d041e Merged Rachael's fix for EdTheBat's ClearPlayerClasses and SetSlot PR. 2019-11-26 10:23:41 -06:00
Major Cooke
775a94a5d2 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-11-26 09:36:50 -06:00
Major Cooke
6532485a93 Revert "Re-merged EdTheBat's submission now that the language file has been fixed."
This reverts commit b13c555381.
2019-11-26 09:36:35 -06: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
Major Cooke
334f6fc018 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-11-24 11:47:35 -06: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
Major Cooke
314d2621d2 Updated SpriteOffset based on software render code changes. 2019-11-20 16:34:14 -06:00
Major Cooke
4f4b6b4e2a Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-11-20 16:30:37 -06:00
Major Cooke
aff4df7d82 Revert "Re-added A_SpriteOffset with a fix to improve performance, and give support for wall and flat sprites."
This reverts commit a1c58f7d10.
2019-11-20 16:30:15 -06: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
Major Cooke
4c8f87627e Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-11-14 14:04:44 -06: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
Major Cooke
7478431476 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-11-08 08:19:26 -06: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
Major Cooke
dc3cde1fd5 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-11-02 17:32:38 -05:00
alexey.lysiuk
857d0175b5 - fixed broken walkthrough of Restoring Deimos MAP07 2019-11-02 14:38:41 +02:00
Major Cooke
5d2437b5f5 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-10-27 10:12:58 -05: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
Major Cooke
a1c58f7d10 Re-added A_SpriteOffset with a fix to improve performance, and give support for wall and flat sprites. 2019-10-25 13:23:20 -05:00
Major Cooke
31712ed805 Revert "Major Cooke: Added A_SpriteOffset"
This reverts commit 39bcc7b3fb.
2019-10-24 22:35:05 -05:00
Major Cooke
d34e4d4379 Merge remote-tracking branch 'gzdoom/master' into newmaster 2019-10-23 10:34:34 -05:00
Major Cooke
2fdb360b2e Merge branch 'master' of https://github.com/coelckers/gzdoom into newmaster 2019-10-21 01:39:36 -05:00
PaulyB
a601350db6 Scythe MAP22 Compatibility fix 2019-10-21 08:19:17 +02:00
Christoph Oelckers
f014e9cd8c - text update. 2019-10-20 16:16:40 +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
Major Cooke
39bcc7b3fb Major Cooke: Added A_SpriteOffset
- Coordinates work akin to A_OverlayOffset: +X shifts to the right, +Y shifts down.
2019-10-19 10:02:34 -05:00
Major Cooke
d2ecc535c1 Major Cooke: View Angles (Part 1)
Added ViewAngle, ViewPitch and ViewRoll. See https://forum.zdoom.org/viewtopic.php?f=59&t=65639&p=1117937#p1117937 for details!

- These are purely cosmetic offsets to the player's current angle/pitch/roll, not affecting the player's true aim and movement direction.
- Includes three absolute flags: ViewAbs<Angle/Pitch/Roll> which makes the implied orientation absolute.
2019-10-19 09:52:36 -05:00
Major Cooke
7f8a8367eb Merge commit 'refs/pull/683/head' of https://github.com/coelckers/gzdoom into newmaster
ZippeyKeys12: ClearScope Index()

For Vertex, Side, Line and Sector
2019-10-18 21:25:04 -05:00
Major Cooke
b13c555381 Re-merged EdTheBat's submission now that the language file has been fixed. 2019-10-18 20:49:50 -05:00
Major Cooke
90ffdb3f06 Revert "EdTheBat: Optional override for SetSlot and ClearPlayerClasses"
This reverts commit 6fc2887f13.
2019-10-18 20:32:20 -05:00
Major Cooke
6fc2887f13 EdTheBat: Optional override for SetSlot and ClearPlayerClasses
With this, a decade-long struggle can now be ended.
2019-10-18 20:26:55 -05:00