Commit graph

1,277 commits

Author SHA1 Message Date
Magnus Norddahl
375e71dc0d Namespace fixes 2023-09-02 13:09:57 +02:00
Magnus Norddahl
52a1c62b2c Move SurfaceInfo and PortalInfo to vk_raytrace
Add VSMatrix * FVector4 operator
2023-09-02 12:54:07 +02:00
Magnus Norddahl
1e47db3cf3 Rename MeshSurfaces to MeshSurfaceIndexes for clarity 2023-09-02 12:34:00 +02:00
Magnus Norddahl
44c75fb9a7 Fix unmap asserts 2023-09-02 12:27:12 +02:00
Magnus Norddahl
706256b969 Fix misc typos 2023-09-02 12:03:32 +02:00
RaveYard
2b74f408aa Use lightmapper output 2023-09-02 11:07:14 +02:00
RaveYard
689e764830 Fix copying of pixels from surface.texPixels to LMTextureData 2023-09-02 11:07:14 +02:00
RaveYard
6f00cacdcc WIP Attempt to fix the temporary ZDRay tracecoder lightmap write 2023-09-02 11:07:14 +02:00
Magnus Norddahl
cff50b8087 Initialize lightmap texture in SetLevelMesh
Create VkLightmap class on VulkanRenderDevice
2023-09-01 00:03:18 +02:00
RaveYard
23deb11399 Merge Surface into hwrenderer::Surface 2023-08-31 22:57:58 +02:00
RaveYard
18842eb30c GenerateLightmap in DFrameBuffer 2023-08-31 22:57:57 +02:00
RaveYard
6fc7eaf2fa First step towards refactoring 2023-08-31 22:57:57 +02:00
RaveYard
ef031c2073 WIP fake raytracer output 2023-08-31 22:57:57 +02:00
RaveYard
4e57deaf33 Buffer data now in Levelmesh 2023-08-31 22:57:57 +02:00
RaveYard
651903fe71 WIP VkLightmap integration 2023-08-31 22:57:56 +02:00
RaveYard
3426cbcd0f Add bounds.cpp from ZDRay 2023-08-31 22:57:56 +02:00
Magnus Norddahl
1162a5017a Adjust names of variables for better readability 2023-08-31 03:11:24 +02:00
Magnus Norddahl
3750173eae Import ZDRay's GPURaytracer class as VkLightmap as the first step in letting the backend update them dynamically 2023-08-31 02:47:11 +02:00
nashmuhandes
4aa6ac5585 Merge remote-tracking branch 'remotes/origin/gzd_staging' 2023-08-31 08:37:25 +08:00
Magnus Norddahl
370bf24d2c Fix crash when frame buffers are resized 2023-08-30 18:53:45 +02:00
RaveYard
97eaa46b69 Configurable sampling per custom texture in material shaders 2023-08-25 18:18:03 +02:00
nashmuhandes
9e0bf90be6 Merge remote-tracking branch 'remotes/ZDoom/gzdoom/staging' into gzd_staging 2023-08-22 09:09:51 +08:00
nashmuhandes
9cadf983b0 Go back to the hex font for now 2023-08-22 07:49:34 +08:00
Christoph Oelckers
7fee89d1f5 - uncouple the file system from the engine's Printf function.
This is needed to use it in non GZDoom based projects.
2023-08-17 21:36:22 +02:00
Christoph Oelckers
9b790d23a8 - optimization of WideString and FileReader::Printf.
Both now omit the intermediate FString as the target buffer can be directly written to.
WideString was also moved to utf8.cpp/h to uncouple from zstring.
2023-08-17 18:45:33 +02:00
Cacodemon345
a4573b4ad1 Fix QOI image loading 2023-08-17 08:56:50 -04:00
Cacodemon345
14a3cf8fc2 CMakeLists upgrade to 3.16 and cleanup
* Remove precompiled header hack
* Fixes for compilation on VS2022 Debug configurations
2023-08-14 19:30:50 +02:00
Christoph Oelckers
74b3d8e0a0 - optimized the QOI loader
* removed the intermediate pixel buffer
* instead of calling the file API for each single byte, load it into a buffer and use direct memory access. Using a file API like this can be magnitudes slower, depending on the underlying data.
* don't store the header in the image source object, it is never used again after validatipn.
2023-08-13 19:03:20 +02:00
Cacodemon345
c727e40e6c Add support for QOI image formats 2023-08-13 06:04:15 -04:00
Cacodemon345
fe7beaaf17 Add support for HDR canvas textures
Vulkan only.
2023-08-12 06:46:05 -04:00
Christoph Oelckers
a675e4add8 - removed unused ReplaceString function. 2023-08-12 10:28:18 +02:00
Christoph Oelckers
16cefb7528 - some angle cleanup
* clean out the angle conversion helpers from basics.h.
* use degrees instead of radians in TMatrix3x3.
2023-08-12 10:10:27 +02:00
Christoph Oelckers
0c9b652583 - moved EStateUseFlags to a more fitting header and deleted unused RAD2BAM inlines 2023-08-12 09:38:41 +02:00
Christoph Oelckers
b5c1237f93 - removed NOVTABLE #define.
This was used on just two small base classes, the overall savings are zero.
2023-08-12 09:31:33 +02:00
Magnus Norddahl
823a086e3c Use a truetype font for the options menu, although a better one could probably be chosen to match the theme of doom 2023-08-09 22:43:46 +02:00
Christoph Oelckers
a46c0a52b6 - re-added the UTF-8 char formatter which is needed for ZScript. 2023-08-09 11:52:08 +02:00
Christoph Oelckers
fdad3186a6 - replaced zstrformat with stb_sprintf.
The main advantage here is that this allows to get rid of the gdtoa dependency, it is also preferable to have some code here that's being maintained.
Feature-wise both are mostly identical, stb also support MSFT integer size modifiers and hexadecimal floats.
2023-08-09 11:51:46 +02:00
Christoph Oelckers
d3fa699782 - updated stb_image.h. 2023-08-09 08:25:04 +02:00
Christoph Oelckers
979f4311fa - moved stb_image.h to third party folder. 2023-08-09 08:22:47 +02:00
Ricardo Luís Vaz Silva
e6124627e4 allow explicit casts between vectors of different underlying types 2023-08-02 01:05:24 -04:00
Player701
eec08f0e24 - hopefully fixed the "is" operator to work with readonly pointers. 2023-08-02 00:42:40 -04:00
Ricardo Luís Vaz Silva
6164d883c9 Fix Linux compilation 2023-08-02 00:37:24 -04:00
Ricardo Luís Vaz Silva
0192392256 Individual Joystick Enable/Disable Toggles 2023-08-02 00:37:24 -04:00
alexey.lysiuk
62f37079a7 - fixed compilation with Clang
src/common/scripting/backend/vmbuilder.cpp:869:88: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
src/common/scripting/backend/vmbuilder.cpp:916:85: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
2023-07-22 13:22:53 +03:00
Christoph Oelckers
81fb9a26b2 - backend update from Raze.
* add QualifiedName to VMFunction and allocate these static names from the class data memory arena instead of using FStrings.
* null pointer type checks in the VM added to avoid crash on bad codegen.
2023-07-22 09:55:49 +02:00
Joshua Watt
d2ac72129d posix: sdl: Stop reading STDIN on EOF
If EOF is read on stdin (such as when it is /dev/null), stop calling
select() on it. Otherwise, the code goes into an infinite loop
attempting to read from stdin which is always ready but never has any
data and it never calls the timer callback to progress.
2023-07-17 22:57:28 +02:00
Professor Hastig
666a99f204 lightmode refactor
* make all legacy light modes except 'Doom' MAPINFO only. A CVAR still exists for testing but its value won't be saved to the config.
* user can only select between "performance', 'software' and 'vanilla'. 'performance' is the old 'Doom' mode which is still needed to speed things up on low end hardware.
* MAPINFO can not enforce any of the two software light modes, as low end users require the option to change this to the 'performance' setting. Selecting one will always revert to the user's light mode selection.
2023-07-17 22:50:05 +02:00
Ricardo Luís Vaz Silva
847f80391b Expose OF_Transient to actors as bNoSaveGame 2023-07-14 16:01:55 +02:00
Ricardo Luís Vaz Silva
9bc1a6e421 allow explicit casts between vectors of different underlying types 2023-07-14 16:01:55 +02:00
Ricardo Luís Vaz Silva
542676368b Add Inventory::ModifyBob and Inventory::ModifyBob3D 2023-07-14 16:01:55 +02:00