Commit graph

15574 commits

Author SHA1 Message Date
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
Magnus Norddahl
40ee32a0ce - minor adjustments 2019-03-17 21:14:51 +01:00
Magnus Norddahl
c2df818012 Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2 2019-03-17 20:36:23 +01:00
Magnus Norddahl
29a30037cb - delay destruction of VkHardwareTexture resources until current frame has finished rendering 2019-03-17 20:36:08 +01:00
Christoph Oelckers
099ddea0e1 - use the console font for printing sound debug info.
The unscaled small font is simply far too small for this on modern displays.
2019-03-17 19:02:15 +01:00
Christoph Oelckers
a3103588f3 - fixed: The software renderer was destroying global state when initializing a camera texture.
As a result the HUD wasn't drawn.
2019-03-17 18:32:55 +01:00
Christoph Oelckers
81801ccac0 - use NewSmallFont instead of NewConsoleFont for on-screen messages if enabled. 2019-03-17 18:32:49 +01:00
Christoph Oelckers
2227c15010 - create a second font based on the VGA glyphs that is stylistically more similar to the SmallFont and use that for the option menus. 2019-03-17 18:32:48 +01:00
Christoph Oelckers
2e260c6367 - use the new console font for the options menu to gain space and better character support.
So far this is just an experiment, this needs a bit of work to become viable.
2019-03-17 18:32:47 +01:00
alexey.lysiuk
be9a43f177 - added temp hack for perf issue with Metal layer in fullscreen 2019-03-17 18:20:24 +02:00
alexey.lysiuk
97fc3aa9a6 - avoid Vulkan initialization when it's disabled in Cocoa backend 2019-03-17 14:45:47 +02:00
alexey.lysiuk
83de8ae5a0 - fixed white flash on startup with Metal-based view 2019-03-17 14:44:16 +02:00
alexey.lysiuk
250e4ed622 - do not use OpenGL function to clear screen in Cocoa backend
In fullscreen mode there is a white flash (of the default background color) on startup
To overcome this an explicit glClear() with flush buffers was used
In order to make video mode switch more generic, any backend specific functionality should be avoided here
2019-03-17 14:42:14 +02:00
Christoph Oelckers
7d93983669 - fixed: SpawnShootDecal tried to get the current level from a value that could point to actor defaults which do not have a level. 2019-03-17 13:19:17 +01:00
Christoph Oelckers
4f7ad5b130 - make the clean scaling system more consistent.
Now, all menus will use the same scale, i.e. it only depends on the screen width and a base size of 640. This nearly universally yields better results than trying to make a 320x200 screen fit.
The only exceptions to this are the intermission screens and the level summary. These, unlike the menu need to try to make a 320x200 screen fit, but without all the hackery that was present to adjust the menu display.
Note that since this affects globally visible script variables, both the intermission and summary drawers will not use their own set but instead temporarily override the global setting as long as they run their own code.
Changing the use of variables here might cause much worse problems with menu code so it wasn't attempted
2019-03-17 12:06:09 +01:00
Christoph Oelckers
0ff703c361 - fixed: Doom's episode names were not translatable. 2019-03-17 10:11:02 +01:00
Christoph Oelckers
ba13a540e4 - changed default graphics substitution rules to be more localization friendly.
The default was changed to replace graphics if only known content is affected.
This also required blocking the feature for Hacx, Harmony and Action Doom 2 which have no localization yet and would fall back on Doom's texts if not blocked.
2019-03-17 09:27:40 +01:00
Magnus Norddahl
c00a46043d - implement ssao 2019-03-16 23:37:38 +01:00
Christoph Oelckers
3fde5535c7 - replaced the "or" in the keybind menu with a darker comma so that this part is language neutral. 2019-03-16 19:00:56 +01:00
Alexander
73d81d3983 added option search menu 2019-03-16 18:40:13 +01:00
alexey.lysiuk
540e180fb1 - fixed log text output to console
src/p_user.cpp:429:42: warning: data argument not used by format string [-Wformat-extra-args]
2019-03-16 14:45:16 +02:00
alexey.lysiuk
ac9a428196 - fixed compilation error with some versions of GCC and Clang
src/p_acs.cpp:8719:100: error: cannot pass non-trivial object of type 'FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2019-03-16 14:39:29 +02:00
Christoph Oelckers
669b13ab8a - cleanup and fixes in console code
* consolidated C_MidPrint and C_MidPrintBold.
* removed some unused code from the console buffer.
* handle console output of centered messages to ensure they get written to the log file and to stdout.
* replaced the non-standard bar strings with simple '-'s. These were making things needlessly complicated when redirecting console output and the new font does not have the characters anyway.
* removed some old code from a time when during console drawing new network events could come and have more text printed. This can not happen anymore with how 2D elements are being handled now so all this code was redundant.
2019-03-16 13:02:38 +01:00
Christoph Oelckers
714c656753 - set a Unicode capable font for the Windows console.
The default raster font only contains the OEM 437 code page which is quite useless.
2019-03-16 10:50:53 +01:00
Magnus Norddahl
990d61f41a - fix compile error 2019-03-16 04:18:35 +01:00
Christoph Oelckers
dbd6c2eabf - removed the automatic system language detection for Windows.
Default language is now always American English, just like on Linux and macOS.
2019-03-16 00:07:18 +01:00
Magnus Norddahl
05f0730c9d - convert PPStep to PPRenderState 2019-03-15 23:24:31 +01:00
Christoph Oelckers
2573ca8ac4 - disabled the error message spam from the demo loop
These messages are useful for the playdemo CCMD, but since the demo loop is mostly non-functional anyway they better be disabled there.
2019-03-15 12:18:12 +01:00
alexey.lysiuk
c0d843b596 - fixed crash on startup inside userinfo_t::GetGender()
This function is required for localization handling but when it's called userinfo_t may not be fully initialized yet

