Commit graph

1554 commits

Author SHA1 Message Date
Hugo Locurcio
80c5b4d37b Add a cvar to control weapon bobbing while firing
This simulates a feature found in Crispy Doom, which keeps the
weapon bobbing while firing. This leads to a "smoother" appearance
which may look a bit prettier to some people.

The default value of 0 preserves the old behavior.
2020-05-31 23:12:11 +02:00
Christoph Oelckers
6444a7535c - fixed use of Powerup.Strength in PowerInvisibility.
An integer division made the feature useless.
2020-05-25 16:43:01 +02:00
alexey.lysiuk
1fd2ea46d2 - fixed aiming camera that didn't follow target
https://forum.zdoom.org/viewtopic.php?t=68600
2020-05-18 14:00:48 +03:00
alexey.lysiuk
0631670a66 - restored warning about missing aiming camera target 2020-05-18 13:58:22 +03:00
Major Cooke
079e7ee4e9 Enforce the reflective flag as well. 2020-05-10 10:48:32 +02:00
Major Cooke
b70bc2b152 Fixed an issue where multiple invulnerability powerups could cancel each other out from just one expiring. 2020-05-10 10:48:32 +02:00
Mekboss
4807f4240b Fix MSVS compile bug and add offset parameter for SprayDecal 2020-05-07 09:35:48 +02:00
Mekboss
0e9ca3c850 Replace function variables to DVector3 2020-05-07 09:35:48 +02:00
Mekboss
ba43244764 Add optional direction parameters for SprayDecal and its A_SprayDecal zscript counterpart 2020-05-07 09:35:48 +02:00
alexey.lysiuk
331f3d85d6 - fixed secondary ammo display in strife status bar
https://forum.zdoom.org/viewtopic.php?t=68315
2020-04-30 16:26:12 +03:00
Cacodemon345
4b4ff8dd0e
Fix bouncing missiles not dealing damage when hitting top/bottom (#1068)
* Fix bouncing missiles not dealing damage when hitting top/bottom
2020-04-30 08:55:09 +02:00
nashmuhandes
d563b0339c Apply alpha to the background texture in DrawBar 2020-04-29 21:01:13 -03:00
nashmuhandes
f65a97322e Add an alpha parameter to StatusBar.DrawBar 2020-04-29 21:01:13 -03:00
Skepticist
3377486b8e Added a number of maps that can make use of the MTF_NOCOUNT flag
All but the Hell Revealed case are thanks to Skepticist from Doomworld
2020-04-27 20:30:37 +02:00
PaulyB
573b2958c6 Added MTF_NOCOUNT to spawn flags 2020-04-27 20:30:37 +02:00
alexey.lysiuk
62d4bbbe65 - restored Wads.GetNumLumps() scripted function
https://forum.zdoom.org/viewtopic.php?t=68300
2020-04-21 10:07:24 +03:00
Christoph Oelckers
4fb6b7c7d4 - block off the Substitute function by making it private to the 3 classes that really need it. 2020-04-19 21:08:24 +02:00
Christoph Oelckers
e63871d6f5 - made 3D floor damage transfers optional by adding a new flag bit (2048) and made that mode automatic for the old ZDoom-based light only transfer special. 2020-04-19 13:40:21 +02:00
Major Cooke
a56177f178 Begin TICRATE conversion.
- Moved TICRATE from Thinker to Object in ZScript so status bars have access to it.
2020-04-12 22:43:33 +02:00
Christoph Oelckers
3454314bb1 - separated the Doom specific parts from the compiler backend into a separate file, these parts now get invoked via callback hooks. 2020-04-11 20:20:55 +02:00
Christoph Oelckers
32300f7d26 - use translation slot 0 for reserved content, like font translations. 2020-04-11 20:20:39 +02:00
Christoph Oelckers
80c6d5b276 - renamed more stuff and also moved the Strife teaser voice handling out of the file system. 2020-04-11 14:00:19 +02:00
Erick Tenorio
b2a17dfdc2
- REQUIEM.WAD fixes (#1050)
Fixes for various maps in the Requiem megawad.

Idgames: https://www.doomworld.com/idgames/levels/doom2/megawads/requiem
2020-04-02 05:35:51 -04:00
nashmuhandes
cb6514cc05 Added Actor.CopyBloodColor to copy another existing actor's blood color. 2020-03-23 21:04:59 +01:00
Christoph Oelckers
828cba13a1 - changed translation management so that the fonts also use translation IDs. 2020-03-16 17:23:30 +01:00
Christoph Oelckers
a50a5101bc - fixed another typo. 2020-03-15 15:56:35 +01:00
Christoph Oelckers
0c04cddd28 - allow specifying full palettes in translation definitions. 2020-03-15 10:22:42 +01:00
nashmuhandes
7a141f3aa3 Add help messages for most of the deprecated stuff in ZScript. 2020-03-14 12:56:03 +02:00
alexey.lysiuk
f46e80e2b4 - fixed FLineTraceData scripting definition
https://forum.zdoom.org/viewtopic.php?t=67795
2020-03-14 12:51:06 +02:00
Christoph Oelckers
4201c4fbb5 - fixed A_FireCGun. 2020-03-11 19:47:23 +01:00
Christoph Oelckers
a638cfbd6e - fixed: player_t::GetPSprite cannot guarantee success
As a consequence it must return null in the failure case instead of asserting and all calls to this function must check for the failure case.
2020-03-11 00:56:29 +01:00
Alexander Kromm
3607ffaf66 fix Dictionary and DictionaryIterator memory leaks 2020-03-08 18:46:37 +01:00
Major Cooke
70f9b649aa Changed Pre/Post(Un)Morph to take the other actor and a boolean indicating direction.
- 'current' is true for the actor that is the new body, false for the old body.
2020-03-08 15:29:09 +01:00
Major Cooke
33b343ef31 Added Pre(Un)Morph and Post(Un)Morph functions.
- cls: The other class's cast type which the actor is transitioning from/to.
2020-03-08 15:29:09 +01:00
Rachael Alexanderson
178cf40428 - fix debug assertion, cleanup vestigial A_PlaySound addition 2020-03-03 22:50:01 -05:00
Rachael Alexanderson
3d3a29979b - remove addition from deprecated A_PlaySound 2020-03-02 22:15:37 +01:00
Rachael Alexanderson
1b80b7bf2f - ported over Nash's startTime for A_StartSound 2020-03-02 22:15:37 +01:00
Major Cooke
4cf7c6351d Added A_StopSounds(int chanmin, int chanmax).
- If both channels are 0, completely silences the actor.
- Adapted A_StopAllSounds to call A_StopSounds(0,0);
2020-03-01 19:42:21 +01:00
Major Cooke
55284d46bf Added A_StopAllSounds. 2020-02-29 19:19:51 +01:00
Chronos Ouroboros
bb42d58427 Revert "Added support for standard DamageFactor property on Armor, PowerProtection and PowerDamage items."
This reverts commit e781cb4043.
2020-02-10 15:38:12 -03:00
Major Cooke
e781cb4043 Added support for standard DamageFactor property on Armor, PowerProtection and PowerDamage items. 2020-02-09 19:07:52 +01:00
Major Cooke
39a9a48ad6 Added source, inflictor and damage flags to AbsorbDamage. 2020-02-09 19:07:52 +01:00
Chronos Ouroboros
b453c87b72 Merge pull request #683 from ZippeyKeys12/clearscopeindex
Clearscope Index()
2020-02-08 03:07:06 -03:00
alexey.lysiuk
081cf814b0 - fixed wrong arguments of a few A_StartSound() calls
https://forum.zdoom.org/viewtopic.php?t=67074
2020-01-24 11:57:01 +02:00
3saster
729ff8fa8f Plutonia 2 Compatibility Fixes (#1026)
* Plutonia 2 MAP20 fix

* Plutonia 2 MAP27 fix

* Plutonia 2 MAP05 fix

* Plutonia 2 MAP23 fix

* Plutonia 2 MAP24 fix
2020-01-22 07:47:17 +01:00
alexey.lysiuk
3b8ddb6b9b - fixed resetting of music volume after closing dialogue
https://forum.zdoom.org/viewtopic.php?t=67035
2020-01-20 22:05:15 +01:00
alexey.lysiuk
0d758014dd - exposed Level.MusicVolume to ZScript 2020-01-20 22:05:15 +01:00
Alexander Kromm
1f011cda7f make enter key toggle Option Search mode too 2020-01-16 17:53:28 +01:00
Christoph Oelckers
3e9a43d7f0 - added missing render style constants to ZScript. 2020-01-12 12:02:26 +01:00
Christoph Oelckers
4646273569 - fixed: menu sounds no longer got the CHANF_UI flag. 2020-01-04 19:36:22 +01:00
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
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