Commit graph

15837 commits

Author SHA1 Message Date
Christoph Oelckers
4722720f4b - fixed incorrect implementation of "episode = clear" in UMAPINFO. 2019-06-19 20:35:41 +02:00
alexey.lysiuk
ade60584cc - fixed incomplete parsing of UMAPINFO when map already exists
https://forum.zdoom.org/viewtopic.php?t=65100
2019-06-19 15:54:24 +03:00
alexey.lysiuk
ceacda6029 - fixed missing skill menu for episodes defined by UMAPINFO
https://forum.zdoom.org/viewtopic.php?t=65096
2019-06-19 14:48:11 +03:00
alexey.lysiuk
1f61b9d24f - fixed: all UMAPINFO definitions were applied to default map slot
https://forum.zdoom.org/viewtopic.php?t=65102
2019-06-19 13:10:47 +03:00
Christoph Oelckers
20b6395cf0 - give UMAPINFO the ability to disable cluster-based exit texts. 2019-06-18 20:40:41 +02:00
alexey.lysiuk
cc5bff6c9c - exported unconditional level exit to ZScript
Exit_Normal and Exit_Secret specials imply addition conditions to make a decision about proceeding to the next map
A few scriptified actors require a bypass of these conditions in order to work properly
2019-06-16 15:05:36 +02:00
Magnus Norddahl
774955dbc4 - write into stream buffers before opening the next render pass 2019-06-16 13:08:25 +02:00
Magnus Norddahl
d31dbf14e4 - wait for space if the stream buffers are exhausted 2019-06-16 13:05:12 +02:00
Magnus Norddahl
240a32f4c8 - also reset framebuffers when the image is reset 2019-06-16 10:31:12 +02:00
Rachael Alexanderson
ba387f51f3 Revert "Install soundfonts and WOPL/WOPN banks"
This reverts commit 2d1c7ba17c.
2019-06-14 07:51:18 -04:00
Chronos Ouroboros
1b106d109d Fixed "if (!(lhs ~== rhs))" breaking with vectors. 2019-06-14 12:49:57 +02:00
William Breathitt Gray
2d1c7ba17c Install soundfonts and WOPL/WOPN banks
The INSTALL_SOUNDFONT_PATH cache entry is used to configure the
installation directory.
2019-06-13 07:43:43 -04:00
Rachael Alexanderson
cb8c98827a - add nullptr checks for double-frame model interpolation 2019-06-12 10:21:43 -04:00
alexey.lysiuk
7e901055ea - fixed: light mode from mapinfo had no effect
https://forum.zdoom.org/viewtopic.php?t=64997
2019-06-12 09:49:40 +03:00
Magnus Norddahl
a093f686a7 - store the vulkan framebuffer with the image (this ensures the framebuffer object is destroyed along with the image) 2019-06-10 22:14:02 +02:00
alexey.lysiuk
ea8af08bcf - fixed compilation of Cocoa backend
src/posix/cocoa/i_main.mm:225:12: error: Objective-C declarations may only appear in global scope
src/posix/cocoa/i_main.mm:247:17: error: Objective-C declarations may only appear in global scope
src/posix/cocoa/i_main.mm:545:2: error: expected '}'
2019-06-10 14:44:06 +03:00
Christoph Oelckers
583cd489b1 - on second thought, better call M_ClearMenus instead of calling Destroy directly. 2019-06-10 12:15:52 +02:00
Christoph Oelckers
4c622ba066 - fixed: DeinitMenus must explicitly destroy the active menu before taking down the descriptors.
Otherwise the menu will only be collected by the garbage collector and no longer find all relevant data.
2019-06-10 12:06:03 +02:00
Christoph Oelckers
2766303cfc - consolidated the 3 atterm implementations.
Each platform had its own copy. Why?
2019-06-10 12:01:01 +02:00
Christoph Oelckers
9f2fbc1294 - renamed GLViewpointBuffer to HWViewpointBuffer. 2019-06-10 10:50:45 +02:00
Magnus Norddahl
13cab1c0b6 - delay postprocess texture destruction until the end of the frame 2019-06-10 09:13:56 +02:00
Magnus Norddahl
8853872bb4 - fix wipe screen when using -loadgame 2019-06-10 08:40:49 +02:00
Christoph Oelckers
037b69c8a7 - reworked buffer binding logic.
This shouldn't be in the hardware independent interface because the semantics on OpenGL and Vulkan are too different, so a common implementation is not possible.
Most bind calls were in the GL interface anyway, so these no longer pass through hardware independent code.

This also moves the bind calls in the shadowmap code into the GL interface - these never did anything useful in Vulkan and aren't needed there.

Last but not least, this moves the legacy buffer binding handling into FGLRenderState and performs the initial binding for the light buffer in a more suitable place so that this doesn't have to pollute the render state.
2019-06-09 20:37:11 +02:00
alexey.lysiuk
4a8438ebb4 - fixed crash on loading map in Hexen format without any nodes 2019-06-09 12:57:57 +03:00
alexey.lysiuk
d27a7cd84b - removed explicit self null tests from dynarray native wrappers
They are useless since d3e6ed3c9b in which generation of implicit self null pointer check was added to JIT
2019-06-09 10:27:21 +03:00
Gutawer
324a720d56 - added a linear transformation system to Shape2D so that things like rotations and scales can be changed without having to clear and push a large amount of data 2019-06-08 14:05:32 +02:00
Gutawer
aa75f086fa - cleaned up SDL mouse event handling
* Right/middle clicking no longer cancels out the mouse motion events
* The events for the side mouse buttons (EV_GUI_BackButtonDown/Up, EV_GUI_FwdButtonDown/Up) were never fired
* The EV_GUI_WheelRight/Left events were never fired
* The key bindings for mouse buttons above 3 (from 4-8) were broken - pressing MOUSE4 would bind to MOUSE6, for example
2019-06-08 13:14:02 +03:00
alexey.lysiuk
4a2ae357a2 - report implicitly initialized variable in code generator once
Vectors are no longer reported several times
Previously, warnings were issued per every register
2019-06-08 11:12:34 +03:00
alexey.lysiuk
024456048e - fixed access to wrong event data in SDL backend
Wrong button state event data were read on mouse motion

https://forum.zdoom.org/viewtopic.php?t=64950
2019-06-08 10:56:54 +03:00
alexey.lysiuk
6f1df5b5ab - added implicit initialization of reused register variables in ZScript 2019-06-07 13:43:51 -04:00
alexey.lysiuk
d3e6ed3c9b - added null check for self pointer before calling a native function
With JIT enabled, an implicit test for null self pointer is added to generated code
This has no effect without JIT as VM verifies a pointer before calling a native method

https://forum.zdoom.org/viewtopic.php?t=64961
2019-06-07 11:02:38 -04:00
alexey.lysiuk
c222b24c0a - removed erroneous assignment of dialog reply
https://forum.zdoom.org/viewtopic.php?t=64943
2019-06-07 17:40:36 +03:00
Magnus Norddahl
c9ee880196 - fix loadgame crash 2019-06-06 18:56:34 +02:00
alexey.lysiuk
b8a188705e - fixed hires texture lookup in Doomsday style .pk3
IWAD wasn't detected properly, and wrong texture can be picked as a hires replacement (e.g., SLADRIP1 from Ultimate Doom instead of TNT)

https://forum.zdoom.org/viewtopic.php?t=64915
2019-06-06 12:51:16 +03:00
Christoph Oelckers
5b32c5b150 - fixed the write barriers for the HUD message linked list.
To ensure that no broken relations occur, any change in the list must be handled by a write barrier, not just the single message that gets added.
2019-06-05 20:58:59 +02:00
Magnus Norddahl
ae69abc049 - FXAA_DISCARD should never be enabled. It only works when the output framebuffer is the same as the original. 2019-06-05 19:06:33 +02:00
Chronos Ouroboros
87c426dcfd Really fixed arrays of dynarrays this time. 2019-06-05 08:24:56 +02:00
William Breathitt Gray
9504d37c7b Cephes code is released under BSD license
The Cephes Mathematical Library author Steve Moshier has released the
Cephes Mathematical Library under the BSD license. This patch patch
replaces the cephes license with the BSD license for all Cephes
Mathematical Library code.

