Commit graph

3393 commits

Author SHA1 Message Date
alexey.lysiuk
eaa7e392d7 - fixed FLineTraceData scripting definition
https://forum.zdoom.org/viewtopic.php?t=67795

# Conflicts:
#	src/scripting/thingdef_data.cpp
2020-03-14 19:15:27 +01:00
Christoph Oelckers
9fe9552023 - fixed A_FireCGun. 2020-03-11 20:18:45 +01:00
Christoph Oelckers
4e40c4dfa9 - 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 20:18:43 +01:00
Alexander Kromm
c91c542c23 fix Dictionary and DictionaryIterator memory leaks
# Conflicts:
#	src/version.h
2020-03-09 00:33:48 +01:00
Major Cooke
c467539014 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-09 00:28:05 +01:00
Major Cooke
8712d7c237 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-09 00:28:03 +01:00
Rachael Alexanderson
673e52f02f - fix debug assertion, cleanup vestigial A_PlaySound addition 2020-03-04 09:46:09 +01:00
Rachael Alexanderson
c9476e6188 - remove addition from deprecated A_PlaySound 2020-03-03 10:58:50 +01:00
Rachael Alexanderson
4625925a69 - ported over Nash's startTime for A_StartSound 2020-03-03 10:58:46 +01:00
Major Cooke
45c80916bc 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 20:27:03 +01:00
Major Cooke
3e77f9a6bd Added A_StopAllSounds. 2020-02-29 20:02:17 +01:00
drfrag
797037fcde Oops, fixed default bindings not being loaded from pwads.
# Conflicts:
#	src/console/c_bind.cpp
2020-02-28 19:14:52 +01:00
drfrag
bf8a5621eb - Missed bindings for other games. 2020-02-28 16:31:06 +01:00
drfrag
fa5902b538 - Add support for several control layouts. 2020-02-28 12:44:13 +01:00
Major Cooke
116a935b71 Added source, inflictor and damage flags to AbsorbDamage. 2020-02-11 00:55:21 +01:00
Zain Aamer
44ea61a280 Clearscope Index()
For Vertex, Side, Line and Sector
2020-02-11 00:55:17 +01:00
alexey.lysiuk
b8395e5b59 - fixed wrong arguments of a few A_StartSound() calls
https://forum.zdoom.org/viewtopic.php?t=67074
2020-01-24 15:20:35 +01:00
Rachael Alexanderson
76fffe288c - add support for xbox 360 versions of Doom/Doom2
# Conflicts:
#	wadsrc_extra/static/iwadinfo.txt
2020-01-24 15:20:21 +01:00
3saster
5a3e04e2e3 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 12:27:53 +01:00
alexey.lysiuk
7d7bf3dee9 - fixed resetting of music volume after closing dialogue
https://forum.zdoom.org/viewtopic.php?t=67035
2020-01-21 12:17:56 +01:00
alexey.lysiuk
7d0df9fe3f - exposed Level.MusicVolume to ZScript 2020-01-21 12:17:54 +01:00
Rachael Alexanderson
f058d62b62 - fixed: oops, show NRFTL on the episode selection menu for Doom2:Unity, if nerve.wad is loaded 2020-01-19 01:33:51 +01:00
Christoph Oelckers
8ffadb64b5 - precache a few sounds being referenced in common game code.
- define misc/secret for Hexen, too. By now there are some mods defining secrets for the game so this sound should be present there.
2020-01-18 11:23:24 +01:00
Alexander Kromm
dd40d4f6f6 make enter key toggle Option Search mode too 2020-01-17 13:02:12 +01:00
drfrag
004b48d62f - Blind attempt at adding support for 4 XInput controllers. 2020-01-13 13:19:34 +01:00
Rachael Alexanderson
07bc5d233e - implement player setup background by Enjay 2020-01-12 20:51:41 +01:00
Christoph Oelckers
0c2ee0ffea - added missing render style constants to ZScript. 2020-01-12 12:59:46 +01:00
Rachael Alexanderson
ad4770a803 - add support for new Bethesda.Net Unity Edition wads
- they can be extracted with this utility: https://github.com/kevansevans/Unity-Doom-Ripper

