Commit graph

17063 commits

Author SHA1 Message Date
Christoph Oelckers
c65f707a20 - added a proper 'sound finished' callback to the sound engine.
Backported from Raze - without this there is no way to implement sounds that can unload themselves, because the existing ChannelEnded function is called when the sound is still active.
2020-09-27 09:46:12 +02:00
Christoph Oelckers
2b64f8fb19 - added custom sound stream feature from Raze.
Currently not active yet but may be useful to implement streaming sounds in ZScript
2020-09-27 09:38:14 +02:00
Christoph Oelckers
700304bf46 - update of console code.
Backports con_pulsetext and toggle messages for CVARs from Raze.
2020-09-27 09:35:06 +02:00
Christoph Oelckers
c415518066 - allow drawing fonts with explicit palette translations.
Backported from Raze.
2020-09-27 09:19:12 +02:00
Christoph Oelckers
dbf2d4d7d7 - backported all new scaling and rotation options for the 2D drawer from Raze.
With proper scaling and viewport support, things should become a lot easier now. The 2D drawer now also can rotate content by arbitrary angles.
2020-09-27 09:17:41 +02:00
Christoph Oelckers
db895b43b2 - copied constexpr declarations plus a few fixed in utility code and fixed a few places where this triggered a compile error now. 2020-09-27 08:36:30 +02:00
Christoph Oelckers
b66349d4cf - avoid killing timer precision when there's no time scale active. 2020-09-27 08:30:01 +02:00
Christoph Oelckers
8a545431de - fixed the integer readers' internal variables.
Backported from Raze.
2020-09-27 08:13:52 +02:00
Christoph Oelckers
d1e613e514 - use a sector's special sprite color to colorize decals. 2020-09-26 23:39:42 +02:00
Christoph Oelckers
399388d177 - transmit the actual run mode in BT_RUN, because BT_SPEED was poorly designed. 2020-09-26 22:26:26 +02:00
Christoph Oelckers
f4c5a25a52 - fixed: CreateTexBuffer did not check the Inactive flag for the requested translation. 2020-09-26 22:03:15 +02:00
Christoph Oelckers
2f403efba2 - delete textures before starting the ENDOOM screen. 2020-09-26 21:34:36 +02:00
Christoph Oelckers
03d25b75da - fixed height fudging for Heretic's sky textures. 2020-09-26 21:13:00 +02:00
Christoph Oelckers
668ebd9be1 - immediately abort loading a savegame if object deserialization fails.
If the loader is allowed to go on, these objects will be linked into game structures and may do unpredictable things before the loader has a chance to abort at the end.
2020-09-26 20:36:10 +02:00
Christoph Oelckers
48b3a60e6d - fixed: The font init code must check textures, not the file system for existence of required data. 2020-09-26 19:57:53 +02:00
Christoph Oelckers
5c392a220d - fixed: Actors moved to STAT_TRAVELLING need to preserve their JUSTSPAWNED flag.
Otherwise freshly spawned inventory items won't call PostBeginPlay.
2020-09-26 19:37:30 +02:00
Christoph Oelckers
8fc9f1e5ef - avoid double linking to and unlinking from the world for actors.
Some people apparently have to toy around with the engine's innards without fully understanding them. :(
When properly used the saveguards should never be triggered.
2020-09-26 19:09:00 +02:00
Christoph Oelckers
084c2cc7f5 - fixed broken 'y' detection in Doom-style small fonts. 2020-09-26 18:53:42 +02:00
Christoph Oelckers
2ffb447f9e - let non-solid teleporting actors not actually telefrag.
Since they are non-solid they may just be allowed to teleport, even when a monster or player is in the way.
2020-09-26 18:46:39 +02:00
Rachael Alexanderson
c3dc84297e - flat tile backgrounds in intermission now respects 'inter_classic_scaling' cvar 2020-09-24 23:45:51 -04:00
Player701
ec3cd68c1f Fixed extra player translations not working in Heretic with predefined color sets 2020-09-22 18:34:06 +02:00
Player701
58f56bbea6 Fixed: extra player translation tables were not fully initialized. 2020-09-22 13:59:33 +02:00
Player701
c60e026334
Fixed decals not appearing when firing at walls point-blank (#1186) 2020-09-22 07:03:37 -04:00
Player701
734b15e412 Exported FLevelLocals::ChangeLevel to ZScript 2020-09-20 23:12:01 +02:00
Cacodemon345
4374b8017e
Fix FreeBSD compilation (#1184) 2020-09-20 14:47:05 -04:00
alexey.lysiuk
8a4b686881 - fixed constant propagation for operator && in ZScript
https://forum.zdoom.org/viewtopic.php?t=69912
2020-09-20 10:51:04 +03:00
vidaritos
0adbb8d631 pass ScriptPosition down to color parser functions 2020-09-18 20:07:41 +02:00
Cacodemon345
e74b9f1955
Add FALLDAMAGE flag and add property to properly apply falling damage… (#1153)
* Add FALLDAMAGE flag and add property to properly apply falling damage to the monsters

* Change name of propermonsterdamage property to propermonsterfallingdamage
2020-09-15 15:38:51 +02:00
alexey.lysiuk
776e3b10da - fixed setting of skill level via action special
https://forum.zdoom.org/viewtopic.php?t=69858
2020-09-14 10:47:29 +03:00
Kyle Johnson
e281f992af Disallow sound to be played on destroyed actors
It's possible for an actor to call Destroy() in a ZScript method (such
as Tick()) and then subsequently call A_StartSound() to play a sound.
Generally speaking this doesn't happen within a given class, but with a
class hierarchy, Destroy() may be called unbeknownst to a mod developer.
Even though checking bDestroyed is likely good practice, this ensures
that sounds won't be started on actors flagged for cleanup.
2020-09-12 21:38:56 +02:00
AFADoomer
e9af7e7096 Add string table lookup to SECRETS lump handling
- If the hint text portion of a STRINGS lump entry begins with a '$', the value is treated as a string table lookup

Allows SECRETS strings to be translated via LANGUAGE lump.  Reference: https://forum.zdoom.org/viewtopic.php?f=15&t=69827
2020-09-11 08:36:24 +02:00
Rachael Alexanderson
b11298afd5 - rename 'AlwaysCenterStatusBar' to 'FixUnityStatusBar', original name became a misnomer especially with updates that made it more specific in its use 2020-09-07 23:30:40 -04:00
alexey.lysiuk
c46dcd03a3 - fixed a few dangling pointers on traveling between levels
https://forum.zdoom.org/viewtopic.php?t=69747
2020-09-06 17:14:15 +03:00
alexey.lysiuk
0ab2ddca4c - fixed: additional command line was not stored on macOS
Replaced explicit save of configuration file, which doesn't work after recent backend refactoring, with passing of CVARs we need to store to a new GZDoom process

https://forum.zdoom.org/viewtopic.php?t=69790
2020-09-06 15:50:06 +03:00
alexey.lysiuk
0f880bdb50 - removed obsolete code path in Cocoa IWAD picker
Always use arch executable to restart GZDoom with additional command line parameters
2020-09-06 15:42:52 +03:00
Rachael Alexanderson
91a4e6aed4 - do unity data status bar correction only if stbar is in an iwad 2020-09-05 06:18:41 -04:00
Rachael Alexanderson
d1a6831f06 - disallow unity iwad status bar adjustment if offset is already set 2020-09-04 21:30:31 -04:00
Rachael Alexanderson
6c514a4cc4 - For status bars for the Unity iwad - only force offsets if the width is greater than 320. 2020-09-04 08:39:01 -04:00
Rachael Alexanderson
0204051381 - add support for the (as of now) newest version of the Unity re-releases 2020-09-03 23:40:00 -04:00
alexey.lysiuk
adfd5de166 - do not abort saving and loading on pointer serialization errors
Attempt to serialize invalid pointer is reported, and its value is treated as null
2020-09-02 15:21:00 +03:00
Marisa Kirisame
58f5c030fe
Add Travelled virtual for PlayerPawn, akin to the same function for Inventory. (#1169) 2020-09-02 06:12:58 -04:00
Marisa Kirisame
e0aa8db616 Add Pre/PostTeleport virtuals, for special handling of actor teleportation. 2020-09-02 12:02:09 +02:00
alexey.lysiuk
53199e4553 - reset player's blocking line on traveling between levels
It's not obvious where we can reset blocking line in a more generic way, and whether it's possible at all, because this member is exposed to scripting

https://forum.zdoom.org/viewtopic.php?t=69747
2020-09-01 15:02:02 +03:00
Maarten Lensink
34dd9625fc
Display other kills in coop tally screen (#1167)
* Display other kills in coop tally screen

* Showing other when skipping counter
2020-08-30 09:34:53 -04:00
3saster
11cecf7f22
Removed some time specifiers that aren't standard and can crash GZDoom (#1166)
A number of the specifiers were GNU extensions that aren't actually standard
2020-08-29 15:55:51 -04:00
dondiego
560bbf0a9c
- Add the DF2_NO_COOP_THING_SPAWNDM flag to prevent spawning MP things in coop. (#1165) 2020-08-29 15:08:08 -04:00
alexey.lysiuk
254489e34c - fixed compilation warnings reported by MSVC
src\common\audio\sound\s_sound.cpp(556,27): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
src\scripting\vmthunks.cpp(2678,13): warning C4244: 'return': conversion from 'time_t' to 'int', possible loss of data
2020-08-29 14:42:19 +03:00
alexey.lysiuk
60886f389c - fill array of objects with nulls on reserve
When item of object array is reserved but not written, it contains random garbage that is treated as valid pointer by VM and GC

https://forum.zdoom.org/viewtopic.php?t=69703
2020-08-29 13:06:46 +03:00
alexey.lysiuk
f46e3bacb2 - fixed getting state name with incomplete list of actor classes
https://forum.zdoom.org/viewtopic.php?t=69713
2020-08-29 11:08:31 +03:00
alexey.lysiuk
fb20730960 - fixed compilation warnings introduced recently
src/console/c_cmds.cpp:690:11: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
src/scripting/vmthunks.cpp:2698:21: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
2020-08-29 10:36:29 +03:00
MajorCooke
eaba63e13b
View Angles (Part 1 - Redux) (#1002)
* 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 A_SetView<Angle/Pitch/Roll>, which will set the view direction.
- Added ABSVIEWANGLES flag, used to make the view absolute instead of an offset.

* Converted functions to be direct-native.
2020-08-27 13:03:06 -04:00
MajorCooke
c57e669044
Added an optional extra float parameter to $pitchshift. (#1150)
- This allows for setting a randomized range for the pitch each time the sound is initialized.
2020-08-27 12:49:59 -04:00
3saster
5803b78147
Implemented Clock Class (#977)
* Simplified some stuff, made up-to-date

* Dealt with DST problems

* Made SystemTime.Format clearscope, as there is no reason for this function to be limited to the ui
2020-08-27 12:43:50 -04:00
MajorCooke
85759e3bd0
Added A_SpriteOffset. (#895)
- Coordinates work akin to A_OverlayOffset: +X shifts to the right, +Y shifts down.
2020-08-27 12:43:09 -04:00
William Breathitt Gray
3e69e44763
Install soundfonts and WOPL/WOPN banks (#874)
The INSTALL_SOUNDFONT_PATH cache entry is used to configure the
installation directory.
2020-08-27 12:39:56 -04:00
MajorCooke
4cbcb84dc9
Optimized P_CheckPosition. (#1161)
- If the actor passed into the function has THRUACTORS, PIT_CheckThing won't be called anymore.
- Moved THRUACTORS check to just under the self clipping check in PIT_CheckThing.
2020-08-27 12:37:39 -04:00
alexey.lysiuk
fc1f14b2eb - extended error messages in pointers serialization 2020-08-27 10:13:18 +03:00
alexey.lysiuk
dad0a6f977 - fixed typo in serialization error message 2020-08-27 09:57:36 +03:00
Chronos Ouroboros
2e2ee33a98 Fixed an incorrect abort message on out of bounds array access. 2020-08-26 18:16:04 -03:00
Rachael Alexanderson
54a630c3cf - amend last commit: rename the variable to something slightly more meaningful 2020-08-25 19:48:25 -04:00
Rachael Alexanderson
28f7728980 - fix a bug in the png renderer of the software renderer with decals: if the palette remap is missing, don't attempt to use it. (fix null pointer) 2020-08-25 19:10:22 -04:00
alexey.lysiuk
dfd5726eb0 - added bounds checks for serialization of pointers
Bogus pointers and offsets were serialized silently
This will to find other cases of dangling pointers, and protect from loading of broken saved games

https://forum.zdoom.org/viewtopic.php?t=67494
2020-08-25 21:54:36 +03:00
alexey.lysiuk
f9708e225c - added initialization for line and sector portals
Resizing of portal arrays during serialization could lead to processing of junk data

https://forum.zdoom.org/viewtopic.php?t=67494
2020-08-25 21:54:36 +03:00
alexey.lysiuk
05f9df7057 - update floor/ceiling for inventory items after traveling
Inventory items had dangling floor and ceiling sector pointers after transition to a new level
This could cause random issues with serialization

https://forum.zdoom.org/viewtopic.php?t=67494
2020-08-25 21:54:36 +03:00
Alexander Kromm (m8f)
83ffcbf692
autosave and make screenshot only if there is no other game actions (#1126)
In-game fix for this bug: https://forum.zdoom.org/viewtopic.php?f=43&t=59889&start=60#p1121698
because it may be also caused by other scripts or even manually.
2020-08-25 11:54:57 -04:00
Sterling Parker
d2a9de0012
Add PlayerSpawned() event (#1118)
* Add PlayerSpawned() event

* add playerspawned to DStaticEventHandler

* Define PlyerSpawned() correctly
2020-08-25 11:54:20 -04:00
Rachael Alexanderson
5f9377ae2a Merge commit 'refs/pull/980/head' of https://github.com/coelckers/gzdoom
# Conflicts:
#	wadsrc/static/menudef.txt
2020-08-25 11:32:10 -04:00
Magnus Norddahl
8306af298f Switch to use a single triangle when drawing screen quads for a slight cache locality improvement 2020-08-18 11:42:50 +02:00
Chronos Ouroboros
0f86f3a62a Fixed nested structs breaking the ZScript compiler under certain circumstances. 2020-08-15 16:25:59 +02:00
RockstarRaccoonAlt
b8bf812433 Fix obscure error in Animated Doors where the Actor can be NULL
This is a quick fix for an error in which Animated Doors crash the game by trying to check "actor->player" when "actor" itself is NULL.  Deleting the check entirely also worked, but I worried it might be there for some higher-level scripting reason.  This just puts in a check to make sure actor isn't NULL before checking actor->player, and keeps the behavior in that case the same.

I think this was happening because I had doors being opened by projectiles (like in Metroid) which were being despawned into NULL pointers when they hit the doors, as this was an issue when initially programming said doors..
2020-08-15 09:06:58 +02:00
MajorCooke
7e4a996cd4
P_BounceActor now calls SpecialMissileHit before any other bouncing effects are processed. Return values are as such: (#1156)
- 1: The missile will continue moving through the actor, and it's down to the modder to handle bouncing.
- 0: The missile will explode.
- Any other value will process a bouncing actor as normally done in the engine.
2020-08-14 02:01:32 -04:00
alexey.lysiuk
24200c0c3f - fixed ARM64 compilation issues reported by Xcode 12 beta 4
src/common/engine/stats.h:139:31: error: invalid output constraint '=A' in asm
src/common/platform/posix/osx/iwadpicker_cocoa.mm:379:1: warning: non-void function does not return a value [-Wreturn-type]
2020-08-09 15:40:38 +03:00
Cacodemon345
b0e2c993f7
- added macOS Big Sur and ARM64 detection (#1151) 2020-08-09 15:06:11 +03:00
Perry Fraser
86cf5c9e53
- added native fullscreen mode option to Cocoa backend (#1154) 2020-08-09 14:41:29 +03:00
alexey.lysiuk
5f8b313446 - fixed: UMAPINFO partime was multiplied by ticrate
https://www.doomworld.com/forum/post/2167749
2020-08-03 12:45:20 +03:00
Rachael Alexanderson
bda49d0bf7 - demote pwad defcvars error to a warning 2020-08-01 06:01:29 -04:00
Rachael Alexanderson
86bac6bfcf - sv_leveltally has been removed from the config file and is now session-only 2020-07-25 10:28:08 -04:00
Major Cooke
a85ee5826e Added $PitchSet <logical name> <float> for SNDINFO.
- Sets the direct pitch of the sound to the specific float. Default is 0.0, meaning do not set a specific pitch. Regular pitch is 1.0.
- Only works for direct sound definitions.
- Overrides $PitchShift unless value is <= 0.0
- Overridden by A_StartSound's pitch parameter if the value > 0.0.
2020-07-24 08:05:44 +02:00
Magnus Norddahl
01eeb8f7c5 Add vk_memstats ccmd 2020-07-23 16:02:14 +02:00
alexey.lysiuk
04f327677d - fixed incomplete special menu handling
Redirections to textual main menu and new player menu were not functional

https://forum.zdoom.org/viewtopic.php?t=69369
2020-07-22 16:26:27 +03:00
Rachael Alexanderson
810e240f89 - add 'sv_alwaystally' defaults to 0 with the following states:
* 0: previous behavior (completely MAPINFO controlled)
* 1: always show level tally at the end of an episode
* 2: always show level tally even when changing levels within a hub
2020-07-21 13:53:27 -04:00
alexey.lysiuk
fcb6e1b18c - merge whitespaces before comparing Dehacked texts
With introduction of localization support, several strings are no longer identical to the original messages
Double spaces were removed, and letter case was changed
The latter is already handled, extra whitespaces are now deleted to deal with the former

https://forum.zdoom.org/viewtopic.php?t=69236
2020-07-12 11:07:49 +03:00
Marisa Kirisame
6e79209931 Optimize UE1 vertex normal computation. 2020-07-11 08:07:38 -03:00
dondiego
c8fe5bcb2e
Bumped version number to 4.5pre. (#1132)
* - Bumped version number to 4.5pre.

* - Delete superfluous include.
2020-07-08 23:24:36 -04:00
drfrag
d1373c7ffd - Fix am_zoom and adjust am_zoomout speed for the automap. 2020-07-07 20:30:33 +02:00
alexey.lysiuk
cc07c56c36 - made mouse scaling in Cocoa backend match other platforms 2020-07-05 11:32:45 +03:00
Cacodemon345
61641bd45e Disable JIT VM by default when compiling for DragonFly BSD 2020-07-05 08:53:46 +02:00
Mitchell Richters
8578c11789 - make SDL mouse scaling match that of Windows for consistency. 2020-07-04 18:25:44 +02:00
Rachael Alexanderson
383f3e5fd6 - change recent /0 fix to conform to UDMF specs 2020-06-25 09:30:52 -04:00
Rachael Alexanderson
f47055bca6 - amend previous commit: do the same for healing sectors, as well 2020-06-23 13:37:56 -04:00
Rachael Alexanderson
90895d154b - when a damaging sector's damage interval is 0, instantly kill the player instead of dividing by 0 2020-06-23 13:12:25 -04:00
alexey.lysiuk
ece526a99c - fixed freeze with StartSlideshow called for undefined intermission
https://forum.zdoom.org/viewtopic.php?t=69079
2020-06-23 10:15:15 +03:00
lucy phipps
53ad870581 escape the escape character 2020-06-21 15:55:42 +03:00
Hugo Locurcio
f7bec90e74 Interpolate positions and angles in the automap for smoother appearance 2020-06-20 19:49:48 +02:00
alexey.lysiuk
9629a737b9 - added mixin support to AST output 2020-06-20 16:53:30 +03:00
alexey.lysiuk
18f2cf0fdc - exposed menu blur amount to engine interface
https://forum.zdoom.org/viewtopic.php?t=69056
2020-06-20 12:06:49 +03:00
alexey.lysiuk
04992f2bc8 - fixed leaking full VM frames
https://forum.zdoom.org/viewtopic.php?t=69055
2020-06-20 11:34:04 +03:00
Cacodemon345
da04616b7d Update am_map.cpp 2020-06-20 09:10:05 +02:00
alexey.lysiuk
0d3134d825 - assigned endoom lump name after mapinfo is parsed
https://forum.zdoom.org/viewtopic.php?t=69032
2020-06-19 10:53:28 +03:00
alexey.lysiuk
f2ddbeeb81 - fixed crash when loading empty resource directory
https://forum.zdoom.org/viewtopic.php?t=69004
2020-06-18 11:32:16 +03:00
Cacodemon345
a713a895a7 Get rid of color lookup, reverse red and green bits 2020-06-17 08:08:58 +02:00
Cacodemon345
8952e598a4 Add color output for SDL backend using ANSI escapes 2020-06-17 08:08:58 +02:00
Rachael Alexanderson
6a5315bf76 - Rename 'Play GZDoom' button to something more generic to more easily allow for use in forks or other projects 2020-06-16 08:04:19 -04:00
Christoph Oelckers
cfd8d07bf8 - added missing target check to A_RadiusDamageSelf. 2020-06-16 00:16:22 +02:00
Christoph Oelckers
9c7bc99201 - use a full ClearScreen when drawing fullscreen images.
This removes the FillBorder function which was only used to clear the border around those images - but due to imprecisions can leave garbage behind.
2020-06-16 00:11:06 +02:00
Christoph Oelckers
d1cbabff66 - backend update from Raze.
(No, the AnimTexture isn't used yet.)
2020-06-16 00:09:19 +02:00
Rachael Alexanderson
2c57d5e768 - fix crash in nullptr access to DFrameBuffer object 'screen' if it is uninitialized 2020-06-14 15:33:26 -04:00
Rachael Alexanderson
b441d8c399 - add "restart" button to error pane in Windows
- add keyboard accelerator shortcuts to many Windows-specific dialogs
2020-06-14 14:28:29 -04:00
Christoph Oelckers
97d515005b - moved the menu code back to the game side.
This isn't really shareable. Although major parts may be identical, the specifics are not.
2020-06-14 18:37:06 +02:00
Christoph Oelckers
cf6bcf4d2b - re-added a 'break' that got lost somehow. 2020-06-14 18:36:12 +02:00
Christoph Oelckers
75cd00a340 - fixed some issues with setup parts for ZScript in the wrong place.
This never showed on GZDoom as an error but on Raze which has no actor classes it caused incompletely set up class descriptors.
2020-06-14 18:35:58 +02:00
Christoph Oelckers
248aa8b5a7 - moved s_reverbedit.cpp to 'common'. 2020-06-14 12:39:59 +02:00
Christoph Oelckers
46dc77cc64 - fixed some issues in the menu code. 2020-06-14 12:20:07 +02:00
Christoph Oelckers
82e4104900 - moved several VM exports for game independent objects to 'common'. 2020-06-14 12:16:22 +02:00
Christoph Oelckers
3b7e236971 - moved menudef.cpp to "common", as the last piece of the menu code. 2020-06-14 00:42:01 +02:00
Christoph Oelckers
712d80006a - split game dependent parts out of menudef.cpp. 2020-06-14 00:27:32 +02:00
Christoph Oelckers
475f740058 - moved base menu code to "common". 2020-06-13 23:04:10 +02:00
Christoph Oelckers
90befff479 - moved out the Doom specific parts from menu.cpp and messagebox.cpp. 2020-06-13 22:43:35 +02:00
Christoph Oelckers
86e5f5a4cb - fixed missing include. 2020-06-13 20:57:13 +02:00
Christoph Oelckers
5dfe9918d0 - moved some event related code to 'common'. 2020-06-13 20:31:57 +02:00
Christoph Oelckers
e47f016b23 - fixed: AActor::GetModifiedDamage must account for the inventory items to get destroyed in its scripted subfunctions. 2020-06-12 23:11:45 +02:00
Christoph Oelckers
a3c100a2ed - deleted the duplicate start screen class. 2020-06-12 23:10:19 +02:00
Christoph Oelckers
2f692e1f7b Revert "- disabled the non-functional sidedef range check."
This reverts commit 8e46f235a6.
2020-06-12 17:05:08 +02:00
Christoph Oelckers
91a21e9cf1 - fixed: FGameTexture's GlowHeight was not initialized. 2020-06-12 16:43:27 +02:00
Christoph Oelckers
efbd80c325 - fixed: the attenuation flag wasn't passed to the shader if shadowmaps were disabled. 2020-06-12 15:16:50 +02:00
Christoph Oelckers
80b5a66635 - fixed bad range check in shadowmap code.
Since the last refactoring this only counts lights, not occupied entries in the array, but the check wasn't adjusted for that.
2020-06-12 15:07:13 +02:00
Christoph Oelckers
8e46f235a6 - disabled the non-functional sidedef range check.
Due to how sidedefs are decompressed this must not be checked in the linedef loader.
2020-06-12 14:26:34 +02:00
drfrag
476ab9caea - Fixed: check for bad sidedefs was not taking into account sidedef compression. 2020-06-12 14:14:46 +02:00
Christoph Oelckers
fe19aec059 - backend update from Raze. 2020-06-11 14:12:05 +02:00
Christoph Oelckers
646457eb03 - fixed: The scale vector for detail maps was not passed to the shader. 2020-06-11 14:12:05 +02:00
Christoph Oelckers
b0964101a5 - fixed: The flags for texture colorization were not passed to the backend. 2020-06-11 14:12:05 +02:00
Christoph Oelckers
95c232d31a - fixed: The scissor rectangle must be clipped to the upper left edge of the screen.
Negative coordinates are treated as "disable scissor", so if some transformation results in something off-screen it needs to be handled before passing it to the backend.
2020-06-11 14:12:05 +02:00
Cacodemon345
b22ed9f237 Fix startup crash on DragonFly BSD 2020-06-11 21:41:00 +03:00
Mitchell Richters
8af21a13e7 - fix missing terminator in vk_shader.cpp on #ifdef guarded line. 2020-06-11 13:33:19 +03:00
Christoph Oelckers
b20de184a0 - made the new Build light mode operational 2020-06-11 08:48:33 +02:00
Christoph Oelckers
62138c66b8 - added a CCMD that lists all CVARS which don't have a description.
This way it should be easier to fill in the missing texts.
2020-06-10 13:05:00 +02:00
Christoph Oelckers
82af7f4f68 - mapped "Smooth mouse" back to m_filter CVAR and removed smooth_mouse.
The option effectively disables per frame mouse checks.
The motivation to add it was that many wireless mice 10-15 years ago had update rates of less than 35Hz, and on these it was necessary to sync mouse input with the playsim to properly interpolate between updates.
Today this is totally useless and even counterproductive because modern mice have significantly higher update rates, so this option no longer smoothes things but instead makes the mouse feel more choppy.
2020-06-10 12:55:04 +02:00
Cacodemon345
20381a5929 Fix compilation on DragonFly BSD 2020-06-10 10:59:33 +03:00
Christoph Oelckers
60a20af8ff - fixed code that deternines when to upscale a texture.
This was very much non-functional.
2020-06-10 00:21:19 +02:00
Christoph Oelckers
2d13dcfc81 - fixed fallback lookup for multipatch textures referencing themselves as patch.
The code hadn't been properly updated to the new 3-layer texture system.
2020-06-09 23:18:55 +02:00
Christoph Oelckers
af7c2fb4e9 - fixed the burn shader. 2020-06-09 22:06:19 +02:00
Christoph Oelckers
b41ae2dfdd - do not allow playing sounds during PlayerFinishLevel.
This gets called right before the level ends, any sound in here would play during the intermission or at the start of the next level.
2020-06-09 21:01:14 +02:00
Christoph Oelckers
c9833a811e - added 3 more texture samplers to the shaders to compensate for the now always occupied slots for brightmap, glow and detail. 2020-06-09 20:40:43 +02:00
alexey.lysiuk
18371fb27a - fixed calculation of allocated memory for garbage collection
https://forum.zdoom.org/viewtopic.php?t=68897
2020-06-09 16:48:51 +03:00
Christoph Oelckers
3a23cc69d6 - since we already got lots of CVAR descriptions from the menu's content, let's use that as CVAR description if none is explicitly provided.
This also necessitated localization support for CVAR descriptions because menu content is multi-language.
2020-06-08 23:37:22 +02:00
Christoph Oelckers
bb3e100c54 - fixed bad bit operations when calculating the base palette remap.
The code assumed that the alpha channel is empty, but at this point it already contains the base palette's transparency info and needs to be masked out when using it differently.
2020-06-08 23:37:22 +02:00
Christoph Oelckers
a330b46d1a - fixed: The mutipatch texture builder did not set the source lump. 2020-06-08 23:37:21 +02:00
Christoph Oelckers
58bc12ee19 - fixed: When reopening a lump, the full file name must be used. 2020-06-08 23:37:21 +02:00
Christoph Oelckers
666b6b7007 - moved m_joy to common. 2020-06-08 23:37:21 +02:00
Christoph Oelckers
5896f24eba - added a new light mode that emulates Build's depth fading.
Not active yet, this needs some testing and finetuning.
2020-06-08 23:37:20 +02:00
Christoph Oelckers
9e51a2f63c - added Build's NPOT emulation to the backend.
For GZDoom this is completely disabled, of course, because the Doom engine does not need it, but in order to have the same backend code in both engines it needs to be present.
2020-06-08 23:37:20 +02:00
drfrag
65df05cba2 - fixed crash with texture upscaling in the truecolor software renderer.
Based on: 4746d0c626
2020-06-08 22:37:23 +02:00
drfrag
68e0e52aaf - Fixed crash rendering 3D floors without ceiling or floor textures in software. 2020-06-08 19:04:38 +02:00
nashmuhandes
6371fa91f9 Fixed wrong MINDEMOVERSION which was committed in 95f447927a 2020-06-08 15:10:00 +02:00
alexey.lysiuk
4c3c32dca6 - fixed compilation of non-x86 targets
src/common/utility/x86.cpp:48:6: error: ambiguating new declaration of ‘void DumpCPUInfo(const CPUInfo*)’
2020-06-07 21:52:58 +03:00
Christoph Oelckers
3fc0d0d794 - backend changes from Raze, mainly to properly load keyboard presets. 2020-06-07 15:09:10 +02:00
Marisa Kirisame
e81641dd01 Hotfix: LineTrace now reports the correct number of portal crossings. 2020-06-07 15:04:44 +02:00
alexey.lysiuk
0e8473906e - tighten rules for action functions called from Decorate
FxVMFunctionCall (previously used to call action functions from Decorate) skipped self pointer compatibility checks

https://forum.zdoom.org/viewtopic.php?t=68678
2020-06-07 15:00:32 +03:00
Christoph Oelckers
5220a01070 - fixed: The full dotted lump filter string was never used.
The code added all partial matches to the file system but not the full match.
2020-06-07 11:56:07 +02:00
alexey.lysiuk
8a1091c6fe - fixed (un)morphing of more than one actor from ACS
https://forum.zdoom.org/viewtopic.php?t=68847
2020-06-07 12:16:46 +03:00
alexey.lysiuk
11ba0be4c2 - fixed setup of JIT functions that require extra frame space
https://forum.zdoom.org/viewtopic.php?t=68816
2020-06-07 11:34:58 +03:00
alexey.lysiuk
718e2ea0f5 - fixed compilation warnings reported by Clang
src/g_level.cpp:1575:16: warning: delete called on non-final 'DoomLevelAABBTree' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
src/p_setup.cpp:367:16: warning: delete called on non-final 'DoomLevelAABBTree' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
2020-06-07 11:32:35 +03:00
Alexander Kromm
928c738e19 make various getter and pure-math methods clearscope, and where applicable, const
Original PR: https://github.com/coelckers/gzdoom/pull/532

Status of the original PR

1. Actor
- [already in] deltaangle
- [already in] absangle
- [already in] AngleToVector
- [already in] RotateVector
- [already in] Normalize180
- [already in] BobSin
- [already in] GetDefaultSpeed
- [this PR] GetBobOffset
- [this PR] InStateSequence
- [already in] FindState
- [already in] GetDropItems
- [this PR] DistanceBySpeed
- [this PR] AccuracyFactor
- [not in original PR, for PlayerInfo.isTotallyFrozen] isFrozen

2. PlayerInfo
- [this PR] GetUserName
- [this PR] GetColor
- [this PR] GetDisplayColor
- [this PR] GetColorSet
- [this PR] GetPlayerClassNum
- [this PR] GetSkin
- [this PR] GetNeverSwitch
- [this PR] GetGender
- [this PR] GetTeam
- [this PR] GetAutoaim
- [this PR] GetNoAutostartMap
- [this PR] GetClassicFlight
- [this PR] IsTotallyFrozen

3. C++ methods, to match ZScript:

- [scriptified] AActor::AccuracyFactor() to Actor.AccuracyFactor
- [this PR] AActor::DistanceBySpeed(AActor *, double) — it is a combination of getter and pure math
- [this PR] AActor::Distance2D(AActor *, bool) — called by DistanceBySpeed
- [this PR] AActor::Distance2D(AActor *, double, double, bool) — called by DistanceBySpeed
- [not in original PR, for PlayerInfo.isTotallyFrozen] AActor::isFrozen
2020-06-07 09:39:30 +02:00
Christoph Oelckers
b06af634e2 - added a flash component to the colormap shader.
Its main purpose is for RR's lightning flash in Raze but this looks very useful for manipulating fullscreen colormaps. Currently not exposed, though.
2020-06-07 09:16:56 +02:00
Christoph Oelckers
db93f2969e - fixed offsets for hires replacements of already scaled textures. 2020-06-06 19:01:11 +02:00
Cacodemon345
9c7f5e941e Fix compilation on NetBSD 2020-06-06 19:38:47 +03:00
Christoph Oelckers
5ab648b055 - fixed texture sampler generation in the Vulkan backend. 2020-06-06 16:10:19 +02:00
Christoph Oelckers
d643a42c4f - added per pixel lighting for decals. 2020-06-06 15:18:07 +02:00
Christoph Oelckers
16e64a19ae - fixed incorrect offsets for textures in the hires/ folder. 2020-06-06 13:59:39 +02:00
Christoph Oelckers
9f6d244016 - advanced coordinate control for overlays over DTA_Fullscreen images. 2020-06-06 12:51:03 +02:00
Christoph Oelckers
e00f27ddf5 - added limited support for replacing the intermission backgrounds in Doom 1 with widescreen images.
Due to how the placement works here, it is only usable with fullscreenautoaspect mode 3.
2020-06-06 10:19:02 +02:00
Christoph Oelckers
4746d0c626 - fixed crash with texture upscaling in the software renderer. 2020-06-06 09:24:12 +02:00
Cacodemon345
9bf0f9bbfc Add option to disable SDL joystick support.
This also adds some extra sanity checks to avoid crashes when the joystick isn't initialized.
2020-06-04 17:38:49 +03:00
Christoph Oelckers
b441b649c4 - fixed some double to float conversion warnings. 2020-06-04 08:05:38 +02:00
Christoph Oelckers
8b91bf9b61 - enabled CVAR descriptions. 2020-06-04 08:04:51 +02:00
Christoph Oelckers
fd3845ce09 - fixed: vertically mirrored textures should not be subjected to empty space optimizations because the algorithm cannot deal with the inverted case. 2020-06-03 22:30:44 +02:00
Christoph Oelckers
87d81656e1 - fixed: the 3D floor processing code in the renderer did not restore the render style after finishing.
Normally this won't be noticable, the only exception is if the last processed 3D floor had additive translucency and colored fog - this case is special because for additive rendering the fog color needs to be disabled.
2020-06-03 21:35:09 +02:00
Christoph Oelckers
720853cff8 - made some changes so that material definitions can properly check automatic layers when determining their material type.
Most importantly this means that any texture with a custom material definition needs to load its automatic layers before applying the definition.
2020-06-03 21:16:36 +02:00
Edoardo Prezioso
8ab6575bd1 - Fixed OpenAL regression with looping sounds with playing length 0.
If such case occurs, the starttime parameter passed to the sound functions is ignored and truncated to 0.
2020-06-03 15:27:50 +02:00
Cacodemon345
e2e47b8d8c Include signal.h if either compiling for macOS or one of the BSD systems 2020-06-03 08:26:28 +02:00
Cacodemon345
392f78dfbc Allow dialogs to be displayed on other Unix-like OSs 2020-06-03 09:17:14 +03:00
Christoph Oelckers
fa54afbd08 - addressed a problem with materials depending on automatically added textures.
This isn't a fix, it just removes a sanity check that really shouldn't be, but thanks of an underspecification of the material definition it was never possible to do this case properly.
2020-06-03 00:16:25 +02:00
Christoph Oelckers
932b2d820d - fixed floorclipping checks for 3D floors.
Neither the setup nor the in-game checks were correct, because this code comes from a time where ceilings could not have a terrain, meaning that 3D floors couldn't have one.
2020-06-02 23:04:05 +02:00
Christoph Oelckers
c537e5a0b7 - fixed bad ACS translation indexing. 2020-06-02 22:31:04 +02:00
Christoph Oelckers
1279ec081a - Strip out any color escape sequences before setting a window title. 2020-06-02 21:49:53 +02:00
Christoph Oelckers
1881cb45d2 - reject all 0-special lines for activation.
This is to ensure consistency between all callers of this function.
2020-06-02 21:38:55 +02:00
Christoph Oelckers
c48fa818ff - use modulo, not bitwise and-ing to check the damage delay for terrain based damage.
This was apparently overlooked when refactoring the damage system 4 years ago.
2020-06-02 21:24:34 +02:00
Christoph Oelckers
96cf16c923 - fixed: Copying a texture's size must also copy the offset. 2020-06-02 21:23:38 +02:00
Christoph Oelckers
f91958e88d - fixed scale setup for multipatch textures. 2020-06-02 20:38:46 +02:00
Christoph Oelckers
f118cd78bf - fixed missing custom shader setup in cases where a shader got used more than once. 2020-06-02 20:20:18 +02:00
Christoph Oelckers
8f07ab87c8 - make sure that incomplete multipatch textures are technically complete.
They need a valid FTexture backing them and should have their name cleared so that nothing references them by accident.
2020-06-02 20:15:55 +02:00
Christoph Oelckers
8480a390a1 - synced texture sampler setup fixes from Raze. 2020-06-02 11:45:34 +02:00
Christoph Oelckers
83153efcad - refixed translations on Vulkan. 2020-06-02 11:41:49 +02:00
Christoph Oelckers
ff99dfbbc6 Merge branch 'master' of https://github.com/coelckers/gzdoom 2020-05-31 23:38:17 +02:00
Christoph Oelckers
4c11b01588 - backend sync with Raze. 2020-05-31 23:37:11 +02:00
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
drfrag
8c539539df - Fixed crash on maps with out of range sidedef and sector numbers, adapted from PRBoom. 2020-05-29 18:59:58 +02:00
Christoph Oelckers
b60fd4d8bc - removed redundant TextureFilterChanged method from DFrameBuffer. 2020-05-29 11:53:37 +02:00
Christoph Oelckers
5861fdd4bd - minor cleanup of FHardwareTexture.
Inlining of a trivial function and removing dependency on the render state, unbinding the render state should be done elsewhere.
2020-05-29 11:48:29 +02:00
Christoph Oelckers
a517b04908 - texture sampler cleanup. 2020-05-28 22:51:17 +02:00
drfrag
332dfa4d6f - Remove wrong GL includes. 2020-05-27 21:35:09 +02:00
Christoph Oelckers
c892fb1ddb - backend sync with Raze
Mostly code reformatting plus license and copyright adjustments
2020-05-26 22:59:50 +02:00
Christoph Oelckers
4881ec257a - don't let CHANF_AUTO hijack other channels.
With CHANF_OVERLAP this isn't needed anymore - any sound started on CHAN_AUTO can actually play on this channel with overlap implicitly allowed.
This has the added advantage that these sounds can be reliably accessed with other function by using CHAN_AUTO.
2020-05-26 22:19:30 +02:00
Alexander Kromm
2a063c96da more descriptive message for server CVAR change attempt in netgame
Rationale: while the previous description contains the name of a CVAR, it doesn't specify that it's a CVAR. Unsuspecting user may be not aware that the engine or a mod contains such a CVAR.
2020-05-26 19:18:22 +02:00
alexey.lysiuk
555845222d - fixed fullscreen toggle via shortcut 2020-05-26 10:02:16 +03:00
Christoph Oelckers
233d0b62b9 - fixed space calculations for oversized episode and skill menus. 2020-05-25 22:12:08 +02:00
Christoph Oelckers
3b65b0caec - fixed: The size parameters for automap sprites are floats, so they need the matching tag. 2020-05-25 21:32:49 +02:00
Christoph Oelckers
730f64e447 Merge branch 'master' of https://github.com/coelckers/gzdoom 2020-05-25 21:23:25 +02:00
Christoph Oelckers
dbb1819238 - fixed setup for translated textures in Vulkan.
It was passing the wrong IDs to high level code.
2020-05-25 21:17:28 +02:00
Christoph Oelckers
b2b1ecc11f - Single image fonts do not use translations. 2020-05-25 21:16:36 +02:00
Christoph Oelckers
29344006a0 - fixed: texture upscaling was disabled by default.
It should only be disabled if the scale of a texture is greater than 2.
2020-05-25 20:41:47 +02:00
Christoph Oelckers
3e8f53e98c - fixed shader building.
We really need a version directive for user shaders, this is getting too messy. :(
2020-05-25 20:26:58 +02:00
Christoph Oelckers
667b2d6bf4 - fixed: V_GetFont must load the translations once the game has been set up. 2020-05-25 19:44:06 +02:00
Christoph Oelckers
2828dbe095 - fixed: TRF_ALLACTORS did not consider actors without any flag being set. 2020-05-25 19:33:14 +02:00
Christoph Oelckers
ea0da8533c - added missing range check to section code.
Fixes asserts on some maps in Kama Sutra.
2020-05-25 19:20:51 +02:00
Christoph Oelckers
991661e11e - fixed missing sound for Polyobj_MoveTo. 2020-05-25 16:24:36 +02:00
Marisa Kirisame
7d5df1dd7e Add mapinfo option to disable merging of identical pickup messages on same tic 2020-05-24 08:19:14 +02:00
Rachael Alexanderson
5c86ad8507 - defcvars: handle values from a version 219 config 2020-05-23 09:08:40 -04:00
Rachael Alexanderson
00acbac04e Merge remote-tracking branch 'origin/master' into texture_rework 2020-05-23 08:53:11 -04:00
alexey.lysiuk
3f9b9314a0 - added #include to fix compilation with MSVC 16.6.0
https://forum.zdoom.org/viewtopic.php?t=68641
2020-05-21 10:06:50 +03:00
Rachael Alexanderson
58b3cb0971 Merge branch 'master' of https://github.com/coelckers/gzdoom into texture_rework 2020-05-18 23:13:37 -04:00
Alexander Kromm
53ea19c6a8 fix "'ictionary' is freed outside the GC process" warning 2020-05-18 18:32:53 +02:00
alexey.lysiuk
dd40778c75 - fixed map things erroneously treated as polyobject anchors/spots
https://forum.zdoom.org/viewtopic.php?t=68601
2020-05-18 17:48:10 +03:00
Rachael Alexanderson
6e3ec96250 - export common formulae to functions instead of copy-pasting them
- screen bevel now enlarges also when screenblocks <= 11

- make intermission and status bar scaling game-specific in the config

- add scaling customization for classic ui flat scaling

- make screen border flat scale up

- inter_classic_scaling now defaults to true
- fixed: last commit I accidentally left hardcoded testing values and did not change them back to check for the texture's original size

- implement cvar 'inter_classic_scaling' to render the intermission flat as if it were 320x200
2020-05-07 04:34:17 -04:00
Rachael Alexanderson
0f0768652a - force player respawn to call up the player's default class settings before determining where to respawn the player 2020-05-07 04:33:28 -04:00
Rachael Alexanderson
192882f63a Merge branch 'master' of https://github.com/coelckers/gzdoom into texture_rework 2020-05-07 04:32:46 -04: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
Christoph Oelckers
0cf967dc06 - fixed wrong order of actions on shadow map updater. 2020-05-04 22:15:18 +02:00
Christoph Oelckers
c6cc763907 - fixed: screen resolution changes did not notify the 2D drawer. 2020-05-04 22:14:50 +02:00
Christoph Oelckers
192ea40634 - fixed order of multipatch texture initialization.
This didn't play well with hires replacements - the texture size needs to be set as early as possible.
2020-05-04 21:24:36 +02:00
Christoph Oelckers
3fd4d08004 - fixed startup and font init crashes. 2020-05-04 20:06:54 +02:00
PaulyB
a528290b5c Fix single top level filter folder not being read
I have no idea why the missing comma broke it in this particular way...
2020-05-03 11:26:57 +03:00
alexey.lysiuk
028cc6a828 - fixed compilation of SDL backend 2020-04-30 11:28:35 +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
arookas
6b70cad6e1 Add option to invert mouse x 2020-04-30 08:54:10 +02:00
Christoph Oelckers
3eecb6b3b6 - fixed creation of multipatch textures using other multipatch textures as their source. 2020-04-30 00:12:28 +02:00
Christoph Oelckers
d71ef66957 - fixes copied from Raze. 2020-04-29 23:58:50 +02:00
Christoph Oelckers
652712d970 - moved Vulkan and Softpoly backends to 'common'. 2020-04-29 22:17:35 +02:00
Christoph Oelckers
bc8335de3b - Vulkan backend dependency cleanup. 2020-04-29 18:52:08 +02:00
Christoph Oelckers
68630d6782 - sanitized dependencies of the softpoly render backend.
This included half the game state and lots of unneeded parts of the software renderer.
The two modules that are shared between softpoly and the classic software renderer have been moved to a neutral place.
2020-04-29 18:48:15 +02:00
Christoph Oelckers
8cce6207c7 - sanitized includes in a few files. 2020-04-29 18:15:56 +02:00
Christoph Oelckers
e3fdf2194e - moved a few leftover utility classes to 'common'. 2020-04-29 17:51:04 +02:00
Christoph Oelckers
808a7d28cf - moved benchmark fps output to the custom part of it because it depends on game data. 2020-04-29 17:44:43 +02:00
Christoph Oelckers
5d10d6c448 - directory structure cleanup.
The hwrenderer folder did not contain sufficient files anymore for such extensive subgrouping.
2020-04-29 17:36:58 +02:00
Christoph Oelckers
6cf91d3941 - moved the remaining core parts of the GL renderer to 'common'. 2020-04-29 17:19:17 +02:00
Christoph Oelckers
9be63a5093 Merge branch 'master' into texture_rework 2020-04-29 08:04:15 +02:00
Christoph Oelckers
c996600de7 - gl_renderer.cpp include cleanup 2020-04-29 08:01:29 +02:00
Christoph Oelckers
2adf1c6a6b - fixed ZScript compiler crash with dereferencing null pointers 2020-04-29 07:59:06 +02:00