Rachael Alexanderson
af08413e10
- reverting pull request #2361 - apparently pull request #2364 changed some behaviour and these two do not play nice together. One or the other unfortunately has to be rolled back to allow GZDoom to build properly again.
...
Revert "Restored r_orthographic behavior."
This reverts commit 26908f5bc5 .
Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."
This reverts commit dc897eacc0 .
Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."
This reverts commit d2c2c93cf1 .
2024-01-21 08:18:16 -05:00
Dileep V. Reddy
26908f5bc5
Restored r_orthographic behavior.
2024-01-21 03:34:00 -05:00
Dileep V. Reddy
dc897eacc0
Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars.
2024-01-21 03:34:00 -05:00
Dileep V. Reddy
d2c2c93cf1
Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom.
2024-01-21 03:34:00 -05:00
Major Cooke
278ebf3202
Aded FLIPSPRITEOFFSET<X/Y> for actors and bFlipOffset<X/Y> for visual thinkers.
...
- Inverts the direction that (Sprite)Offset pushes the sprite without affecting *any* other offsets, allowing them to combine seemlessly.
2024-01-21 03:33:48 -05:00
Major Cooke
4e48250cf2
CalculateVertices Refactor
...
- Added roll support for Y billboarding
- Fixed a bunch of broken checks that prevented Y billboarding from working properly
- Y billboarding takes precedence over sprite facing
- Optimized ROLLCENTER: now combines the sprite's embedded offsets with SpriteOffsets instead of doing wasteful transforms before/after rotations
- Greatly cleaned up a bunch of cruft
2024-01-21 03:33:48 -05:00
Rachael Alexanderson
1c7f195353
- reverse y offset for SpriteOffset to be consistent with software renderer and past versions
2024-01-18 03:00:44 -05:00
Ricardo Luís Vaz Silva
98e6330eaa
allow modeldef flags to be overriden
2024-01-16 10:27:08 -05:00
Ricardo Luís Vaz Silva
b7e5d3d052
rename SPF_STANDALONE_ANIMATIONS to SPF_LOCAL_ANIM
2024-01-09 06:38:08 -05:00
Ricardo Luís Vaz Silva
3bd80ab8f6
Do the same for Visual Thinkers
2024-01-09 06:38:08 -05:00
Ricardo Luís Vaz Silva
7eab519795
Implement animated particles that aren't tied to the global animation timer
2024-01-09 06:38:08 -05:00
Christoph Oelckers
ea65768e0b
fixed compile errors.
2024-01-07 12:28:21 +01:00
Christoph Oelckers
f13ae3b706
addressed a few things pointed out by static analysis
...
* marking move assignments noexcept
* using [[fallthrough]] consistently.
* getting rid of alloca.
2024-01-07 08:46:47 +01:00
Ricardo Luís Vaz Silva
35e56d3f42
Minor optimizations to VisualThinker
...
* remove duplicated fields
* make native functions use direct calls
* remove unnecessary pointer from particle_t
* create HWSprite directly in Construct
2024-01-06 20:06:57 -05:00
Major Cooke
f647545c1d
Disabled player sprites when crossing through portals.
2024-01-04 07:23:24 -05:00
Major Cooke
751ee7390b
Fixed incorrect offsetting for SpriteOffset.
2023-12-20 17:50:36 -05:00
Rachael Alexanderson
102c467de5
- add option to override renderflags +BILLBOARD[NO]FACECAMERA
2023-12-09 18:18:28 -05:00
Rachael Alexanderson
b4d5c7d669
- add actor flag +BILLBOARDNOFACECAMERA which forces sprite aimed at camera heading instead of camera position when gl_billboard_faces_camera is true
...
```
class ZombieManNoFaceCamera : Zombieman replaces Zombieman
{
default
{
+BILLBOARDNOFACECAMERA;
}
}
```
2023-12-09 05:57:51 -05:00
Rachael Alexanderson
97336cf7c2
- add missing nullptr check
2023-12-08 16:22:22 -05:00
Rachael Alexanderson
3caa6247be
- add flag +BILLBOARDFACECAMERA - renders actor billboard to always face the camera
...
tested with this code snippet:
```
class ZombieManFaceCamera : Zombieman replaces Zombieman
{
default
{
+BILLBOARDFACECAMERA;
}
}
```
2023-12-08 10:12:58 -05:00
Rachael Alexanderson
4b54aac288
- rename ZSprites to VisualThinkers
2023-11-22 12:11:57 -05:00
Ricardo Luís Vaz Silva
5d5e7ca042
Decoupled IQM Model Animations
2023-11-20 22:08:33 -05:00
Ricardo Luís Vaz Silva
1a8dfd2dfa
ActorModelData cleanup in preparation for decoupled model animations
2023-11-20 22:08:33 -05:00
Major Cooke
848dbd4d3d
Fixed uninitialized variables causing issues with other compilers.
2023-11-20 22:07:58 -05:00
Major Cooke
8fcd2c5f43
Fixed compilation with CI
2023-11-17 08:06:11 -05:00
Major Cooke
48e7c2d994
- Proper heap handling of HWSprite pointer
...
- Added `Construct()` method and ensure it's called when created from any means
2023-11-17 08:06:11 -05:00
Major Cooke
0b6bae59ee
Added scolor property, allowing for colorizing ZSprites.
...
- fixed ZSprites not updating important variables while frozen.
2023-11-17 08:06:11 -05:00
Major Cooke
b6b1b25035
Added ZSprites.
...
- Effectively similar to Actors, but without the excess.
- Can be created with either the `level` function or the static `Spawn` function in ZSprite.
- STAT_SPRITE belongs to ZSprites only; ZSprites cannot be moved out of, nor can anything else be moved in to, this statnum.
Misc:
- Fixed (Sprite)Offset taking roll into account.
Crediting phantombeta, RicardoLuis0 and RaveYard for assistance.
2023-11-17 08:06:11 -05:00
Christoph Oelckers
9f90c64727
use FTranslationID in the high level parts of the hardware renderer.
2023-11-09 23:04:11 +01:00
Christoph Oelckers
c426094d54
use translation IDs in the software renderer.
2023-11-09 23:04:11 +01:00
Christoph Oelckers
c5c822ea75
use FTranslationID in the model code.
2023-11-09 23:04:11 +01:00
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