Commit graph

19670 commits

Author SHA1 Message Date
Emile Belanger
146e388430 Fix light binding when using pipeline buffer on OpenGL 2021-07-26 20:54:54 +01:00
Emile Belanger
1457194e01 Stop colormap being applied to 2D drawing 2021-07-26 20:54:46 +01:00
Rachael Alexanderson
b7d1f39eba - add OpenGL ES menu option 2021-07-26 20:54:45 +01:00
Rachael Alexanderson
984815f6a4 - language update 2021-07-26 20:54:45 +01:00
Christoph Oelckers
7255e49507 - version bump to 4.6.1. 2021-07-26 20:54:45 +01:00
Christoph Oelckers
b04e812a12 - added map option to disable shadowmaps.
Prompted by 'Hurt' which has > 4000 lights and runs into both performance issues and unpredictable light selection for the limited amount of shadowmap slots.

# Conflicts:
#	src/gamedata/g_mapinfo.h
2021-07-26 20:54:44 +01:00
alexey.lysiuk
a2a914ee6d - do not precache unreferenced textures
https://forum.zdoom.org/viewtopic.php?t=72649
2021-07-26 20:54:44 +01:00
Rachael Alexanderson
9ebd992b10 - add player setup to simple options menu 2021-07-26 20:54:44 +01:00
Christoph Oelckers
0343fad494 - fixed brightmap definitions for the SpiderMastermind. 2021-07-26 20:54:43 +01:00
Christoph Oelckers
d17eb19b22 - tweaked shadow code a bit.
* let CASTSPRITESHADOW act as an override for render style checks. If this is set we can assume that a shadow is desired regardless of style.
* reordered code to do the more costly checks only when needed.
2021-07-26 20:54:43 +01:00
Christoph Oelckers
2f9023d852 - fixed: shadow alpha for translucent objects was not correct in the hardware renderer. 2021-07-26 20:54:43 +01:00
Christoph Oelckers
58e7e5093a - better sprite shadow control
* exclude sprites which are not either opaque or use regular blended translucency from casting shadows.
* exclude wall and flat sprites from casting shadows.

In both of these cases the shadow math is unable to produce anything useful that doesn't look off.
2021-07-26 20:54:42 +01:00
Christoph Oelckers
3302a12da6 - fixed: splashes need the MOVEWITHSECTOR flag. 2021-07-26 20:54:42 +01:00
alexey.lysiuk
3551de5a56 - fixed format specifier compilation warnings
src/common/engine/serializer_internal.h:241: warning: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]
src/common/engine/serializer_internal.h:250: warning: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]
src/common/rendering/vulkan/system/vk_device.cpp:364:29: warning: format specifies type 'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
src/common/rendering/vulkan/system/vk_framebuffer.cpp:701:57: warning: format specifies type 'unsigned long long' but the argument has type 'VkDeviceSize' (aka 'unsigned long') [-Wformat]
2021-07-26 20:54:42 +01:00
alexey.lysiuk
ecc889242b - prevent appearance of dangling pointers in corpse queue
A dangling pointer in corpse queue may appear if actor is added to the queue when GC is in propagation state.
Enqueued corpse actor remains white, and if it’s destroyed and garbage collected before dequeue, a dangling pointer will be accessed during its removal from the queue.
In console, do `summon CorpseSpawner` and `gc now` with the following script loaded. Without a write barrier, it will crash in two seconds.

```
class TestCorpse : Actor
{
	States
	{
	Spawn:
		POSS U 1 A_Die;
	Death:
		POSS U 1 A_QueueCorpse;
		Stop;
	}
}

class CorpseSpawner : Actor
{
	override void Tick()
	{
		A_SpawnItem("TestCorpse");
	}
}
```

https://forum.zdoom.org/viewtopic.php?t=69842
2021-07-26 20:54:42 +01:00
Christoph Oelckers
c4ab09ffcf - added an OnDestroy method to Shape2D so that its users can explicitly free the data it holds.
In this case it is very important to care about management, because this class will hold GPU-side buffers!
2021-07-26 20:54:41 +01:00
Cacodemon345
928a68d884 Add Windows 11 detection 2021-07-26 20:54:41 +01:00
alexey.lysiuk
ed36ee70e5 - report correct macOS version with older SDKs
When built against 10.15 SDK or earlier, macOS 11.0+ returns 10.16 for compatibility, and external process is needed to output the actual version for us
2021-07-26 20:54:41 +01:00
alexey.lysiuk
f0600091fa - fixed potential crash when sound sequence is destroyed
Level can be unset if sound sequence destruction happens after saved game loading failure

