Crash: Difference between revisions

369 bytes added ,  1 January 2022
no edit summary
(Explain surface 12 a bit.)
No edit summary
Line 1: Line 1:
A '''Crash''', '''Freeze''', or '''Hardlock''' is when the [[Threads#Game Thread|game thread]] of SM64 stops executing instructions (as opposed to a [[Softlock|softlock]], where the game is still running as normal but is stuck in a loop without any way to get out). Crashes can occur in several different ways, such as a game thread exception or an [[RCP]] (graphics) crash.
A '''Crash''', '''Freeze''', or '''Hardlock''' is when the [[Threads#Game Thread|game thread]] of SM64 stops executing instructions (as opposed to a [[Softlock|softlock]], where the game is still running as normal but is stuck in a loop without any way to get out). Crashes can occur in several different ways, such as a game thread exception or an [[RCP]] (graphics) crash.
==CPU Crashes==
==CPU Crashes==
{| class="wikitable sortable"
{| class="wikitable sortable"
! Cause !! Exception Type !! Notes
! Cause !! Exception Type !! Notes
Line 48: Line 46:
|When a noise's pan is determined, it uses the position of the object to calculate the pan. When the object's absolute z-position relative to the camera is large (>= 22000 units) and the x-position relative to the camera is very negative (< -66000), an index for the pan will be generated outside of the bounds of the array for the pan. When the value outside of the array is an invalid float, the audio thread will crash (sound glitch). Does not happen when sound mode is set to Mono.
|When a noise's pan is determined, it uses the position of the object to calculate the pan. When the object's absolute z-position relative to the camera is large (>= 22000 units) and the x-position relative to the camera is very negative (< -66000), an index for the pan will be generated outside of the bounds of the array for the pan. When the value outside of the array is an invalid float, the audio thread will crash (sound glitch). Does not happen when sound mode is set to Mono.
|-
|-
|Standing in the camera's position|| style="background-color: #ff9696" |Floating-Point Division-by-Zero||When Mario stands in the same position as the camera, the game will crash due to a division by zero error.<ref>[https://www.youtube.com/watch?v=vK16L2J0la4 "Faster fastest crash in BoB" by Madghostkek]</ref>
|Standing in the camera's position || style="background-color: #ff9696" |Floating-Point Division-by-Zero||When Mario stands in the same position as the camera, the game will crash due to a division by zero error.<ref>[https://www.youtube.com/watch?v=vK16L2J0la4 "Faster fastest crash in BoB" by Madghostkek]</ref>
|-
|Rotating a Pendulum using pendulum manipulation beyond the float angle limit.
| style="background-color: #ff9696" |Floating-Point Overflow
|Manipulating the pendulum to rotate beyond the range of an int will error when truncating the float. Verification of this crash took 39 days.<ref>[https://clips.twitch.tv/TiredKnottyOrcaThunBeast-3MHslDyIHpEavrfG "Pendulum Crash" by rcombs]</ref>
|}
|}
==RCP (Graphics) Crashes==
==RCP (Graphics) Crashes==
{| class="wikitable sortable"
{| class="wikitable sortable"
!Cause!!Exception Type!!Notes
!Cause!!Exception Type!!Notes
Line 65: Line 65:
<references />
<references />


<!-- Category -->
[[Category:Glitches]]
[[Category:Glitches]]
{{Glitches}}
{{Glitches}}