Magnus Norddahl
e0907f62d5
Use a black lightmap texture rather than an undefined one (NV and AMD differ on the contents of undefined textures)
2022-06-22 07:55:19 +02:00
Magnus Norddahl
f1775ee64b
Fix null pointer crash if shader fails to compile during startup
2022-06-22 07:55:19 +02:00
Magnus Norddahl
5446e37874
Add debug names to some buffers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
5cc21c5a4a
Upgrade glslang to 11.10.0
2022-06-22 07:55:19 +02:00
Magnus Norddahl
32d059e432
Tell the debug layer what the name of the shader is
...
Always bind both buffer descriptor sets
2022-06-22 07:55:19 +02:00
Magnus Norddahl
821bd3b460
Adjust some init/deinit code and rename some things
2022-06-22 07:55:19 +02:00
Magnus Norddahl
4644221454
Make sure everything has finished rendering or uploading before changing the render buffers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
24bf0c685c
Remove GetVulkanFrameBuffer() so nobody is tempted to call it in the future
2022-06-22 07:55:19 +02:00
Magnus Norddahl
1c4798f059
Move lightmap and shadowmap textures to VkTextureManager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
3d43819a3f
Move null texture to the texture manager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
63d40ffbf9
Avoiding adding empty objects to the delete list
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ba88303527
Move more code into the correct managers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
69cfadf411
Manage buffers in VkBufferManager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ef802b85e7
Manage postprocess texture lifetimes in the same way as for hw textures
2022-06-22 07:55:19 +02:00
Magnus Norddahl
b3316fbe21
Let VkTextureManager manage the VkHardwareTexture resources
...
Let VkDescriptorSetManager manage the VkMaterial resources
Add the resources to the delete list instead of freeing them immediately as the backend cannot rely on exactly when the hardware renderer decides to destroy them
2022-06-22 07:55:19 +02:00
Magnus Norddahl
298c023b1d
Add buffer and texture managers for handling object lifetimes
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8004532cba
Begin detaching internal vulkan object lifetimes from the hardware renderer layer
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8ebad1003b
Split postprocess part into more files
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ecd2dc6300
Move command buffers out of vk_framebuffer and into its own manager class
2022-06-22 07:55:19 +02:00
Magnus Norddahl
a4e82766d7
Move inlined builder functions to the cpp file and remove FixedVector (none of it is on the critical path anyway)
2022-06-22 07:55:19 +02:00
Magnus Norddahl
3f28a7e5e4
Add some more pipeline barriers hoping it will make any difference to Nvidia drivers crashing on a worker thread (yay, nvidia!)
2022-06-22 07:55:19 +02:00
Magnus Norddahl
8517c9713a
Move descriptor sets from VkRenderPassManager into a new class called VkDescriptorSetManager
2022-06-22 07:55:19 +02:00
Magnus Norddahl
e26fb04adf
Some minor bug fixes
2022-06-22 07:55:19 +02:00
Magnus Norddahl
138d3e86ce
Fix null pointer crash when writing debug messages
2022-06-22 07:55:19 +02:00
Magnus Norddahl
0c1aab074c
Hook up the acceleration structure to the shader and start shooting some rays!
2022-06-22 07:55:19 +02:00
Magnus Norddahl
e08965b0b3
Improve vk_debug output a lot by throwing away the useless parts of the message and limit the callstack to the first 5 gzdoom calls
2022-06-22 07:55:19 +02:00
Magnus Norddahl
0c90a72c66
Upgrade SPV and GLSL version if using Vulkan 1.2
2022-06-22 07:55:19 +02:00
Magnus Norddahl
97073410c4
Upload acceleration structures for the level mesh
2022-06-22 07:55:19 +02:00
Magnus Norddahl
bf1732904f
Enable vulkan 1.2 and ray tracing extensions, if available
2022-06-22 07:55:19 +02:00
Magnus Norddahl
c6416a2afe
Update volk to a newer version
2022-06-22 07:55:19 +02:00
Christoph Oelckers
d5888dfa0a
- validate fountaincolor before using it.
2022-06-21 19:47:08 +02:00
Jan Engelhardt
3213f046c2
Resolve build failure on i686-linux
...
gcc had to say:
gzdoom-g4.8.0/src/common/engine/stats.h:83:13: error: 'CPU' was not declared in this scope
83 | if (CPU.bRDTSC)
2022-06-19 07:53:21 +02:00
alexey.lysiuk
cd998edf86
- added detection of macOS Ventura
2022-06-18 13:14:48 +03:00
Christoph Oelckers
14fc2a011e
- ZScript: don't allow multiple assignment syntax with only one element.
2022-06-16 10:47:11 +02:00
Christoph Oelckers
316b9305a2
- fixed type of third argument of MBF21's MonsterMeleeAttack function.
...
This is a sound, not an int.
2022-06-16 10:31:39 +02:00
Christoph Oelckers
de4627a477
- added an override for NOTAUTOAIMED flag when using P_AimLineAttack for informative CCMDs.
...
The flag is explicitly blocked for script use.
2022-06-16 10:07:22 +02:00
Christoph Oelckers
74866c28ce
- allow taking screenshots in cutscenes.
2022-06-16 09:51:09 +02:00
Christoph Oelckers
18115ef455
- fixed JIT target function for GetTimeFrac.
...
I_GetTimeFrac has default parameters so it cannot be used directly.
2022-06-16 09:34:40 +02:00
Christoph Oelckers
c5eec7b8bb
- fixed: For cutscenes the alternative clean scaling factors need to be activated.
...
This setting was at odds with the internals of the intermission and summary screen handlers.
2022-06-16 09:18:27 +02:00
Christoph Oelckers
e62fe65d00
- silenced a few more float conversion warnings.
2022-06-16 08:21:27 +02:00
Christoph Oelckers
355219d614
- fixed several scale related floating point conversion warnings.
2022-06-15 22:15:36 +02:00
Christoph Oelckers
431c47c957
- fixed setup of ready state with Dehacked.
...
This needs to emulate the hard coded chainsaw sound when weapon states get reassigned.
2022-06-15 22:04:01 +02:00
nashmuhandes
972e9cba09
Standardize and finalize the naming conventions for the new UDMF keys to everything lightmap-related to use an "lm_" prefix.
2022-06-15 20:20:16 +02:00
nashmuhandes
004a962ed5
Actually parse the new ZDRayInfo keys
2022-06-15 13:48:57 +02:00
nashmuhandes
ac5e969759
Update ZDRay keywords
2022-06-15 11:30:21 +02:00
Magnus Norddahl
34f1b23c3f
Fix the discolored sky bug
2022-06-13 21:34:30 -04:00
Christoph Oelckers
be2fe0f304
- check point pushers/pullers by inheritance, not absiolute match
2022-06-13 00:08:34 +02:00
Christoph Oelckers
851a211be2
- fixed some warnings
2022-06-13 00:08:08 +02:00
RaveYard
519f9f4298
Fix JIT pointer offsets
2022-06-12 17:57:44 +02:00
RaveYard
f9bf6f9311
Implement FVector ZScript for Actor Scale
2022-06-12 17:57:44 +02:00
Rachael Alexanderson
0344462684
- set i_pauseinbackground
to match !(i_soundinbackground)
for all configs before this commit.
2022-06-09 04:11:44 -04:00
Christoph Oelckers
013f2003e8
Revert "-got rid of shared_ptr in postprocessing system"
...
This reverts commit 40872a2b21
.
This crashed on Vulkan in a very weird way.
2022-06-09 09:16:58 +02:00
Christoph Oelckers
86a5545fa8
- fixed division by zero with unvalidated ticdup values.
2022-06-09 08:36:11 +02:00
Christoph Oelckers
eb56eb380e
- reinstated con_scale.
2022-06-08 16:42:32 +02:00
Christoph Oelckers
07a8701f8d
- make sure the last notch on the start screen is rendered.
2022-06-07 23:14:17 +02:00
Ricardo Luís Vaz Silva
121045e48d
move relative path resolution earlier, to prevent problems with include deduplication
2022-06-07 20:16:50 +02:00
Ricardo Luís Vaz Silva
6f6942609c
fix relative include path when loading folders
2022-06-07 10:02:12 -04:00
Christoph Oelckers
9454ba1009
- eliminated more unneeded shared_ptr’s.
2022-06-07 14:09:00 +02:00
Christoph Oelckers
40872a2b21
-got rid of shared_ptr in postprocessing system
2022-06-07 13:59:00 +02:00
Christoph Oelckers
c7798d5503
- use a unique_ptr for the GL debug object.
...
This doesn’t get shared and the containing class doesn’t need to be copied so this is sufficient.
2022-06-07 00:11:56 +02:00
Christoph Oelckers
989dcfcf1c
- avoid storing texture pointers in longer lived data
...
* these circumvented all internal texture replacement logic. Texture objects should only be resolved right before drawing them
* added an explicit ‚tilebackground‘ option for the summary screen to fix problems with bad decision logic based on incorrect texture type checks. Automatic tiling no longer depends on texture type, but solely on size.
* added a DrawTexture variant that can be passed a texture ID instead of a pointer
2022-06-07 00:00:54 +02:00
Christoph Oelckers
21b6f722be
- actually GCC is really dumb.
2022-06-06 20:11:01 +02:00
Christoph Oelckers
f4d240b05d
- this behaves a little better on OpenGL.
2022-06-06 19:50:10 +02:00
Christoph Oelckers
90def7e8b0
- GCC is dumb
2022-06-06 19:49:57 +02:00
Christoph Oelckers
d1caf3a471
- made TObjPtr as trivial as possible.
...
Mainly to avoid problems with Raze, but eliminating this constructor lets us catch erroneous local definitions via 'auto', which can cause major problems if left undetected.
2022-06-06 15:19:31 +02:00
Christoph Oelckers
71ce8aa79a
- block wipes when streaming movies are playing.
...
For synchronization purposes they cannot be interrupted by the wipe loop.
This also groups the cutscene state in a struct for readability purposes.
2022-06-06 12:30:47 +02:00
Christoph Oelckers
c62e14d2c1
- Backend update from Raze
...
Mostly cleanup and better separation of game/backend concerns.
2022-06-06 12:09:29 +02:00
Christoph Oelckers
7e57aeb24a
- re-enabled translation initialization.
...
This had been commented out for testing and was forgotten.
2022-06-06 08:50:27 +02:00
Christoph Oelckers
4cb7c70e27
- restored accidentally deleted line of code.
2022-06-05 16:43:12 +02:00
Christoph Oelckers
efd4a0b33a
- the chat should use the console's scaling, not the one for the messages printed with the small font.
2022-06-05 16:29:42 +02:00
Christoph Oelckers
a59436c4c2
- fixed auto-scaling for console.
2022-06-05 12:34:22 +02:00
Christoph Oelckers
e266fb1c16
- removed all vid_fps offsetting.
...
To compensate there is now also a "stat fps" which displays the FPS rate in the lower left corner. This had to go because unconditionally altering positions was causing problems with custom HUDs.
2022-06-05 12:16:56 +02:00
Christoph Oelckers
24a275804c
- HUD scaling for automap HUD.
2022-06-05 12:16:15 +02:00
Christoph Oelckers
efaaa3c118
- added Raze-style HUD scaling.
2022-06-05 10:57:21 +02:00
Christoph Oelckers
0ee1cc85ec
- fixed: The IVF decoder never accounted for odd dimensions when applying the UV subsampling.
...
To simplify the code the 'optimized' loop was replaced with one iterating over all pixels - even in the worst of cases the little savings are hardly performance relevant.
2022-06-05 08:09:50 +02:00
Christoph Oelckers
6f22eeac00
- added a few more names to the reserved names for main folder detection.
...
Also consolidated the access into a single function to avoid indexing errors.
2022-06-04 22:11:14 +02:00
Christoph Oelckers
3c96f7e21c
- added handling for start-of-episode cutscenes.
2022-06-04 21:58:46 +02:00
Christoph Oelckers
c597ba2fef
- made cutscenes at engine startup work.
2022-06-04 21:31:19 +02:00
Christoph Oelckers
ab856e4f6a
- consider "fonts" and "models" reserved folder names.
2022-06-04 18:49:31 +02:00
Christoph Oelckers
26a377c009
- fixed undefined behavior with Dehacked's value parser.
...
From the looks of it MSVC's strtoul function does parse negative values, while GCC's does not. Since negative values are allowed for some properties this now uses strtoll and stores the value with 64 bit to preserve both the value range of signed int and unsigned int.
2022-06-04 09:23:46 +02:00
Christoph Oelckers
df74288f7b
- use the same rules for cutscenes as for old intermissions when travelling in a hub
2022-06-03 00:30:34 +02:00
Christoph Oelckers
608b387e04
- use correct mapping for IBM437’s lower characters
...
For use on text screens these need to be mapped to the printable characters they represent on screen, not the control characters of ASCII.
2022-06-03 00:12:45 +02:00
Christoph Oelckers
99d98cf79d
- added cutscene creation code
2022-06-03 00:03:57 +02:00
Christoph Oelckers
15a5554f8d
- fixed fast crushers going out of sync if something is being crushed by them.
2022-06-02 16:48:07 +02:00
Christoph Oelckers
05c846c4eb
- fixed: the last column of a text-type start screen was not rendered.
2022-06-02 08:32:39 +02:00
Christoph Oelckers
092eb1eb6f
- use StartupTexture, not HeaderTexture to clear the screen.
...
HeaderTexture does not exist for the Endoom screen.
2022-06-01 18:00:03 +02:00
Christoph Oelckers
b615019715
- fixed: sound must be initialized before the start screen.
2022-06-01 17:44:07 +02:00
Christoph Oelckers
c11729c2bb
- fixed: Vulkan descriptor sets must check the real translation, not just the translation ID.
...
In particular the one for the menu's player sprite and ACS translations can alter a translation ID's actual translation at run time, these changes never triggered a descriptor set change.
2022-06-01 16:47:54 +02:00
Christoph Oelckers
298407aaf3
- workaround for clearing the start screen in Vulkan.
...
There seems to be a bug in the backend, but I have no idea what's wrong.
Clearing the start screen with a ClearRect call renders the 2D drawer in an unstable state. So for now, clear the screen by rendering a texture, but with light color black, which produces the same effect without later breaking stuff.
2022-06-01 16:02:24 +02:00
Rachael Alexanderson
c8156fa581
- add keybinds for F17-F24
2022-06-01 10:23:08 +02:00
Christoph Oelckers
3b87c19b5b
- fixed startuo screen creation
2022-06-01 10:20:32 +02:00
Christoph Oelckers
2d901eca7f
- added missing #include.
2022-06-01 09:34:07 +02:00
Christoph Oelckers
7787a410ea
- Startscreen fixes.
...
* for Strife the game palette must be loaded before the start screen.
* increase update frequency of start screen to roughly 35 fps
* fixed Strife's laser sprite names.
* do not show the native progress bar if a graphical start screen is used.
2022-06-01 09:30:20 +02:00
Christoph Oelckers
344c6348fd
- sprite lightlevel cleanup and fixes.
...
* consolidated the getter functions on the game data side
* better handling of per-sprite lighting with fog
* allow negative values for additive per-sprite lighting.
* also fixed return type of UpdateWaterDepth.
2022-06-01 08:37:13 +02:00
Christoph Oelckers
da30b6f6f0
- fixed some GCC warnings
2022-06-01 08:37:00 +02:00
Christoph Oelckers
077aa6b0ae
- cleaned out some duplicates in Posix platform code
2022-06-01 08:37:00 +02:00
Christoph Oelckers
59cddf1601
- hooked up graphical start screens with the in-game renderer.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
79f4a9c0f3
- removed the native graphical startup screens.
...
ENDOOM is already working with this commit, the start screens still require some work to connect them.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
d6886ed44f
- route the StartScreen#::Net... functions through a global interface.
...
These will require different treatment later, so best only have one place where each method is called.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
21c60c931e
- warning fixes and cleanup from old startscreen branch.
2022-06-01 08:36:59 +02:00