Commit graph

1,029 commits

Author SHA1 Message Date
Rachael Alexanderson
f3b0c3ac5e
- Roll back filesystem changes. These were causing instabilities in the master branch that were interfering with development. 2025-01-04 11:27:21 -05:00
nashmuhandes
a4e527979d Allow setting a dynamic light's alpha to influence its brightness. This brings it in parity with VKDoom 2024-12-26 04:10:44 -05:00
Christoph Oelckers
d1abc3eb8c renamed things in file system to reduce Doom specific terminology. 2024-11-24 18:05:11 +01:00
Christoph Oelckers
634a646c2d take namespace enum out of namespace and added CheckNumForAnyName and CheckNumForFullNameInFile to clarify the meaning of CheckNumForFullName.
This is to take some renaming noise out of the upcoming refactoring.
2024-11-24 17:59:16 +01:00
Boondorl
c31f45c653 Fixed view for frozen players
Will no longer try and extrapolate mouse input that's bound to mispredict.
2024-11-19 08:00:37 -05:00
Boondorl
3ea5be1ea7 Reworked FRandom constructors
Removes ambiguity while keeping old constructor syntax in check for better overall portability.
2024-11-15 23:56:23 -03:00
Boondorl
597b06ae52 Added CRandom functions
Unique RNG namespace for client-side effects and HUDs. Identifiers for these cannot clash with identifiers that affect the playsim making them completely safe to use in HUD elements. They also won't be saved.
2024-11-15 23:56:23 -03:00
Rachael Alexanderson
ccd38afbcb
- revert adding in the sprite/frame support for visual thinkers 2024-11-13 16:16:36 -05:00
Ricardo Luís Vaz Silva
a0c1f5b1b7 fix compilation 2024-11-13 17:02:50 -03:00
Rachael Alexanderson
ad40299da4 - add sprite/frame support for VisualThinkers 2024-11-13 14:39:40 -05:00
Ricardo Luís Vaz Silva
9466c2d138 remove unecessary allocations 2024-11-13 15:47:22 -03:00
Ricardo Luís Vaz Silva
174344ddf1 move visual thinker definition into its own header 2024-11-13 15:47:22 -03:00
Ricardo Luís Vaz Silva
3622e2bb2a Compress visualthinker bools into a flags field 2024-11-13 15:47:22 -03:00
Dileep V. Reddy
85cefd8516 Limiting r_radarclipper effect to Out-of-Bounds viewpoints only. Opens the possibility of leaving it true by default in the future. 2024-11-03 20:38:12 -05:00
Dileep V. Reddy
2ba57b5068 Reduce number of multiply ops per frame and increase x-axis clipper range for orthographic projection. 2024-10-26 18:36:45 -04:00
nashmuhandes
12c6d1361a Move no-mipmapping from actor renderflag/particle flag, to a material property in GLDEFS, where it makes more sense. The feature was introduced in the short-lived engine version of 4.13 which was deemed too broken and needed to be replaced with a newer version anyway, so might as well perform an API-breaking change at this point in time. Note that this currently only works for sprites (its primary targeted use case) -- walls, flats and models can be patched in later. 2024-10-19 18:35:54 -04:00
dileepvr
6e7148b074 Missed a line in RenderOrthoNoFog
Tying up the fov fix.
2024-10-18 03:34:29 -04:00
dileepvr
c38b119435 FOV scales ortho up to 180 degrees
One line change in r_utility.cpp affecting a custom field.

