Merge branch '4.13' of ../gzdoom into gz4.13.1-merge

This commit is contained in:
Rachael Alexanderson 2024-10-20 10:23:29 -04:00
commit 7980d351b7
No known key found for this signature in database
GPG key ID: 26A8ACCE97115EE0
32 changed files with 174 additions and 143 deletions

View file

@ -994,7 +994,7 @@ void HWDrawInfo::RenderOrthoNoFog(FRenderState& state)
double vxdbl = Viewpoint.camera->X();
double vydbl = Viewpoint.camera->Y();
double ext = Viewpoint.camera->ViewPos->Offset.Length() ?
3.0 * Viewpoint.camera->ViewPos->Offset.Length() : 100.0;
3.0 * Viewpoint.camera->ViewPos->Offset.Length() * tan (Viewpoint.FieldOfView.Radians()*0.5) : 100.0;
FBoundingBox viewbox(vxdbl, vydbl, ext);
for (unsigned int kk = 0; kk < Level->subsectors.Size(); kk++)

View file

@ -410,8 +410,6 @@ public:
TArray<lightlist_t> *lightlist;
DRotator Angles;
bool nomipmap; // force the sprite to have no mipmaps (ensures tiny sprites in the distance stay crisp)
void SplitSprite(HWDrawInfo *di, FRenderState& state, sector_t * frontsector, bool translucent);
void PerformSpriteClipAdjustment(AActor *thing, const DVector2 &thingpos, float spriteheight);
bool CalculateVertices(HWDrawInfo *di, FVector3 *v, DVector3 *vp);

View file

@ -227,7 +227,12 @@ void HWSprite::DrawSprite(HWDrawInfo *di, FRenderState &state, bool translucent)
state.SetFog(0, 0);
}
int clampmode = nomipmap ? CLAMP_XY_NOMIP : CLAMP_XY;
int clampmode = CLAMP_XY;
if (texture && texture->isNoMipmap())
{
clampmode = CLAMP_XY_NOMIP;
}
uint32_t spritetype = actor? uint32_t(actor->renderflags & RF_SPRITETYPEMASK) : 0;
if (texture) state.SetMaterial(texture, UF_Sprite, (spritetype == RF_FACESPRITE) ? CTF_Expand : 0, clampmode, translation, OverrideShader);
@ -849,8 +854,6 @@ void HWSprite::Process(HWDrawInfo *di, FRenderState& state, AActor* thing, secto
return;
}
nomipmap = (thing->renderflags2 & RF2_NOMIPMAP);
// check renderrequired vs ~r_rendercaps, if anything matches we don't support that feature,
// check renderhidden vs r_rendercaps, if anything matches we do support that feature and should hide it.
if ((!r_debug_disable_vis_filter && !!(thing->RenderRequired & ~r_renderercaps)) ||
@ -1471,7 +1474,6 @@ void HWSprite::ProcessParticle(HWDrawInfo *di, FRenderState& state, particle_t *
actor = nullptr;
this->particle = particle;
fullbright = particle->flags & SPF_FULLBRIGHT;
nomipmap = particle->flags & SPF_NOMIPMAP;
if (di->isFullbrightScene())
{

View file

@ -704,7 +704,7 @@ void FRenderViewpoint::SetViewAngle(const FViewWindow& viewWindow)
HWAngles.Yaw = FAngle::fromDeg(270.0 - Angles.Yaw.Degrees());
if (IsOrtho() && (camera->ViewPos->Offset.XY().Length() > 0.0))
ScreenProj = 1.34396 / camera->ViewPos->Offset.Length(); // [DVR] Estimated. +/-1 should be top/bottom of screen.
ScreenProj = 1.34396 / camera->ViewPos->Offset.Length() / tan (FieldOfView.Radians()*0.5); // [DVR] Estimated. +/-1 should be top/bottom of screen.
}