Commit graph

17188 commits

Author SHA1 Message Date
Christoph Oelckers
8feba7dff9 - fixed: line portal rendering PR was missing handling for portals with z offset.
Since it used the back sector's height directly the needed offsetting was not applied to the upper and lower texture.
2021-03-05 17:19:02 +01:00
Timothy Quinn
fa2228d523 - Line_QuickPortal must check the partner line's special. 2021-03-05 16:40:12 +01:00
Christoph Oelckers
0c0ef4f938 - reinstated rendering of mid textures over two-sided wall portals.
This was removed in the last PR due to z-fighting problems which now have also been addressed
2021-03-05 12:25:41 +01:00
Timothy Quinn
a15216c90f - fixed rendering of one-sided line portals in the hardware renderer
# draw upper and lower textures when the back sector does not properly match
# do not draw middle textures on portal lines
# minor optimization to 'is***Portal' functions to avoid memory access in the most common case of no portal being present.
2021-03-05 12:02:31 +01:00
nashmuhandes
16b0dd2fe8 Fix random crash when travelling between hub maps in multiplayer. 2021-03-05 10:56:51 +01:00
Timothy Quinn
7e74d1c4a1 - ported Eternity's Line_QuickPortal 2021-03-04 22:54:36 +01:00
Christoph Oelckers
ecc4d31aa5 - fixed memory leak in UDMF loader.
When the extsector allocation was moved, this hadn't been adjusted yet, it still allocated its own buffer which never got freed again.
2021-03-04 16:55:50 +01:00
Christoph Oelckers
357163c60d - Backend update from Raze. 2021-03-04 14:45:29 +01:00
Magnus Norddahl
996b4f9f5c Implement depth clamp 2021-03-02 03:22:18 +01:00
Magnus Norddahl
d6f8e80177
Fix portals not working in softpoly (#1323) 2021-02-28 20:24:15 -05:00
Chernoskill
fa2058004b The two TArrays of type FTextureID skinIDs and surfaceskinIDs no longer have any null elements. These elements will have a textureid (FTextureID.texnum) of 0.
Re-worded error messages which were unprecise or unfitting before (model index below 0 was not acknowledged at all, or grouped together with a "too many models" message).

modelIDs are given a default value of -1.

Important: A MODELDEF's FrameIndex lines can no longer refer to model indices that are beyond the number of models of that MODELDEF entry. There is in fact a check to avoid going beyond the number of an actor's models which would abort program operation at startup, but it never caught any such occurances.

surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case surfaceIndex + modelIndex * MD3_MAX_SURFACES]
Used TArray.Alloc to make TArrays have the correct size depending on the number of models.

Also removed MAX_MODELS_PER_FRAME.
Edited skinSurfaceIDs access for one-dimensional TArray

Added MD3_MODELS_MIN
To ensure compatibility with mods, all model-related TArrays (four in total) have a minimum size of 4, defined by MD3_MODELS_MIN.
2021-02-26 22:22:33 +01:00
Christoph Oelckers
feb3520ee9 - added m_swapbuttons CVAR for the Windows RawInput and DirectInput backends.
The problem I discovered is that these backends do not respect the GUI-side system setting for swapping the buttons, so this needs to be done in-application so that swapped buttons can behave the same in the menu and the game.
2021-02-26 10:37:55 +01:00
Gutawer
73dc528112
- fix some crashes in the Shape2D VBO code due to unsound pointer usage (#1318) 2021-02-25 10:49:41 -05:00
Rachael Alexanderson
d6987ff6b2 Revert "Dynamic number of models per frame instead of a hard limit of four. (#1298)"
This reverts commit 769d60a64f.
2021-02-25 09:58:17 -05:00
Xaser Acheron
4b7560cd36 fix: MBF's A_Spawn DEH codepointer should use misc2 as spawnheight, not distance 2021-02-25 08:05:10 +01:00
Cacodemon345
a531c9c35f
Properly abort the program if the SDL window can't be created at all (#1296) 2021-02-24 15:27:42 -05:00
Chernoskill
769d60a64f
Dynamic number of models per frame instead of a hard limit of four. (#1298)
* Changed model-related arrays to TArrays.

* Update models.cpp

Used TArray.Alloc to make TArrays have the correct size depending on the number of models. 
surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, it's size is now (models * MD3_MAX_SURFACES)
surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case sSurfaceIndex + modelIndex * MD3_MAX_SURFACES]

* Edited skinSurfaceIDs access for one-dimensional TArray

* Edited skinSurfaceIDs access for one-dimensional TArray

* Edited skinSurfaceIDs access for one-dimensional TArray

* Changed model-related arrays to TArrays.

Also removed MAX_MODELS_PER_FRAME.

* Used TArray.Alloc to make TArrays have the correct size depending on the number of models. 

surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case surfaceIndex + modelIndex * MD3_MAX_SURFACES]

