-sprite_kludge 0
and, if you don't see anything different, try:
-sprite_kludge 1
And boot into your test map -- it looks like the following check will remove sprites, since it seems the previous team tried to correct the clipping:
Code: Select all
// fix for sprites that sit wrongly into the floor/ceiling
	int y_clipping = YCLIP_Soft;
	if (is_model || (mo->flags & MF_FUZZY) || (mo->hyperflags & HF_HOVER))
	{
		[b]y_clipping = YCLIP_Never;[/b]
	}Code: Select all
	else if (sprite_kludge==0 && gzb < [b]mo->floorz[/b])
	{
		// explosion ?
		if (mo->info->flags & MF_MISSILE)
		{
			[b]y_clipping = YCLIP_Hard;[/b]
		}
		else
		{
			[b]gzt += mo->floorz - gzb;
			gzb = mo->floorz;[/b]
		}
	}
	else if (sprite_kludge==0 && gzt > [b]mo->ceilingz[/b])
	{
		// explosion ?
		if (mo->info->flags & MF_MISSILE)
		{
			[b]y_clipping = YCLIP_Hard;[/b]
		}
		else
		{
			[b]gzb -= gzt - mo->ceilingz;
			gzt = mo->ceilingz;[/b]
		}
	}At any rate, try that and let me know if it works any differently. I have a good understanding of how Y-clipping works now, so please let me know. If this all fails to produce results, I may have a solution ready. . .
EDIT:
Saw this in the disabled part of the code, in THING rendering:
Code: Select all
	// Note that sprites are not clipped by the lowest floor or
	// highest ceiling, OR by *solid* extrafloors (even translucent
	// ones) -- UNLESS y_clipping == YCLIP_Hard.