https://forum.zdoom.org/viewtopic.php?t=63959
2019-03-15 13:12:53 +02:00
Magnus Norddahl
cce96ca87a - implement shadow maps 2019-03-15 07:54:34 +01:00
Magnus Norddahl
836938440c - move swapchain and the presentation related synchronization objects out of VulkanDevice 2019-03-14 23:33:19 +01:00
Magnus Norddahl
9b207b8fe6 - implement save pic 2019-03-14 23:07:52 +01:00
Christoph Oelckers
50ebca20bb - do not use iswspace to check raw UTF-8.
At least under MSVC this function reports 0x85 as whitespace, but it is a continuation byte for UTF-8 sequences and may not be treated as whitespace.
2019-03-14 21:42:02 +01:00
alexey.lysiuk
087353f00b - fixed dynamic lights flickering with GL3 render path
https://forum.zdoom.org/viewtopic.php?t=63755
2019-03-14 14:53:24 +02:00
Rachael Alexanderson
5fef5d13ce Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2 2019-03-13 22:08:11 -04:00
Magnus Norddahl
2d885d4e4c - add some support for using the HDR10 ST2084 color space on monitors that support it (unfortunately it doesn't work, and with virtually no documentation either from nvidia or khronos it is hard to say why) 2019-03-14 00:21:53 +01:00
Christoph Oelckers
613cf15b31 - fixed: player_t::GetGender needs to check if the CVAR exists.
This function can get called before the player's userinfo is available
2019-03-13 18:06:59 +01:00
Magnus Norddahl
625cc11ea2 - capture screenshot support 2019-03-13 14:10:13 +01:00
Chronos Ouroboros
8dea4f9523 Fixed arrays of dynamic arrays causing a compilation error. 2019-03-13 12:42:45 +01:00
Magnus Norddahl
5d2917bb4f - implement RenderTextureView 2019-03-13 11:14:42 +01:00
Christoph Oelckers
04bf975796 Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-03-13 10:39:22 +01:00
Christoph Oelckers
561444f921 added printlocalized CCMD to check strings in-game. 2019-03-13 10:38:51 +01:00
Chronos Ouroboros
7165b40657 Fixed nested dynamic array indexing causing a compilation error. 2019-03-13 10:23:06 +01:00
Christoph Oelckers
43ca814da8 - fixed: The FFont* serializer was unable to handle null pointers. 2019-03-13 07:11:46 +01:00
Christoph Oelckers
7f8b048347 - added a fallback mapping for the typographic upper quotation mark to the generic form 2019-03-13 07:07:56 +01:00
Magnus Norddahl
d78cb959a7 - implement wipe screen copy 2019-03-13 02:23:33 +01:00
Magnus Norddahl
a585a90d81 - VkHardwareTexture needs to BFF with FTexture 2019-03-13 01:15:50 +01:00
Magnus Norddahl
83ee884ffc - remove dead code 2019-03-13 00:59:39 +01:00
Magnus Norddahl
e5e9924c5e - remove IShaderProgram and make the old classes an implementation detail of the OpenGL backend. In the long run they should be removed completely as their weird design is mostly an artifact of once having supported OpenGL 2 2019-03-13 00:52:25 +01:00
Magnus Norddahl
903f8b6696 - move the active render target from VkRenderPass to VkRenderState 2019-03-13 00:18:27 +01:00
Magnus Norddahl
dca0b75038 - change the images to be upside down until presentation to increase compatibility with shaders designed for OpenGL
- clamp scissors fully to avoid NVidia's awful drivers locking up the entire system if they end up out of bounds
- perform buffer clears as part of the render pass. this puts some restrictions on how FRenderState.Clear can be used
- add an offset uniform to the present shaders so the vulkan target can flip the image during presentation
2019-03-12 23:53:20 +01:00
Magnus Norddahl
0620041228 - remove screenquadscale.vp 2019-03-12 16:24:55 +01:00
Magnus Norddahl
a26e2cd8e0 Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2 2019-03-12 16:17:39 +01:00
Magnus Norddahl
db6a4781c8 - clip scissors (tired of my computer blue screening - thanks NVidia!)
- wrap viewport
2019-03-12 16:17:26 +01:00
alexey.lysiuk
3dd25bd4c0 - implemented OpenGL / Vulkan switch in Cocoa backend 2019-03-12 16:12:23 +02:00
alexey.lysiuk
7b5eedea32 - implemented OpenGL / Vulkan switch in SDL backend 2019-03-12 16:12:14 +02:00
Magnus Norddahl
aa84f7b3e6 - fix shaders only being loaded from the engine pk3 2019-03-12 15:02:21 +01:00
Rachael Alexanderson
6be5769746 - implement backend switcher for Windows. NYD: Still needs to be done for Mac and Linux 2019-03-11 23:36:44 -04:00
Rachael Alexanderson
879aae1bd3 Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2 2019-03-11 22:07:46 -04:00
Rachael Alexanderson
916f21942c - Reverse the status bar offset when shearing the viewport in Vulkan - fixes the issue with a black bar at the top of the screen 2019-03-11 22:06:51 -04:00
Christoph Oelckers
2d5210ccf2 - added lowercase->uppercase mapping for ß and moved all glyphs to the uppercase code point for consistency. 2019-03-12 00:00:54 +01:00
Christoph Oelckers
8b4690bc44 - use international date format for all places that print a date.
The most important one is the autosave tagging. This was done because the old printout was missing the year and printed the month as a 3 character English string, sabotaging any attempt to sort the autosaves by anything meaningful.
2019-03-11 21:21:37 +01:00
Christoph Oelckers
22cf35c1c7 - reworked the load/save menu to use the new console font.
Parts of this menu suffered badly from lack of screen space to convey the intended information due to the oversized fonts. With the new font this is a lot less problematic (unless using 320x200, of course)
2019-03-11 20:59:43 +01:00
Christoph Oelckers
60c5350e8b - added an option to use the new console font for centered messages.
Like the notification messages, this is optional to not affect existing settings.
2019-03-11 19:54:03 +01:00