# Conflicts:
#	wadsrc_extra/static/iwadinfo.txt
2020-01-12 00:46:44 +01:00
Christoph Oelckers
37db863bab - fixed: menu sounds no longer got the CHANF_UI flag. 2020-01-07 19:55:55 +01:00
Christoph Oelckers
286cda2bb5 - bumped ZScript version to 4.3 and silenced the remaining deprecation warnings.
# Conflicts:
#	wadsrc/static/zscript.txt
2020-01-07 19:37:00 +01:00
Christoph Oelckers
5229a84047 - deprecated A_PlaySound for real and transitoned the internal scripts to A_StartSound
# Conflicts:
#	wadsrc_extra/static/filter/harmony/decorate.txt
2020-01-07 19:36:57 +01:00
Christoph Oelckers
ce1f4427cc - 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-07 19:36:52 +01:00
Christoph Oelckers
41d192ed98 - fixed two missing commas in DEHSUPP. 2020-01-06 21:57:06 +01:00
Christoph Oelckers
16bd5e9619 - added the Dehacked extensions from Crispy/Doom Retro.
All empty placeholders for mods to fill in, no new functionality.
2020-01-06 21:57:04 +01:00
Alexander Kromm
032c6a534b export dictionary iterator 2020-01-06 21:57:02 +01:00
Cacodemon345
5ed070964c Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
# Conflicts:
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/r_data/models/models.cpp

