Christoph Oelckers
76c8214d67
- fixed destructive logic and memory allocation issues in RenderFrameModels.
...
This completely avoids modification of the model data, instead using local variables.
2022-07-23 10:10:15 +02:00
Shiny Metagross
69ee1eb0a2
Surfaceskin modification
...
- Made it so when rendering a model, it clones an smf to use so that data isn't overwritten
- Reimplemented the skin index property. This changes the behavior of this index if CMDL_USESURFACESKIN is activated
2022-07-22 17:11:59 +02:00
Shiny Metagross
6d00e4a3f3
Finished serializing
...
- Implemented an FString TArray which goes into save files that saves a model file and path, and when the game is loaded, spits back out the model to be Loaded when loading a save file
2022-07-22 17:11:59 +02:00
Christoph Oelckers
d2454d4b3b
- DirectInput cleanup
...
Removing ancient code that's only useful on pre-XP OSs.
2022-07-20 14:41:06 +02:00
Christoph Oelckers
6d635ce715
- optimized storage for animation definitions.
...
Instead of allocating everything on the heap as single blocks, use a value TArray and allocate the frame arrays from the texture manager's memory arena, since lifetime of the data is identical.
Most importantly this avoids using a variable size array at the end of the struct.
2022-07-17 10:15:09 +02:00
Magnus Norddahl
89f5428a9a
Fixes vulkan crash when multisampling is enabled
2022-07-16 17:51:44 +02:00
Christoph Oelckers
e4485b01f8
- removed redundant extern declarations from platform code.
2022-07-16 15:12:06 +02:00
Gutawer
937c22ff14
- add a method for filling a shape2d instead of using a texture ( #1661 )
...
Co-authored-by: Christoph Oelckers <coelckers@users.noreply.github.com>
2022-07-16 14:57:22 +02:00
Gutawer
ee0d90a983
- add stencil buffer support for 2d drawing ( #1660 )
...
Co-authored-by: Christoph Oelckers <coelckers@users.noreply.github.com>
2022-07-16 14:56:28 +02:00
Gutawer
1e27fac288
- add a system for setting all of 2D drawing's transform, not just shapes
2022-07-16 14:53:07 +02:00
nashmuhandes
c6ae73d6d2
- Expose ConsoleState to scripts
...
- Make ConsoleState uint8_t sized
2022-07-16 14:38:47 +02:00
Magnus Norddahl
69778667aa
Minor cleanup of some vulkan rtx code
2022-07-16 08:55:57 +02:00
Christoph Oelckers
0e90098de8
- rewrote Windows console code for Windows 10's new terminal.
...
This allows dumping a lot of shit code using deprecated Windows functionality and bringing the code in line with Microsoft's roadmap for terminal/console functionality.
Note that this will cause garbled output of non-ASCII characters on Windows 7 and 8.1, but proper handling on these declining systems is of far lesser importance than future-proofing the feature.
2022-07-15 13:04:02 +02:00
Christoph Oelckers
595975fcc7
- did a test compile as C++20 and fixed all warnings that got emitted.
2022-07-15 09:17:50 +02:00
Ricardo LuÃs Vaz Silva
365131e1e3
rename PrintString to PrintfEx and make it a vararg function
2022-07-11 19:35:51 +02:00
Ricardo LuÃs Vaz Silva
03c8da8a44
Expose Print Flags to ZScript
2022-07-11 19:35:51 +02:00
Christoph Oelckers
7847a55d67
- do not include game specific stuff in the backend.
2022-07-02 10:26:17 +02:00
Christoph Oelckers
9002cdb61d
- fixed bad use of local variable.
2022-07-02 10:24:51 +02:00
Christoph Oelckers
35f8aab6bf
- fixed names for A_PlaySoundEx
...
These need to be contiguous because the implementation depends on it.
2022-06-30 21:45:59 +02:00
RaveYard
9a083d2d13
Fix FVector to Vector comparison
2022-06-24 21:38:14 +02:00
alexey.lysiuk
59458cf463
- fixed compilation without JIT
...
src/common/scripting/vm/vmframe.cpp:674:16: error: call to 'JitCaptureStackTrace' is ambiguous
2022-06-23 13:26:36 +03:00
RaveYard
4c588077c2
Fix FVector incompatible operands errors
2022-06-23 10:54:31 +02:00
Christoph Oelckers
2d10ad9d2d
- removed incorrect assert.
...
This may fail if a narrow data type is negated.
2022-06-23 10:43:43 +02:00
Christoph Oelckers
124d71a7be
- let the "abort" button on the network pane of the startup screen do a hard exit on Windows.
...
This merely posted a quit message which did not get properly processed and let the game run into other code with incompletely set up data.
2022-06-23 09:35:45 +02:00
Christoph Oelckers
8c244f6f85
- use static_assert to make 32 bit builds fail.
2022-06-22 11:11:29 +02:00
Christoph Oelckers
e3d7afa2d5
- added missing return
2022-06-22 09:26:53 +02:00
Magnus Norddahl
a0259e8e00
Hide experimental ray query behind vk_raytrace
2022-06-22 07:55:19 +02:00
Magnus Norddahl
ed134c9b19
Improve the builder syntax so that fewer temp variables are required to build vulkan objects
2022-06-22 07:55:19 +02:00
Magnus Norddahl
7fc579c8b2
Add some helpers
2022-06-22 07:55:19 +02:00
Magnus Norddahl
c7fe3de4b0
Avoid creating new descriptor pools every frame
2022-06-22 07:55:19 +02:00
Magnus Norddahl
5aa0fb536f
Only define SUPPORTS_RAYTRACING if it was detected
2022-06-22 07:55:19 +02:00
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