See also: https://bugs.gentoo.org/687276
See also: https://lists.debian.org/debian-legal/2004/12/msg00295.html
See also: https://github.com/deepmind/torch-cephes/blob/master/LICENSE.txt
See also: https://github.com/nearform/node-cephes/blob/master/LICENSE
2019-06-04 11:33:09 -04:00
alexey.lysiuk
4d29b5b5e7 - limited disabling of FXAA discard to Vulkan on AMD hardware 2019-06-04 12:43:08 +03:00
alexey.lysiuk
dc8a944382 - implemented GPU vendor string assingment in Vulkan backend 2019-06-04 12:42:01 +03:00
alexey.lysiuk
addcad8ac0 - disabled discard in FXAA shader with Vulkan backend
Discard caused graphical corruptions on AMD hardware with Vulkan backend enabled

https://forum.zdoom.org/viewtopic.php?t=64230
2019-06-04 11:32:00 +03:00
Rachael Alexanderson
5c0334e3ce - added a third state for cl_blockcheats. ==2 now blocks them silently. 2019-06-04 02:54:18 -04:00
Alexander
380398bcd6 added native double round(double) function 2019-06-03 19:48:45 +02:00
alexey.lysiuk
5661e39ca7 - reset internal console state on clear CCMD
'last line needs update' flag cannot be set when console is empty as there are no lines at all in this case

https://forum.zdoom.org/viewtopic.php?t=64909
2019-06-03 13:12:57 +03:00
Edoardo Prezioso
589f9b5c24 - Fixed uninitialized variable in case GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS does not exist.
Old graphics, like mine (Intel Sandybridge Mobile, GL 3.0 Mesa) do not support this, therefore most of the time RFL_SHADER_STORAGE_BUFFER wasn't unset (I found no consequence of this on my machine, but better safe than sorry).

Found out by Valgrind.
2019-06-02 21:20:53 +02:00
Edoardo Prezioso
74e69567ef - Fixed a buffer overflow with Timidity++ when playing Sigil e5m5 music.
See https://forum.zdoom.org/viewtopic.php?f=2&t=64910 .
2019-06-02 21:20:19 +02:00
Kevin Caccamo
9f99d1b2cc Fix OBJ face normal direction
https://forum.zdoom.org/viewtopic.php?f=2&t=64740
2019-06-02 21:19:10 +02:00
Kyle Evans
e0c7bf7708 Fix clang/32-bit build
Rendering bits got restructured and the SSE_MATTERS paths were not updated
to reflect that. A 32-bit build with clang subsequently complaints as the
files in question are not compiled with -mmmx.
2019-05-30 21:16:51 +02:00
Christoph Oelckers
6ace482266 - fixed fillSimplePoly for indexed data.
On OpenGL this merely caused some visual glitches on the cheat automap - but the bad data in the buffer can make Vulkan abort entirely.
2019-05-30 13:32:42 +02:00
alexey.lysiuk
ffd464c26c - fixed crash when loading a saved game with unknown class
During serialization, when map shutdown because of unknown class stored inside saved game may occur, level member is not assigned yet to already spawned thinkers
2019-05-30 10:26:06 +03:00
alexey.lysiuk
d9c619c800 - adjusted condition for ZScript global variable deprecation warning
The message is always printed for any use of deprecated global variable
If such variable is accessed inside a deprecated function from a core script lump, the message is printed only when verbosity level is set to highest

https://forum.zdoom.org/viewtopic.php?t=64830
2019-05-30 10:20:49 +03:00
alexey.lysiuk
249e658f8b - fixed missing deprecation warnings for ZScript global variables
https://forum.zdoom.org/viewtopic.php?t=64830
2019-05-29 17:37:31 +03:00
alexey.lysiuk
38291dfacc - fixed: version wasn't set for ZScript global variables
https://forum.zdoom.org/viewtopic.php?t=64830
2019-05-29 17:37:08 +03:00
alexey.lysiuk
d336a83355 - fixed code generation for ternary operator with vector result types
https://forum.zdoom.org/viewtopic.php?t=64831
2019-05-29 13:24:03 +03:00
alexey.lysiuk
677b24b108 - fixed crash on message output during decorate parsing
Script position is now initialized at the very beginning of decorate parsing process
Script position no longer contains uninitialized file name

https://forum.zdoom.org/viewtopic.php?t=64836
2019-05-28 18:13:34 +03:00
alexey.lysiuk
a54bc61678 - fixed conversation links with pages referenced by name
https://forum.zdoom.org/viewtopic.php?t=64177
2019-05-26 15:46:30 +03:00
alexey.lysiuk
d9da513f74 - fixed 'Pause by <playername>' message in multiplayer
https://forum.zdoom.org/viewtopic.php?t=64765
2019-05-25 17:50:18 +03:00
alexey.lysiuk
64ce71eae2 - fixed wrong native call for Actor.Vec2Offset()
https://forum.zdoom.org/viewtopic.php?t=64810
2019-05-25 17:14:52 +03:00
alexey.lysiuk
688f130af6 - fixed character position assignment for multi-lump fonts
https://forum.zdoom.org/viewtopic.php?t=64741#p1104427
2019-05-25 13:16:39 +03:00
David Carlier
57a0a4c066 Fixing crash when loaded module, using proper function liberate them. 2019-05-25 11:37:57 +02:00
alexey.lysiuk
733dea55da - fixed loading of 32-bit TGA textures with alpha channel
https://forum.zdoom.org/viewtopic.php?t=64741#p1104564
2019-05-25 10:47:54 +03:00
alexey.lysiuk
da2d0e47e6 - removed array length() function from shadowmap shader
Array's length() function is not yet supported by SPIRV-cross and MoltenVK
Its usage was replaced by explicit nodes count value passed as uniform
2019-05-24 14:29:37 +03:00
Magnus Norddahl
756c593e96 - create a new error class for vulkan errors as they are only recoverable during initialization (unlike CRecoverableError which is recoverable during normal processing)
- improve vulkan errors by including the status code returned by vulkan if they fail
2019-05-23 14:09:05 +02:00
drfrag
afa644fe47 - Fixed compilation with old gcc and clang. 2019-05-22 18:25:24 -04:00
Rachael Alexanderson
a27990885e - add some debugging information for GZSDF pagenames feature 2019-05-22 11:50:53 -04:00
alexey.lysiuk
a04d79d871 - do not pass TObjPtr<> instances as ScriptUtil::Exec() arguments
There was no read barrier inserted for AActor object while it's a subject of garbage collection
Pointer stored in TObjPtr<> was reinterpreted as void* because of vararg function

