Floor cucking: Difference between revisions
(Created page with "'''Floor cucking''' is a phenomenon that occurs when 2 floors or 2 ceilings (both need not be floors, despite the name) are prioritized unintuitively. Triangles are prioritize...") |
Icecream17 (talk | contribs) (paragraphs) |
||
(15 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
'''Floor | {{stub}} | ||
{{rewrite}} | |||
[[File:FloorCucking.png|alt=test alttext|left|thumb|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<ref>[https://www.youtube.com/watch?v=a__Zw3xVrfs "SM64 Obscure RR Region Difference" by 1ted59]</ref>, 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== | |||
<references /> | |||
[[Category:Mechanics]] |
Latest revision as of 14:11, 19 May 2024
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.