Christoph Oelckers
5953f492c1
- fixed: The OriginalSmallFont must always be created, even when the actual SmallFont is not the IWAD default.
2019-08-10 20:09:04 +02:00
alexey.lysiuk
07a2331ca3
- exposed Append() method to ZScript dynamic array
...
https://forum.zdoom.org/viewtopic.php?t=65570
2019-08-10 16:37:40 +03:00
Christoph Oelckers
541dcab89a
- for debug builds run the survey code every time if enabled, but do not send survey data.
2019-08-09 23:18:28 +02:00
Christoph Oelckers
817190458d
- fixed survey request.
2019-08-09 21:42:00 +02:00
Christoph Oelckers
3b4184816b
- do not blur the background for portrait-less conversations.
2019-08-09 15:22:52 +02:00
Christoph Oelckers
1e4a32004b
- fixed bad texture canvas checks when in truecolor software rendering.
2019-08-09 13:59:54 +02:00
Christoph Oelckers
53c2d7e8d2
- fixed: in order to ensure that all font characters are of texture type FontChar it is necessary to clone the texture instead of changing its use type.
...
The use type is being used for texture lookup, so changing this alters the texture lookup rules and may cause return of incorrect textures.
This also ensures that context depending upscaling rules get used, because FontChars are separate from regular textures.
2019-08-09 11:40:21 +02:00
Christoph Oelckers
afe4a45a76
- fixed: The frozen state was not reset when the global level variable was reset.
2019-08-09 10:39:09 +02:00
Christoph Oelckers
14a21c2a7e
- made some changes to the survey code to give clearer output and removed a few obsolete things that are no longer relevant.
2019-08-09 10:18:15 +02:00
Christoph Oelckers
c3e3fda94a
- fixed handling of the "ouch" face.
...
This depended on order of execution, taking the health values to compare from variables which were not synchronized properly.
Now both the last and current health being used here are being retrieved in the same place so that further changes cannot break this again.
2019-08-09 09:58:40 +02:00
Christoph Oelckers
5ca1bb3979
- fixed an inconsistency with missiles bouncing off actors.
...
They exploded when hitting a side but not when hitting top or bottom. Changed so that they always explode now.
2019-08-09 09:36:50 +02:00
Christoph Oelckers
a239675fb5
- fixed incorrect write barrier in sound sequence code.
2019-08-09 08:42:36 +02:00
Christoph Oelckers
8447525019
- fixed: Takedown of an expired HUD message did not properly detach it from the list.
2019-08-09 08:32:23 +02:00
Magnus Norddahl
d1026e4b5b
- call vkDeviceWaitIdle before RAII tears down buffers
2019-08-08 20:56:11 +02:00
Christoph Oelckers
3c449f3908
- delete the teaser logs from SVE.WAD.
...
The way Strife has been set uo, it is not possible to have the full game and the teaser coexist without hackery.
2019-08-07 19:22:06 +02:00
Christoph Oelckers
43041c21d8
- made author names work with title patches.
...
Most importantly, specifying a patch may optionally disallow showing the autor's name - this is for cases where a styled patch gets used for English but text-based translations of the map name should still be possible.
2019-08-07 12:09:47 +02:00
Magnus Norddahl
7746b2c6fd
- add light array
2019-08-06 07:15:07 +02:00
Magnus Norddahl
b34658d4d8
- fix out of bounds crash
2019-08-06 06:21:37 +02:00
Magnus Norddahl
eb127d0dac
- implement more shaders
2019-08-06 04:51:37 +02:00
Magnus Norddahl
4e24fdacf0
- implement more of the default shader
2019-08-05 23:31:56 +02:00
Magnus Norddahl
82a17572ef
- implement getTexel part of main.fp
2019-08-05 19:32:54 +02:00
Christoph Oelckers
be0478972a
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-08-05 19:15:16 +02:00
Magnus Norddahl
b17351cda4
- implement blend functions
2019-08-05 08:37:22 +02:00
Magnus Norddahl
f73470dcf4
- rewrite screen triangle drawer to be more modular and better support the hwrenderer shaders
2019-08-05 03:23:04 +02:00
alexey.lysiuk
d9dcc26dc6
- set default magnification filter for Metal layer to nearest
...
Magnification filter is applied to swapchain image when it's copied to a physical display surface
This is needed for gfx-portability because MoltenVK uses nearest sampling by default
2019-08-04 13:37:47 +03:00
Magnus Norddahl
ebe377e5de
- remove TriDrawTriangleArgs::uniforms as it is redundant
2019-08-04 02:57:08 +02:00
Magnus Norddahl
7940d5fe01
Merge remote-tracking branch 'origin/master' into polybackend
2019-08-04 02:22:55 +02:00
alexey.lysiuk
c05ef39718
- do not set use type on font texture if it is used as a sprite
...
Setting texture use type in this case would break actors that use the corresponding sprite
https://forum.zdoom.org/viewtopic.php?t=65509
2019-08-03 15:42:06 +03:00
alexey.lysiuk
ff4bc8bab9
- use EXT_metal_surface extension for Vulkan surface creation
...
Prefer EXT_metal_surface over deprecated MVK_macos_surface extension, and use it only when modern one is not available
2019-08-03 13:16:12 +03:00
alexey.lysiuk
cf81ab465e
- updated Vulkan headers to version 1.1.114
...
This is the latest version released with Vulkan SDK
New headers are needed for EXT_metal_surface
2019-08-03 10:52:04 +03:00
alexey.lysiuk
5870cb7ea1
- recreate Vulkan swapchain in case of surface lost error
...
Do not abort with fatal error when VK_ERROR_SURFACE_LOST_KHR was returned from vkAcquireNextImageKHR() or vkQueuePresentKHR()
So far, only gfx-portability implementation is reporting this error from time to time, usually on startup, entering the game, or task switching
2019-08-02 10:21:06 +03:00
Christoph Oelckers
3e99216967
- added option to print a map author's name on the summary screen
...
For now only with font-printed map names. Allowing this with titlepatches will require more work and an option to disable.
2019-08-02 09:11:40 +02:00
Christoph Oelckers
154af34cd9
- added an option to always display the log and the subtitles with the generic font.
...
If this is on it will disable the status bar's pop screen for the log and always use the HUD overlay instead.
2019-07-31 17:02:39 +02:00
Christoph Oelckers
c36dc137ba
- made adjustments to the text placement on the summary screen.
...
With extended fonts much of the old code did not work anymore, this needed more precise checks for the sources of the printed texts.
2019-07-30 10:53:02 +02:00
alexey.lysiuk
370f5ef234
- fixed writing of texture matrices in Vulkan render backend
...
https://forum.zdoom.org/viewtopic.php?t=65479
2019-07-30 11:46:14 +03:00
Christoph Oelckers
afbd7f7a24
- increased StreamBuffer size because I got it to crash with comatose.wad once due to an overflow here.
2019-07-28 19:05:39 +02:00
Magnus Norddahl
ad8c5bb96e
- add VkRenderPassManager::GetVertexFormat so that all VkRenderState access is done through functions that can then be made thread safe
2019-07-28 17:20:49 +02:00
Magnus Norddahl
76675a4d61
- add VkMatrixBufferWriter so that both buffers are used same way in VkRenderState
2019-07-28 17:04:56 +02:00
Magnus Norddahl
4adac3fe59
- move streaming uniform buffers out of VkRenderState
2019-07-28 16:28:43 +02:00
Christoph Oelckers
c577f1d743
Merge pull request #899 from khutchins/master
...
Adds option to use a quicksave rotation
2019-07-28 08:44:21 +02:00
Kevin Hutchins
5cb59018e0
Adds option to use a rotation of quicksaves instead of having one quicksave slot that needs to be manually created.
2019-07-27 12:09:55 -07:00
alexey.lysiuk
a308becb48
- pass NSView instance when creating macOS Vulkan surface
...
MoltenVK allows passing a layer, although Vulkan specs prohibit this
https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkMacOSSurfaceCreateInfoMVK.html
This helps with testing of renderer using Vulkan Portability Implementation
2019-07-27 12:55:05 +03:00
Christoph Oelckers
86d2742798
- allow switching the Strife conversation screen to the VGA font for all languages by a CVAR.
...
This is for readability purposes because the styled SmallFont may be problematic for some players.
2019-07-26 20:23:46 +02:00
Christoph Oelckers
495f2d9c82
- changed subtitle duration to last at least 7 seconds, even for shorter sounds so that there is sufficient time to read them.
2019-07-26 20:18:01 +02:00
alexey.lysiuk
222dfd17b7
- added ability to specify display duration of subtitles
...
Duration of sound playback and subtitles display will be synchronized if sound id is specified
For existing Strife messages this works out of the box
https://forum.zdoom.org/viewtopic.php?t=65379
2019-07-26 20:11:42 +02:00
Magnus Norddahl
97a4f25771
- hook up dynamic lights
2019-07-25 04:19:05 +02:00
Magnus Norddahl
a55412fcf6
- fix crash when rendering models
2019-07-24 23:25:48 +02:00
Magnus Norddahl
ec82f994f7
- hook up software renderer
2019-07-24 22:13:00 +02:00
Magnus Norddahl
9da46d0e0a
- force this branch to always use the poly backend
2019-07-24 21:45:37 +02:00
Christoph Oelckers
4cfc650f5b
- fixed line breaking on non-spaces for multi-byte UTF-8 characters.
...
This needs to backtrack the entire code point, not just one byte.
2019-07-24 21:40:17 +02:00
Magnus Norddahl
e6f6f10e81
Merge remote-tracking branch 'origin/master' into polybackend
2019-07-24 21:39:07 +02:00
Major Cooke
15eabfd055
Added A_SoundPitch and an optional pitch parameter to A_PlaySound and S_Sound.
...
- Note: Because sound channels are not in zscript, there's no way to modify a sound made by S_Sound.
2019-07-24 20:15:24 +02:00
alexey.lysiuk
435f0bb0b0
- fixed crash on player unmorph after falling death
...
Rearranged conditions to avoid accessing player from obsolete morphed pawn
Unmorphing upon death resets player in morphed actor, so player alive state should be tested first
Removed duplicate health check as well
https://forum.zdoom.org/viewtopic.php?t=65429
2019-07-23 12:10:16 +03:00
Christoph Oelckers
c262591f0e
- added alternative character mapping for Greek letters.
...
Although not really needed yet, this allows striking 19 characters off the support list, except for the Raven fonts without any real work.
2019-07-18 21:40:04 +02:00
3saster
5eb2a6b681
FPS counter no longer blocks level time on automap
...
Respects HUD & Console scaling
2019-07-18 10:41:23 +02:00
Christoph Oelckers
9219834a1a
Revert "- fixed the calculations which decide whether to use an options menu for skills and episodes."
...
This reverts commit d308a1223b
.
This does not work because the menu treats negative coordinates differently.
On top of that, changing size of the episode and skill menus dynamically depending on screen size is causing secondary problems so this is better reverted to the previous state.
2019-07-17 21:10:29 +02:00
Christoph Oelckers
95349822c4
- for the map name on the automap, fall back to the original SmallFont if the actual one cannot print it.
...
This is mainly for mods which provide a new font but do not alter the automap texts, a good example is Hell Revealed 2.
2019-07-17 20:28:07 +02:00
Christoph Oelckers
b37acef0c9
- added the two missing subtitle texts for Strife.
...
These are identical to the actual logs but it turned out that these texts need to be separate to avoid misbehavior.
This also disables the subtitles for the teaser because its log numbers collide with the full game.
2019-07-17 20:02:43 +02:00
Christoph Oelckers
77b1ebe0d7
- moved several IWAD dependent files into the game_support resource
...
* sprite offset definitions, which are IWAD dependent
* Freedoom's decal overrides
* conversation ID definitions for the Strife teasers
* the fallback BigFont now can also be loaded by IWADs which declare themselves as GAME_Heretic or GAME_Hexen.
2019-07-17 00:54:59 +02:00
Christoph Oelckers
9de462ee07
- renamed zd_extra.pk3 to game_support.pk3
2019-07-16 22:24:43 +02:00
Christoph Oelckers
56d03c8223
- remove test code.
2019-07-16 21:53:53 +02:00
Christoph Oelckers
38a1a05af3
- moved iwadinfo.txt to zd_extra.pk3.
...
This was done for two reasons:
1. It forces loading of zd_extra.pk3 for the stock IWADs, eliminating a certain kind of user error.
2. It removes the stock IWAD definitions for custom games that distribute the engine along with their data, so that it doesn't pick up on Steam and GOG installations and shows an inappropriate IWAD picker.
2019-07-16 20:22:15 +02:00
alexey.lysiuk
36ed7e5182
- fixed UMAPINFO episode parsing
...
* bounds checking for accessing episode tokens
* support empty tokens in episode definition
* handle upper cased episode shortcut
https://forum.zdoom.org/viewtopic.php?t=65364
2019-07-16 12:39:36 +03:00
alexey.lysiuk
b935218dc2
- fixed: subtitles background renains visible on new game
...
https://forum.zdoom.org/viewtopic.php?t=65366
2019-07-16 11:37:41 +03:00
Christoph Oelckers
7916cebdc1
- merged the Hacx extra stuff into zd_extra.pk3 and added the ability to inject data into the resource directory after the IWAD so that the base resources can provide content that can override IWAD data if broken or not usable.
...
Hacx in particular needs this to fix a handful of buggy actors and to override the IWAD's MAPINFO which is not localizable.
2019-07-15 21:23:46 +02:00
Christoph Oelckers
8177583e2f
- treat configurations which load a secondary WAD on top of a primary IWAD like SVE to consider the secondary WAD an actual IWAD as well.
...
This fixes localization of the SVE menu.
2019-07-15 20:48:00 +02:00
drfrag
416f5d03b7
- Fixed compilation with MinGW.
2019-07-15 19:26:25 +02:00
alexey.lysiuk
f25e5c738c
- fixed compilation of Linux targets
...
src/../libraries/gdtoa/gdtoa.h:67:19: fatal error: arith.h: No such file or directory
2019-07-14 22:29:38 +03:00
Christoph Oelckers
7346288bf5
- moved some more files.
2019-07-14 21:09:49 +02:00
Christoph Oelckers
4d35adbcd6
- unused macro removal.
2019-07-14 20:44:17 +02:00
Christoph Oelckers
7351a76404
- move sound files to sound folder.
2019-07-14 17:48:55 +02:00
Christoph Oelckers
293aa2e6da
- There's really no need anymore to dynamically load RawInput, considering it has been in Windows since XP.
2019-07-14 17:41:25 +02:00
Christoph Oelckers
79ad3e6203
- define _WIN32_WINNT to 0x600 (Vista) in the CMake project instead of littering all files with inconsistent settings for the target version.
2019-07-14 16:55:01 +02:00
Christoph Oelckers
f50e402e92
- sorted sound backend code into subdirectories.
2019-07-14 16:07:18 +02:00
Christoph Oelckers
ed6ab39b2d
- moved third party library projects to a subfolder to reduce size of the root.
2019-07-14 15:06:54 +02:00
Christoph Oelckers
ec52e90e54
- moved more files out of the root src directory.
2019-07-14 14:39:21 +02:00
Christoph Oelckers
2a16fb9d28
- moved most remaining playsim code into its proper folder.
2019-07-14 13:59:16 +02:00
Christoph Oelckers
9045615a7a
- renamed g_shared folder to playsim.
2019-07-14 13:24:18 +02:00
Christoph Oelckers
cd7438c02e
- made some adjustments to the text spacing on the level summary screen.
...
With the extended fonts some parts here caused too large gaps.
2019-07-14 12:44:42 +02:00
alexey.lysiuk
053736363d
- extended list of predefined filenames for SDL2 shared object lookup
...
https://forum.zdoom.org/viewtopic.php?t=65348
2019-07-14 10:52:32 +03:00
Christoph Oelckers
2fd170b06e
- allow setting the font used for the status screen's content text.
...
This was needed to give Hacx's screen the proper colors.
2019-07-14 09:08:19 +02:00
Christoph Oelckers
b087f3f4ed
- added Hacx localization support.
...
Unlike the other games this required a bit of patching of the IWAD's data with a new MAPINFO so it needs to be in a separate .pk3 file loaded after the IWAD.
Since this needs to be loaded after the IWAD it was also possible to add a small DECORATE lump which fixes a few errors inherited from the original Dehacked patch, like monster counting bugs and unintentionally shootable decorations.
2019-07-13 20:29:29 +02:00
alexey.lysiuk
aba7132846
- cleaned up language detection leftovers
2019-07-13 15:47:43 +03:00
Christoph Oelckers
0eb9f18e9f
- fixed: The countdown for the subtitles display was never counted down so the messages remained forever.
2019-07-12 20:13:45 +02:00
Christoph Oelckers
89db16393e
- offset notification messages so that the accents do not get cut off.
...
This essentially means that the tallest character in a font determines positioning.
2019-07-12 20:09:15 +02:00
Marisa Kirisame
bdb083f457
Shape2D drawing will gracefully abort the VM on any out of bounds access.
2019-07-12 17:44:54 +02:00
alexey.lysiuk
b7e0a8d2c7
- added validation for presence of drop item classes
...
https://forum.zdoom.org/viewtopic.php?t=65307
2019-07-11 14:11:01 +02:00
alexey.lysiuk
73ddab3a59
- do not set crouch player sprites on voodoo dolls
...
https://forum.zdoom.org/viewtopic.php?t=65257
2019-07-09 22:57:24 +02:00
alexey.lysiuk
c3fedd4218
- fixed crash on starting ACS script without level
...
https://forum.zdoom.org/viewtopic.php?t=65287
2019-07-08 11:17:03 +03:00
alexey.lysiuk
9332a63ce5
- fixed LevelLocals.isFrozen() return value with JIT disabled
...
No more 'Number of parameters returned differs from what was expected by the caller' assertion failures
2019-07-07 15:31:06 +03:00
alexey.lysiuk
7d88e2ec6b
- fixed compilation with GCC 5 and newer
...
src/r_data/a_dynlightdata.cpp:72:44: error: no matching function for call to ‘FSerializer::Array(const char [5], int [5], int, std::nullptr_t)’
2019-07-07 11:51:34 +03:00
alexey.lysiuk
1aeef146e0
- fixed linking without DYN_FLUIDSYNTH defined
...
Undefined symbols for architecture x86_64:
"CreateFluidSynthMIDIDevice(char const*, int)", referenced from:
MIDIStreamer::CreateMIDIDevice(EMidiDevice, int) in music_midistream.o
2019-07-07 11:39:57 +03:00
Christoph Oelckers
8b4d85f0d7
- tested and fixed the attachable lights.
2019-07-07 09:50:02 +02:00
Christoph Oelckers
5df8919b90
Merge branch 'master' into userlights
2019-07-07 08:11:09 +02:00
Christoph Oelckers
953e388e1c
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-07-07 08:09:14 +02:00
alexey.lysiuk
1533abcb06
- fixed missing dive and surface player sounds
...
https://forum.zdoom.org/viewtopic.php?t=65233
2019-07-05 10:13:21 +03:00
Dzmitry Malyshau
3467e0edcf
Switch command buffers to be one-time-submittable ( #885 )
2019-07-05 02:15:59 +02:00
Major Cooke
b4cfea4e4d
Re-ordered drawing a little.
2019-07-03 18:01:45 +02:00
Major Cooke
7b698b4a0e
Added RenderUnderlay.
...
- Works exactly like RenderOverlay, but is drawn behind the status bar/huds instead.
2019-07-03 18:01:45 +02:00
Dzmitry Malyshau
e7e46f8c7c
vk: Check for the time query support on the graphics queue ( #884 )
2019-07-03 16:49:06 +02:00
alexey.lysiuk
73f46089cc
- added validation of LevelCompatibility.Apply() signature
2019-07-03 13:11:48 +03:00
Rachael Alexanderson
bc88ceea94
- clarify too old ZScript version message
2019-06-30 22:14:23 -04:00
Magnus Norddahl
259909b6dd
- fix querying for the wrong interface when the UNICODE define is set
2019-06-30 21:13:56 +02:00
Magnus Norddahl
6e29d81502
- remove dead code
2019-06-30 21:13:15 +02:00
cybermind
1b7aeb35e1
Fixed copy-paste typo in SphericalCoords
2019-06-29 21:32:41 +03:00
Christoph Oelckers
1dcbe43d95
- User definable dynamic lights
...
This hasn't been tested yet!
2019-06-28 12:35:42 +02:00
alexey.lysiuk
80c20b6a3b
- added detection of macOS Catalina
2019-06-28 12:20:52 +03:00
Christoph Oelckers
1b1069dc78
- made the class definitions of the MIDI devices private to the implementations.
2019-06-27 09:56:08 +02:00
Christoph Oelckers
5ef43143f8
- removed unused CVAR_GUID type
2019-06-27 09:16:34 +02:00
Christoph Oelckers
3810d9beb3
- Make HAVE_VULKAN an option so that it can be disabled
...
Had to compile on a Mac with no MoltenVK and no Vulkan SDK.
2019-06-27 09:10:20 +02:00
Christoph Oelckers
1081338af2
- removed a few obsolete definitions from basictypes.h
2019-06-26 22:13:12 +02:00
Christoph Oelckers
e93de62f98
- eliminated dependency of CVar code on AActor.
...
As a low level feature, the CVAR management should not access game structures like actors, just to retrieve a player index. The index should be calculated by the calling code instead and passed into the function.
# Conflicts:
# src/win32/i_specialpaths.cpp
2019-06-26 21:28:45 +02:00
alexey.lysiuk
77ea4a9fb7
- fixed inconsistent wipe state with stereo 3D mode enabled
...
https://forum.zdoom.org/viewtopic.php?t=65181
2019-06-26 22:26:14 +03:00
Christoph Oelckers
8f00eb54d8
- removed UTF-8 marker.
2019-06-24 05:07:23 +02:00
Rachael Alexanderson
5a77271983
- add missing newline to PrintMiscActorInfo
2019-06-23 21:52:08 -04:00
Magnus Norddahl
557206131c
- remove debug statement
2019-06-23 23:53:42 +02:00
Magnus Norddahl
e59c5cb947
- fix missing font glyphs
2019-06-23 21:24:37 +02:00
Magnus Norddahl
706bc0b7c6
Merge remote-tracking branch 'origin/master' into polybackend
2019-06-23 20:29:04 +02:00
alexey.lysiuk
841a69d527
- fixed: endgame menu no longer resets player's userinfo
...
User CVARs can be stored in member variables for quicker access
Unconditional call to G_CheckDemoStatus() destructs and recreates such CVARs
Dangling pointers could be accessed during the last game tick, e.g. from event handlers
https://forum.zdoom.org/viewtopic.php?t=65150
2019-06-23 10:48:17 +03:00
Christoph Oelckers
860edd490a
- defaulted a few empty constructors.
2019-06-21 07:52:25 +02:00
Christoph Oelckers
3030a6d389
- set Visual C++ compiler to use /permissive- mode and fixed the one error this generated.
...
This also means that Visual Studio 2015 is no longer supported as it has no proper standard conforming compile mode.
2019-06-20 20:25:34 +02:00
Christoph Oelckers
3d3f364874
- consolidated postprocessing code a bit.
...
The code that determines the order of effects should not be duplicated between renderers.
2019-06-20 11:55:45 +02:00
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
82ebcc4946
- fix compile errors
2019-06-10 23:00:15 +02:00
Magnus Norddahl
bb47230f79
Merge remote-tracking branch 'origin/master' into polybackend
2019-06-10 22:46:32 +02:00
Magnus Norddahl
5dd06de48c
- fix compile error
2019-06-10 22:46:13 +02: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
Magnus Norddahl
91ec1463b8
- add line drawer
2019-05-31 08:49:08 +02:00
Magnus Norddahl
80805656ed
- implement alpha test
2019-05-31 06:43:24 +02:00
Magnus Norddahl
a5608c67b5
- upload using all threads
2019-05-31 05:42:04 +02:00
Magnus Norddahl
4a7824c380
- implement vsync and letterbox
2019-05-31 05:22:06 +02:00
Magnus Norddahl
4bbab49e04
- present using direct3d 9
2019-05-30 23:31:39 +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
Magnus Norddahl
b9230d4425
- fix negative uLightLevel being applied
2019-05-29 06:42:02 +02:00
Magnus Norddahl
a1229be5c6
- implement camera textures
2019-05-29 05:45:19 +02:00
Magnus Norddahl
be5ecce598
- fix fill color and translucency
2019-05-29 02:22:45 +02:00
Magnus Norddahl
eff38393af
- fix stencil writing color
2019-05-29 01:14:42 +02: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
Magnus Norddahl
555beb58f0
- tell softpoly backend which hwrenderer shader is active and use that to decide which drawer to use
2019-05-28 08:13:19 +02:00
Magnus Norddahl
bd591c75fb
- implement depth bias
2019-05-28 06:45:21 +02:00
Magnus Norddahl
bc5b953633
Merge remote-tracking branch 'origin/master' into polybackend
2019-05-27 21:49:12 +02:00
Magnus Norddahl
b6e00cb208
- fix use after delete of some textures
2019-05-27 21:23:58 +02:00
Magnus Norddahl
c2535519e8
- fix blend mode for the fireballs
2019-05-27 20:20:20 +02:00
Magnus Norddahl
9f8cd68211
- fix use after delete
2019-05-27 20:03:11 +02:00
Magnus Norddahl
117617aad8
- minor blend and light adjustment
2019-05-27 19:18:27 +02:00
Magnus Norddahl
0d8d50c23e
- fix viewport location
...
- add scissor support
2019-05-27 16:51:54 +02:00
Magnus Norddahl
8db5e72254
- add PolyTriangleDrawer functions for the operations needed by PolyRenderState
2019-05-27 07:57:27 +02: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
Magnus Norddahl
3a3de13abd
- hook up main.vp and the data it uses for input
2019-05-26 01:00:36 +02: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
Magnus Norddahl
fbaeb11fba
- convert main.vp to c++ so softpoly can use it
2019-05-25 01:27:20 +02:00
Magnus Norddahl
b453e15929
- adjust PolyTriangleDrawer to closer match what PolyRenderState receives as input
2019-05-24 22:30:14 +02:00
Magnus Norddahl
4fd4bfa092
Merge remote-tracking branch 'origin/master' into polybackend
2019-05-24 19:21:36 +02: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
Magnus Norddahl
0cb3605c70
- fix null drawers
...
- slightly better renderstyle drawer selection
2019-05-22 21:23:10 +02:00
Magnus Norddahl
d724b623d1
- enable the depth buffer
...
- support vid_scalefactor
2019-05-22 17:56:29 +02: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
Magnus Norddahl
48d2d423f6
- remove softpoly scene drawer
2019-05-22 17:16:07 +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
Magnus Norddahl
0eda298db2
- create a renderer backend based on softpoly's drawers
2019-05-22 06:29:52 +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
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
Christoph Oelckers
ed1615babb
- allow using the console font for notification messages (e.g. item pickup)
...
This is optional because it impacts display of game content, but for readability the new font definitely has advantages.
2019-03-11 19:09:37 +01:00
Christoph Oelckers
e2d3c6feea
- use the new console font for the chat input.
2019-03-11 18:42:28 +01:00
Christoph Oelckers
414a38c19d
- use the new console font to display stat output.
2019-03-11 18:27:46 +01:00
Christoph Oelckers
109413b3a1
- fixed cursor positioning in console with double-wide characters present.
2019-03-11 18:24:42 +01:00
alexey.lysiuk
d5410a8828
- added missing #include
...
src/c_console.cpp:167:7: error: no type named 'u32string' in namespace 'std'
2019-03-11 10:39:06 +02:00
Christoph Oelckers
02836b3c3f
- fixed: The command line parser of the console was incapable of handling non-ASCII characters.
2019-03-11 00:26:37 +01:00
Christoph Oelckers
4532c2c489
- fixed crash when inserting CJK text.
2019-03-11 00:06:44 +01:00
Christoph Oelckers
b605ae5213
- reactivated the formatting for the secret hints.
...
This had to be temporarily disabled for the font switch and wasn't undone afterward.
2019-03-10 23:29:33 +01:00
Christoph Oelckers
561d5a3d8b
- fixed: IsPointInLevel must explicitly check for minisegs, which can be one-sided on maps with unclosed sectors.
...
Obviously, in such a case it is impossible to decide whether a point is really inside the map, so if this happens, behavior is undefined.
2019-03-10 19:07:48 +01:00
Christoph Oelckers
90c47e7497
- fixed character counting in TypeOn HUD message.
2019-03-10 18:54:57 +01:00
Christoph Oelckers
ec476877ac
- handle double wide characters in the console buffer.
2019-03-10 17:54:03 +01:00
Christoph Oelckers
eb4eb1ac00
- use a wide string for the console input buffer.
...
Since this needs to do cursor positioning calculations it's the one spot in the entire engine where UTF-8 would simply be to messy, especially when having to deal with double wide characters.
2019-03-10 17:54:03 +01:00
Christoph Oelckers
0884057ae1
- use a higher resolution console font with better Unicode support.
2019-03-10 17:54:03 +01:00
alexey.lysiuk
f2a311dfca
- fixed mouse cursor positioning in Cocoa backend with Vulkan renderer
2019-03-10 13:37:36 +02:00
alexey.lysiuk
34cbb7c276
- added HiDPI support to Cocoa backend with Vulkan renderer
2019-03-10 13:36:18 +02:00
alexey.lysiuk
0909a67676
- removed explicit deallocation of Cocoa window
2019-03-10 11:00:24 +02:00
Magnus Norddahl
2ca112bef7
- create a helper for doing the PP image transitions
2019-03-10 01:47:55 +01:00
Magnus Norddahl
eb41e5fcd7
- fix transition error when no PP effects are active
2019-03-10 00:47:28 +01:00
Magnus Norddahl
fed0f0dfab
- fix the multisample and image transition validation errors
2019-03-09 23:17:48 +01:00
Magnus Norddahl
5581fbfd93
- fix wrong layout and image format for the swap chain
2019-03-09 22:07:46 +01:00
Magnus Norddahl
ff68d2e651
- hooked up the debug names for objects, which was a bit of a waste of time since the validation layer is brain dead and doesn't use the information in its messages..
2019-03-09 21:34:29 +01:00
alexey.lysiuk
02ed758447
Merge branch 'master' into vulkan2
...
# Conflicts:
# src/posix/cocoa/i_video.mm
2019-03-09 16:45:49 +02:00
alexey.lysiuk
784e0347c0
- removed excessive std::move() reported by Clang
...
src/utility/xlsxread/xlsxio_read.cpp:69:27: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
2019-03-09 16:36:12 +02:00
alexey.lysiuk
bc69941514
- fixed compilation of Cocoa backend
...
src/posix/cocoa/i_video.mm:297:2: error: use of undeclared identifier 'SetFlash'
2019-03-09 16:34:54 +02:00
Christoph Oelckers
b7d09c95dd
- cleanup of savegame picture code.
...
* re-added screen blends for images from the hardware renderer.
* moved all postprocessing of the image out of the renderers.
* cleaned out a large piece of cruft for handling the palette in the frame buffer class. This was all a remnant of the old paletted backend that no longer exists. Nowadays the screen blend is just a postprocessing effect drawn over the 3D screen, there is no need to maintain any of it as global state anymore.
* since the engine doesn't produce paletted screenshots anymore there is no need to have handling for it in the generation code. This depended on otherwise obsolete information so it got removed along with that information.
2019-03-09 14:48:14 +01:00
alexey.lysiuk
f7a95f612e
- extended RPATH for macOS with executable's directory
...
Dynamic libraries placed in the directory with the main executable now can be loaded by dlopen() function
This is required in order to enable Vulkan support without additional steps like SDK installed in the system
2019-03-09 15:46:18 +02:00
Christoph Oelckers
29012a89c6
- for got to save this.
2019-03-09 13:34:22 +01:00
Christoph Oelckers
f9d4ea8424
- missed the part that the blend function was still drawing multiplicative blends.
...
This should be cleanly separated.
2019-03-09 13:12:24 +01:00
Christoph Oelckers
0e4a860c5e
- fixed uninitialized screen flash color for savegame images in the software renderer.
2019-03-09 12:52:07 +01:00
Christoph Oelckers
2fa5a88701
- do not render player sprites to canvases in the hardware renderer.
2019-03-09 12:34:10 +01:00
Christoph Oelckers
0ca7723c0e
- disable player sprite drawing on canvases for the softpoly renderer.
2019-03-09 12:17:57 +01:00
Christoph Oelckers
1a29d39355
- do not render player sprites to canvases in the software renderer.
...
This applies to both savegame images and camera textures.
2019-03-09 12:12:33 +01:00
Christoph Oelckers
d2475b68d0
- removed unnecessary variable clear.
2019-03-09 12:12:33 +01:00
Christoph Oelckers
99c8ba1288
- use uAddColor instead of uObjectColor2 for the ending color of a special colormap range.
...
Unlike uObjectColor2, this is more global state. uObjectColor2 is part of gradient calculation which may later be offloaded to a secondary buffer which already resulted in only conditionally setting it, resulting in broken special colormap application for the software renderer.
2019-03-09 12:12:33 +01:00
alexey.lysiuk
4ac82c18be
- eliminated last triangle fans usage in Vulkan renderer on macOS
...
Thanks dpJudas
2019-03-09 12:37:45 +02:00
Magnus Norddahl
8270abcb7e
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-09 10:20:28 +01:00
Magnus Norddahl
21c83950a5
- add vk_device and vk_listdevices that will allow selecting a different device on systems where this is desirable
...
- clean up the VulkanDevice class
2019-03-09 10:20:14 +01:00
Christoph Oelckers
54efbf3edd
Merge remote-tracking branch 'remotes/origin/master' into vulkan2
2019-03-09 08:55:40 +01:00
Magnus Norddahl
389469c604
- pick the first device that supports our required features
2019-03-08 22:53:32 +01:00
Magnus Norddahl
aa1ff58353
- convert triangle fan to triangle list on macOS
2019-03-08 21:34:21 +01:00
Christoph Oelckers
4668d0b1de
- render simple quad-based render hacks as triangle strips.
2019-03-08 17:53:24 +01:00
Christoph Oelckers
f7112786d7
- use triangle strips to render decals.
2019-03-08 17:53:23 +01:00
Magnus Norddahl
ca570f1e78
- move shadowmap uniforms out of FShadowMapShader
2019-03-08 17:45:07 +01:00
alexey.lysiuk
965acde9c0
- added initial support of Vulkan renderer to Cocoa backend
2019-03-08 16:47:02 +02:00
alexey.lysiuk
c30b1a1f4a
- split base and OpenGL Cocoa framebuffers properly
2019-03-08 14:39:00 +02:00
Magnus Norddahl
ca1d8191aa
- enable the binding code for the ssao gbuffers
2019-03-08 03:17:59 +01:00
Magnus Norddahl
c0c2743e89
- add multisample support
...
- fix BlurScene
- create the gbuffers needed by ssao
2019-03-08 02:24:54 +01:00
Sterling Parker
81059aee1d
Fix faulty multiplication logic for LookScale
...
Turns out the entire thing was getting shortcutted because FOVScale is 0 unless set explicitly or via A_ZoomFactor.
2019-03-07 21:22:33 +01:00
Sterling Parker
ae1a1df02d
Add LookScale variable on weapon
...
This variable allows a weapon to set a custom look sensitivity multiplier without fiddling with FOVScale / DesiredFOV hacks.
2019-03-07 21:22:33 +01:00
Magnus Norddahl
e823d5da52
- remove compute and sparse requirements as we use neither
2019-03-07 18:23:04 +01:00
Magnus Norddahl
6db231596f
- hook up postprocessing
2019-03-07 18:05:12 +01:00
Christoph Oelckers
a5c820e1e6
- update volk to the latest version.
...
The main feature that got added is macOS support which should be useful.
2019-03-07 13:40:27 +01:00
alexey.lysiuk
16008e4aa8
- set viewport dimensions each frame in Vulkan framebuffer
...
This fixes visual artifacts when resolution is changed without a level running, i.e. from menu or fullscreen console
2019-03-07 13:24:56 +02:00
Magnus Norddahl
0679b493ec
- hook up the present shader
2019-03-06 22:59:21 +01:00
Magnus Norddahl
30756ec112
- wrong image transition direction
2019-03-06 19:44:48 +01:00
Magnus Norddahl
a857bec846
- implemented VkPostprocess::GetInput
2019-03-06 19:42:02 +01:00
Magnus Norddahl
9d061cbef6
- implement VkPostprocess::GetOutput
2019-03-06 18:33:31 +01:00
Magnus Norddahl
40c14bcd67
- create pipeline images
...
- fix some minor typos
2019-03-06 17:59:11 +01:00
alexey.lysiuk
108ea066f3
- added initial support of Vulkan to SDL backend
...
Removed all platform-specific code from vulkan device
2019-03-06 13:38:45 +02:00
alexey.lysiuk
08d8ea5d31
- fixed compilation with GCC and Clang
...
src/rendering/vulkan/renderer/vk_postprocess.cpp:219:54: error: cannot pass non-trivial object of type 'const FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2019-03-06 11:39:39 +02:00
Magnus Norddahl
c280153ac2
- implement VkPostprocess::RenderScreenQuad
2019-03-05 23:31:38 +01:00
Magnus Norddahl
fb983186b1
- upload the pp textures
2019-03-05 20:39:27 +01:00
Magnus Norddahl
a07e4601e7
- compile the effect shaders
2019-03-05 19:49:06 +01:00
Magnus Norddahl
b313f91ab0
- add layout location decl to all postprocess shaders
2019-03-05 18:55:31 +01:00
alexey.lysiuk
87441dd0a1
- fixed infinite loop and out-of-bound read in shader patcher
2019-03-05 13:06:39 +02:00
alexey.lysiuk
741d44d263
- fixed compilation with GCC 7+
...
src/rendering/vulkan/renderer/vk_postprocess.h:16:48: error: ‘function’ in namespace ‘std’ does not name a template type
2019-03-05 10:21:39 +02:00
Magnus Norddahl
d65de299e8
- add some classes for managing postprocess and render buffers
2019-03-05 04:59:17 +01:00
Magnus Norddahl
319099fee9
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-05 03:07:30 +01:00
Magnus Norddahl
e06f8f172d
- use the uniform buffer alignment as returned by the vulkan device
2019-03-05 02:50:30 +01:00
Magnus Norddahl
95116e8580
- fix dynamic buffer offset not getting updated
...
- fix lightbuffer blocksize being hardcoded
2019-03-05 02:06:20 +01:00
Magnus Norddahl
c137e868de
- patch in/out layout declarations for OpenGL
2019-03-05 01:17:23 +01:00
Christoph Oelckers
0fa4e03db6
- process escape sequences for episode and skill names
...
For these, colorization is a desirable feature.
2019-03-05 00:22:26 +01:00
Christoph Oelckers
97ae74081a
- special remapping for the Hungarian double accented letters.
...
Instead of entirely stripping away the accent when they are not found, let's go to the Umlaut-variants first.
2019-03-04 20:06:19 +01:00
Alexander
77cb9ae866
added MakeScreenShot and MakeAutoSave functions to FLevelLocals
2019-03-04 19:16:51 +01:00
Christoph Oelckers
525b0214a7
- fixed macro substitution.
...
It was retrieving the macro from the wrong string.
2019-03-04 17:31:11 +01:00
alexey.lysiuk
a3554bda70
- replaced all usages of insecure vsprintf() function
2019-03-04 17:35:38 +02:00
Magnus Norddahl
c70aff99e7
- enable RenderFirstSkyPortal
2019-03-04 15:55:43 +01:00
Magnus Norddahl
32ad6dc887
- draw the weapon
2019-03-04 15:27:54 +01:00
Magnus Norddahl
d23fbb07cd
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-04 15:24:30 +01:00
Magnus Norddahl
a8a444f010
- missed two places where VK_FORMAT_D24_UNORM_S8_UINT was used
2019-03-04 15:23:49 +01:00
alexey.lysiuk
84a4c9c3a7
- reorderer member initialization in Vulkan objects
...
This is needed to prevent compilation warnings spam with GCC and Clang
While the warning itself is useful, in this case it's rather pointless and annoying
2019-03-04 16:18:37 +02:00
Magnus Norddahl
2532e4bba6
- fall back to VK_FORMAT_D32_SFLOAT_S8_UINT if VK_FORMAT_D24_UNORM_S8_UINT is not supported
2019-03-04 14:47:49 +01:00
Magnus Norddahl
0a6d77a861
- fall back to linear if tiling is not supported by the device
2019-03-04 13:51:58 +01:00
Magnus Norddahl
9861642fcc
- add missing vulkan used features
2019-03-04 13:28:29 +01:00
Christopher Bruns
0fb940632a
Reduce number of blits required in stereo 3D by tracking current eye.
2019-03-04 13:14:41 +01:00
alexey.lysiuk
802d37f377
- fixed compilation of Linux target
...
Base and OpenGL framebuffer classes still require proper splitting
2019-03-04 12:47:00 +02:00
alexey.lysiuk
7efa231e4e
- fixed compilation of macOS target
...
Base and OpenGL framebuffer classes still require proper splitting
2019-03-04 12:46:37 +02:00
alexey.lysiuk
6144f02f67
- initialized all members of VkWin32SurfaceCreateInfoKHR
...
Without such initialization vkCreateWin32SurfaceKHR() crashed inside AMD Vulkan driver
2019-03-04 11:36:38 +02:00
alexey.lysiuk
30c6ae5078
- fixed compilation of 32-bit Windows targets and MSVC 2015
2019-03-04 11:35:12 +02:00
Magnus Norddahl
0e43979c28
- fix colormask alpha typo
2019-03-04 01:54:57 +01:00
Magnus Norddahl
f04522c397
- fix depthstencil attachment not being attached when only stencil tests were enabled
2019-03-04 01:49:27 +01:00
Magnus Norddahl
99c3d72aa0
- fix typos
2019-03-04 01:23:13 +01:00
Magnus Norddahl
ddf21ffd72
- create a descriptor for each texture+sampler configuration in use
2019-03-04 00:28:37 +01:00
Magnus Norddahl
eaf367e876
- add depth bias
2019-03-04 00:14:28 +01:00
Magnus Norddahl
cf49e1ec21
- add depth clamp support
2019-03-03 23:54:13 +01:00
Magnus Norddahl
56afcd210b
- fix: gl_PointSize is required in Vulkan when drawing points
...
- fix: add depthstencil attachment when stencil is active while depth is not
2019-03-03 23:30:36 +01:00
Magnus Norddahl
923fb5c127
- implement the depth and stencil states
2019-03-03 22:25:38 +01:00
Rachael Alexanderson
068522f9c8
- fix building on FreeBSD
2019-03-03 17:08:45 +01:00
Christopher Bruns
73c7afe409
Fix typo and add clarifying comment.
2019-03-03 16:15:38 +01:00
Christopher Bruns
52ab4b968f
Remove Quad-buffered from list of VR-modes if we know it won't work.
2019-03-03 16:15:38 +01:00
Rachael Alexanderson
8fab907885
- set language cvar to global config, it should not be game-specific
2019-03-03 16:14:58 +01:00
Magnus Norddahl
d516b2ff7b
- fix typo and add color
2019-03-03 14:40:56 +01:00
Magnus Norddahl
9d792f79f1
- add vulkan info to startup log
2019-03-03 14:32:03 +01:00
Magnus Norddahl
7d56aa4b0b
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-03 13:45:22 +01:00
Christoph Oelckers
213dfd2aaa
- fixed: when resizing the viewpoint buffer, the 2D entry must be reset so that for the next frame it gets recalculated.
2019-03-03 13:26:10 +01:00
Christoph Oelckers
3698a5edc1
- replaced the assignment operator in player_t with a named function.
...
This didn't behave like an assignment operator so it shouldn't be one, especially since the two places where it got called need different functionality.
2019-03-03 12:12:17 +01:00
Christoph Oelckers
b3cff43be3
- fixed: SBARInfo's Tick function was using actor references from its last Draw operation.
...
Between these two calls these can change so these need to be retrieved each time either Draw or Tick are called.
2019-03-03 09:59:08 +01:00
Rachael Alexanderson
13d07e7912
- fix what appears to have been an accidental debug commit, this broke portals and skies
2019-03-03 03:24:55 -05:00
Christoph Oelckers
f3813c036f
- filter out the BIGFONT lump in Chex Quest, now that we have a more complete font internally.
2019-03-03 07:50:10 +01:00
Magnus Norddahl
fd752dec54
- don't search for a renderpass if the current one matches
2019-03-03 00:16:00 +01:00
Magnus Norddahl
1d003ca3fc
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-03 00:06:33 +01:00
Magnus Norddahl
cab441591f
- add some of the same checks that glrenderstate uses
2019-03-03 00:06:17 +01:00
Christoph Oelckers
6ba8fee5c2
Merge branch 'master' into vulkan2
2019-03-03 00:04:19 +01:00
Magnus Norddahl
c657d8fd1e
- only bind vertex and index buffers if they change
2019-03-02 23:56:06 +01:00
Magnus Norddahl
c30edaa21a
- only update matrices if they change
2019-03-02 23:47:56 +01:00
Magnus Norddahl
2a6d37dd73
- clean up Apply function
2019-03-02 23:39:44 +01:00
Magnus Norddahl
0c9d27d078
- create an array for the stream data
2019-03-02 23:20:29 +01:00
Christoph Oelckers
eacc6c8e08
- fixed: ACS's LocalAmbientSound did not check the activator before calling its methods.
2019-03-02 23:01:42 +01:00
Magnus Norddahl
656a3b8fba
- allocate more descriptors in the pool
2019-03-02 22:41:36 +01:00
Christoph Oelckers
0dc3485990
- fixed: in CollectWithinRadius, make pos a value variable instead of a reference.
...
The underlying data here can be reallocated and invalidate what it points to.
2019-03-02 22:10:44 +01:00
Magnus Norddahl
ef30ddbd40
- fix typo
2019-03-02 21:34:34 +01:00
Magnus Norddahl
763e33badb
- fix typo
2019-03-02 21:12:50 +01:00
Christoph Oelckers
0f184a0f28
- reject all DMX sounds shorter than or equal 8 bytes.
...
8 bytes is the minimum header size for DMX, so for one byte of sample data it has to be 9 bytes.
This was causing access to invalid memory when trying to read the header of something too short.
For other file formats this is of no concern because none has a header this short.
2019-03-02 21:10:24 +01:00
Magnus Norddahl
b0b4028e0b
- align by 256 instead of 128
2019-03-02 17:51:57 +01:00
Magnus Norddahl
327b9a91f1
- fix one more validation error
2019-03-02 17:27:19 +01:00
Magnus Norddahl
47ce44e5f0
- add missing image usage flag
2019-03-02 17:20:14 +01:00
Magnus Norddahl
1bdaf24fa8
- add features reported by validation layer
2019-03-02 17:17:33 +01:00
Magnus Norddahl
09ea775b40
- make the vulkan logging a bit more readable
2019-03-02 17:11:23 +01:00
Magnus Norddahl
28f83fc9db
- found the stupid bug that caused validation layer not to work..
2019-03-02 16:52:33 +01:00
Magnus Norddahl
8854fad165
- fix some additional image transition errors reported by RenderDoc during the first frame
2019-03-02 16:36:29 +01:00
Magnus Norddahl
718f9e36fa
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-02 16:02:43 +01:00
Magnus Norddahl
b1f161040d
- transition image layouts and setup pipeline barriers (fixes some errors reported by RenderDoc)
2019-03-02 16:02:27 +01:00
Christoph Oelckers
dc9a995695
- output the error code when submitting a command buffer fails.
2019-03-02 15:57:43 +01:00
Christoph Oelckers
d893299185
- fixed: static event handlers must also receive WorldLoaded events on loading a savegame.
2019-03-02 13:50:58 +01:00
Christoph Oelckers
9ab57e242b
- fixed: PlayerStartStomp must check for NOTELEFRAG.
2019-03-02 13:35:35 +01:00
Christoph Oelckers
00febf0498
- fixed: FLevelLocals did not set the owner for its event manager.
2019-03-02 13:24:52 +01:00
Christoph Oelckers
0febe20a08
- fixed: Unmorphing a monster did not clear its UNMORPHED flag.
2019-03-02 13:15:38 +01:00
Christoph Oelckers
4cf90d70ae
- fixed: cl_maxdecals did not reset the decal counter when deleting decals.
2019-03-02 12:58:28 +01:00
Christoph Oelckers
5f6198f4e4
- let IWAD and PWAD BigFonts override BigUpper for consistency.
2019-03-02 12:54:46 +01:00
Christoph Oelckers
ce1ecd0d4b
- implemented string table macros.
2019-03-02 12:06:24 +01:00
Magnus Norddahl
05a6896d4f
- Pass vertex color and normal via uniform buffer when the attribute isn't available
2019-03-02 01:56:08 +01:00
Magnus Norddahl
1430d9012e
- fix shutdown crash and some minor adjustments
2019-03-02 00:46:25 +01:00
Christoph Oelckers
fa123f37c7
- adjustment for renamed spreadsheet.
2019-03-01 22:04:39 +01:00
Magnus Norddahl
d86a56086c
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-01 21:50:06 +01:00
Magnus Norddahl
7871ec06ae
- add depth/stencil attachment to the render pass
2019-03-01 21:34:08 +01:00
Christoph Oelckers
a5d9d334d2
- fixed: The lump renaming was not performed for Doom, even for those pieces where needed.
2019-03-01 20:21:15 +01:00
Magnus Norddahl
d73b0b3146
- create helper function for copying
2019-03-01 20:15:56 +01:00
Magnus Norddahl
ee8349d168
- add support for specifying the topology
2019-03-01 20:06:20 +01:00
Magnus Norddahl
01c78d7238
- add a bit of bounds checking just to be safe
2019-03-01 19:15:52 +01:00
Magnus Norddahl
195e91adc9
- hook up the hardware renderer
2019-03-01 19:01:06 +01:00
Magnus Norddahl
308c884d02
- use a linked list to keep track of all allocated VkHardwareTexture objects
2019-03-01 18:31:33 +01:00
Magnus Norddahl
c691a8fe64
- bind the vertex inputs as specified by its vertex buffer format
2019-03-01 15:37:13 +01:00
alexey.lysiuk
2939bc701e
- fixed compilation error with GCC and Clang
...
src/intermission/intermission_parse.cpp:941:2: error: no matching function for call to 'F_StartFinale'
2019-03-01 10:06:34 +02:00
Magnus Norddahl
b0fd5db616
- remove misplaced todo
2019-03-01 02:42:24 +01:00
Magnus Norddahl
d4118a755c
- load all the shaders and use the right one for each renderpass
2019-03-01 02:40:02 +01:00
Magnus Norddahl
f1f8797d3c
- bind the layer textures
2019-03-01 01:30:10 +01:00
Magnus Norddahl
7f3e473f56
- create a render pass for each blend setup
2019-03-01 00:42:51 +01:00
Marisa Kirisame
bc5baae827
Folder casing changes for Linux compatibility.
2019-02-28 23:56:29 +01:00
Christoph Oelckers
23a62cbe12
- added a 'testfinale' CCMD, so that the layout of finale texts can be tested more easily
2019-02-28 23:52:47 +01:00
Christoph Oelckers
86620aaba5
- allow reading xlsx spreadsheets directly for language definitions.
2019-02-28 22:21:55 +01:00
Christoph Oelckers
cad2f49ceb
- use BigUpper font for option menu captions.
2019-02-28 22:19:53 +01:00
Major Cooke
b48f7da43e
Renamed to musplaying.
2019-02-28 18:47:28 +01:00
Major Cooke
210af0d414
Exported MusPlayingInfo to ZScript.
...
- Allows grabbing the currently playing song, base order, and loop properties.
2019-02-28 18:47:28 +01:00
Magnus Norddahl
e472050f36
- use dynamic state for viewport and scissor
2019-02-28 15:45:59 +01:00
Magnus Norddahl
45061e8b44
- no need to debug with a red clear anymore
2019-02-28 01:22:38 +01:00
Magnus Norddahl
9a5112c1c9
- tell the memory allocator when we are going to persistently map something
2019-02-28 01:18:29 +01:00
Magnus Norddahl
2e0b34ca72
- hook up enough of renderstate to enable all of main.vp and main.fp
2019-02-28 00:26:49 +01:00
Christoph Oelckers
fab8fed8df
- reformat the intermission screen if the text is very long.
...
This will ensure better visibility on widescreen displays, at least.
2019-02-27 22:52:08 +01:00
Magnus Norddahl
c2e0eba270
- hook up vid_vsync and vk_debug
2019-02-27 22:20:18 +01:00
nashmuhandes
407983749a
Added a master volume setting.
2019-02-27 14:17:45 -05:00
Magnus Norddahl
b4154f1772
- fix palette color problem
2019-02-27 16:28:29 +01:00
Magnus Norddahl
96547713d9
- hook up the software renderer
2019-02-27 15:37:37 +01:00
Christopher Bruns
8becc0e78d
Enable menu blur in stereo 3d.
...
Use more blitting to avoid confusing framebuffer state management in stereo 3D.
2019-02-27 09:51:02 +01:00
Magnus Norddahl
a3c21e0b01
- upload some real texture contents
2019-02-26 22:45:18 +01:00
Magnus Norddahl
fe67a2c24f
- fix enough bugs to finally get some visuals
2019-02-26 20:19:54 +01:00
Magnus Norddahl
e1d1358249
- add missing field
2019-02-26 20:18:30 +01:00
Christoph Oelckers
90ab830ff9
- added a workaround for mods using the name CONFONT directly.
...
In the old system it just loaded the font a second time, but with the folder based setup there is no file named CONFONT anymore so it needs to be dealt with explicitly.
2019-02-26 19:19:03 +01:00
Magnus Norddahl
19f4133768
- move most push constants to dynamic uniform buffers
2019-02-26 16:50:54 +01:00
Magnus Norddahl
d958c4fec5
- upload and bind some textures
2019-02-26 15:29:08 +01:00
Magnus Norddahl
347339b254
- add a very basic present shader using a blit
...
- avoid dealing with image layout transitions for the blit by using VK_IMAGE_LAYOUT_GENERAL for now
2019-02-26 12:25:17 +01:00
Magnus Norddahl
854526dee4
- submit the upload commands
2019-02-26 11:58:03 +01:00
Magnus Norddahl
e875198b37
- create raii objects for semaphore and fence
2019-02-26 11:44:29 +01:00
Magnus Norddahl
27e78e7d8d
- remove unused code
2019-02-26 11:31:09 +01:00
Magnus Norddahl
9ed1c7f40b
- add render pass manager and setup a pipeline for VkRenderState
2019-02-26 11:27:29 +01:00
Magnus Norddahl
fbfcc30d00
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-02-26 11:21:42 +01:00
Magnus Norddahl
69229d7719
- add missing forward declarations
2019-02-26 11:20:24 +01:00
Christoph Oelckers
e8f690116b
- removed unused gl_spritebrightfog CVAR.
2019-02-26 00:07:30 +01:00
Christoph Oelckers
4a427694ac
- changed calculation of the scaling value for the option menu.
...
This was already far too generous and caused space problems, but with localization these became a lot worse, so now it will try to allocate at least 640 virtual pixels for the menu width and only go below that for small resolution ranges where the smaller value would result in too small text.
2019-02-26 00:07:09 +01:00
Christopher Bruns
051145b2c8
Use flag to avoid second eye stereo color problem
2019-02-25 00:14:41 +01:00
Christopher Bruns
e83092a7eb
Fix stereo-3D 2D quad color problem.
2019-02-25 00:14:41 +01:00
Christoph Oelckers
b670d5f372
- fixed utf8_decode.
...
This function was written for already validated UTF-8 but not for text that can be mixed with ISO-8859-1.
To handle that properly it needs to do a bit more validation to avoid mangling its output and instead reject invalid input.
2019-02-24 13:55:08 +01:00
Christoph Oelckers
0676a98efc
- fixed: ACS must use COPY_AAPTREX for all pointer transfers.
...
It was already correct for most, but two cases have slipped through.
2019-02-24 12:10:56 +01:00
Christoph Oelckers
6129f9a9cc
- fixed a warning and set NOINITCALL for a few CVARs accessing the current level.
...
These inits are done at a time when the data isn't even initialized so they will get overwritten anyway.
2019-02-24 10:05:01 +01:00
Christoph Oelckers
d5f138f14d
- made the text comparison for Dehacked case insensitive so that the contents of the string table can be properly capitalized without breaking old-style string replacements.
2019-02-23 20:23:04 +01:00
Christoph Oelckers
413412f603
Merge branch 'master' into vulkan2
2019-02-23 19:53:38 +01:00
Rachael Alexanderson
7098748e9e
- fix building on case sensitive systems
2019-02-23 13:51:24 -05:00
Christoph Oelckers
bae0094039
- fixed the status bar string drawers which weren't UTF-8 capable yet.
2019-02-23 19:44:00 +01:00
Christoph Oelckers
c5156d4598
- moved around a few more files.
2019-02-23 18:57:49 +01:00
Christoph Oelckers
c3890342e6
- moved the 2D drawing code to its own directory under 'rendering'.
2019-02-23 18:08:57 +01:00
Christoph Oelckers
ef3e5ef01e
- moved a few parts from g_level.cpp to better fitting places.
2019-02-23 15:21:54 +01:00
Christoph Oelckers
2874a36fbe
- added the final missing piece of localization support, i.e. forcing text based menus.
...
Now a localization mod can disable the graphics patches containing text entirely so that it can properly localize the text based menu variant.
If this flag gets set in MAPINFO, it will override all user settings.
2019-02-23 10:40:07 +01:00
Christoph Oelckers
add10029b9
- fixed chat input.
2019-02-23 09:54:18 +01:00
Christoph Oelckers
a50a0c5b0d
- fixed: empty strings cannot be substituted.
2019-02-23 09:20:30 +01:00
Christoph Oelckers
e091369a38
- removed FCriticalSection and replaced all of its uses with std::mutex.
...
There's really no need for a non-standard solution here anymore with C++11.
This also fixes an unreleased lock in the WildMidi code.
2019-02-22 20:24:24 +01:00
Christoph Oelckers
3d9dce0156
- fixed DHUDMessageTypeOnFadeOut with empty messages.
2019-02-22 19:58:52 +01:00
Christoph Oelckers
f907bb0484
- moved a few more things and deleted the unused v_pfx implementation.
...
These were pixel format conversion routines used in the D3D backend. Nothing in here is needed anymore - the FBitmap class offers much of the functionality covered here in a far more concise and approachable manner.
2019-02-22 19:48:18 +01:00
Christoph Oelckers
b386603044
- deleted the unused lumpconfigfile.
...
The chance that this will ever see some use is precisely zero so there's no need keeping this code around.
2019-02-22 19:13:40 +01:00
Christoph Oelckers
8c06a00ee6
- moved all dialogue loading code into the map loader.
2019-02-22 19:07:58 +01:00
Christoph Oelckers
e06aa28620
- fixed the usedcolor array's base type.
...
The usedcolors array which counts the number of pixels in a given color in a font used bytes as storage, so any color that just happened to have a count that is a multiple of 256 the color was considered not present.
2019-02-22 18:19:26 +01:00
Magnus Norddahl
52460d53d9
- compile main.vp and main.fp for vulkan
2019-02-22 11:30:48 +01:00
Magnus Norddahl
a97d736bd9
- add vulkan renderstate and shadermanager classes
2019-02-21 22:49:00 +01:00
Magnus Norddahl
c606346ae3
- remove dead code
2019-02-21 21:23:44 +01:00
Magnus Norddahl
478ef05a0a
- create vulkan buffer objects implementation
2019-02-21 12:31:14 +01:00
Magnus Norddahl
fc79cd1280
- present an empty back buffer while keeping vsync
2019-02-21 10:19:59 +01:00
Christoph Oelckers
2eb312e041
- added a kerning option to FONTDEFS
2019-02-21 01:02:42 +01:00
Christoph Oelckers
2907ba69a0
- implemented OkForLocalization
2019-02-21 00:56:03 +01:00
Christoph Oelckers
48fcdacf06
- more work on graphics substitutiion
...
* added a CVAR that sets how localizable graphics need to be dealt with.
* pass the substitution string to OkForLocalization so that proper checks can be performed.
* increased item spacing on Doom's list menus to 18 from 16 pixels, because otherwise the diacritic letters would not fit. 20 would have been more ideal but 18 was the limit without compromising its visual style
* added a second text-only main menu because here the spacing cannot be changed. Doing so would render any single-patch main menu non-functional. So here the rules are that if substitution takes place, it will swap out the entire menu class.
* fixed some issues with the summary screen's "entering" and "finished" graphics.
2019-02-21 00:35:27 +01:00
Magnus Norddahl
75403ec744
- hook up the glsl compiler
2019-02-21 00:25:51 +01:00
Christoph Oelckers
8bdbd2e915
- fixed layout of summary screen.
2019-02-21 00:16:48 +01:00
Magnus Norddahl
c6b29846d0
- add 3rd party vulkan dependencies
...
- add stubs for a vulkan hw renderer backend
- add RAII wrappers for vulkan object types
- add builder classes to isolate vulkan boilerplate code
- add a swap chain class
2019-02-20 21:21:57 +01:00
Christoph Oelckers
6a742f8d34
- changed all places which used a localized string as a format template for printf, String.Format et.al.
...
Passing something non-constant at compile time here is extremely dangerous, especially when users can replace those strings if they like.
It now uses FString::Substitute in all cases where something needs to be inserted into a template string.
2019-02-20 20:20:06 +01:00
Christoph Oelckers
15eb57e00d
- finalized graphics substitution feature.
2019-02-20 19:40:17 +01:00
Christoph Oelckers
ecb1c2ee4a
- initialize the language right after reading the strings.
2019-02-20 19:30:39 +01:00
Christoph Oelckers
0e449405a4
- fixed string checks in dialogue loader.
2019-02-20 19:12:32 +01:00
Christoph Oelckers
d2ac77e721
- fixed reading of exit text replacements and display of intermission text screens for Unicode.
2019-02-20 19:04:34 +01:00
Christoph Oelckers
64dc582fbe
- reworked texture lookup for localized textures
2019-02-20 00:52:31 +01:00
Christoph Oelckers
8587f253a8
- fixed a typo
2019-02-20 00:43:06 +01:00
Christoph Oelckers
4eb8b53d95
- enforce that localized graphics need to be the same size as the one they replace.
...
This is one of those things where the work needed to make it robust stands in no relation to the gain.
This simply isn't worth the hassle of going through the entire code and fixing every single use of the 2D texture drawing functions.
Unfortunately this means that the graphics items for the menu cannot be replaced this way because their size will most likely differ, but considering that the only candidates for this are the contents of Doom's main menu, the episode menu, the skill menu and the single player summary screen, it's simply not worth it.
In all these cases the IWAD contents can just as easily be replaced with text and user mods which want to offer localized menus will have to work within the confines of the system, e.g. making sure that all menu items are designed to have proper size for substitution to work or by requesting text based menus, which will be added as a modding feature later.
2019-02-20 00:42:02 +01:00
Christoph Oelckers
5f25fbb2e3
- added support for localized texture replacements
...
This reads the textures and builds the data tables, but doesn´t use the textures yet.
A bit more work is needed first.
2019-02-20 00:22:00 +01:00
Christoph Oelckers
5e7fb16d05
- preparation work for substituting the menu and intermission screen text graphics for localization
2019-02-19 01:22:12 +01:00
Christoph Oelckers
10a017e104
- fixed: The language ID was set before reading the config.
...
This essentially rendered saving the language CVAR useless.
2019-02-19 00:29:22 +01:00
Christoph Oelckers
91206f12be
- changed zstrformat to allow %c to emit non-ASCII characters as UTF-8.
2019-02-19 00:27:47 +01:00
Christoph Oelckers
c5a6c72719
- fixed uninitialized variable and a few warnings.
2019-02-18 23:36:56 +01:00
Christoph Oelckers
b98c3b766c
- added a function that creates a texture for a text in a given font.
...
Not tested yet, this is for synthesizing localized variant of Doom's textures with text content.
2019-02-18 20:53:56 +01:00
Christoph Oelckers
5970040672
- fixed: The wbstartstruct that gets passed to the level summary screen needs to be static
...
This variable is needed long after the function which sets it up will be exited. So this either needs to be dynamically allocated or static, and in this case using a static variable is simpler. However, unlike before, it is only being accessed in the one function that needs to initialize it and pass to the summary screen and nowhere else.
2019-02-18 00:43:40 +01:00
Major Cooke
32e65ff11d
Pass the target as the source for active damage modifiers (i.e. PowerDamage) instead of the actual source.
...
- Getting the victim would be impossible otherwise, and passing in the original source is redundant when there's already the owner.
2019-02-16 17:26:21 +01:00
alexey.lysiuk
3864ed78e0
- fixed: offsets got lost in font's translated textures
...
https://forum.zdoom.org/viewtopic.php?t=63667
2019-02-16 17:26:02 +01:00
Rachael Alexanderson
35e2d40641
Squashed commit of the following:
...
- Implement page string names for dialog lumps
- Create special new GZDoom name space for ZSDF
- add usdf_gzdoom spec document
- fixed: restored original behavior with negative conversation id's for the original strife dialog lumps
- reposition the binary strife fix in a more appropriate location
- add compatibility fix for negative numbers in responses in USDF/ZSDF (don't know if it's actually necessary)
2019-02-16 17:25:23 +01:00
Robert Cochran
07e0323771
Add handling of left and right mousewheel events to the SDL2 input path
2019-02-16 17:23:14 +01:00
Major Cooke
823eb90af8
- Fixed monsters waking up even if all the damage was absorbed without pain causing flags
...
- Fixed FORCEPAIN not overriding PainThreshold property
2019-02-15 18:57:34 +01:00
alexey.lysiuk
769be00483
- fixed automap marks placement with custom fonts
...
Automap rotation wasn't taken into account when drawing marks
https://forum.zdoom.org/viewtopic.php?t=63693
2019-02-15 17:21:59 +02:00
Christoph Oelckers
aa550310f6
- allow the language table to supersede the title patches, if appropriate
...
For the Doom IWADs the provided font looks almost identical to the characters used on the title patches. So, for any level name that got replaced in some language, it will now check if the retrieved name comes from the default table, and if not, ignore the title patch and print the name with the specified font.
This also required removing the 'en' label from the default table, because with this present, the text would always be picked from 'en' instead of 'default'. Since 'en' and 'default' had the same contents, in any English locale the 'default' table was never hit, so this won't make any difference for the texts being chosen.
Last but not least, wminfo has been made a local variable in G_DoCompleted. There were two places where this was accessed from outside the summary screen or its setup code, and both were incorrect.
2019-02-15 00:29:24 +01:00
Christoph Oelckers
44c8c2a79c
- added German Umlauts for the BigFont and fixed the character substitution logic.
...
For pure uppercase fonts it makes no sense to try a lowercase substitution as a first step.
2019-02-17 23:18:28 +01:00
Christoph Oelckers
45d75745f0
- reworked console font loading to use the glyph sheets directly and allowing to load more than one per font.
2019-02-17 19:15:57 +01:00
Christoph Oelckers
95e62e91bb
- split the FFont base class into its own file.
2019-02-17 13:50:57 +01:00
Christoph Oelckers
0963156c0a
- did a bit of fine tuning to the character replacement mappings:
...
* prefer accent-less lower case over uppercase letters if an accented lower case letter cannot be found.
* added accent-less mappings for Latin Extended 1 (0x100-0x17f) and some easy to handle characters between 0x200 and 0x220. This should allow to display all Eastern European text without empty gaps for missing letters.
2019-02-17 13:41:04 +01:00
Christoph Oelckers
9102fb86a5
- moved FSpecialFont to its own file.
2019-02-17 12:53:12 +01:00
Christoph Oelckers
1f0c01459a
- split FSinglePicFont into its own file.
2019-02-17 12:29:08 +01:00
Christoph Oelckers
7f1f25d998
- split the FSingleLumpFont class into its own file.
2019-02-17 12:00:04 +01:00
Christoph Oelckers
9dfffb6697
- moved font code into a subdirectory.
2019-02-17 11:43:04 +01:00
Christoph Oelckers
78d0fa9269
- fixed Windows startup.
...
* the window class name was still ASCII, thanks to some totally pointless and ultimately dangerous type cast to LPCTSTR which rendered all type checks ineffective.
* use wWinMain instead of WinMain so that a Unicode argv gets created. For whatever reason, the ANSI startup leaves this variable empty.
* added a 'disablecrashlog' CCMD for Windows. It is a lot more useful with a debugger present to get the standard crash notification from the system which allows opening a debugger than the crash log and no option to open a debugger.
2019-02-17 10:10:41 +01:00
Christoph Oelckers
f512f29270
- fixed crash log display.
...
This still contained pieces where a multibyte string was passed through SendMessage and WM_SETTEXT. All these have been replaced with SetWindowTextW.
This commit also removes the never used crash log upload code and all associated assets because it is extremely unlikely that such a feature will ever be implemented.
2019-02-17 08:50:49 +01:00
Christoph Oelckers
d39a624942
- fixed the player name display.
...
This was broken by several small unicode-incompatible code fragments.
This commit also removes the input limit for the player name and the savegame description. With multibyte encoding, limiting them to a fixed length did not work right.
Currently these will just overflow the fields if the text becomes too long, this needs some additional work.
2019-02-16 22:57:02 +01:00
Christoph Oelckers
deb233677e
- made the menu's text input handler Unicode capable.
...
Also make sure that the savegame description remains readable. Unlike in-game text this can be done without double-encoding existing UTF-8.
2019-02-16 21:29:46 +01:00
Christoph Oelckers
54cb16ad8e
- made the chat input Unicode-capable.
...
Also changed this to use the console font because it is far better equipped with special characters than the small font.
2019-02-16 18:49:38 +01:00
Christoph Oelckers
d15e3391a0
Merge remote-tracking branch 'remotes/origin/master' into localization
...
# Conflicts:
# src/v_font.cpp
2019-02-16 17:35:15 +01:00
Rachael Alexanderson
0fc4640cc9
- fix building in 32 bit windows
2019-02-16 11:12:10 -05:00
Rachael Alexanderson
9f62289507
Merge branch 'master' of https://github.com/coelckers/gzdoom into localization
2019-02-16 10:50:49 -05:00
Christoph Oelckers
64685705d0
- made the console Unicode-capable.
...
This also necessitated some character remapping in the console font to move the Windows-1252 extra characters to their proper Unicode code points.
2019-02-16 13:05:19 +01:00
Christoph Oelckers
8018ebfab5
- use the Unicode version of Windows's clipboard functions.
2019-02-16 09:50:00 +01:00
Christoph Oelckers
b4d96aaef9
- made Windows backend parts of the console Unicode capable.
2019-02-15 22:05:26 +01:00
Christoph Oelckers
9fba9eee18
Merge branch 'localization' of https://github.com/coelckers/gzdoom into localization
2019-02-15 10:20:14 +01:00
Christoph Oelckers
c49665684b
- fixed DHudMessageTypeOnFadeOut's character counter to be UTF-8 compatible.
...
This was reading the string by byte and not by character and could end up printing incomplete UTF-8 data.
2019-02-15 08:52:56 +01:00
Christoph Oelckers
340d7bce8d
- added some character counting utilities to FString.
2019-02-15 08:51:41 +01:00
Christoph Oelckers
868ac5adf8
- switched the Windows backend to use the Windows Unicode API.
...
With localization for non-Latin languages on the support list the multibyte API doesn't cut it anymore. It neither can handle system text output outside the local code page nor can an ANSI window receive text input outside its own code page.
Similar problems exist for file names. With the multibyte API it is impossible to handle any file containing characters outside the active local code page.
So as of now, everything that may pass along some Unicode text will use the Unicode API with some text conversion functions. The only places where calls to the multibyte API were left are those where known string literals are passed or where the information is not used for anything but comparing it to other return values from the same API.
2019-02-14 22:23:33 +01:00
Christoph Oelckers
5f574033b5
pass full Unicode characters to EV_GUI_Char for Linux and macOS.
...
The Linux backend looked like it didn't handle anything non-ASCII at all, but this all needs to be tested.
Windows will be a bit more work because it requires using the Unicode API for creating the main window.
2019-02-14 14:29:49 +01:00
Rachael Alexanderson
0d2a24876b
- Remove "gitversion.h" from "version.h" - should result in faster compiles after a commit in Windows
...
- Fix zdoom.rc to show the actual git commit tag and id for the Product Version
- Made zdoom.rc "codepage 1252" compliant as dictated by the #pragma (if this needs changed the pragma should be updated, this was messing up the version strings in the final compile)
2019-02-13 21:34:44 -05:00
alexey.lysiuk
be6ce43045
- added ability to customize font of automap marks
...
Set am_markfont CVAR to a desired font name
Use am_markcolor to select a text color, has no effect with the default font, AMMNUMx
2019-02-13 21:47:53 +01:00
Christoph Oelckers
8efc3188b9
- fixed map name setup
...
This was broken when localization for Hexen was added.
2019-02-13 00:47:03 +01:00
Christoph Oelckers
ef050d700c
- Fixed loading of folder based fonts and added a config lump per font.
...
This is done by putting a font.inf file into the folder.
Current options are "Kerning", "Scale", "FontHeight" and "SpaceWidth"
2019-02-13 00:02:39 +01:00
Christoph Oelckers
e526cebc8e
Merge remote-tracking branch 'origin/master' into localization
2019-02-12 00:20:00 +01:00
Christoph Oelckers
0b8fb3ac1a
- cleanup of font init to have less special cases
...
To make things easier, DBIGFONT, SBIGFONT and HBIGFONT will now be renamed in the lump directory to make things a bit easier to handle.
Another change is to make font folders atomic units to prevent cross-pollution between incompatible fonts. The only exception to this are the def* folders because they need to piece together their fonts from both zd_extra.pk3 and the IWADs.
2019-02-12 00:19:44 +01:00
alexey.lysiuk
d4d010ac32
- added compatibility flag for buggy CheckSwitchRange behavior
...
https://forum.zdoom.org/viewtopic.php?t=63008
https://forum.zdoom.org/viewtopic.php?t=63650
2019-02-11 17:57:03 +01:00
Christoph Oelckers
fe981c68d3
- changed font loader to detect fonts in folders and to find all default fonts in folders.
2019-02-11 01:58:51 +01:00
Christoph Oelckers
e4690b4cd8
- exported all Hexen map names and intermission texts to the language table.
...
As IWAD content this is in zd_extra.pk3.
2019-02-11 01:33:09 +01:00
Christoph Oelckers
6d19374ae8
Only replace Strife dialogue content if the default strings from zd_extra.pk3 are present.
...
If not, use the dialogue file's content directly.
2019-02-11 00:46:13 +01:00
Christoph Oelckers
af5a2fe522
- removed the ActiveSequences counter.
...
It was only used to avoid traversing the list if all sequences were paused which is an exceptional situation.
On the other hand, the way it counted was not correct so rather than fixing it it seemed more appropriate to remove it entirely.
2019-02-10 20:30:40 +01:00
Christoph Oelckers
5e6a96d021
- fixed path of texture directory.
2019-02-10 14:08:27 +01:00
Christoph Oelckers
993a16787c
- removed the special exception for those weird "No..." messages and moved the only one that isn't garbage to the language lump.
2019-02-10 09:59:05 +01:00
Christoph Oelckers
e57b16b9e7
- exported the character names of Strife's dialogues.
2019-02-09 13:15:30 +01:00
Christoph Oelckers
b1820039d7
- exported Strife's log texts to the string table.
...
This is dpne as a two-stage approach. TXT_LOGTEXTxxx will always take precedence over the log lumps, and TXT_ILOGxxx will only replace the original IWAD content.
This is so that PWADs replacing these lumps don't get overridden by the default texts.
2019-02-09 12:52:50 +01:00
Christoph Oelckers
88e227f1f3
Merge branch 'new_level_refactor' into localization
2019-02-09 12:22:15 +01:00
Christoph Oelckers
59954fa4f9
- fixed accidentally duplicated variable name in ChangeLevel function.
2019-02-09 12:07:30 +01:00
Christoph Oelckers
4642df3052
- fixed dropoff checks for portals and 3D floors in the same sector.
2019-02-09 10:39:08 +01:00
Christoph Oelckers
3d3f260137
- exported LevelLocals's compatibility flags to scripting and fixed all places where access to combined compatibility flags is needed.
2019-02-09 09:17:57 +01:00
Christoph Oelckers
8a28134254
Merge remote-tracking branch 'remotes/origin/master' into new_level_refactor
2019-02-09 08:47:07 +01:00