Magnus Norddahl
c1d0963da4
Rewrite the GLSL ray trace code so it does not use global variables!!
...
Fix portals not working
2024-02-09 12:08:16 +01:00
Magnus Norddahl
2411b103b5
Keep bindings in the mesh
2024-02-08 21:27:16 +01:00
Major Cooke
3f72f8acd5
Fixed psprites & viewpos being completely broken for non-isometric mode.
...
This line of code was altering a global cvar.
2024-02-03 11:22:16 -05:00
Dileep V. Reddy
25f1407228
Cleaning up implementation of isometric camera with optional orthographic projection.
...
All CVars, mapinfo variables, and playerinfo/playerpawn variables are gone.
A Camera actor named 'SpectatorCamera' is defined in warsrc/static/zscript/actors/shared/camera.zs
The following new flag bits were defined in the 'DViewPosition' struct for use with actor->ViewPos in src/playsim/actor.h:
VPSF_ALLOWOUTOFBOUNDS = 1 << 3, // Allow viewpoint to go out of bounds (hardware renderer only).
VPSF_ORTHOGRAPHIC = 1 << 4, // Use orthographic projection.
VPSF_ISOMETRICSPRITES = 1 << 5, // Displace sprites towards camera and don't billboard (drawn from isometric perspective).
Basically, spawn a SpectatorCamera actor with the appropriate flags and set it to player.camera.
See example template: https://www.mediafire.com/file/fv8rytayjt9l6g1/isometric_actor_wads.zip/file
Has been tested with multiplayer death and disconnection (and respawns). Not tested with portals.
Still only works with hardware renderer (mostly). But should be compatible with older mods and libraries.
2024-02-01 08:43:34 -05:00
Magnus Norddahl
7bc2ed5436
Remove the submesh class as that caused more problems than it solved
2024-01-29 21:56:42 +01:00
Major Cooke
dbd6059894
Fixed player sprites not showing up in chasecam mode.
2024-01-28 09:48:11 -05:00
Dileep V. Reddy
c8a7507e8e
Merged with latest master and made small change (zcenter -> center.Z) to hw_sprites.cpp. Now compiles and works.
2024-01-21 12:13:42 -05:00
Dileep V. Reddy
e171f4eb6a
Restored r_orthographic behavior.
2024-01-21 12:13:42 -05:00
Dileep V. Reddy
d3405837ce
Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars.
2024-01-21 12:13:42 -05:00
Dileep V. Reddy
08b03e6b19
Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom.
2024-01-21 12:13:42 -05:00
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
Magnus Norddahl
3cc38c1d14
Merge remote-tracking branch 'gzdoom/master'
2024-01-18 10:43:42 +01: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
Magnus Norddahl
1d34b16676
Fix typo
2024-01-17 21:17:47 +01:00
Magnus Norddahl
f8aee53953
Change lightmap UV calculation to use the final decal position
2024-01-17 21:05:44 +01:00
Magnus Norddahl
4341f1da27
Fix missing lightmap on decals
2024-01-17 20:24:24 +01:00
Ricardo Luís Vaz Silva
98e6330eaa
allow modeldef flags to be overriden
2024-01-16 10:27:08 -05:00
Magnus Norddahl
ee7771f71f
ZDRay lump loading adjustments
2024-01-16 12:42:58 +01:00
RaveYard
7f7363e30b
Convert fogball calculations from sRGB to linear
2024-01-11 01:33:36 +08:00
Magnus Norddahl
805bce1166
Merge remote-tracking branch 'gzdoom/master'
2024-01-10 04:03:35 +01: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
Magnus Norddahl
73ada7f84b
Merge remote-tracking branch 'gzdoom/staging'
2024-01-02 17:10:47 +01:00
RaveYard
9534e7b76e
Increase and unify max distance for sunlight rays
2024-01-01 14:36:08 +01:00
Magnus Norddahl
9c55120251
Fix include error
2023-12-31 07:30:12 +01:00
Magnus Norddahl
a793ddd7bd
More compile fixes
2023-12-31 07:10:36 +01:00
Magnus Norddahl
c1f38b18c4
Put all the pipeline barriers in the same function and use a new instance buffer each time the TLAS is updated
2023-12-26 04:31:02 +01:00
Magnus Norddahl
bdea7b6c13
Always update sprite light in dynamic lm sectors
2023-12-26 04:31:01 +01:00
Magnus Norddahl
46946e9fd4
Move lightmap UV calculations to HWWall::CreateVertices
2023-12-26 04:31:01 +01:00
Magnus Norddahl
4b5882e030
Remove unused code and make functions private
2023-12-26 04:31:01 +01:00
Magnus Norddahl
712c664a2c
Use the correct light mode
2023-12-26 04:31:01 +01:00
Magnus Norddahl
0cd39e68ca
Remove unused code
2023-12-26 04:31:01 +01:00
Magnus Norddahl
4104f047b6
Apply texture matrix
2023-12-26 04:31:01 +01:00
Magnus Norddahl
3d71e2532f
Disable translucent HWWall surfaces
2023-12-26 04:31:01 +01:00
Magnus Norddahl
bbb3a677c3
Fix sky surface getting getting bound as an upper wall
2023-12-26 04:31:01 +01:00
Magnus Norddahl
496b053567
HWWall lightmap UV calculation hell
2023-12-26 04:31:00 +01:00
Magnus Norddahl
29217df246
Create index list directly from the levelmesh builder
2023-12-26 04:31:00 +01:00
Magnus Norddahl
48b6a7ec46
Split level mesh surface from lightmap tiles as we have multiple surfaces per tile
2023-12-26 04:31:00 +01:00
Magnus Norddahl
1f6356f414
Plane shadow vertices must be created after the level mesh, otherwise they do not receive the lightmap UV coordinates
2023-12-26 04:31:00 +01:00
Magnus Norddahl
4ae767cc5a
Fix polyobj planes ending up in the level mesh
2023-12-26 04:31:00 +01:00