Orthographic projection sees "more" of the sceen as fov increases, but only up to 180 degrees, after which it will have no effect.
Orthographic projection has no meaning for fov since there is no Frustum. But since this is fundamental to the engine, I am reinterpreting it. Cherno wanted this too.
I'll update the wiki if this gets in.
2024-10-18 03:34:29 -04:00
Rachael Alexanderson
3bf3af9441
- readd canvas check 2024-10-17 23:45:09 -04:00
Rachael Alexanderson
c2fd99a24d
Revert "- Actor.GetSpecies() is a non-destructive function"
This reverts commit ee5442c06b.
2024-10-17 21:28:52 -04:00
Rachael Alexanderson
ee5442c06b
- Actor.GetSpecies() is a non-destructive function 2024-10-14 17:31:18 -04:00
Major Cooke
fa467073eb Added (SPF_)STRETCHPIXELS.
This counteracts the squaring implied by rolling sprites.
2024-10-14 16:14:25 -04:00
Dileep V. Reddy
f9a59a989b Orthographic projection Widescreen aspect ratio horizontal clipping fixed. This one-line change only affects ortho viewpoints. Easy to verify in windowed mode. 2024-10-08 12:36:00 -04:00
Dileep V. Reddy
568a39d203 Removing pre-clipping of Frustum if pitch > 46 degrees and viewpoint is not allowed out of bounds. This is like old behavior. 2024-09-30 10:16:50 -04:00
Rachael Alexanderson
bbeaea1ea7
- implement anamorphesis proof-of-concept (#2431)
Co-authored-by: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
2024-09-29 18:09:07 -04:00
Rachael Alexanderson
85ae8f8194
- flat sprites are already square, no need to adjust them 2024-09-29 10:05:43 -04:00
Gene
de87493c41
Fix incorrect boolean logic for drawBillboardFacingCamera 2024-09-20 08:38:45 -04:00
Gene
5347cdf569
Fix billboard facing camera only taking effect when used with XY billboarding 2024-09-19 10:56:24 -04:00
Christoph Oelckers
ed39413532 Render the bottom sky layer always with full opacity in the SW true color renderer.
No need to add explicit checks for color (0,0,0,0) here.
2024-09-12 08:47:00 +02:00
Cacodemon345
38290b6615 Truecolor sky: Draw opaque black background on transparent texels
Fixes HOM effect
2024-09-12 08:38:19 +02:00
Dileep V. Reddy
aacc4d7278 PointToPseudoPitch() was being called even when viewpoint was not allowed out of bounds. And its sqrt was slow even when it was necessary (thanks dpjudas for the speedup code). 2024-09-10 10:58:36 -04:00
Rachael Alexanderson
5895f9b1b1
- implement +SQUAREPIXELS flag 2024-09-07 23:09:36 -04:00
Dileep V. Reddy
b2976444c9 Smaller aspect ratio screens were getting clipped a bit too much. This is a brute-force if-else solution. Larger aspect ratios (wider screens) were always good. 2024-08-25 11:18:05 -04:00
Dileep V. Reddy
958721e2b8
Forgot on check. 2024-08-15 02:43:48 -04:00
dileepvr
95b264bdb6
Isometric Mode and Robin (#2618)
* Feature-complete isometric mode fork.

* Dithered transparency condition tweaks.

* Dithered transparency for non-corpse monsters only (and missiles).

* SpectatorCamera vertical shift.

* Including math.h in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in r_utility.cpp also to keep visual studio happy.

* retrigger checks

* Have correct sprite angle-frame face the camera with orthographic projection enabled.

* Dithered Transparency now works properly on 3D floors. Moved that dither-trans flag setting code within hw_bsp.cpp to handle double-processing of linedefs. Added helper functions to FRenderViewpoint class 'bool IsOrtho()' and 'bool IsAllowedOoB()' to clean up checks everywhere in the code.

* Fixed indents. Added bbox property to subsector struct and use it instead of BSP nodes and Clippers (creating a bbox around viewpoint and checking for overlap) in orthographic mode when no fog of war is active. Turns out to be much faster. Though you need really big maps (Winter's Fury MAP01) to see a difference in fps.

* Non-linux checks don't like uint. Changed to unsigned int.

* Small change of a float to camera.zs. Ignore for testing. Should make no difference.

* Update actor.h to remain mergeable

RF2_NOMIPMAP was introduced, so I had to displace RF_ISOMETRICSPRITES to next bit.
2024-08-11 10:04:40 -04:00
nashmuhandes
593e1c0225 Add SPF_NOMIPMAP to force actor sprites or particles to have no mipmaps. This makes tiny sprites/particles look more crisp and legible in the distance. Mipmapping causes the sprites/particles to have an inconsistent look where they'd sometimes be clearly visible and sometimes less visible depending on camera distance and movement. 2024-08-03 18:45:48 -03:00
Boondorl
10d0f94972 Misc network fixes
Fixed missing teleport specials when predicting. Added rubberband limit; if too far away from the predicted position, will instead instantly snap the player's view to their new spot. Deprecated cl_noprediction; this was pointless as you'd never not want to predict your position/angles. Fixed angle targets not being backed up. Fixed oldbuttons not being set. Updated menu
2024-07-07 01:33:37 -03:00
Major Cooke
5fc3d44ba5 Added SPF_ROLLCENTER for particles and visual thinkers. 2024-06-23 11:09:29 -04:00
Major Cooke
c56d70f2b1 Added SPF_(NO)FACECAMERA flagst for specifying camera facing on particles and visual thinkers.
- This also adds ensures facing camera is applied to these via the option menu.
2024-06-23 10:07:22 -04:00
nashmuhandes
2e4bf697b8 Add X, Y and Z offsets for VOXELDEF. Needed for voxelized weapons which would typically be very large and take up the majority of the 256x256x256 canvas, therefore making precise positioning of the models relative to the screen pretty much impossible without tweakable offsets. 2024-06-21 08:17:54 -03:00
Rachael Alexanderson
cf8a04c457
- simplify squishing to square pixels for particles and rollsprites 2024-05-21 03:09:47 -04:00
Rachael Alexanderson
7ef6fa97a7
- make roll and flat sprites square 2024-05-03 14:32:53 -04:00
Rachael Alexanderson
4bf2fb0ef8
- make particles square 2024-05-03 02:04:29 -04:00
Rachael Alexanderson
586e89954a
- fixed: rollsprites now 'unstretch' properly in regular y-billboarding 2024-04-23 20:31:05 -04:00
Christoph Oelckers
d45a4f18d4 fix lifetime of skyinfo variable in HWWall::SkyPlane. 2024-04-22 07:14:04 +02:00
Rachael Alexanderson
111fd48348
- stretch billboarding sprites properly according to the level's aspect ratio 2024-04-20 17:53:08 -04:00
Professor Hastig
f796e55c0d initialize lightmap pointer in ProcessLowerMiniseg. 2024-04-08 12:54:07 +02:00
Boondorl
6b7065899d Added interpolation to view position 2024-03-28 15:48:05 -04:00
Major Cooke
fe0de5053a - Fixed: ROLLCENTER was always being applied even when the flag wasn't present. 2024-03-15 01:17:19 -03:00
Boondorl
730ef1a23a Adjusted view angle interpolation
Now uses deltaangle to get the shortest interpolation path for angles.
2024-03-10 13:48:25 -03:00