diff --git a/src/rendering/swrenderer/scene/r_opaque_pass.cpp b/src/rendering/swrenderer/scene/r_opaque_pass.cpp index 5b5d556b2f6..c3b43fa9cd9 100644 --- a/src/rendering/swrenderer/scene/r_opaque_pass.cpp +++ b/src/rendering/swrenderer/scene/r_opaque_pass.cpp @@ -967,7 +967,13 @@ namespace swrenderer { RenderSprite::Project(Thread, thing, sprite.pos, sprite.tex, sprite.spriteScale, sprite.renderflags, fakeside, fakefloor, fakeceiling, sec, thinglightlevel, foggy, thingColormap, false); - if (r_actorshadows) + bool drawSpriteShadows = + ( + r_actorshadows && + ((thing->flags3 & MF3_ISMONSTER) || thing->IsKindOf(NAME_PlayerPawn)) + ); + + if (drawSpriteShadows) { DVector2 shadowScale = sprite.spriteScale; shadowScale.Y *= (thing->Scale.Y * 0.1);