* Used TArray.Alloc to make TArrays have the correct size depending on the number of models. 

surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case surfaceIndex + modelIndex * MD3_MAX_SURFACES]

* Update models.h

* Edited MAX_MODELS_MD3

* Update models_obj.cpp
2021-02-24 15:26:47 -05:00
nashmuhandes
4d56754171 Made Strife NPC's dialog voice audible for all players. 2021-02-24 08:18:53 +01:00
Nash Muhandes
21ea68d552
Fix player not being able to talk to a Strife NPC during netplay, if another player talked to that NPC first. (#1312)
The ConversationNPC and ConversationPC fields were not cleared if the conversation was closed by selecting the goodbye option, or if the conversation was closed from the item checks.

https://forum.zdoom.org/viewtopic.php?f=2&t=53655
2021-02-23 12:35:06 -05:00
DarkOK
1cf0b18897 Fix typo with name in copyright
The first 'h' in Christopher is capitalized when it shouldn't be
2021-02-20 20:25:24 +01:00
alexey.lysiuk
e6810620cd - restored sound-related developer messages
https://forum.zdoom.org/viewtopic.php?t=71486
2021-02-20 11:00:12 +02:00
Erick Vasquez Garcia
65b0047b26 SoftPoly: Fixed the md3 models, you can now correctly display the frame of the model, in addition, interpolation is added to the model.
This error is mentioned by drfrag in the following link https://forum.zdoom.org/viewtopic.php?f=336&t=71228
2021-02-20 09:14:18 +01:00
dondiego
395fc28e12
SoftPoly: Fixed the screen turning white with invulnerability sphere in Doom and in Heretic avoiding color errors in some pixels when activating the "ring of invincibility". (#1307)
Co-authored-by: Erick Vasquez Garcia <erickv5394@gmail.com>
2021-02-18 23:37:53 -05:00
Player701
387abf81a0
- Added a new intrinsic for class pointers to check if the class is abstract (#1308) 2021-02-18 11:17:23 +01:00
Erick Vasquez Garcia
78c0ec0470 - Fixed sprites were not affected by dynamic lights on SoftPoly. 2021-02-16 08:27:02 -05:00
alexey.lysiuk
d23755f76b - fixed missing 'player left the game' message 2021-02-15 11:18:06 +02:00
Magnus Norddahl
3b7ada83bf Fix black wall sprites 2021-02-14 14:05:52 -05:00
Magnus Norddahl
2855b1c4ae Fix line portal clipping bug 2021-02-14 13:59:35 -05:00
Rachael Alexanderson
c86715e521 - add -noautoexec command line parameter to disable the execution of autoexec.cfg files 2021-02-14 10:47:00 -05:00
drfrag
97a4080496 - Amend previous commit: fix the wallsprites crash. 2021-02-13 12:34:31 -05:00
Magnus Norddahl
1a5f0fd40a Fix Additive Shaded renderstyle for UDMF things bugged 2021-02-13 12:32:28 -05:00
Raccoon
59fcf45222
Add Warnings for when PNG loads fail due to unsupported flags (#1302)
This was the result of an issue which stumped the entire Discord, which led to me having to debug from source to find why some relatively standard publicly available PBR materials work.  GZDoom is the ONLY program in the typical development stack (GIMP, Slade, UDB) with this narrow of support for the PNG format. As such, the average developer will have no other way to figure out what's going wrong without these: these CANNOT be allowed to fail silently.  As things like PNG-compression and 64-bit color become more common in royalty-free PBR materials, support should be an eventual target.  Even then, these warnings should remain to prevent this from being an issue the next time things change.
2021-02-12 19:37:18 +01:00
Christoph Oelckers
c9ed4293f7 - backend update from Raze. 2021-02-12 14:40:34 +01:00
Rachael Alexanderson
4100251e25 - another wallsprite crash fix: https://forum.zdoom.org/viewtopic.php?f=56&t=71450 2021-02-12 06:49:47 -05:00
Magnus Norddahl
7e68223794 Add support for zero size buffers as the hwrenderer uses that!
Also add a sanity check on zero size textures just in case that ever happens!
2021-02-12 06:38:26 -05:00
Cacodemon345
f2469c6dcf Change _access to _waccess 2021-02-12 09:07:09 +01:00
Cacodemon345
349a2e9235 Fix crash when trying to open unreadable IWAD files 2021-02-12 09:07:09 +01:00
Cacodemon345
0a30c19138 Fix crash when following symlinks to nonexistent IWAD files 2021-02-12 09:07:09 +01:00
alexey.lysiuk
6bc82bdeff - fixed incorrect extension of overridden function prototype
Prototype of overridden function with optional argument(s) missing could extend unrelated prototype of previously defined function when their arguments and return value(s) match

https://forum.zdoom.org/viewtopic.php?t=71340
2021-02-12 08:42:57 +01:00
Magnus Norddahl
d7924d6e9d Fix dancing sprites regression 2021-02-11 23:05:08 -05:00
alexey.lysiuk
e0e0fb0d8f - fixed uninitialized global rolloff in sound engine
Depending on SNDINFO definitions, type of global rolloff could left uninitialized, and linear rolloff might be treated as logarithmic

https://forum.zdoom.org/viewtopic.php?t=70248
2021-02-08 11:50:00 +02:00
Christoph Oelckers
917eb2b5e3 - fixed: FTextureManager::ReplaceTexture did not calculate the upscale flags. 2021-02-07 09:19:56 +01:00
alexey.lysiuk
74685a1360 - added detection of more x86 extended CPU instructions
Replaced report of 3DNow support with recent fancy CPU instructions
2021-02-06 16:56:59 +02:00
alexey.lysiuk
6d47d79e22 - removed useless x86.h #include's 2021-02-06 15:01:08 +02:00
alexey.lysiuk
d9a5c00cd4 - cleaned x86 CPU detection of obsolete code 2021-02-06 15:01:08 +02:00
alexey.lysiuk
a7e97daa86 - added detection of a few x86 extended CPU instructions
i hope this will make some people a bit happier
2021-02-06 15:01:08 +02:00
Christoph Oelckers
572db3930d - removed unused FSoftwareTexture::GenerateBgraMipmapsFast() function. 2021-02-06 13:18:15 +01:00
Gutawer
aad50cb218 - fix alpha (and other parameter properties) not reuploading the buffer on Shape2D 2021-02-06 06:49:20 -05:00
Alexander Kromm
a2f8b7d0df add "hidepartimes" MAPINFO/GameInfo property 2021-02-02 03:36:06 -05:00
Cacodemon345
b5f80bb69c Hitscan attacks can now hit SPECTRAL actors if the hitscan puff has SPECTRAL flag set 2021-02-02 03:33:23 -05:00
Cacodemon345
3c5f5f392f Add progress bar for SDL backend 2021-02-02 03:32:40 -05:00
drfrag
421b6a0343 - Fixed "Messages ON" not being printed. 2021-02-02 03:31:20 -05:00
alexey.lysiuk
9bd07e5c83 - improved JIT simple frame error message
https://forum.zdoom.org/viewtopic.php?t=71340
2021-01-31 14:47:33 +02:00
Rachael Alexanderson
ad66063354 - oops this was not supposed to be in master
Revert "- failed attempt at automap line thickness"

This reverts commit 9651dd3a48.
2021-01-31 06:24:43 -05:00
Rachael Alexanderson
8a4b5dfb77 - remove Raspberry Pi1/2 support completely 2021-01-31 06:18:21 -05:00
Rachael Alexanderson
6dc218062f Merge branch 'master' of https://github.com/coelckers/gzdoom 2021-01-30 23:28:51 -05:00
alexey.lysiuk
7e02c5f210 - replaced linked sector constructor with default initializers 2021-01-30 15:49:55 +02:00
alexey.lysiuk
ac05f0a6b2 - added initialization of linked sectors
Resizing of linked sectors arrays during serialization could lead to processing of pointers to junk data

https://forum.zdoom.org/viewtopic.php?t=71252
2021-01-30 15:09:35 +02:00
Rachael Alexanderson
b9e37ff0f4 Merge branch 'master' of https://github.com/coelckers/gzdoom 2021-01-29 22:52:33 -05:00
Rachael Alexanderson
9651dd3a48 - failed attempt at automap line thickness 2021-01-29 22:52:28 -05:00
drfrag
638c49fe0f - Fixed nodes were not rebuilt after loading broken extended nodes. 2021-01-29 20:39:27 +01:00
Christoph Oelckers
f108a106c9 - backend update from Raze. 2021-01-29 13:54:18 +01:00
Rachael Alexanderson
d3804911cf - Fix the previous commit
Revert "Fixed a missing parameter in S_Sound's ZScript prototype that was causing assertion failures."

This reverts commit 619f44decd.
2021-01-18 04:02:12 -05:00
Chronos Ouroboros
619f44decd Fixed a missing parameter in S_Sound's ZScript prototype that was causing assertion failures. 2021-01-17 22:22:40 -03:00
Rachael Alexanderson
c783b9dce9 - 21:9 improvements
- vid_aspect is now set to change to 21:9's ACTUAL aspect - 64:27
- screen elements now scale to 64:27 properly. to restore classic behavior, set cvar `vid_allowtrueultrawide` to false
2021-01-17 11:41:36 -05:00
Rachael Alexanderson
efa788cd5e - remove erroneous assert in the ZScript codegen compiler
- fixes issue #1279
2021-01-17 10:58:44 -05:00
Rachael Alexanderson
b70c66e2cc - make ARM compiler flags optional, detect based on ${ZDOOM_TARGET_ARCH}, do not activate on Apple build systems 2021-01-17 06:30:14 -05:00
Kevin Caccamo
26eac560dd Fix ScriptCall missing default arguments
There was one VMCall in DLevelScript::ScriptCall that didn't use default arguments. This was causing assertion failures in the GZDoom debug build when trying to run Wolfenstein: Blade of Agony on any map that wasn't TITLEMAP, because ACSTools.FindInventoryClass returns a boolean, and it has a default argument.
2021-01-16 17:11:39 +01:00
Marisa Kirisame
44b4359ba5 Add alternate "Full" mode for PowerIronFeet that prevents leaky damage. 2021-01-16 17:09:57 +01:00
drfrag
24cf27e9e2 - Fix ALWAYSFAST actor flag. 2021-01-13 20:13:52 +01:00
William E. Waterman
3261eb3643
Side By Side Letterbox Display mode (#1255)
* Added SBSLETTERBOX to menudef.txt

* Changed PresentSideBySide in gl_renderer

Needed for new side-by-side mode

* Added VR_SIDEBYSIDELETTERBOX to gl_stereo3d.cpp

For side by side letterbox display mode

* Added VR_SIDEBYSIDELETTERBOX to hw_modes.h

For new side by side letterbox display mode

* Added VR_SIDEBYSIDELETTERBOX to hw_vrmodes.cpp

For Side By Side Letterbox display mode
2021-01-13 07:09:13 -05:00
Rachael Alexanderson
476e59fbab - add sv_instantreaction dmflag 2021-01-13 07:04:18 -05:00
drfrag
4ff72e937f - Fixed: Monster reaction time was always zero with fast monsters and not just on nightmare. 2021-01-13 06:30:13 -05:00
Chronos Ouroboros
d8164e0050 - Fix the "Max" constant being incorrect for unsigned int types. 2021-01-06 15:50:58 -03:00
Rachael Alexanderson
7afae96530 - add new detection hashes for newer versions of nerve.wad
- partially fixes issue #1263
2021-01-06 07:05:40 -05:00
Rachael Alexanderson
65c7b77997 - update $musicalias to allow iwad remapping when used from game_support.pk3
- add music aliases for the unity version of Doom/Doom2 for digitized game soundtrack
- this fixes issue #1268
2021-01-06 06:32:04 -05:00
Rachael Alexanderson
e6c71c2f0c - reimplement fix #1267 from @drfrag666 differently - fix damagecount overflow 2021-01-05 11:09:19 -05:00
alexey.lysiuk
1767fdfe7a - extended operating system information with os-release's pretty name
https://www.freedesktop.org/software/systemd/man/os-release.html
2021-01-02 14:59:31 +02:00
Rachael Alexanderson
6089c34558 - oops forgot to add this file 2021-01-02 07:47:25 -05:00
Gutawer
276cdde112
Modify Shape2D so that it manages its own vertex buffer rather than using the draw list (#1249)
* - modify Shape2D so that it manages its own vertex buffer

* - fix the last commit failing on Shape2Ds that were modified after AddShape was called

* - make buffers an array of F2DVertexBuffers instead of an array of pointers

* - fix AddShape with the same VBO but different transformation crashing the game

* - formatting fixes
2021-01-02 07:41:32 -05:00
Emily
7db7b0c7e6
Fix IfItem amount not being checked (#1262) 2021-01-02 07:39:14 -05:00
Rachael Alexanderson
e917cd0a2c - oops, fix previous commit, that wasn't meant to be in there 2021-01-01 22:44:36 -05:00
Rachael Alexanderson
54fba4d642 - windows: create stub functions for the crash logger for ARM. this invites the possibility, hopefully, that if someone is inclined, to actually make one. it also cleans up the code a little bit for intel. 2021-01-01 20:52:18 -05:00
alexey.lysiuk
499df03821 - removed limitation on number of descriptor set layout bindings
https://forum.zdoom.org/viewtopic.php?t=70955
2021-01-01 14:46:24 +02:00
Cacodemon345
0dda8733db
Print name of OS on POSIX systems when using SDL
#1265
2020-12-31 14:48:48 +02:00
Rachael Alexanderson
df4f41f4e8 - Modified commit from @OrdinaryMagician #1261
- Always allow skyboxes by default
- Add option to disable skyboxes through mapinfo
Squashed commit of the following:

commit d4c4d9310d0157ce575f52989b5b080398cf7629
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Wed Dec 30 09:58:39 2020 +0100

    Disable AO for skybox portals (can be forced back with MAPINFO flag).
2020-12-30 11:08:43 -05:00
dondiego
c59c2431ea
- Add autodetection for GOG's releases of Heretic and Hexen. (#1259) 2020-12-29 21:25:20 -05:00
Christoph Oelckers
6406427eb7 - added check for M_IsAnimated to TryRunTics. 2020-12-11 11:51:52 +01:00
Christoph Oelckers
6f4dfd9a61 - added the option to look for music by using a truncated 8-character variant of the given name.
This workaround is needed because there's known old mods depending on this legacy behavior.
2020-12-11 11:39:24 +01:00
Christoph Oelckers
423fe60080 - fixed: strbin did not check for a terminating 0-character right after an escaping backslash. 2020-12-11 11:22:07 +01:00
Rachael Alexanderson
64ff15b82b
Squashed commit of the following: (#1248)
commit bbfb934e808c6602d3a059adf270e997b71b900c
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Sun Dec 6 23:50:15 2020 -0500

    - and now it builds! but ... does it run?

commit 67096c8966f28dcff40c998d10e5510d6a689a13
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Sun Dec 6 22:25:13 2020 -0500

    - one more step closer to compile

commit 5a0c84dd2d3e1798e7a99f4ec1696f678708f0e6
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Sun Dec 6 22:13:39 2020 -0500

    - set up dynamic opengl load for windows

commit 6ef8118b801f305000ce881a4b04aaaef0196226
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Sat Dec 5 16:38:53 2020 -0500

    - allow compiling for win-arm64

commit 7d6f3797c4393fa7b0ed567b94d1de135ecb5ac6
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Dec 4 05:18:29 2020 -0500

    - allow targeting ARM64 on Windows

Co-authored-by: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
2020-12-10 09:16:28 -05:00
Gutawer
f223005584 - fix keyboard repeat events not being sent to menus if TranslateKeyboardEvents is true 2020-12-09 16:20:42 -03:00
makise-homura
10c682acf6 Change type of ops[] to deal with goto *p for EDG compilers 2020-11-30 09:26:16 +02:00
Chris Robinson
51adcd45e6 Simplify manual sound rolloff handling 2020-11-25 16:26:38 +01:00
Rachael Alexanderson
93f023db80 - change all optional game support archive loaders to scan the program folder 2020-11-25 07:03:35 -05:00
Christoph Oelckers
e19b1b2ee7 - fixed: IceGuyFX2 set its owner too late. 2020-11-25 07:37:17 +01:00
Christoph Oelckers
9925cc380e - backend update from Raze. 2020-11-23 15:45:33 +01:00
Christoph Oelckers
58d8ce1a4f - cleanup of m_fixed.h.
With fixed point math barely being used anywhere with the vast majority of calls in the software voxel drawer it makes sense to reduce the function interface to the minimum possible and move the shift value into the function call as an argument.
2020-11-22 10:25:04 +01:00
Rachael Alexanderson
a2b8ad79ed - implement slider background color change - https://forum.zdoom.org/viewtopic.php?f=15&t=70616 2020-11-17 11:29:39 -05:00
Player701
7ff79546e4 - Fixed: If AbsorbDamage resulted in an item having been destroyed, the following items in the inventory chain were not processed. 2020-11-17 12:54:05 +01:00