SheNaNigans: Difference between revisions
No edit summary |
(Added some object interaction explanations and basic glitch description) |
||
(One intermediate revision by one other user not shown) | |||
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]]. | ||
== | == 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}} | |||
[[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
|