Christoph Oelckers
8c5eb2c807
use FTranslationID in all places where strict type checking is needed.
...
This means all properties in serializable classes now use this wrapper type. The backend hasn't been changed yet
2023-11-09 23:04:10 +01:00
Christoph Oelckers
299728d3d9
fix copy/paste error in HWWallDispatcher
2023-11-02 21:40:08 +01:00
Professor Hastig
677e1c888b
fixed: Skewing to front and back floor was swapped.
2023-11-02 16:27:43 +01:00
Christoph Oelckers
bdee1f3d34
added per-sector sky UDMF properties.
...
(Hardware rendering only, the SW renderer is not in a state where this is easily done.)
2023-10-29 17:49:59 +01:00
Christoph Oelckers
12bc9db609
hooked up the per-level colormaps with the hardware renderer.
2023-10-29 08:13:01 +01:00
Ricardo Luís Vaz Silva
e12f2ce0fe
Allow setting the colormap from mapinfo (dsda-doom)
2023-10-29 07:40:56 +01:00
Professor Hastig
77e5fd3081
fixed skewing for lower tiers.
2023-10-26 09:40:31 -04:00
Christoph Oelckers
eeac40fffc
take most direct drawinfo references out of HWWall.
2023-10-25 21:35:42 +02:00
Christoph Oelckers
1f5df23818
took several functions out of HWDrawInfo.
...
The only thing they needed from that class is the Level pointer and the light mode, this is better passed in as function argument.
2023-10-25 21:19:58 +02:00
Rachael Alexanderson
6d1ebf5f27
- allow FORCEBACKCULLFACES to work with hud models
2023-10-25 10:57:48 -04:00
Christoph Oelckers
b48caddb96
reworked the skewing properties.
...
The Eternity-based definitions are currently disabled due to unclear semantics and overall unsatisfying design. They can be re-enabled once their precise working has been established.
New properties were added to replace them with something that will be clearly specified and is fully ortohonal i.e. they will allow to align an upper tier skew with the floor as well and a lower tier's skew with a ceiling.
2023-10-20 18:14:20 +02:00
Professor Hastig
f92f6b8de4
added wall texture skewing.
...
This uses the same UDMF properties as Eternity recently introduced for the same feature.
2023-10-20 08:23:56 +02:00
Christoph Oelckers
9cd57faec1
rewrite of HWWalls to allow grabbing the output from the render item generator.
2023-10-19 18:35:51 +02:00
Rachael Alexanderson
bac12948e5
- add forcecullbackfaces in modeldef
2023-10-14 14:37:40 -04:00
Christoph Oelckers
89535b803a
Backend update from Raze.
2023-10-07 18:42:24 +02:00
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