diff --git a/src/r_things.cpp b/src/r_things.cpp index 4b3a61d68..ff616d6f5 100644 --- a/src/r_things.cpp +++ b/src/r_things.cpp @@ -998,9 +998,6 @@ static void R_DrawVisSprite(vissprite_t *vis) frac = vis->startfrac; windowtop = windowbottom = sprbotscreen = INT32_MAX; - if (!(vis->cut & SC_PRECIP) && vis->mobj->skin && ((skin_t *)vis->mobj->skin)->highresscale != FRACUNIT) - this_scale = FixedMul(this_scale, ((skin_t *)vis->mobj->skin)->highresscale); - if (this_scale <= 0) this_scale = 1; @@ -1507,8 +1504,6 @@ static void R_ProjectDropShadow( shadow->gzt = groundz + patch->height * shadowyscale / 2; shadow->gz = shadow->gzt - patch->height * shadowyscale; shadow->texturemid = FixedMul(interp.scale, FixedDiv(shadow->gzt - viewz, shadowyscale)); - if (thing->skin && ((skin_t *)thing->skin)->highresscale != FRACUNIT) - shadow->texturemid = FixedMul(shadow->texturemid, ((skin_t *)thing->skin)->highresscale); shadow->scalestep = 0; shadow->shear.tan = shadowskew; // repurposed variable @@ -1800,6 +1795,8 @@ static void R_ProjectSprite(mobj_t *thing) } this_scale = interp.scale; + if (thing->skin && ((skin_t *)thing->skin)->highresscale != FRACUNIT) + this_scale = FixedMul(this_scale, ((skin_t *)thing->skin)->highresscale); // hitlag vibrating if (thing->hitlag > 0 && (thing->eflags & MFE_DAMAGEHITLAG)) @@ -1941,9 +1938,6 @@ static void R_ProjectSprite(mobj_t *thing) I_Assert(lump < max_spritelumps); - if (thing->skin && ((skin_t *)thing->skin)->highresscale != FRACUNIT) - this_scale = FixedMul(this_scale, ((skin_t *)thing->skin)->highresscale); - spr_width = spritecachedinfo[lump].width; spr_height = spritecachedinfo[lump].height; spr_offset = spritecachedinfo[lump].offset; @@ -2525,7 +2519,7 @@ static void R_ProjectSprite(mobj_t *thing) vis->xscale = FixedMul(spritexscale, xscale); //SoM: 4/17/2000 vis->scale = FixedMul(spriteyscale, yscale); //<thingscale = interp.scale; + vis->thingscale = this_scale; vis->spritexscale = spritexscale; vis->spriteyscale = spriteyscale;