https://forum.zdoom.org/viewtopic.php?t=64771
2019-05-22 17:39:27 +02:00
Christoph Oelckers
34a13cae04 - fixed bad statnum in Light_Stop. 2019-05-22 10:24:07 +02:00
Christoph Oelckers
4d2a7930ac - fixed text color setup for added console message. 2019-05-22 10:18:28 +02:00
Christoph Oelckers
8a90946094 - allow certain replacements to be valid for CanPrint
The Romanian letters with comma below, the second Greek Sigma variant and a few special Cyrillic letters have replacements that should not result in rejection.
2019-05-21 02:00:45 +02:00
Magnus Norddahl
e4dab707e4 - don't run the custom shaders twice on screenshots 2019-05-20 12:46:05 +02:00
Magnus Norddahl
2a15f65065 - apply present shader on screenshots 2019-05-20 12:36:45 +02:00
alexey.lysiuk
bbb75a40ca - fixed erroneous texture mipmapping in Vulkan render
https://forum.zdoom.org/viewtopic.php?t=64257
2019-05-19 14:24:59 +02:00
Christoph Oelckers
04334aa0fe - implemented subtitle display for Blackbird's voiceover messages. 2019-05-19 12:16:42 +02:00
Christoph Oelckers
2c226afff1 - implemented subtitles for intermission slideshows. 2019-05-19 10:28:07 +02:00
Christoph Oelckers
6b51c05870 - changed menu scaling so that on 1366x768 a factor of 2 gets used.
This turned out the smallest one on which a factor of 2 still works without cutting off texts but at least allows to use a larger menu display on this important laptop size.
2019-05-19 08:53:10 +02:00
alexey.lysiuk
0c40faf0b4 - improved control over MoltenVK logging capabilities 2019-05-18 17:27:13 +03:00
Alexander
c1dbaa7d4b made "netevent cannot be used outside of a map" message a warning 2019-05-18 11:33:22 +02:00
Alexander
7540de4027 added a crosshair on/off toggle 2019-05-18 11:32:48 +02:00
Magnus Norddahl
680a6f348b - use one render pass for the entire scene or until postprocess or command buffer flushing forces it to end 2019-05-18 08:12:46 +02:00
Magnus Norddahl
7e37d640dc - avoid creating a new render pass if a pipeline bind will suffice 2019-05-18 06:54:35 +02:00
Magnus Norddahl
9ab19d057d - centralize how image transitions are done in the vulkan backend 2019-05-16 18:26:47 +02:00
Magnus Norddahl
99f58855ad - transition scene images used for the screenshot to color attachment optimal before rendering to them 2019-05-15 16:11:43 +02:00
Magnus Norddahl
dc44c3328e - always apply vid_maxfps even when vid_vsync is on. Some users may override the application in their driver control panel and this helps stabilize their fps if they did it this way 2019-05-13 22:50:58 +02:00
Magnus Norddahl
3a112c2a47 - fix stencil test not being active when applying SSAO to portals 2019-05-13 22:06:17 +02:00
alexey.lysiuk
6f68356e44 - removed useless assertions
https://forum.zdoom.org/viewtopic.php?t=64616#p1103673
2019-05-13 12:59:52 +03:00
Magnus Norddahl
f2e37d506e - fix model chasecam crash 2019-05-12 23:05:31 +02:00
XxMiltenXx
29c6782aa1 Fixes for Door_AnimatedClose (#838)
* Fixes for Door_AnimatedClose

- Fixing that Door_AnimatedClose would be activated on an already closed door (playing the sound and the 1st frame of the animation)
- There was no check if the Door is already Animated when a tag was used with Door_AnimatedClose

* Removed doubled "door->StartClosing();".
2019-05-12 13:38:54 +02:00
Christoph Oelckers
cf58666708 - fixed: The software renderer was accessing the global viewpoint in several places.
Aside from using incorrect values this could crash the renderer if used in the very first rendering frame because the software renderer always operates on a copy.
2019-05-12 09:16:17 +02:00
alexey.lysiuk
16fe0f3902 - fixed crash when VM exception is raised during entering a level 2019-05-11 11:28:06 +03:00
alexey.lysiuk
e1b1df5ec3 - added missing newline to scriptstat CCMD output 2019-05-11 11:07:29 +03:00
Magnus Norddahl
7957c423aa - fix wrong screenshot gamma 2019-05-10 18:02:27 +02:00
alexey.lysiuk
f5d80d0d8b - made setting actor TID more explicit
Now it's no longer possible to manipulate TID hash from arbitrary location
For example, this prevents linking of destroyed object into the hash
TID member is still public but writing to it is limited to a few very specific cases like serialization and player traveling between levels

https://forum.zdoom.org/viewtopic.php?t=64476
2019-05-10 11:49:57 +02:00
Magnus Norddahl
7c3e99a6f1 - Intel on Linux used the footnote in the standard saying a descriptor pool can become fragmented (thanks guys!) 2019-05-10 02:16:26 +02:00
Magnus Norddahl
ce73fe5b16 - fix command buffer invalidation bug when DynamicSet is updated 2019-05-10 01:53:09 +02:00
Magnus Norddahl
a7e8541341 - add fragment shader texture reading as an additional subpass external dependency 2019-05-10 01:04:45 +02:00
Magnus Norddahl
25e23d6ac5 - add vk_debug_callstack for getting the location where a vulkan warning or error happens 2019-05-09 22:41:47 +02:00
Magnus Norddahl
d5761740d3 - fix burn crash on vulkan 2019-05-09 17:55:29 +02:00
Magnus Norddahl
cace5079fe - oops, patched the wrong file 2019-05-09 16:06:18 +02:00
Magnus Norddahl
d0c4f28162 - only write the warning if r_multithreaded has its default value 2019-05-09 16:01:39 +02:00
Magnus Norddahl
7727263599 - Write out a warning if std:🧵:hardware_concurrency returns zero.
- If the number of cores cannot be determined, turn of multithreading in the software renderer as it is most likely a low end system
2019-05-09 15:57:23 +02:00
alexey.lysiuk
7e998c2261 - added handling of GLSL noise() functions to Vulkan backend
https://forum.zdoom.org/viewtopic.php?t=64516
2019-05-09 13:29:58 +03:00
alexey.lysiuk
18811fc032 - removed obsolete snd_flipstereo CVAR
https://forum.zdoom.org/viewtopic.php?t=64630
2019-05-09 13:06:16 +03:00
alexey.lysiuk
4fb508743c - added missing compat flag CVAR for Strife railing
https://forum.zdoom.org/viewtopic.php?t=64627
2019-05-09 11:20:47 +03:00
Nemrtvi
d9e589ae49 Greek Sigma character fallback
The lowercase Sigma letter in Greek has two different forms (σ and ς), which changes depending on its placement in a word, but in uppercase and smallcaps contexts, it only has one look regardless of word positioning. If the character ς is missing, it should fall back to σ.
2019-05-09 08:09:10 +02:00
alexey.lysiuk
56557a17f1 - fixed output of software renderers with Vulkan backend
Vulkan hardware buffer for software canvas may have some padding
Software renderers should be aware of buffer's pitch in order to copy pixels properly

https://forum.zdoom.org/viewtopic.php?t=64562
2019-05-08 22:02:05 +03:00
David Carlier
b0a9d63292 OpenBSD build fix.
As FreeBSD, does not have malloc.h
aligned_alloc stricly available since C++17/C11, using the local impl.
2019-05-08 09:25:14 +03:00
alexey.lysiuk
a897751fb7 - fixed compilation warning reported by Clang
src/rendering/hwrenderer/postprocessing/hw_postprocess.cpp:1007:13: warning: delete called on non-final 'PPTexture' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
2019-05-06 16:02:44 +03:00
Magnus Norddahl
97375feee6 - fix mirror effect shader 2019-05-06 00:15:02 +02:00
Magnus Norddahl
e21ffc131e - move camtex depthstencil to VkHardwareTexture 2019-05-05 13:36:03 +02:00
pkubaj
3d63f63fb2 Fix build on FreeBSD (#829)
On FreeBSD malloc.h is deprecated.
<cwctype> is needed for iswalpha.
2019-05-05 08:28:46 +03:00
Magnus Norddahl
e1ae8bbc59 - rendering to texture requires a separate depth/stencil image as the image used by the main view may be using multisampling 2019-05-05 01:58:36 +02:00
alexey.lysiuk
a33fae19dd - improved handling of HUDMSG_TYPEON
This includes the following changes
* Validation of serialized values
* Proper fix for message cut off after an empty line, part of https://forum.zdoom.org/viewtopic.php?t=63935, which appeared to be broken again with dbf06fc
* No crash with an empty HUD message, https://forum.zdoom.org/viewtopic.php?t=63761 and https://forum.zdoom.org/viewtopic.php?t=64569
2019-05-04 13:26:36 +03:00
alexey.lysiuk
dbf06fc9ca - brought back text length check for 'type on' HUD message
https://forum.zdoom.org/viewtopic.php?t=64569
2019-05-04 11:13:59 +03:00
Magnus Norddahl
a6515765c8 - fix vkGetQueryPoolResults: parameter dataSize must be greater than 0 2019-05-03 16:10:14 +02:00
Magnus Norddahl
80c09c52bd - call SetActiveRenderTarget before drawing the software renderer scene 2019-05-03 16:05:41 +02:00
Magnus Norddahl
d1554aed37 - VMA_MEMORY_USAGE_CPU_TO_GPU does not require VK_MEMORY_PROPERTY_HOST_COHERENT_BIT to bet set. Current implementation requires this flag as vkFlushMappedMemoryRanges is never called. 2019-05-02 01:35:04 +02:00
Magnus Norddahl
ea9be6c225 - fix vulkan crash when changing resolution when using the software renderer 2019-05-02 00:30:54 +02:00
alexey.lysiuk
32aa69f4d8 - fixed 'I' to 'i' upper-to-lower mapping
https://forum.zdoom.org/viewtopic.php?t=64526
2019-05-01 16:09:42 +03:00
alexey.lysiuk
b23958b204 - fixed saved game thumbnails generation with Vulkan renderer
GZDoom aborts with 'Failed to submit command buffer' error on saving a game when open source Intel Vulkan driver (part of Mesa 3D package) is used on Linux
This driver generates VK_DEVICE_LOST error when vkWaitForFences() is called with zero fence count. It must be greater than zero according to Vulkan spec
2019-05-01 13:42:07 +03:00
Magnus Norddahl
1973001834 - use the exact sRGB->linear transfer function in HDR mode as the 2.2 gamma approximation is visibly inaccurate in this case 2019-05-01 00:55:31 +02:00
Magnus Norddahl
81e32ecc72 - implement stat gpu on vulkan and fix it on opengl 2019-04-30 22:55:35 +02:00
Magnus Norddahl
692aed0551 - add VulkanQueryPool::getResults 2019-04-30 21:11:44 +02:00
Magnus Norddahl
d504acad68 - add VulkanQueryPool and QueryPoolBuilder 2019-04-30 21:01:55 +02:00
Magnus Norddahl
23d0cce395 - fix shutdown crash due to GetVulkanFrameBuffer returning null when VulkanFrameBuffer is destroyed 2019-04-30 20:02:00 +02:00
Magnus Norddahl
ab8378152f - make the VkHardwareTexture and VKBuffer linked lists private 2019-04-30 19:49:29 +02:00
Magnus Norddahl
d985d98122 - release staging buffer after the frame it was used in 2019-04-30 19:36:34 +02:00
Magnus Norddahl
34a8e9050b - this should be better for when vsync is off if I read the vulkan spec correctly 2019-04-30 19:26:28 +02:00
alexey.lysiuk
dffe45835d - postponed destruction of Vulkan resources
Provided uniform way to handle lifetime of some of Vulkan resources
This helps to avoid issues like descriptor set that outlives its pool

https://forum.zdoom.org/viewtopic.php?t=64341
2019-04-30 18:43:41 +03:00
alexey.lysiuk
8d36f0a0cf - tuned internal MoltenVK settings for better performance
See https://github.com/KhronosGroup/MoltenVK/issues/581#issuecomment-487293665
2019-04-29 10:51:39 +03:00
alexey.lysiuk
20cc066dc7 - made Vulkan Cocoa view opaque
It is recommended to make content view opaque like NSOpenGLView
I didn't notice any difference in performance though
2019-04-29 10:46:50 +03:00
Rachael Alexanderson
777a4c600a - bump zscript version to 4.2 - if this gets feature updates it should give warnings ahead of time, this time 2019-04-29 00:14:03 -04:00
Magnus Norddahl
188714dc14 - the light storage buffer is not dynamic 2019-04-28 23:51:09 +02:00
alexey.lysiuk
63d30e27a6 - bump versions to match the latest release
we don't want to miss deprecation warnings
2019-04-28 11:24:24 +03:00
Rachael Alexanderson
5e95329424 - 4.2pre 2019-04-28 02:37:42 -04:00
alexey.lysiuk
3767a9aec1 - fixed missing null checks in JIT generated code
https://forum.zdoom.org/viewtopic.php?t=64307
2019-04-27 17:05:36 +03:00
alexey.lysiuk
dd7ec1fe44 - fixed crash on JIT allocations over 1 MB
https://forum.zdoom.org/viewtopic.php?t=64383
2019-04-27 14:36:55 +03:00
Christoph Oelckers
15d2b47798 - fixed: RenderCommand::isCompatible failed to properly compare the SpecialColormap.
This resulted in always returning 'false' which prevented merging line draws, ultimately crashing the Vulkan renderer on a buffer overflow.
2019-04-24 20:35:10 +02:00
alexey.lysiuk
6b5f7b4763 - destroy SDL window on Vulkan to OpenGL fallback
https://forum.zdoom.org/viewtopic.php?t=64412
2019-04-23 14:42:43 +03:00
Christoph Oelckers
5122aa0571 - fixed the internal name of the original SmallFont to be different from the real SmallFont. This necessitated creating a separate font object, even if it has the same contents.
- added an OriginalBigFont as well.
2019-04-23 09:34:28 +02:00
Christoph Oelckers
90cc0cf35b Merge remote-tracking branch 'remotes/origin/vulkan2' 2019-04-22 11:43:43 +02:00
Christoph Oelckers
0640a86c1e - removed InitPalette call from VulkanFrameBuffer constructor.
It is as wrong here as in OpenGL because it destroys already set up data.
2019-04-22 11:00:40 +02:00
Christoph Oelckers
ec13d0e4c1 Merge remote-tracking branch 'remotes/origin/vulkan2' 2019-04-22 10:45:32 +02:00
Christoph Oelckers
6f3982865f - refinement of font substitution logic. 2019-04-22 10:23:28 +02:00
Christoph Oelckers
e6ab678515 - fixed: The minimal window size was not calculated properly.
Minimum size is 640x400 client size not 640x400 window size in non-fullscreen.
2019-04-22 10:20:39 +02:00
Christoph Oelckers
e0a0be4f7b - added a CanPrint function to FFont and used that to handle the statistics display on the automap HUD to only replace the font when actually needed, not based on the language. 2019-04-22 09:08:43 +02:00
Christoph Oelckers
68c33a6e43 - fixed string prioritization when a mod replaces the default language for a given string.
In this case it must override all localized content from previously loaded WADs because that is no longer matching the original text.
2019-04-22 00:21:01 +02:00
Christoph Oelckers
5b6bae409e - automated the SmallFont selection based on a filter string in the language table. 2019-04-21 12:38:43 +02:00
Christoph Oelckers
13841655aa - add color remapping for NewSmallFont as well. 2019-04-21 10:49:27 +02:00
Christoph Oelckers
2e1254d3ba - synthesize a font remapping so that the IWAD SmallFont can be printed in the same color as a mod's.
This is for cases where the font needs to serve as stand-in for an incomplete mod font so that it better blends in.
2019-04-21 09:51:53 +02:00
Christoph Oelckers
c1b0122558 - always construct the original IWAD SmallFont.
This is for printing localized messages without having to fall back on the VGA font.
2019-04-21 08:42:27 +02:00
Christoph Oelckers
fcbde757c9 - do not mix game-specified fonts with the extensions for the stock version.
This generally doesn't look good when different colors are mixed or the mismatch in color ranges causes bad translations to be generated.
2019-04-21 08:09:31 +02:00
Christoph Oelckers
44360b00dd - fixed parameter passing for SetMarineWeapon and SetMarineSprite. 2019-04-21 08:00:22 +02:00
Magnus Norddahl
09883431bf - fix wrong clamp mode used in OpenGL
- fix sampler array size on Vulkan
2019-04-20 19:19:34 +02:00
Magnus Norddahl
a3587009e7 - the semaphore should never be added when its the last submit before waiting 2019-04-20 16:42:52 +02:00
Magnus Norddahl
401a4944b4 - fix Queue is signaling semaphore that has not been waited on by any queue 2019-04-20 16:35:26 +02:00
alexey.lysiuk
d1e4b86b9e - fixed compilation with GCC and Clang
src/rendering/hwrenderer/scene/hw_walls.cpp:176:44: error: conditional expression is ambiguous; 'PalEntry' can be converted to 'int' and vice versa
2019-04-20 12:20:32 +03:00
Magnus Norddahl
6699cd5462 - change FRenderState to store directly to the StreamData struct. This simplifies the vulkan backend and also allows the OpenGL backend to use the same uniform block transfer strategy in the future. 2019-04-20 04:16:01 +02:00
Magnus Norddahl
da7a4ceb34 - change drawcalls to measure the Apply time rather than the individual draw calls (Apply is what costs something on vulkan while the draw call queuing is so cheap its an uninteresting thing to measure) 2019-04-20 00:38:38 +02:00
Magnus Norddahl
a8e7f38150 - minor code cleanup 2019-04-19 23:56:54 +02:00
Magnus Norddahl
779cb42578 - remove vk_submit_multithread again as it seemed to have no effect on performance and only complicated the code 2019-04-19 23:26:06 +02:00
Magnus Norddahl
458da39c39 - add vk_submit_multithread for doing command buffer submit calls on a worker thread
- add vk_submit_size for testing various command buffer sizes before flushing them
- add submitted command buffer count to renderstats
2019-04-19 22:42:32 +02:00
Magnus Norddahl
3957a19bd0 - flush the commands for every 1000th Apply call 2019-04-19 21:08:15 +02:00
Magnus Norddahl
8fadf3d9bd - add support for flushing commands during drawing 2019-04-19 20:55:15 +02:00
Magnus Norddahl
62fa74485d Merge remote-tracking branch 'origin/master' into vulkan2 2019-04-19 18:49:00 +02:00
Christoph Oelckers
f221a2bdb4 - fixed allocation mismatch in WildMidi. 2019-04-19 17:46:25 +02:00
Christoph Oelckers
5e8aa0a963 - removed InitPalette call from OpenGLFrameBuffer's constructor.
This was destroying some already set up data like the special colormaps.
2019-04-19 10:36:34 +02:00
Christoph Oelckers
cd929e0c76 - reinstated the old clean scaling factor calculation just for the status bar.
Some mods took the lack of validation in this code for granted.
2019-04-19 09:33:04 +02:00
Christoph Oelckers
146f7035d8 - fixed: The Vulkan device may only be deleted if Vulkan is present. 2019-04-19 08:36:19 +02:00
Christoph Oelckers
0105bb7564 - fixed uninitialized variable in scoreboard code. 2019-04-19 08:30:06 +02:00
Christoph Oelckers
0837178518 - do proper checks for chat string length.
The counter variable was not only used incorrectly, it was completely redundant.
This still has a byte limit due to how the network code works so for non-Latin languages may result in shorter strings.
2019-04-19 08:27:31 +02:00
Christoph Oelckers
ac9133eda0 - fixed radius use in dynamic light traversal for models. 2019-04-19 08:23:08 +02:00
Christoph Oelckers
327a83a54b - fixed: GetDisplayDeviceName must always pick a valid monitor.
There is no default here, so if vid_adapter is invalid for whatever reason the engine would crash without a defined setting.
2019-04-19 07:33:51 +02:00
Magnus Norddahl
faac0805f0 - implement VKBuffer::Resize 2019-04-18 22:01:42 +02:00
Magnus Norddahl
e42d11cc34 - change padding to something else than __ since that is restricted 2019-04-18 19:57:03 +02:00
Magnus Norddahl
e332011995 - fix wrong model culling 2019-04-18 17:56:43 +02:00
Magnus Norddahl
47fa7dafe3 - fix shader timer not always being applied correctly 2019-04-18 17:14:26 +02:00
Magnus Norddahl
47f056e882 - improve shader error handling and attempt to remove some bogus declarations 2019-04-18 01:20:28 +02:00
Magnus Norddahl
d63513ec14 - fix normal vectors on models 2019-04-17 20:42:00 +02:00
Magnus Norddahl
ff6b67d8a1 Merge remote-tracking branch 'origin/master' into vulkan2 2019-04-17 16:07:54 +02:00
Magnus Norddahl
5171f90e35 - add r_ticstability for a smoother experience playing mods with high think times 2019-04-17 16:07:32 +02:00
Magnus Norddahl
15dae4cfe6 - rewrite depthblur.fp to workaround what seemed to be a bug in the NVidia driver 2019-04-16 16:17:23 +02:00
Rachael Alexanderson
09a2b53b21 - rename vid_backend to vid_enablevulkan. Also changed the CVAR from a 0-state enable to 1-state. So vid_enablevulkan==1 enables vulkan now. This should be less confusing. 2019-04-16 08:10:57 -04:00
Magnus Norddahl
9d29a460de - simplify depthblur.fp into a single function 2019-04-16 08:59:29 +02:00
Magnus Norddahl
073f151761 - fix line that shouldn't have been committed 2019-04-16 07:30:13 +02:00
Magnus Norddahl
67490d13cb - add gl_ssao_debug mode showing the depth 2019-04-16 05:29:32 +02:00
Magnus Norddahl
558760c090 - fix the gl_ssao_debug cvar 2019-04-16 03:32:54 +02:00
Rachael Alexanderson
73efe707ac Merge remote-tracking branch 'origin/master' into vulkan2 2019-04-15 01:34:22 -04:00
Magnus Norddahl
06222a1fbf - update glslang to 7.11.3113 (stable release February 8, 2019). This fixes the SPIR-V validation error reported for the shadowmap shader 2019-04-15 04:53:43 +02:00
Christoph Oelckers
a8c47408fa - implemented 'deletelumps' feature and add Chex Quest 3 texts.
The episode titles required a workaround because the CQ3 episodes do not contain names in text form: If this is the case, the patch name will be used as a string table identifier to get a matching text for localization.
2019-04-14 22:46:03 +02:00
Magnus Norddahl
b5e0451805 - change the wrap mode for custom textures in custom postprocess shaders to repeat 2019-04-14 19:00:29 +02:00
Christoph Oelckers
dd61222c6a - reset RF_NOINTERPOLATEVIEW when unpredicting a player. 2019-04-14 14:11:34 +02:00
Christoph Oelckers
c45c7cdb4b - reimplemented as an OptionsMenu.
This is both for consistency and better localizability. The old code is retained to ensure that mods inheriting from the old menu continue to work.
2019-04-14 14:03:24 +02:00
Rachael Alexanderson
b8dfb3c136 Merge remote-tracking branch 'origin/master' into vulkan2 2019-04-14 06:12:32 -04:00
Player701
8ab6747d77 - Added "const" qualifiers to the new UTF-8-aware string methods 2019-04-13 22:13:52 +02:00
Player701
747906730c Added support for monospacing alignment modes to HUDFont / BaseStatusBar.DrawString (#810)
* - Added support for monospacing alignment modes to HUDFont / BaseStatusBar.DrawString

* - added underlying type declaration for EMonospacing

* - replaced "#include v_video.h" with a declaration of EMonospacing
2019-04-13 18:10:58 +02:00
Christoph Oelckers
4668fa95e3 - when altering the default string table, make sure that all existing text for the given label is removed that comes from an older resource file.
If this isn't done there can be a mix of content from different sources, depending on the language. It's better to have correct English text than unfitting localized versions.
2019-04-13 14:43:49 +02:00
Christoph Oelckers
5f2d41884c - make sure that the global and default language tables are always separate, if some other tables is being attempted to be filled in along with them, these tables should be ignored. 2019-04-13 13:58:37 +02:00
Christoph Oelckers
d73f8faafa - added monospacing support to Screen.DrawText and its native counterparts. 2019-04-13 12:17:38 +02:00
Christoph Oelckers
3938119192 - added CharUpper and CharLower functions to ZScript.
These, like MakeUpper and MakeLower, use the internal Unicode case conversion tables.
2019-04-13 10:26:55 +02:00
Christoph Oelckers
f7561f25d6 - added Unicode aware MakeUpper/MakeLower functions to FString and ZScript's String and deprecated ToUpper/ToLower because their semantics did not allow fixing them. 2019-04-13 10:12:33 +02:00
Christoph Oelckers
bcf7bc8d34 - added some UTF-8 utilities to FString.
This deprecated CharAt and CharCodeAt for being unsuitable for text processing and in the case of CharCodeAt also for being buggy.
A new replacement, ByteAt has been added that reads a string byte by byte, as well as CodePointCount, which counts the amount of Unicode code points in a string and GetNextCodePoint which reads the string code point by code point.
Note that while this woll work as intended with the currently supported languages as a means to read single characters, there is no guarantee that this will remain so if Unicode support gets extended to things which break the "one code point == one character" assumption.
2019-04-13 09:31:36 +02:00
alexey.lysiuk
61a8f122f0 - fixed crash caused by broken saved game picture
https://forum.zdoom.org/viewtopic.php?t=64244
2019-04-12 18:20:27 +03:00
Christoph Oelckers
c0b322c51a - make the switch between game and generic fonts automatic by adding a key value to the language table 2019-04-12 00:20:42 +02:00
Rachael Alexanderson
3deda0efd2 Merge remote-tracking branch 'origin/master' into vulkan2 2019-04-11 17:45:35 -04:00
Rachael Alexanderson
482e9c0f2c - fixed: Intel OpenGL did not quite recognize the "layout(location=0)" shader uniform definitions, so this had to be removed for OpenGL mode only so that Intel's compiler will continue to function normally for custom shaders. 2019-04-11 13:21:40 -04:00
Magnus Norddahl
40a72c71f5 - fix shutdown crash 2019-04-11 18:21:51 +02:00
Christoph Oelckers
c792234965 Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-04-11 16:08:23 +02:00
alexey.lysiuk
8bf2683b4a - added message about missing texture for material definition
https://forum.zdoom.org/viewtopic.php?t=64234
2019-04-11 14:48:45 +03:00
alexey.lysiuk
ab53509774 - fixed crash in GLDEFS parser caused by missing texture
https://forum.zdoom.org/viewtopic.php?t=64234
2019-04-11 13:26:10 +03:00
Magnus Norddahl
1e7911d1f9 - we cannot recover from this 2019-04-11 05:36:36 +02:00
Magnus Norddahl
59904faff4 - slightly adjust AcquireImage to avoid border cases in the spec 2019-04-11 05:28:37 +02:00
Magnus Norddahl
a0f618311a - change SubmitCommands to handle all parts of the present 2019-04-11 04:52:57 +02:00
Magnus Norddahl
095ea3ce76 - apply vk_hdr immediately and delay initial swapchain creation until first image needs to be acquired 2019-04-11 04:26:43 +02:00
Christoph Oelckers
b1ca746af3 - added a "DeleteLumps" list to IWADINFO
This is for IWADs that contain content which clashes with the engine and must be removed. The primary reason are the unimplemented characters in Raven's BigFont.
2019-04-11 03:02:23 +02:00
Christoph Oelckers
0200edd392 - added a few more character fallbacks and fixed the StringWidth function
This checked character size without substituting missing characters, resulting in bad return values.
2019-04-11 02:01:41 +02:00
Christoph Oelckers
772cb276ee - changed text scaling for intermission screen to ensure that long texts are not cut off.
22 lines of text need to fit and to avoid packing the text too tightly onto the screen and have a little headroom, a virtual size of 400x250 is needed.
2019-04-11 01:28:47 +02:00
Christoph Oelckers
28c8bb47fb - added generic font support for intermission text screen. 2019-04-11 00:14:53 +02:00
Christoph Oelckers
2747eef0e0 - enable Unicode font on cast call. 2019-04-10 22:32:58 +02:00
Christoph Oelckers
b423caa8d6 - removed the rather pointless hud_althudfont CVAR and the tiny piece of code it activated.
This was meant for using the VGA font in the alternative HUD but this never went beyond the Kill/Item/Secret display which isn't useful for localization.
2019-04-10 21:57:24 +02:00
Christoph Oelckers
6acfbf8e02 - cleaned out the unneeded scaling hacks from the HUD messages. 2019-04-10 21:23:27 +02:00
Christoph Oelckers
9e096c62fd - allow the automap HUD to use the VGA font. 2019-04-10 20:39:15 +02:00
Magnus Norddahl
5f70ce2148 - fix SubmitCommands bug if it no swapchain image was acquired 2019-04-10 16:39:33 +02:00
Christoph Oelckers
85a762f294 Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-04-10 15:58:11 +02:00
Rachael Alexanderson
ab6ed0949f - fixed: PlayerEntered for bots should occur after Level->DoReborn 2019-04-10 06:24:57 -04:00
Rachael Alexanderson
7b06fbe28e Merge remote-tracking branch 'origin/master' into vulkan2 2019-04-10 04:02:42 -04:00
Christoph Oelckers
f1105f2e13 - further work on generic HUD
Some reorganization to avoid code duplication plus making the log screen capable of using the generic font. This also means that the popup for the log in Strife's status bar will be disabled when in generic mode - this popup with its special font would be a bit problematic.
2019-04-10 00:45:32 +02:00
Christoph Oelckers
fe37c3bc4f - allow all DHUDMessage calls to substitute SmallFont
This is a preparation for setting a generic HUD mode where all these should be able to use the VGA font instead, and not just C_MidPrint.
2019-04-10 00:28:40 +02:00
Christoph Oelckers
8b0dd1376f - changed the filter name for Doom IWADs
It's "doom.id.doom1/2" instead of "doom.doom1/2" now.
The config file's content will be renamed and for lump filtering a fallback has been added - note that you cannot combine both naming schemes! The old one has to be considered deprecated now.

This also removes the duplicated content necessitated by the old naming scheme.
2019-04-10 00:15:16 +02:00
Christoph Oelckers
8182c80f1e - use the Unicode font for the scoreboard. 2019-04-10 00:16:03 +02:00
Magnus Norddahl
85b754b9ca - fix model rendering glitch 2019-04-09 18:19:14 +02:00
Magnus Norddahl
d413581ee2 - fix model shutdown crash 2019-04-09 17:06:54 +02:00
Magnus Norddahl
eb9f6ec313 - remove the 6 layer texture descriptor set limitation 2019-04-09 16:30:49 +02:00
Magnus Norddahl
c9dbb589e2 - once the Vulkan backend booted all the remaining vulkan calls are unrecoverable (unless the code calling it gets actively involved, which means that particular action is not exceptional in nature and shouldn't be done as an exception) 2019-04-09 14:25:18 +02:00
Magnus Norddahl
d47891d20a - allocate new texture descriptor pool if it is full 2019-04-09 14:06:24 +02:00
Magnus Norddahl
2cbd1c4736 - Fix inverted check in last commit 2019-04-09 12:41:05 +02:00
Magnus Norddahl
d3dacfc2cb - improve error handling during vulkan initialization 2019-04-09 12:28:25 +02:00
Rachael Alexanderson
536aa98e87 Merge remote-tracking branch 'origin/master' into vulkan2 2019-04-09 02:01:29 -04:00
Christoph Oelckers
f1408bfb5b - allow retroactive substitution of cluster texts
This is needed to localize Harmony without swapping out the MAPINFO.
2019-04-09 00:21:06 +02:00
Christoph Oelckers
ab256945aa - use I_Error for throwing errors in the Vulkan backend and print the message if one gets thrown during init. 2019-04-08 23:48:46 +02:00
Christoph Oelckers
c788da46fb - Localization helper code for level names that haven't been exported to the string table. 2019-04-08 22:07:09 +02:00
Christoph Oelckers
d308a1223b - fixed the calculations which decide whether to use an options menu for skills and episodes. 2019-04-08 22:04:47 +02:00
Magnus Norddahl
2694b0a167 - workaround for drivers that bug by never acquiring an image 2019-04-08 21:01:40 +02:00
Magnus Norddahl
c98dfd1790 - improve swap chain resize and handle the edge cases for the swap chain 2019-04-08 19:23:37 +02:00
Magnus Norddahl
20fde9f8be - clean up swapchain class 2019-04-08 18:14:07 +02:00
Rachael Alexanderson
b0bd8f800c Merge remote-tracking branch 'origin/master' into vulkan2 2019-04-08 08:45:29 -04:00
Rachael Alexanderson
1e3425910c Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2 2019-04-08 08:40:47 -04:00
Magnus Norddahl
b9900450c7 - remove unused function declaration 2019-04-08 05:31:20 +02:00
Magnus Norddahl
afbd45e1b1 - fix uniform aligment bug for vec3 2019-04-08 05:27:35 +02:00
Rachael Alexanderson
55a4927b7c Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2 2019-04-07 22:59:24 -04:00
Magnus Norddahl
a488034065 - fix null pointer crash 2019-04-08 04:57:46 +02:00
Rachael Alexanderson
c6a308c73d Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2 2019-04-07 21:49:59 -04:00
Magnus Norddahl
b30ed99672 - remove the old OpenGL postprocess custom shader implementation 2019-04-08 01:31:22 +02:00
Magnus Norddahl
d114575bd1 - implement custom post process shaders for vulkan backend 2019-04-08 00:47:55 +02:00
Christoph Oelckers
3c07485d11 - fixed: Replacing a text image with actual text may only happen if the text comes from the string table. 2019-04-07 23:54:39 +02:00
Christoph Oelckers
f6d3de76cf - fixed: ACS's APROP_ViewHeight needs to check if a real player is attached to a PlayerPawn. 2019-04-07 23:45:08 +02:00
Magnus Norddahl
d1378364b5 - fix bloom pass regression 2019-04-07 20:52:04 +02:00
Rachael Alexanderson
b444cbd950 Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2 2019-04-07 14:19:56 -04:00
alexey.lysiuk
fb51b5d137 - fixed compilation of SDL backend
src/posix/sdl/sdlglvideo.cpp:358:10: error: ‘MIN_WIDTH’ is not a member of ‘Priv’
src/posix/sdl/sdlglvideo.cpp:358:33: error: ‘MIN_HEIGHT’ is not a member of ‘Priv’
src/posix/sdl/sdlglvideo.cpp:360:7: error: ‘MIN_WIDTH’ is not a member of ‘Priv’
src/posix/sdl/sdlglvideo.cpp:361:7: error: ‘MIN_HEIGHT’ is not a member of ‘Priv’
2019-04-07 17:26:32 +03:00
Christoph Oelckers
f4f1c4abbf - fixed scale calculations for option menus. 2019-04-07 13:34:00 +02:00
Rachael Alexanderson
06c0aa911d Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2 2019-04-07 07:03:43 -04:00
Rachael Alexanderson
c3b927e502 - complete the changes from the previous commit for the SDL backend 2019-04-07 06:59:34 -04:00
Rachael Alexanderson
f4ea44b760 - consolidate minimum screen resolution so that it's easier to change 2019-04-07 06:56:06 -04:00
Rachael Alexanderson
efa9284141 - consolidate minimum screen resolution so that it's easier to change 2019-04-07 06:49:54 -04:00
Christoph Oelckers
b60024b9c8 - fixed: The WideString conversion function was missing a null check. 2019-04-07 12:06:03 +02:00
Rachael Alexanderson
1096c14a3a - remove 320x240 from the list of resolution presets
- enforce a minimum CleanXfac scaling in the menu to prevent accidental divide by 0's
2019-04-07 06:02:36 -04:00
Rachael Alexanderson
e6dab46b90 - remove 320x240 from the list of resolution presets
- enforce a minimum CleanXfac scaling in the menu to prevent accidental divide by 0's
2019-04-07 06:01:47 -04:00
Christoph Oelckers
45c3558692 - 4.1pre 2019-04-07 09:31:32 +02:00
Christoph Oelckers
a166af82f8 - added layout adjustment to the skill menu as well and shortened the Italian text for "I'm too young to die" because it did not fit the minimum available space. 2019-04-07 09:11:16 +02:00
Christoph Oelckers
6afe9d09f3 Merge branch 'master' into vulkan2 2019-04-07 08:17:12 +02:00
Christoph Oelckers
f2d1126ff0 - changed menu scale to better fit the screen size and added some coordinate tweaking for the episode menu to shift long names to the left. 2019-04-06 14:36:57 +02:00
Rachael Alexanderson
6cc5ddd129 - fixed: Bots did not trigger PlayerEntered events 2019-04-06 08:14:34 -04:00
Christoph Oelckers
47a52e6a7b - changed printlevel for console output of centered messages. 2019-04-06 11:23:19 +02:00
Christoph Oelckers
0b09c2b20a - do not call OnRegister when saving a game. 2019-04-06 09:29:49 +02:00
Christoph Oelckers
af6e2a430a - fixed OnUnregister for Event handlers was called from a dead event manager instance. 2019-04-06 09:06:41 +02:00
Christoph Oelckers
c65ecbc807 - added a font.inf for Strife's small font because its automatically calculated height is not a good match for displaying the dialogues. 2019-04-06 07:44:09 +02:00
Rachael Alexanderson
e48d2105ef Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2 2019-04-06 00:27:18 -04:00
drfrag
1ef4c2d0f6 - Hopefully fixed MinGW compilation for real. 2019-04-06 00:07:24 -04:00
Christoph Oelckers
0ed847b51b - the resuming of the conversation interrupted by a slideshow must be performed by the game action handler
If this is done within the intermission code, both intermission and menu will write to the same global variables and destroy their data, this became very apparent when it altered the screen scale for the conversation.
2019-04-05 00:59:32 +02:00
Christoph Oelckers
0153c2aefa - use the Unicode version of GetCommandLine for the crash log. 2019-04-04 17:49:53 +02:00
Magnus Norddahl
f7069c4ddc - there is no need to track a transfer family - yet another pointless detour thanks to vulkan-tutorial.. 2019-04-04 15:58:48 +02:00
alexey.lysiuk
025e50219f - fixed missing command line in crash reports
https://forum.zdoom.org/viewtopic.php?t=64149
2019-04-04 16:37:51 +03:00
pkubaj
2886f22b8f Remove bad BigLong variants 2019-04-04 13:23:53 +02:00
pkubaj
a3541f853c Fix build on big-endian platforms
GCC 8 complains that it can't find relevant functions:
/wrkdirs/usr/ports/games/gzdoom/work/gzdoom-g3.7.2/src/m_png.cpp:669:42: error: call of overloaded 'BigLong(uint32_t)' is ambiguous
     chunklen = BigLong((unsigned int)x[1]);
                                          ^
In file included from /wrkdirs/usr/ports/games/gzdoom/work/gzdoom-g3.7.2/src/m_png.cpp:44:
/wrkdirs/usr/ports/games/gzdoom/work/gzdoom-g3.7.2/src/m_swap.h:212:15: note: candidate: 'long unsigned int BigLong(long unsigned int)' <deleted>
 unsigned long BigLong(unsigned long) = delete;
               ^~~~~~~
/wrkdirs/usr/ports/games/gzdoom/work/gzdoom-g3.7.2/src/m_swap.h:213:6: note: candidate: 'long int BigLong(long int)' <deleted>
 long BigLong(long) = delete;

This is on FreeBSD/powerpc64.
2019-04-04 13:23:53 +02:00
alexey.lysiuk
5c86a1e6b5 - fixed crash with push/insert to null dynarray when JIT is on
https://forum.zdoom.org/viewtopic.php?t=64148
2019-04-04 13:23:08 +03:00
Rachael Alexanderson
655b0c27de Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2 2019-04-03 10:58:12 -04:00
Christoph Oelckers
55e00f350b - use a more reliable menu check for the player menu items.
This needs to ensure that it only allows modification from within a menu's event handlers and nowhere else.
2019-04-01 00:27:43 +02:00
alexey.lysiuk
5310ecc2c3 - removed obsolete hack for Hexen main menu dimming
https://forum.zdoom.org/viewtopic.php?t=64122
2019-03-31 17:35:12 +03:00
Rachael Alexanderson
ead3695844 Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
# Conflicts:
#	src/posix/sdl/gl_sysfb.h
2019-03-31 03:49:08 -04:00
Rachael Alexanderson
3fd449378c - replace the lost 320x200 resolution with 960x600 2019-03-31 03:38:15 -04:00
Christoph Oelckers
ab16d3cd72 - limit minimum screen size to 640x400.
The current menu system simply does not work that well with 320x200, rendering the game hard to use at that tiny screen size. This is a clear case where the work required to keep it operational stands in no relation to the benefit.
2019-03-31 09:13:22 +02:00
Christoph Oelckers
2dc12aef71 - removed the NetUpdate calls from the software renderer.
These can cause highly dangerous recursions and execute play code deep inside the renderer and since the hardware renderer does not have these, there is very little point for the software renderer to retain them.
2019-03-31 09:02:11 +02:00
Christoph Oelckers
f5ad144934 - fixed: air_finished was sometimes checked against level.time, sometimes against level.maptime.
For a per-level effect it needs to always check against level.maptime.
2019-03-30 18:52:32 +01:00
Christoph Oelckers
8a243cf084 - fixed: Sound sequences must be serialized after the sounds.
Otherwise their data gets reset by the sound initialization.
2019-03-30 18:41:38 +01:00
Christoph Oelckers
d40ed5c587 - reverted D_GenderToInt to check full words instead of merely initial letters. 2019-03-30 18:12:33 +01:00
alexey.lysiuk
71caf27039 - made gender string to integer conversion case insensitive
https://forum.zdoom.org/viewtopic.php?t=64109
2019-03-30 12:47:34 +02:00
alexey.lysiuk
df8fa90a34 - fixed compilation warnings reported by Clang
src/rendering/vulkan/renderer/vk_renderpass.cpp:44:22: warning: comparison of integers of different signs: 'std::__1::vector<FVertexBufferAttribute, std::__1::allocator<FVertexBufferAttribute> >::size_type' (aka 'unsigned long') and 'int' [-Wsign-compare]
src/rendering/vulkan/system/vk_framebuffer.cpp:860:55: warning: format specifies type 'int' but the argument has type 'VkDeviceSize' (aka 'unsigned long long') [-Wformat]
src/rendering/vulkan/system/vk_objects.h:471:23: warning: suggest braces around initialization of subobject [-Wmissing-braces]
2019-03-30 11:15:49 +02:00
Christoph Oelckers
4619fc5622 - removed unused (now always active) gl_trimsprites option from the menu. 2019-03-29 19:10:10 +01:00
Magnus Norddahl
4cc9880f50 Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-26 13:08:59 +01:00
Magnus Norddahl
9f0f659db0 - remove old vid_maxfps implementations as they were garbage anyway and the new one works on all the platforms 2019-03-26 11:10:17 +01:00
Magnus Norddahl
6078428b84 - fix typo in sleep 2019-03-26 10:46:31 +01:00
Magnus Norddahl
9f758b0032 - implement vid_maxfps 2019-03-26 10:40:43 +01:00
Christoph Oelckers
b40983be61 - fixed bad Printf formatter. 2019-03-26 08:48:10 +01:00
Christoph Oelckers
0341a3d75b - made the gross railing hack for Strife a compatibility option and restricted it to MAP04
The side effects here broke other maps and this is really too glitchy to be turned on unless really necesasary.
2019-03-26 00:38:54 +01:00
Christoph Oelckers
0422f40d80 - restored calling OnRegister for event handlers after loading a savegame
It should be said in no uncertain terms that OnRegister operates on an uninitialized level so it should only be used for setting up the registering process of the event handler itself and nothing else - not even the event handler's data!!!
2019-03-26 17:02:40 +01:00
usernameak
95bcc46acc Fixed postprocess shaders with 2 or more textures 2019-03-25 22:12:00 +01:00
Magnus Norddahl
1c9bf262e6 - hook up VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT 2019-03-25 21:30:03 +01:00
Magnus Norddahl
7256af0b32 - fix sort bug 2019-03-25 20:41:53 +01:00
Magnus Norddahl
2d8516b2ca - make shaderClipDistance optional 2019-03-25 19:44:46 +01:00
Magnus Norddahl
be74675e5e - change vk_hdr default to false 2019-03-25 01:41:16 +01:00
Magnus Norddahl
c010c5e818 - fully enable vk_hdr as a feature since it works now after the queue family selection was improved 2019-03-25 01:39:27 +01:00
Magnus Norddahl
954b72915c - improve the queue family selection process to pick first entry in the list over later ones 2019-03-24 18:33:59 +01:00
Magnus Norddahl
0be5cc7d1d - initialize array 2019-03-24 18:32:36 +01:00
Magnus Norddahl
88355393df - implement queue family transfers 2019-03-24 18:03:10 +01:00
alexey.lysiuk
651d749eea - limited MoltenVK logging without vk_debug
If vk_debug is set to zero (which is by default) only errors will be reported
2019-03-24 16:19:39 +02:00
alexey.lysiuk
15e0b6c8a7 - gave vid_autoswitch CVAR a priority over vk_device selection
Try to mimic OpenGL GPU selection behavior with MoltenVK when automated graphics switching is disabled
The CVAR isn't exposed in menu and its target audience is advanced users only
2019-03-24 16:18:08 +02:00
alexey.lysiuk
90c4e62e67 - removed duplicated expressions 2019-03-24 16:09:01 +02:00
Christoph Oelckers
a0b0467e91 - restrict Vulkan to 64 bit builds. 2019-03-24 14:34:48 +01:00
Rachael Alexanderson
91dfebd211 Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
# Conflicts:
#	wadsrc/static/menudef.txt
2019-03-24 09:08:55 -04:00
Christoph Oelckers
04c103811c - changed Strife dialogue setup so that STRIFE00 is being processed and the random texts explicitly excluded.
This fixes the stray "Peasant" in this file.
2019-03-24 12:52:03 +01:00
Christoph Oelckers
dc67355e95 - added A_Explode compatibility options.
There are two options here - one only disables the vertical thrust and the other goes back fully to the original non-z-aware code.
Both options are settable through MAPINFO.
For the compatibility presets, the normal ones only disable the vertical thrust, the strict ones force use of the old code entirely.
2019-03-24 12:42:57 +01:00
alexey.lysiuk
48a5476ec4 - fixed compilation with older macOS SDK like 10.9
src/posix/cocoa/i_video.mm:564:23: error: property 'layer' not found on object of type 'id'
2019-03-23 17:27:47 +02:00
Christoph Oelckers
5da2ecda66 - fix the compat_pointonline flag. 2019-03-23 15:28:10 +01:00
Magnus Norddahl
0c6d0de3ab - do not use persistent buffers for models as it is a limited resource where each consumes a vkDeviceMemory object 2019-03-23 14:58:37 +01:00
Christoph Oelckers
7606b22d0b - fixed the substitution logic in FTexture::GetRawTexture.
This may only perform a substitution if the offset is not 0 and if the size matches.
2019-03-23 12:48:57 +01:00
Christoph Oelckers
d500cedf49 - call SetData in VKBuffer::Lock so that the buffer is valid.
This allows models to render, but a proper fix should handle mapping of static buffers for real. This workaround just allocates a non-static persistent buffer in CPU memory which is not the most efficient solution here.
2019-03-22 21:14:32 +01:00
Christoph Oelckers
10e62e7b5d - fixed: VkBuffer::mPersistent was not initialized. 2019-03-22 20:32:59 +01:00
Christoph Oelckers
24a52d65a5 - renamed several data types in the hardware renderer that still had a GL prefix, although they are now generic. 2019-03-22 19:54:19 +01:00
Magnus Norddahl
d03839dfef - do not signal mRenderFinishedSemaphore if the submitted commands aren't about to be presented 2019-03-22 13:54:13 +01:00
Christoph Oelckers
4d768e5a49 - use a vector instead of a map to store a texture's descriptor sets.
In this case a map is total overkill and its poor memory locality will always incur some performance hit. A vector here can only collect a very small amount of entries so the time to search is nearly irrelevant.
2019-03-21 23:41:24 +01:00
Christoph Oelckers
3ad9783d8f - fixed the hardware rendering precacher not to evict secondary layers of multi-layer textures.
It will now check all layers of a material.
Additionally it will also delete all descriptor sets of Vulkan hardware textures before precaching to make sure that nothing here can accidentally still reference a deleted texture.
2019-03-21 21:57:39 +01:00
Christoph Oelckers
4aef99632d Merge branch 'master' into vulkan2 2019-03-21 18:56:06 +01:00
Christoph Oelckers
b28c984075 - fixed bad default for scaleoverride. 2019-03-19 23:01:30 +01:00
Rachael Alexanderson
3c594c6c93 Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-19 15:12:18 -04:00
Christoph Oelckers
561ce41723 - fixed lifetime of ScaleOverrider for Strife dialogues. 2019-03-19 18:46:20 +01:00
Christoph Oelckers
a1acc4adc4 - fixed layout issues with Strife's dialogues.
They were using some settings from the option menu which they never should have used to begin with.
2019-03-19 17:46:59 +01:00
Christoph Oelckers
be7d6241c2 - localize 'By' 2019-03-19 01:23:54 +01:00
Christoph Oelckers
cda248df66 - localized some user-facing texts that were still string literals. 2019-03-19 00:37:43 +01:00
Christoph Oelckers
e07d413095 - fixed: A pusher thinker must destroy itself if the point pusher/puller thing is gone. 2019-03-18 23:46:13 +01:00
Christoph Oelckers
b48f4032d8 - draw the FPS counter with the new console font.
With the current scale settings the original one is simply too small.
2019-03-18 14:27:42 +01:00
Christoph Oelckers
d86dd902fb Merge branch 'master' into vulkan2 2019-03-18 13:31:04 +01:00
Christoph Oelckers
4120e72dbd - explicitly mark all unresolved textures as invalid. 2019-03-18 11:45:00 +01:00
Christoph Oelckers
c2c9126453 - replaced the XLSX parser with a CSV parser.
Since Google can export this as well it makes a lot more sense here because it is a textual format better suited for version control and does not carry along all the formatting baggage that isn't needed for a string table.
2019-03-18 10:18:30 +01:00
alexey.lysiuk
1f16fd7801 - fixed clipping of automap background with althud and screenblocks < 10 2019-03-18 10:23:55 +02:00
Rachael Alexanderson
dd4ef010ab Merge remote-tracking branch 'origin/master' into vulkan2 2019-03-18 04:05:19 -04:00
Magnus Norddahl
7b3350ae1e - the material descriptor set must be bound again if the pipeline changes and the new shader uses more textures than the old one 2019-03-18 00:38:09 +01:00
Magnus Norddahl
b62d5784af - bind a texture in all descriptor slots 2019-03-17 23:24:50 +01:00
Magnus Norddahl
ec7a874a61 - implement PrecacheMaterial 2019-03-17 22:41:02 +01:00
Magnus Norddahl
bf85ad4b6a - remove tracking translation in VkHardwareTexture
- only reset the descriptors when recreating the samplers
2019-03-17 22:27:48 +01:00
Magnus Norddahl
2429eba8f6 - remove the old incomplete VkHardwareTexture implementation 2019-03-17 22:10:49 +01:00
Christoph Oelckers
13f3bf2331 - add an option to print the kill, item and secret stats on the alternative HUD with the NewSmallFont.
This has to be set in the console, the default is still the regular small font. Mainly added because some mods have really hard to read fonts where it is not easy to decipher the numbers.
2019-03-17 21:35:33 +01:00