https://forum.zdoom.org/viewtopic.php?t=72551
2021-07-26 20:54:40 +01:00
Christoph Oelckers
e1ce6ea40d - fixed bad type in FxFontCast. 2021-07-26 20:54:40 +01:00
alexey.lysiuk
8e1b2d7fad - added TVector2<> constructor from float*
As we seem to do not like explicit constructors, this will make temporary `TVector3<>` object creation much less probable
2021-07-26 20:54:40 +01:00
alexey.lysiuk
0176e52e44 - fixed parsing of 2D vectors in OBJ model loader
There is no `TVector2<>` constructor that accepts a pointer to float. However, there is such constructor in `TVector3<>`, so `TVector2<>` can be constructed from `float*` implicitly via temporary `TVector3<>` object.
2021-07-26 20:54:40 +01:00
Rachael Alexanderson
9b2490bd57 - fix missing border flat on heretic shareware 2021-07-26 20:54:39 +01:00
alexey.lysiuk
8c6027bc74 - fixed initialization of model frames
Replaced loop arrays initialization and obvious comments with something more readable, I hope

https://forum.zdoom.org/viewtopic.php?t=72523
2021-07-26 20:54:39 +01:00
Player701
cc4eef3a74 - Fixed impassable exit line in 007ltsd.wad E4M7 2021-07-26 20:54:39 +01:00
alexey.lysiuk
e14d42ce30 - prevent redundant string copying in Strife conversation parser
strifedialogue.cpp:110:22: warning: loop variable 'addd' of type 'const FString' creates a copy from type 'const FString' [-Wrange-loop-analysis]
2021-07-26 20:54:39 +01:00
alexey.lysiuk
6715bebb7d - added detection of macOS 12 Monterey 2021-07-26 20:54:38 +01:00
Christoph Oelckers
388d997366 - fixed permission validation in OptionMenuItemCommand.DoCommand.
This was missing the InMenu check like the other critical menu functions.
2021-07-26 20:54:38 +01:00
Christoph Oelckers
53a34e5deb - fixed explosive damage radius for clericflame.
This was fixed before but must have gotten lost somehow...
2021-07-26 20:54:38 +01:00
emily
2e869dd399 Make sprite shadows ignore float bob 2021-07-26 20:54:37 +01:00
alexey.lysiuk
666a366ef6 - fixed parsing of MAPxx par times in BEX lumps
https://forum.zdoom.org/viewtopic.php?t=72458
2021-07-26 20:54:37 +01:00
Christoph Oelckers
700c2372ed - let dynamic lights call UpdateLocation instead of just setting their position right after being spawned.
This ensures that the position is correct and that everything gets set up properly.
2021-07-26 20:54:37 +01:00
nashmuhandes
ffa939668e Add 'AddDialogues' in MAPINFO to additively add Strife NPC dialogs without overwriting each other. 2021-07-26 20:54:37 +01:00
Christoph Oelckers
5cb9022869 - fixed: Actors did not set the position when spawning a dynamic light.
It always reused the previous content of the 'Pos' field which was either undefined or an older position where the actor was located when last spawning a light.
2021-07-26 20:54:36 +01:00
nashmuhandes
6a91241158 Fixed wrong parameter type passed into TryMove here 2021-07-26 20:54:36 +01:00
Chronos Ouroboros
7b2cebd5dc - fix DaggerAlert using FindState incorrectly. 2021-07-26 20:54:36 +01:00
Rachael Alexanderson
b7ec406d0d - add missing break statement 2021-07-26 20:54:35 +01:00
Rachael Alexanderson
226e6b5f65 - widepix update 2021-07-26 20:54:35 +01:00
Christoph Oelckers
eb0dc3f924 - fix for "Return to Phobos (return01.wad) has an ancient bug in map E1M2 where the switch to raise the exit bridge doesn't work in versions of Doom past patch 1.2." 2021-07-26 20:54:35 +01:00
Rachael Alexanderson
2a6ba20bbf - pull new widepix fix for hexen sprites 2021-07-26 20:54:35 +01:00
Dasperal
6ee6fee54e - Fixed bug with BishopPuff moving in wrong direction 2021-07-26 20:54:34 +01:00
Emile Belanger
41eef5c7a0 Actually read GL_MAX_TEXTURE_SIZE for max size 2021-05-24 17:12:05 -04:00
Emile Belanger
8a71e7522b Delete some unused code 2021-05-24 17:11:19 -04:00
Rachael Alexanderson
7eb0541b21 - move gl_customshader back to hw_material.cpp 2021-05-24 17:10:41 -04:00
Emile Belanger
a9db983383 Force gl_customshader = false, some fixes to shader code. 2021-05-24 17:10:33 -04:00
Rachael Alexanderson
80717c237c - add GLES radio button 2021-05-22 15:33:16 -04:00
Rachael Alexanderson
30a2b7b94f - add vid_preferbackend == 3 to select GLES renderer 2021-05-22 15:33:01 -04:00
Rachael Alexanderson
558498f9c7 Merge tag 'g4.6.0' of https://github.com/coelckers/gzdoom 2021-05-22 11:18:00 -04:00
Christoph Oelckers
c320db66f4 - language update 2021-05-22 16:34:22 +02:00
Christoph Oelckers
88ef8e2cca - this is version 4.6.0 2021-05-22 16:13:24 +02:00