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
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
Magnus Norddahl
34f1b23c3f
Fix the discolored sky bug
2022-06-13 21:34:30 -04: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
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
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
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
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
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
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
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
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
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
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
Christoph Oelckers
1aa3a5ea16
- platform independent classes for start screen rendering.
...
These use the internal 2D drawer. Not hooked up yet.
2022-06-01 08:36:59 +02:00
Christoph Oelckers
3b3a3a31e8
- Win32 i_main.cpp cleanup
...
Moved SetWndowTitle into the menu class
Removed the dead Windows session code
Removed the unused modules for Win32 core DLLs.
removed dynamic function calls for post-XP features
2022-06-01 08:36:59 +02:00
Magnus Norddahl
6670bc09b9
Create a MainWindow class that manages the main win32 window of the application
2022-06-01 08:36:59 +02:00
Christoph Oelckers
2c69afa118
- fixed SDL version check
2022-05-31 11:00:10 +02:00
RicardoLuis0
d6516f5c3b
Relative Includes for ZScript
2022-05-31 09:09:42 +02:00
Rachael Alexanderson
f1ad0961be
- remove m_filter
and simplify related code
2022-05-29 17:58:06 +02:00
Christoph Oelckers
b218b8de6a
- removed the unused SCREENPITCH #define
2022-05-23 15:52:30 +02:00
Christoph Oelckers
3ad6793ba3
- fixed yet another index issue in the shader code.
2022-05-18 20:14:43 +02:00
Christoph Oelckers
1d9da40f5b
- fixed user shader compilation in OpenGL
2022-05-15 11:37:46 +02:00
Christoph Oelckers
648dc87101
- fixed two index out of range issues in Vulkan's shader compiler code.
2022-05-15 09:12:30 +02:00
Christoph Oelckers
c95b1b0149
- fixed shader selection logic in OpenGL.
2022-05-14 12:08:31 +02:00
Christoph Oelckers
c23abd1930
- silenced some warnings.
2022-05-14 11:55:56 +02:00
Christoph Oelckers
2be13e1b9f
- changed shader loader to load only one shader at a time
...
This is merely preparation - the actual loading is still in one uninterrupted piece.
2022-05-13 08:22:22 +02:00
Magnus Norddahl
1452dd06a7
Fix that vk_debug doesn't output anything for newer versions of the vulkan sdk
2022-05-13 08:18:17 +02:00
Christoph Oelckers
beeb5f00aa
- added JPEG YCCK decoding.
...
Just for completeness - the formula was pieced together from stb_image's handling.
2022-05-12 12:14:14 +02:00
Rachael Alexanderson
c9e01353b0
- define ARM64's endianness in rapidjson
2022-05-10 16:43:57 -04:00
Christoph Oelckers
3fb292ac71
Revert "- added a bit of hackery so that compatmode CVAR can be set up on startup"
...
This reverts commit c4408d8536
.
This does not work. It always overwrites the saved compatibility settings with the current compatmode.
2022-05-06 08:31:16 +02:00
temx
0dfa632d29
Fix off-by-one in Vulkan multisample sample count selection
2022-05-04 18:19:29 +02:00
Christoph Oelckers
c86d9f60d0
- added handlers to load Strife’s startup screen images as textures
2022-05-03 00:04:28 +02:00
Christoph Oelckers
73abb2dfac
- added image source handlers for Hexen’s special startup image types
2022-05-02 00:28:56 +02:00
Christoph Oelckers
265122bb97
- removed all remaining code for handling 4 bpp startup screens.
2022-05-01 15:04:58 +02:00
Christoph Oelckers
3f2374c0f9
- use 8 bit for Hexen start up as well.
2022-05-01 14:59:12 +02:00
Christoph Oelckers
82fe5b8150
- use 8 bit bitmaps for Heretic's startup screen.
2022-05-01 14:46:09 +02:00
Christoph Oelckers
010f41a3aa
- load the hex font as early as possible.
2022-05-01 14:12:21 +02:00
Christoph Oelckers
7832ada2fc
- use the hex font for the Heretic/Endoom text screens.
2022-05-01 13:41:03 +02:00
Christoph Oelckers
0a208597c6
- fixed return type of MSTimeF script function.
2022-04-30 12:13:20 +02:00
Christoph Oelckers
72be9bcc27
- pass ´hashfile´ to filesystem as parameter
...
Avoid global variables, also check args as late as possible.
2022-04-29 02:20:35 +02:00
Christoph Oelckers
65a37856ec
-fix TArray::Append with rvalue parameter
...
This must clear the source array to obey move rules.
2022-04-29 02:10:43 +02:00
Christoph Oelckers
2bc787b1cc
- only check „allowduplicates“ for the final file system init
...
The other calls to InitMultipleFiles should not use it.
Also fix the check to not skip some entries.
2022-04-29 01:36:06 +02:00
Christoph Oelckers
bd885977e8
- added MSTimef script function
...
This also deprecates MSTime due to value range / overflow issues.
2022-04-29 00:47:06 +02:00
Christoph Oelckers
739b015a4d
- reinstated code that has gotten lost.
...
Fixes texture trimming.
2022-04-28 21:14:50 +02:00
Christoph Oelckers
0de3ff81e1
- add wipe transition support to the screenjob runner.
2022-04-26 20:50:37 +02:00
Christoph Oelckers
4e72ea1cfa
- Backend update from Raze
2022-04-26 20:50:36 +02:00
Christoph Oelckers
feb65bcb99
- moved wipe code into the backend
2022-04-26 20:50:36 +02:00
Christoph Oelckers
ccdf5fb23c
- moved the wipe loop out of d_main.cpp into f_wipe.cpp
...
As preparation fior fully moving it into the backend
2022-04-26 20:50:36 +02:00
Christoph Oelckers
336c45aaa4
- SCreenjob fixes
...
Still doesn’r show anything but we got it all set up now.
2022-04-26 20:50:35 +02:00
Christoph Oelckers
7ed8d3b3e2
- screenjob. fixes from Raze
2022-04-26 20:50:35 +02:00
Christoph Oelckers
390bf58698
- first stage of migrating intermissions to screenjobs.
2022-04-26 20:50:35 +02:00
Christoph Oelckers
d994369fd0
- timer code fixes.
2022-04-26 20:50:35 +02:00
Christoph Oelckers
9898ee542c
- route all accesses to gameaction from the backend through the sysCallbacks.
...
gameactions are frontend specific so this needs to be decoupled.
2022-04-26 20:50:34 +02:00
Christoph Oelckers
e5baef837a
- text screen helper stuff for cutscene system.
2022-04-26 20:50:34 +02:00
Christoph Oelckers
df0412d634
- a few things may not be static anymore.
2022-04-26 20:50:34 +02:00
Christoph Oelckers
5aaabbeb01
- did some project file cleanup.
2022-04-26 20:50:34 +02:00
Christoph Oelckers
69a7715a02
- added all the prerequisites for the cutscene system from Raze:
...
* libvpx library
* libsmackerdec
* playmve
* MoviePlayer class.
* ScreenJob engine core.
2022-04-26 20:50:34 +02:00
Kevin Caccamo
ecc0afd2f2
Fix usage of -1 as OBJ model FrameIndex
...
So that what is said on the ZDoom Wiki (see https://zdoom.org/wiki/MODELDEF#Notes ) holds true for OBJ models.
2022-04-24 19:40:08 +02:00
Christoph Oelckers
4aa04f11ce
- zip64 handling
2022-04-22 11:10:25 +02:00
Rachael Alexanderson
0fa830ddd7
Revert "- change cvars gl_custompost
and gl_customshader
to archive and save to .ini since there are uses for these shaders beyond mere debugging."
...
This reverts commit 2420371c46
.
2022-04-21 02:49:39 -04:00
Rachael Alexanderson
991b4725dd
Revert "- don't modify gl_customshader
cvar in GLES backend; the backend will not show custom shaders anyhow"
...
This reverts commit ab27d1dd33
.
2022-04-21 02:48:07 -04:00
Christoph Oelckers
2f90f49931
- validate the index argument for GetSavegame and abort if out of range.
2022-04-16 22:27:59 +02:00
Christoph Oelckers
c8296f0d7c
- cast arguments for fastcos/sinbam
...
Use xs_Float to ensure proper wraparound which is important here.
2022-04-15 22:31:12 +02:00
Christoph Oelckers
a669d3718f
- copy size info from defaults when starting a list menu block.
2022-04-15 22:30:11 +02:00
Christoph Oelckers
c4408d8536
- added a bit of hackery so that compatmode CVAR can be set up on startup
2022-04-12 00:31:31 +02:00
Christoph Oelckers
dfdf330722
- make menu scale adjustments for ultra-wide aspect ratios.
2022-04-12 00:30:43 +02:00
Christoph Oelckers
a97a2ec133
- backend sync with Raze
...
Nothing really useful here…
2022-04-11 00:26:50 +02:00
Christoph Oelckers
45e7badb71
- avoid passing game structs to common backend code
...
InitLightmap was using a „FLevelLocals“ pointer, better pass the needed elements separately instead.
2022-04-11 00:01:30 +02:00
Emanuele Disco
71dedf6c87
Fixed GUS Emulation with DMXGUS(C) lump conf.
...
- changed default value for midi_config to empty string since gus is not working with sf2 file
- fixed SetupDMXGUS not loading lump correctly, wrong use of CheckNumForFullName
- midi_config default to empty string, since lzdoom.sf2 doesn't seem supported (distorted sound)
- added absolute paths to FZipPatReader so we can add custom patches to resource files by using gus_patchdir and/or ULTRADIR variable (some custom maps has custom patches that can be added this way without putting them inside the resource file or in the same folder of the configuration file)
- set timidity_reverb_level min value to 0 in menudef.txt, set to 9 by mistake?
2022-04-09 22:45:31 +02:00
Christoph Oelckers
e0289eb0ac
- fixed Font struct export and removed the duplicate handler.
2022-04-07 15:11:50 +02:00
Marisa Kirisame
eeb67bcec3
Use RDTSC equivalent on AARCH64.
2022-03-25 17:01:39 +01:00
Rachael Alexanderson
b9e0473392
- move richpresence into common code to be sync with Raze
2022-03-18 03:36:34 -04:00
Marisa Kirisame
7ba5a74f2e
correct preprocessor fall-through for stats.h
(linux)
2022-03-15 18:12:53 -04:00
Marisa Kirisame
0937068dad
Fix compilation on GCC7.
2022-03-15 18:12:53 -04:00
Marisa Kirisame
9578c23aa1
Use RDTSC on Linux if possible for stats.
2022-03-15 18:12:53 -04:00
Rachael Alexanderson
8fe07f1449
- add steamappid field for DRPC
2022-03-10 00:03:50 -05:00
Rachael Alexanderson
85c432c699
- Discord RPC presence. Adds new IWADINFO and GAMEINFO keys: DiscordAppId - this should point to your AppId for your game. It will use a default GZDoom one if not found.
2022-03-09 22:45:59 -05:00
Rachael Alexanderson
eb6aa9f5d3
- correct the processor fall-through on stats.h
2022-03-08 17:17:09 -05:00
Rachael Alexanderson
ab27d1dd33
- don't modify gl_customshader
cvar in GLES backend; the backend will not show custom shaders anyhow
2022-03-07 08:46:45 -05:00
Rachael Alexanderson
28d9fe68ae
- add duplication checking to file list, prevent loading the same file twice unless explicitly asked by the user
2022-02-17 01:05:39 -05:00
Chronos Ouroboros
590f45441f
- fix the wrong register type being freed when initializing arrays.
2022-02-17 00:19:34 -05:00
nashmuhandes
396bac5e4f
- Initialize some variables in FModelVertex::Set
...
- Fix wrong normal vector in the FModelVertexBuffer constructor
This fixes models having strange flickering when the model animation frame changes
2022-02-14 12:16:45 -05:00
Chronos Ouroboros
238952da35
- fixed local array initialization for const values.
2022-02-13 22:42:15 -05:00
Chronos Ouroboros
2f56ff3833
- fixed local vector array initialization.
2022-02-12 10:44:58 -05:00
Emile Belanger
3ff27b4281
GLES: Fix data buffer resize
2022-02-10 23:46:52 +01:00
Rachael Alexanderson
e7e5bd99fc
- fix compiling on Linux/et-al
2022-02-01 12:32:44 -05:00
Rachael Alexanderson
267e714bf1
- implement direct cvar linking to custom shader uniforms
2022-02-01 11:42:55 -05:00
Rachael Alexanderson
95c5449a75
- silence some warning spam in textures.h
2022-01-26 18:30:55 -05:00
Christoph Oelckers
6a92470846
- made a few more names common.
...
These are needed by the ZScript compiler backend.
2022-01-24 19:05:46 +01:00
Christoph Oelckers
673f06c05f
- make m_alloc optional for tarray and memarena
2022-01-24 19:05:46 +01:00
emily
20d16381f8
Add TexMan.SetCameraTextureAspectRatio
...
Allows ZScript to change the aspect ratio of a camera texture.
2022-01-24 12:18:55 -05:00
Rachael Alexanderson
688e5ac694
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps-new
2022-01-24 12:10:18 -05:00
drfrag
6112307cc8
- Fix decals in Softpoly.
...
(partial revert of "- cleanup of the revised y-clamping feature.")
2022-01-24 12:01:34 -05:00
Blue Shadow
fefb0e9702
- make m_quickexit
a global CVAR
2022-01-24 12:01:04 -05:00
nashmuhandes
db92e63e22
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2022-01-22 18:06:05 +08:00
Rachael Alexanderson
4c4fafc2c0
- add debug ccmds to manipulate custom postprocess shaders and their uniforms from the console
2022-01-20 22:38:46 -05:00
nashmuhandes
8ea47fdcc3
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
...
# Conflicts:
# src/common/engine/namedef.h
2022-01-21 01:39:37 +08:00
nashmuhandes
f79bbed130
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2022-01-20 14:19:45 +08:00
Christoph Oelckers
851d058a4b
- split up namedef.h into a shared and game specific part and cleaned out many unused names.
2022-01-20 00:14:08 +01:00
Xaser Acheron
25f28c4b50
fix mbf21 A_ConsumeAmmo taking 0 ammo instead of 1 if ammopershot field not set (need to amend the spec for this, argh)
2022-01-18 08:06:29 +01:00
Christoph Oelckers
e6c6471e2f
- fixed logic error with depth bias state in hardware renderer.
2022-01-17 00:32:54 +01:00
Christoph Oelckers
84458ddb9f
- redid postprocessing shader interface to be free of the player dependency.
...
This is something that really should be done in higher level code - the shader interface should only concern itself with the shader and not the conditions that block its use.
The Shader class has been redone as a thin wrapper and been deprecated.
2022-01-17 00:07:43 +01:00
Rachael Alexanderson
12ed24d066
- separate i_pauseinbackground
and i_soundinbackground
- they probably should ultimately be moved out of the sound code
2022-01-15 20:17:11 -05:00
nashmuhandes
57112742fe
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
...
# Conflicts:
# src/common/rendering/gl/gl_shader.cpp
# src/common/rendering/hwrenderer/data/buffers.h
# src/common/rendering/v_video.h
2022-01-16 01:57:38 +08:00
Christoph Oelckers
79c9b979d2
- backend update from Raze.
2022-01-11 17:19:16 +01:00
Marisa Heit
a1d0d27278
Make GC::CheckTime 64-bit, just in case.
2022-01-11 13:01:31 +01:00
Marisa Heit
e529f2d4d1
Revert "- be a bit more aggressive with the GC when not running the game loop."
...
This reverts commit b4d03501af
.
2022-01-11 13:01:31 +01:00
Marisa Heit
31549997b4
Fix GC so collection rate is proportional to alloc rate
...
- Previous comments in dobjgc.cpp suggested that StepMul was used
to determine how quickly garbage was collected based on how quickly
memory was being allocated. This was not the case. Now it is.
- Remove calls to CheckGC from the thinkers. With GC running at a
stable rate (once per frame), there should be no need to inject
pauses into the collection process to keep it from injecting stutters
(provided StepMul is sane). The risk of running out of memory because
we don't run a collection pass absolutely every thinker should be
practically zero.
- Reduce DEFAULT_GCMUL from 400 to 200, since it does what it says now
instead of something else.
2022-01-11 13:01:31 +01:00
Christoph Oelckers
64ef03428d
- added proper range check to the main sound playing function.
...
We got a report where this crashed on a bad sound index.
2022-01-07 00:16:30 +01:00
Marisa Kirisame
ee1774e956
Relicense UE1 model loader as MIT.
...
Match up with the same relicensing that affected umeshtools,
which this loader takes most of its code from.
2022-01-02 18:09:10 +01:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Christoph Oelckers
3b879c5656
- changed the license of 3 more files free of external contributions to LGPL v2.
2022-01-02 12:08:47 +01:00
Christoph Oelckers
9d2431187d
- reverted the license of the stereo3D code to BSD.
...
None of this was ever put under the GPL by its original author, so it is now back to its original license.
2022-01-02 11:41:32 +01:00
Christoph Oelckers
1c517d19fa
- Backend update from Raze.
...
This is mainly code cleanup from setting the compiler to a stricter warning level.
2022-01-02 11:39:17 +01:00
Major Cooke
bbd91be5d5
Added NoTrim for TEXTURES.
...
- This can be applied either in or outside of a definition of a sprite.
- Simply adding "NoTrim" inside a definition will apply it.
- Syntax outside of a sprite is `NoTrim <SpriteName>`.
2021-12-14 15:22:01 +01:00
Player701
d0697d9801
- Fixed some issues with the scaling feature of DStatusBarCore::DrawString
2021-11-25 15:42:27 +01:00
Emile Belanger
54ad3433b1
GLES: Load default shader if we try to load user shader to avoid crash
2021-11-21 13:14:02 +01:00
Christoph Oelckers
4530a7b583
- minor optimization to last PR to use a FixedBitArray to reduce stack impact of the check array.
2021-11-21 10:10:58 +01:00
Mitch Richters
b1fea228be
- D_ProcessEvents()
: Fix bad setup with delayedevents
array that was holding pointers to items in the events[]
array instead of making a copy.
2021-11-21 10:03:26 +01:00
Mitch Richters
c4f7760ab2
- D_ProcessEvents()
: Delay EV_KeyUp
events until any EV_KeyDown
events for the corresponding key have been processed. This makes the mouse under SDL a lot better.
2021-11-21 10:03:26 +01:00
Rachael Alexanderson
312b5ce66e
- add SDL hint to not minimize the window on focus loss
2021-11-19 15:26:04 +01:00
nashmuhandes
2ed99c735d
Merge branch 'lightmaps2' of https://github.com/dpjudas/gzdoom into lightmaps2
2021-11-15 02:56:10 +08:00
Magnus Norddahl
8c54015b4b
Fix upload and sampling bug for array textures in the vulkan backend
2021-11-14 19:53:10 +01:00
nashmuhandes
879c514120
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-11-14 22:01:03 +08:00
Christoph Oelckers
c598d9bab7
- Backend update from Raze.
...
* TArray extensions
* MSVC setup so that [[deprecated]] emits warnings.
2021-11-12 09:36:46 +01:00
nashmuhandes
9b853dd275
- Remove ALightProbe from the engine (light probes are now stored inside a map's LIGHTMAP lump)
...
- Recognize the new ZDRayInfo UDMF keywords
2021-11-11 19:21:45 +08:00
nashmuhandes
1b95f2515b
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-11-10 19:57:49 +08:00
drfrag
5ca3ab3fc9
- Fix abort with dir command and empty string on Windows.
2021-10-30 12:46:36 +02:00
Christoph Oelckers
ce99cda019
- fixed compilation on non-Windows.
...
In this header we must explicitly use the std:: namespace for min/max.
2021-10-30 11:38:20 +02:00
Christoph Oelckers
77d74a11d1
- removed most templates.h includes.
2021-10-30 10:49:12 +02:00
Christoph Oelckers
eb69bbcae0
- replaced MIN/MAX in common code.
2021-10-30 10:46:17 +02:00
Christoph Oelckers
75c8e0af7c
- use the standard library's 'clamp' function instead of our homegrown variant.
2021-10-30 10:21:50 +02:00
Christoph Oelckers
cc617d9085
- Backend update from Raze.
...
Mostly warning fixes reported by Clang, plus GLES update.
2021-10-30 09:29:21 +02:00
Magnus Norddahl
8e59ed754e
Fix vulkan validation errors for wrong image transitions and buffers used after destroyed
2021-10-29 22:38:18 +02:00
nashmuhandes
c2b3600981
Add a render style parameter to Screen.Dim
2021-10-29 21:08:32 +02:00
Magnus Norddahl
d853961a83
Fix vulkan buffers not using the stream usage for the 2d drawer
...
Add BufferUsageType enum to clarify what kind of usage is expected by the buffer allocated by SetData
2021-10-26 22:43:38 -04:00
alexey.lysiuk
8e1dd7d2c5
- removed obsolete code from Cocoa backend
2021-10-23 13:46:59 +03:00
nashmuhandes
b657478f6f
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-10-21 20:56:36 +08:00
Rachael Alexanderson
2420371c46
- change cvars gl_custompost
and gl_customshader
to archive and save to .ini since there are uses for these shaders beyond mere debugging.
2021-10-20 11:23:05 -04:00
nashmuhandes
5c20a5918e
Merge branch 'master' of https://github.com/nashmuhandes/gzdoom into lightmaps2
2021-10-20 21:59:37 +08:00
Rachael Alexanderson
bb44f3dcd9
- add cvar r_skipmats
- speeds up rendering on slower cards for mods that use a lot of specularity/pbr, effective on both the opengl and vulkan backends
2021-10-20 06:49:45 -04:00
nashmuhandes
ab3146054b
Fixed: SBar_DrawTextureRotated was missing the angle parameter
2021-10-19 11:44:34 +02:00
alexey.lysiuk
8ec6c21195
- fixed deprecation warnings in Cocoa backend
2021-10-18 11:03:34 +03:00
alexey.lysiuk
b85282fe5e
- disabled nullability warnings in Vulkan memory allocator
2021-10-18 10:27:03 +03:00
alexey.lysiuk
e0cdb1e32e
- removed NoVirtualRefCountedBase class
2021-10-18 10:26:21 +03:00
alexey.lysiuk
94b77de5ed
- fixed Vulkan memory allocator initialization
2021-10-18 09:50:33 +03:00
alexey.lysiuk
df2d07e0d5
- update Vulkan headers to the latest released SDK
...
https://github.com/KhronosGroup/Vulkan-Headers/releases/tag/sdk-1.2.189.1
This fixes missing `VK_ERROR_UNKNOWN` definition
2021-10-18 09:47:44 +03:00
alexey.lysiuk
80b8ab8fa2
- add missing vk_mem_alloc.natvis
...
1b0bd18053/src/vk_mem_alloc.natvis
2021-10-18 09:44:47 +03:00
Christoph Oelckers
eb9f752db8
- updated vk_mem_alloc.
2021-10-17 09:12:03 +02:00
Magnus Norddahl
6a804cd4c7
Fix lightmaps got applied to model meshes
2021-10-14 06:11:54 +02:00
nashmuhandes
635a279186
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-10-08 16:26:26 +08:00
Magnus Norddahl
a77dfae0bc
Fix out of pool memory error
2021-10-08 10:15:01 +02:00
Christoph Oelckers
19aac25f19
- fixed some imprecisions in font luminosity calculation.
...
This was still going through the palette which could result in off-by-one errors.
2021-10-07 00:13:34 +02:00
Christoph Oelckers
60bf096912
- fixed palette initialization for single lump fonts (FON2 and BMF)
...
The bad increment was due to the palette being a byte array in older versions.
2021-10-06 20:30:29 +02:00
nashmuhandes
52004f36b4
Add sunlight actor for ZDRay
2021-10-05 18:09:00 +08:00
nashmuhandes
d35cd9549f
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-10-05 12:53:05 +08:00
Christoph Oelckers
6e9e75c02c
- disallow changing the line spacing for option menus.
...
With the VGA font this makes no sense anymore.
2021-10-03 15:54:08 +02:00
Christoph Oelckers
b4d03501af
- be a bit more aggressive with the GC when not running the game loop.
...
Since most CheckGC calls are within the main game ticker, the engine can accumulate a lot of data when creating/deleting objects in the menu or other UI parts and never manage to collect everything
2021-10-03 14:01:27 +02:00
Christoph Oelckers
88be3b8a1b
- fixed base class for DShape2DBufferInfo.
2021-10-03 13:09:39 +02:00
Christoph Oelckers
6da9f00e6e
- allow "INDEXFON" as an alias for "INDEXFONT".
2021-10-03 09:00:24 +02:00
nashmuhandes
70b72a2157
- Recognize the new lightmap UDMF keywords
...
- Add dummy actors to hold the UDMF keys for lightmapping. These actors will despawn at map start
- Make light probe despawn at map start as well
2021-09-29 17:42:48 +08:00
nashmuhandes
ff3cdb7e56
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-09-27 07:32:30 +08:00
Emile Belanger
8f54de99e0
GLES: Fix texture MapBuffer and AllocateBuffer create client side memory.
2021-09-25 11:14:18 -04:00
Magnus Norddahl
b59554f319
Fix "out of memory" errors when the vulkan backend is asked to create zero byte sized buffers
2021-09-25 08:42:31 -04:00
Jan Engelhardt
25350109e8
gles: look for libGLESv2.so.2
...
Distros do not have the .so files at all times, because those are
counted as development and not runtime.
2021-09-25 04:21:16 -04:00
nashmuhandes
d2b8f1aaff
Add light probe actor
2021-09-25 12:00:25 +08:00
Magnus Norddahl
8a2f445dd6
Fix lightmap texture not getting bound by the OpenGL backend
2021-09-25 00:39:28 +02:00
Magnus Norddahl
63ecb36889
Add lightmap texture support to vulkan backend
...
Also fix a warning in SetFlatVertex
2021-09-25 00:13:25 +02:00
Magnus Norddahl
24070cba2d
Add missing LightMap bind call
2021-09-24 17:24:59 +02:00
Magnus Norddahl
604c4ff8e0
Fix vertex layout locations and add lightmap to vulkan shader
2021-09-24 16:21:23 +02:00
nashmuhandes
2f8cff90b6
- Add lightmaps to the main shader (currently only OpenGL)
...
- Create a version of CreateIndexedSectorVertices that works with lightmap sectors
2021-09-24 16:56:15 +08:00
nashmuhandes
39481f0d07
- Add support for loading lightmap data generated by ZDRay
...
- Initialize lightmap texture in the hardware abstract parts of the engine
2021-09-24 14:51:48 +08:00
drfrag
c13cd74766
- Fixed broken V_BreakLines.
2021-09-23 15:36:24 +02:00
Christoph Oelckers
da806b354d
- cleanup of the revised y-clamping feature.
...
This integrates better with the existing features.
2021-09-21 20:31:42 +02:00
Emile Belanger
4de6b769d3
GLES: Only use GPU sync if necessary and available.
...
If there are complaints of reduced performance, or visual artefacts compared to 4.6.1, it may be worth increasing HW_MAX_PIPELINE_BUFFERS to 4 again.
2021-09-21 18:45:55 +02:00
Emile Belanger
db59a4f9af
Add buffer synchronisation for GLES when using mapped buffers.
2021-09-20 18:12:20 -04:00
Emile Belanger
76875f0a3c
Fix spot lights for GLES
2021-09-20 18:12:20 -04:00
Emile Belanger
e361ff1a9c
Removed unused EGL files
2021-09-20 18:12:20 -04:00
Yarn366
6d8862b514
Added detection for IWADs downloaded via the Bethesda.net Launcher
2021-09-20 10:50:19 -04:00
Cacodemon345
567bff403a
Fix broken text input when SDL2 is using Wayland
2021-09-20 10:49:41 -04:00
Rachael Alexanderson
cb0c8922e0
- downgrade GL_EXTENSIONS message in OpenGL ES to logging level
2021-09-20 08:46:34 -04:00
Christoph Oelckers
a0043ec09d
- better handling of texture clamp state.
...
Free combination of clamping with all texture modes still missing in GLES and Softpoly renderers!
2021-09-19 14:54:34 +02:00
Christoph Oelckers
fc2818b195
- menu system update from Raze for better control of animated menus.
2021-09-18 12:19:35 +02:00
Christoph Oelckers
7aaea65f28
- fixed GLES startup
2021-09-18 10:18:23 +02:00
Christoph Oelckers
67958833b7
Merge branch 'gles2_merge'
2021-09-17 21:22:41 +02:00
Christoph Oelckers
918e9e9b0d
- fixed texture clamping for elements that are partially behind a slope.
...
This is mainly mid textures on linedefs and decals.
2021-09-17 00:25:28 +02:00
Christoph Oelckers
23a2ccec2b
- Consider 'Program Files' a read only location without actually checking.
...
Due to virtualization the actual check may not produce correct results, plus writing there is bad style anyway.
2021-09-15 00:39:18 +02:00
Christoph Oelckers
17638426b9
- removed the redundant gl_render_precise CVAR.
...
The menu now uses gl_seamless directly without the redirection.
2021-09-14 19:49:42 +02:00
Christoph Oelckers
b0382599f6
- removed the SSBO block for desktop OS’s when gl_pipeline_depth is enabled
2021-09-14 00:13:08 +02:00
Magnus Norddahl
796890bb98
Limit texture upload transfer buffers to roughly 64 MB
2021-09-13 23:56:15 +02:00
Christoph Oelckers
f783a94835
- treat 'vid_adapter 0' as what Windows considers the primary monitor.
...
Courtesy of https://devblogs.microsoft.com/oldnewthing/20070809-00/?p=25643
2021-09-12 10:02:30 +02:00
Christoph Oelckers
b5294e9e90
- backend update from Raze.
2021-08-31 07:59:37 +02:00
Christoph Oelckers
03c8fd9956
- block user overrides for the logic module of core fragment shaders.
2021-08-24 10:24:23 +02:00
Christoph Oelckers
8bdd4befbf
- replaced deprecated throw() with noexcept in TObjPtr
2021-08-21 12:22:15 +02:00