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