SheNaNigans: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
No edit summary
(Added some object interaction explanations and basic glitch description)
 
Line 3: Line 3:
'''SheNaNigans''' are a category of glitches that occur due to [[Mario]]'s position being [[Floats#NaN|NaN]].
'''SheNaNigans''' are a category of glitches that occur due to [[Mario]]'s position being [[Floats#NaN|NaN]].


==Red Coin SheNaNigans==
== Obtaining a NaN position ==  
Due to the nature of floats and the N64 hardware, there is no currently known way for Mario to reach a position of NaN on an N64 due to the console crashing from a floating point exception long before obtaining this value, but it has been done on emulators.


The basic idea is to first reach INF or -INF speed, and then have a joystick position that will multiply that speed by a zero value{{Citation needed}}. A multiplication between 0 and -INF will return the value NaN. This has been achieved previously using the elevator [[Big Boo's Haunt]].


==Object Interaction==
Whenever Mario's position is NaN in any given axis, the game will make Mario interact with all objects on the plane of that axis. This is because the game return "true" by default when evaluating object collision, and a NAN value will always make any comparison return "false"<ref>[https://github.com/n64decomp/sm64/blob/9921382a68bb0c865e5e45eb594d9c64db59b1af/src/game/object_collision.c#L25 detect_object_hitbox_overlap in decomp]</ref>. This can be used to collect coins, stars or interact with any constantly loaded object.








== References ==
<references/>
{{Template:Glitches}}
{{Template:Glitches}}




[[Category:Glitches]]
[[Category:Glitches]]

Latest revision as of 16:35, 30 December 2023

SheNaNigans are a category of glitches that occur due to Mario's position being NaN.

Obtaining a NaN position

Due to the nature of floats and the N64 hardware, there is no currently known way for Mario to reach a position of NaN on an N64 due to the console crashing from a floating point exception long before obtaining this value, but it has been done on emulators.

The basic idea is to first reach INF or -INF speed, and then have a joystick position that will multiply that speed by a zero value[citation needed]. A multiplication between 0 and -INF will return the value NaN. This has been achieved previously using the elevator Big Boo's Haunt.

Object Interaction

Whenever Mario's position is NaN in any given axis, the game will make Mario interact with all objects on the plane of that axis. This is because the game return "true" by default when evaluating object collision, and a NAN value will always make any comparison return "false"[1]. This can be used to collect coins, stars or interact with any constantly loaded object.



References