diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index f2914ba6f..75aaf8abc 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1741,6 +1741,8 @@ boolean HWR_DrawModel(gl_vissprite_t *spr) HWD.pfnSetShader(SHADER_MODEL); // model shader { float this_scale = FIXED_TO_FLOAT(interp.scale); + fixed_t floorClip = spr->mobj->terrain ? spr->mobj->terrain->floorClip : 0; + float finalfloorClip = FIXED_TO_FLOAT(FixedMul(floorClip, mapobjectscale)*P_MobjFlip(spr->mobj)); float xs = this_scale * FIXED_TO_FLOAT(interp.spritexscale); float ys = this_scale * FIXED_TO_FLOAT(interp.spriteyscale); @@ -1761,7 +1763,7 @@ boolean HWR_DrawModel(gl_vissprite_t *spr) // offset perpendicular to the camera angle p.x -= ox * gl_viewsin; p.y += ox * gl_viewcos; - p.z += oy; + p.z += oy - finalfloorClip; if (R_ThingIsUsingBakedOffsets(spr->mobj)) {