# Conflicts:
#	src/gl/scene/gl_weapon.cpp
2020-01-06 21:50:14 +01:00
Chronos Ouroboros
b021befba8 Fixed a regression in DoTakeInventory. (the C++ code just ignored the null pointer, but ZScript can't do that) 2020-01-06 19:49:28 +01:00
Alexander Kromm
4f5218cc8f add Dictionary.Remove(String key) function 2020-01-06 19:49:25 +01:00
Christoph Oelckers
7919c86f3e - elimintated all cases from the ZScript code where channel indices and flags were combined into one parameter and removed all remnants of CHAN_PICKUP. 2020-01-06 19:49:18 +01:00
Alexander Kromm
a7e6552f0f export TMap<FString, FString> to ZScript
# Conflicts:
#	src/CMakeLists.txt
#	src/serializer.h
2020-01-06 19:18:22 +01:00
Rachael Alexanderson
98b00b0c79 - add vid_scalemode 6 to the menu
# Conflicts:
#	wadsrc/static/menudef.txt
2020-01-06 18:23:29 +01:00
alexey.lysiuk
69d39bcd44 - 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

# Conflicts:
#	wadsrc/static/zscript/ui/statusbar/statusbar.zs
2020-01-06 17:48:35 +01:00
alexey.lysiuk
47fd36d6ed - set meaningful defaults on initialization of BaseStatusBar
https://forum.zdoom.org/viewtopic.php?t=66339

# Conflicts:
#	wadsrc/static/zscript/ui/statusbar/statusbar.zs
2020-01-06 17:48:32 +01:00
Christoph Oelckers
25288d5cea - renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope. 2020-01-06 15:08:26 +01:00
Christoph Oelckers
c3759f389c - 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.

# Conflicts:
#	src/bbannouncer.cpp
#	src/fragglescript/t_func.cpp
#	src/g_shared/a_lightning.cpp
#	src/p_effect.cpp
#	src/p_mobj.cpp
#	src/p_switch.cpp
#	src/playsim/p_spec.cpp
#	src/sound/s_doomsound.cpp
#	src/sound/s_doomsound.h
#	wadsrc/static/zscript/base.zs

# Conflicts:
#	src/intermission/intermission.cpp
#	src/sound/s_doomsound.cpp
2020-01-06 15:00:05 +01:00
Christoph Oelckers
8adf2c34cd - continued refactoring on sound code.
The game independent part of the code has been mostly isolated.

# Conflicts:
#	src/sound/s_doomsound.cpp
#	src/sound/s_sound.cpp
#	src/sound/s_sound.h

# Conflicts:
#	src/sound/s_sound.cpp
2020-01-06 13:45:19 +01:00
alexey.lysiuk
1ca7786650 - 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 20:35:44 +01:00
drfrag
e4c1b1413e - Replaced the useless 160x200 scale preset with widescreen 356x200. 2019-12-12 12:57:35 +01:00
Ed the Bat
bc089ebb2b 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 21:06:48 +01:00
Rachael Alexanderson
5c4d75e081 - add line_horizon on HOM line in Sapphire.wad 2019-12-09 21:06:46 +01:00
drfrag
efb3465921 - Add option to reset controls to defaults. 2019-12-07 22:23:02 +01:00
drfrag
996ce44d2a - Missing strings. 2019-12-07 00:42:48 +01:00
drfrag
30ced415ce - Delay monster respawning in nightmare Heretic. 2019-12-01 11:21:02 +01:00
Christoph Oelckers
d4a71e3d20 - added null check to the dialogue lines array so that it doesn't crash if the text is never word wrapped. 2019-12-01 10:59:09 +01:00
alexey.lysiuk
332cd0690b - 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-29 12:46:23 +01:00
drfrag
4030d22d97 - Swap skill levels, don't replace nightmare anymore. 2019-11-29 12:43:40 +01:00
alexey.lysiuk
ff4924bf8f - made most of AltHud class functions virtual
This allows arbitrary customization of alternative HUD
2019-11-26 16:48:04 +01:00
Christoph Oelckers
10c5b0588b - fixed redundant map name display on alternative HUD's automap HUD.
# Conflicts:
#	wadsrc/static/zscript/ui/statusbar/alt_hud.zs
2019-11-26 16:47:59 +01:00
alexey.lysiuk
1a4f62c54f - 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 16:47:54 +01:00
Rachael Alexanderson
ed654150eb - add cvar 'cl_customizeinvulmap' - 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

# Conflicts:
#	src/d_main.cpp
2019-11-26 14:53:19 +01:00
drfrag
75a8091002 - Remove UM skill from the menu now that i've added the real thing with 2xmonsters in RUDE, still works with skill 4.
https://github.com/drfrag666/chocolate-doom/releases
2019-11-25 20:34:23 +01:00
alexey.lysiuk
7160219b63 - 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 18:16:42 +01:00
Ed the Bat
b47e331c15 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-25 12:11:06 +01:00
Rachael Alexanderson
818d9764c5 - fixed a compatibility fix that used 'FlipLine' 2019-11-25 12:11:04 +01:00
Rachael Alexanderson
bbe64ac8c6 - rename 'FlipLine' to 'FlipLineVertexes' to clarify what it does
- add function 'FlipLineCompletely' which calls both 'FlipLineVertexes' and 'FlipLineSideRefs'
2019-11-25 12:11:01 +01:00
Player701
d7542a8cd9 - Implemented scale parameter for BaseStatusBar::DrawString
# Conflicts:
#	src/g_statusbar/shared_sbar.cpp

# Conflicts:
#	src/g_statusbar/shared_sbar.cpp
2019-11-25 12:10:58 +01:00
Ed the Bat
6b70b7d83a 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-23 01:10:07 +01:00
Ed the Bat
bfcc4b7be6 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-21 18:03:59 +01:00
drfrag
4977e6af1f - add native FlipLineSideRefs(line)
- FlipLineSideRefs should only work on single-sided lines
(patch by Rachael)
2019-11-16 14:01:47 +01:00
Rachael Alexanderson
4878da381b - new zscript function 'SetLineVertexes(line, v1, v2)'
- scriptify 'FlipLine' completely using new function, remove native version

# Conflicts:
#	src/maploader/postprocessor.cpp
2019-11-13 19:34:39 +01:00
drfrag
c6105a1e3f - Missing string. 2019-11-13 19:34:36 +01:00
3saster
7b454ef6c2 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-13 19:34:34 +01:00
Marisa Kirisame
50a7db6fa3 Localize level/author strings on intermission startup, fixes misalignments.
# Conflicts:
#	wadsrc/static/zscript/ui/statscreen/statscreen.zs
2019-11-13 19:34:31 +01:00
drfrag
44aeb56932 - add 'FlipLine' to 'LevelPostProcessor'
(patch by Rachael)
2019-11-13 19:34:28 +01:00
alexey.lysiuk
05f36cafc8 - extended level post-processing with special string arguments
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:26 +01:00
alexey.lysiuk
dca15d56c8 - extended level post-processing with thing IDs
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:23 +01:00
alexey.lysiuk
814483f5b8 - level post-processor cleanup
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:21 +01:00
alexey.lysiuk
7f1166e833 - level post-processor can now add new things
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:18 +01:00
alexey.lysiuk
05f0b76f8e - extended level post-processing with specials and arguments
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:16 +01:00
alexey.lysiuk
09e7fe5fb4 - extended level post-processing with editor numbers and angles
# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:13 +01:00
alexey.lysiuk
20098ca90b - 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

# Conflicts:
#	src/maploader/maploader.cpp
2019-11-13 19:34:11 +01:00
drfrag
91859bc6fa - added generic level post-processing script class
It was extracted from LevelCompatibility class, and native code was moved accordingly
(original patch by _mental_)

# Conflicts:
#	src/compatibility.cpp
2019-11-13 19:33:49 +01:00
drfrag
033f0ca43e Revert "- add 'flipline' function to levelcompatibility"
This reverts commit 1a85206983.

Revert "- implement the following functions under LevelCompatibility:"

This reverts commit 6537eca669.
2019-11-13 19:31:42 +01:00
alexey.lysiuk
81010b4fbf - fixed missing fullbright for Berserk
https://forum.zdoom.org/viewtopic.php?t=66307
2019-11-06 17:51:03 +01:00
alexey.lysiuk
c41a44176f - fixed broken walkthrough of Restoring Deimos MAP07 2019-11-02 21:22:19 +01:00
drfrag
9ea43c4b14 - Fixed taking screenshots in menus with Space when Sys_Rq is set as screenshot key.
Thanks randi!
2019-10-31 17:05:33 +01:00
alexey.lysiuk
941a5f37a5 - 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 12:14:58 +02:00
drfrag
0907972c2f Revert "- allow the language table to supersede the title patches, if appropriate"
This reverts commit 2b51e8d5dd.

# Conflicts:
#	src/g_hub.cpp
#	src/g_level.cpp
#	src/p_setup.cpp
#	src/wi_stuff.cpp
#	src/wi_stuff.h
#	wadsrc/static/zscript/ui/statscreen/types.zs

Revert "- fixed: The wbstartstruct that gets passed to the level summary screen needs to be static"

This reverts commit 4a563f449d.

# Conflicts:
#	src/g_level.cpp

Revert "- Fixed compilation."

This reverts commit 149a294a49.

# Conflicts:
#	src/g_level.cpp

Revert "- Fixed game finales not being shown after the intermission."

This reverts commit 55af0b11c6.

All this didn't make sense without localization and caused problems with intermissions and endings, it was incompatible with the old code without the level refactor.
2019-10-25 16:23:42 +02:00
PaulyB
c9075cc481 Scythe MAP22 Compatibility fix 2019-10-22 10:59:19 +02:00
Christoph Oelckers
f15a52b1e7 - 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-22 10:59:13 +02:00
alexey.lysiuk
af3fce739d - fixed broken walkthrough of Skulldash MAP04 2019-10-20 11:31:57 +02:00
alexey.lysiuk
f41c0eca12 - fixed broken walkthrough of Restoring Deimos MAP03
# Conflicts:
#	wadsrc/static/zscript/level_compatibility.zs
2019-10-20 11:31:53 +02:00
alexey.lysiuk
0b16eb2cbb - fixed: pickup flash didn't fade out if player was killed by pickup
https://forum.zdoom.org/viewtopic.php?t=66135
2019-10-16 20:56:41 +02:00
Major Cooke
60b6b31542 Added compatibility for Hellbound MAP29
- Some of the ceilings in the monster closets weren't high enough to allow the cyberdemons to pass, making 100% kills impossible. This is caused by the floors not going down far enough and stopping at a certain height above the next closest floor.
2019-10-12 14:35:31 +02:00
drfrag
d25557597b - Added missing string and removed blank line in menu. 2019-09-30 21:49:33 +02:00
Alexander
a44f80c19d add m_quickexit option for quick exit in game menu
Default: off (false)

When this option is enabled (true), then exiting the game from
main menu and by menu_quit command doesn't require confirmation
and doesn't play sound.

# Conflicts:
#	wadsrc/static/menudef.txt
2019-09-30 21:38:51 +02:00
Alexander
b4d10d2f5b fix bug when down arrow gave no result after mouse move in main menu
Steps to reproduce:
1. Load game.
2. Press any key to bring up the main menu.
3. Move the mouse anywhere out of the menu entries.
4. Press Down arrow.

Expected result: the menu cursor sound is played, the first menu element is selected.
Actual result: the menu cursor sound is played, no menu element is selected.

Repeated Down arrow pressing doesn't give any result, either.

If on step 4 Up arrow is pressed, the last element in the menu is selected.
2019-09-30 21:38:48 +02:00
alexey.lysiuk
df05187229 - fixed inventory scroll arrows in alternative HUD
https://forum.zdoom.org/viewtopic.php?t=65976
2019-09-29 18:16:10 +02:00
Rachael Alexanderson
6537eca669 - implement the following functions under LevelCompatibility:
GetNumMapThings, GetMapThingPos, GetMapThingAngle, SetMapThingAngle

# Conflicts:
#	src/maploader/compatibility.cpp
2019-09-28 15:01:23 +02:00
Rachael Alexanderson
1a85206983 - add 'flipline' function to levelcompatibility
# Conflicts:
#	src/maploader/compatibility.cpp
2019-09-28 14:56:12 +02:00