Professor Hastig
ab8711b57a
removed several bad casts to 'long'.
...
The 'long' type should generally be avoided because its size differs on Windows and Linux/Mac so it is almost guaranteed to cause undefined behavior
2023-10-04 16:47:43 +02:00
Christoph Oelckers
1717ff47b2
add GetChars() accessors to many FString uses where const char* is wanted.
...
By no means complete, it's just a start to get rid of that automatic type conversion operator.
2023-10-03 14:27:39 +02:00
Christoph Oelckers
5f11fd051b
- fixed the overlapping sector handler in hw_fakeflat.cpp.
...
this picked the wrong plane as the proper texture cutoff.
2023-09-16 22:17:09 +02:00
Christoph Oelckers
096b9cdc4f
- fixed. Boom's generalized crushers must stop 8 units above the floor
...
This required changing the special, so a new one was added to avoid altering Generic_Crusher.
2023-09-15 00:35:20 +02:00
Christoph Oelckers
139d1a7eb6
- use wrapping fixed point conversion for SW rendering coordinates.
2023-09-14 20:34:28 +02:00
Christoph Oelckers
6847a9a5c1
- added a nomirrors compatibility handler and applied it to Conf256's CONF55 map.
...
This is for disabling broken plane reflection setups.
2023-09-14 20:21:35 +02:00
Professor Hastig
fbf7d1025a
- fixed bad clamp in software renderer
...
This one can have its upper bound below its lower bound which triggers the validation within std::clamp.
Fixes #2125
2023-09-14 05:11:02 -04:00
Cacodemon345
7c90ea6b84
- Convert the entire image backend infrastructure to be animation-friendly
2023-08-23 18:18:45 +02:00
alexey.lysiuk
bfefc12427
- fixed a bunch of Linux and macOS compilation errors
2023-08-23 12:34:33 +03:00
Christoph Oelckers
ebb71cebf1
- put the entire filesystem code into a namespace and created some subdirectories.
2023-08-22 22:54:54 +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
Ricardo Luís Vaz Silva
1852f14f30
fix rare crash due to null caller
2023-08-02 01:05:24 -04:00
Ricardo Luís Vaz Silva
bcbb85b1dd
Add Weapon::ModifyBobLayer , Weapon::ModifyBobLayer3D and Weapon::ModifyBobPivotLayer3D
2023-08-02 01:05:24 -04: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
l2ksolkov
245dac814e
Add missing include guards
2023-05-29 07:35:26 +02:00
Magnus Norddahl
b0dfa06201
Add dynamic light support to true color slope drawer
2023-02-19 08:06:49 +01:00
Magnus Norddahl
99f2b5d891
Fix misc bugs for dynamic lights in the pal slope drawer
2023-02-19 08:06:49 +01:00
Magnus Norddahl
18bc384807
Add dynamic lights to pal slope drawer
2023-02-19 08:06:49 +01:00
Ricardo Luís Vaz Silva
b84bf176e1
Fix Software Slope Rendering for non-1.2 pixel ratios
2023-02-17 14:15:46 -05:00
Christoph Oelckers
f6bfc48d9f
- Backend update from Raze.
2023-02-11 12:05:45 +01:00
Emile Belanger
7349c95623
Fixes bones when using OpenGL 3.3 (UBO bone data)
2023-01-29 20:03:58 +01:00
Hugo Locurcio
ad49d52b1c
Add cvars to sprite shadows progressively according to thing <-> floor distance
...
This also adds the `r_actorspriteshadowalpha` and `r_actorspriteshadowfadeheight`
cvars for greater control (only effective in hardware renderers).
These are set to 0.5 and 0 by default, which means this fading behavior
is disabled by default.
When enabled, this has two benefits:
- It becomes easier for the player to judge an entity's height since
the shadow opacity now gives this information.
- Entities that are far high above the ground no longer cast a shadow,
which looked strange.
2023-01-25 17:43:04 -05:00
Christoph Oelckers
bafd6be342
- removed backend dependencies on game data.
2023-01-15 08:23:26 +01:00
Ricardo Luís Vaz Silva
8e7897233e
Add Alternate Light Blending Options
2023-01-14 11:29:12 -05:00
Ricardo Luís Vaz Silva
de65d1b96f
Misc Fixes for BobWeapon3D
...
- Fix inverted Y axis for offset/old BobWeapon
- finish adding PSPF_MIRROR
- fix missing pivot
2022-12-12 15:23:12 +01:00
Ricardo Luís Vaz Silva
46d36cf5c7
add BobWeapon3D
2022-12-09 21:49:38 +01:00
Mitchell Richters
6629944d39
- Make the new scaled angle changes at frame rate opt-in behind new flag SPF_SCALEDNOLERP.
...
* This will still test whether the game needs to lerp and will force `SPF_INTERPOLATE` if needed.
2022-12-04 15:11:17 +01:00
Mitchell Richters
cf1ac82da3
- Set up interpolated camera angle changes to occur at framerate when all conditions in P_NoInterpolation() are met.
2022-12-04 15:11:17 +01:00
Mitchell Richters
20bf9e89f5
- Split insane interpolation test if statement into a function, we'll need this elsewhere later on.
2022-12-04 15:11:17 +01:00
Mitchell Richters
9f9c1eb18a
- Make view angles interpolate on a separate flag to the one that forces interpolation for the entire frame.
...
* As view angles are an offset, there's no reason why these cannot lerp separately.
2022-12-04 15:11:17 +01:00
Mitchell Richters
6594ec0750
- Remove local angle truncation in R_InterpolateView().
...
* Genuinely see no need for this. If the local angle is BAM, why not just use it to its maximum precision?
2022-12-04 15:11:17 +01:00
Ricardo Luís Vaz Silva
f666edc60c
Allow Disabling of XY Billboard for Particles
2022-12-03 23:27:46 +01:00
Rachael Alexanderson
b082ad9cef
- fix colormap remapping when colormap entries may have fullbright entries which should not be considered duplicates
...
- this should address the "fullbright teeth" issue with the imps in KDiKDiZD: https://forum.zdoom.org/viewtopic.php?t=76790
2022-11-18 07:42:09 +01:00
Christoph Oelckers
31d8a23046
- avoid infinite portal recursion.
2022-11-12 09:00:18 +01:00
Ricardo Luís Vaz Silva
31ded6dd8a
Enable ANIMDEFS for particles
2022-11-08 23:56:03 -05:00
Christoph Oelckers
706d465781
- removed the unused BaseBlend* variables and the testblend CCMD.
...
When this was still working it was software rendering only anyway so no real loss here.
2022-11-08 11:46:13 +01:00
Christoph Oelckers
500e2d6c5a
Revert software renderer parts of "- sprite lightlevel cleanup and fixes."
...
This code had some issues which are not easily fixed, so it's better to just undo it all.
2022-11-05 09:55:25 +01:00
Ricardo Luís Vaz Silva
7d81417829
Particle Rolling
2022-11-01 22:30:16 +01:00
Ricardo Luís Vaz Silva
b6202ffc4c
Add Textured Particles
2022-11-01 21:25:31 +01:00
crashmahoney
0ca868d93f
Fix HUD models not drawing if MODELDEF has been changed with A_ChangeModel
2022-11-01 11:48:16 +01:00
Magnus Norddahl
181eda0a83
Fix canvas textures getting clipped by wrong scissor box
2022-10-28 18:01:59 -04:00
Christoph Oelckers
671b8696bb
- made CVar declarations type safe again.
2022-10-22 09:29:38 +02:00
Christoph Oelckers
453688ccc6
- reworked CVARs to not use a linked list and to be initialized manually.
...
This solves two problems:
* The linked list is too slow, a map is better. A map cannot be used with statically allocated CVARs because order of initialization is undefined.
* The current CVAR system is an unordered mishmash of static variables and dynamically allocated ones and the means of identification are unsafe. With this everything is allocated on the heap so it can all be handled the same by the cleanup code.
2022-10-21 18:56:43 +02:00
Christoph Oelckers
457b9b71d9
- disable the native part of coronas as well.
2022-10-20 07:50:53 +02:00
nashmuhandes
80a31b074d
Disable coronas for now
2022-10-19 22:52:27 +02:00
Shiny Metagross
5b60118af2
HUD models now render properly
...
- IQM HUD Models will now render properly
2022-10-19 22:48:57 +02:00
Shiny Metagross
6564adf310
Fixed a couple bugs
...
- MODELSAREATTACHMENTS was basically being applied anyways
- Fixed a crash related to using an animation that never had the vertex buffer drawn because it was never used as a model
2022-10-19 22:48:57 +02:00
Shiny Metagross
b7c1c53eb0
Almost done with To-Dos
...
- The compile errors should be fixed
- Implemented a way for skeletal models using the MODELSAREATTACHMENTS flag to not upload duplicate bones to the bone buffer
2022-10-19 22:48:57 +02:00
Shiny Metagross
3f8141ed04
I'm not done with this
...
- I need to figure out how I'm gonna reference the same boneStartIndex between the indices. Maybe some property in smf? The problem is that even though the bone calculations are done just once per instance of the actor when the flag is enabled, the bone buffers are being copied still, and if there's too much data, some will quit uploading because it's full. Besides doing this, I may just see about increasing the buffer size if possible. It's really just not very big.
2022-10-19 22:48:57 +02:00
Shiny Metagross
08f520f1c6
IQM Support Implemented
...
More info to come
2022-10-19 22:48:57 +02:00