Floor cucking

From Ukikipedia
Jump to navigation Jump to search
test alttext
Example of how a bottom floor always below a top floor, at all points, can overshadow the floor above it.

Floor Cucking, also known as Floor Overshadowing or Surface Overshadowing, is a phenomenon that occurs when 2 floors or 2 ceilings (both need not be floors, despite the name) are prioritized unintuitively. As a result, one surface is prioritized despite being lower; this causes the upper surface to be practically intangible above the lower surface.

Specifically, sufrace triangles are prioritized by the height of their first vertex, but this "first vertex" is just which vertex arbitrarily comes first in the code. As long as that one particular vertex is higher than that one particular vertex of another surface, the another sufrace is considered lower and is overshadowed, even if the another surface is higher at all points. (In the case of the height of the first vertex being the same, the floor that comes first in the collision data will overshadow the floor that comes second, again regardless of average height).

This can cause significant in-game glitches. For example, if a ceiling is wedged between 2 floors, and the lower floor overshadows the higher one, the area above the ceiling triangle becomes a ceiling and Mario will not be able to enter it despite the floor above the ceiling. This is what occurs above the big house in Rainbow Ride[1], where the vertices of floor triangles were re-ordered between versions making a higher vertex of a lower floor triangle be designated vertex #1.

References