Address Error Exception: Difference between revisions

show ASM and stuff
m (Reverted edits by Macrepeh (talk) to last revision by Nim)
Tag: Rollback
(show ASM and stuff)
Line 20: Line 20:
| Going out of bounds in a room with a painting || style="background-color: #ff9696"| No || style="background-color: #ff9696"| No || `gPaintingMarioFloorType` is what is affected, and it's updated every frame the OoB check happens; at most, you could ''maybe'' delay entering a painting by 1 frame
| Going out of bounds in a room with a painting || style="background-color: #ff9696"| No || style="background-color: #ff9696"| No || `gPaintingMarioFloorType` is what is affected, and it's updated every frame the OoB check happens; at most, you could ''maybe'' delay entering a painting by 1 frame
|-
|-
| Being pushed off of a hang-able ceiling while in the idle hanging action || style="background-color: #ff9696"| No || style="background-color: #fffca8"| Doubtful || ''t9'' for start hang. Would potentially cause Mario to stay hanging for a single frame without a ceiling, No effect for idle loop hang t8, last use of t8 set is ''jr t8'' which is never the hang-able value 0x05)
| Being pushed off of a hang-able ceiling while in the idle hanging action || style="background-color: #ff9696"| No || style="background-color: #fffca8"| Doubtful || No effect for idle loop hang t8, last use of t8 set is ''jr t8'' which is never the hang-able value 0x05)
 
Relevant code (sp24 is gMarioState):
    //! Crash if Mario's referenced ceiling is NULL (same for other hanging actions)
    if (m->ceil->type != SURFACE_HANGABLE) {
    12a4: 8fa80018 lw t0,24(sp)
    12a8: 24010005 li at,5
    12ac: 8d090064 lw t1,100(t0)
    12b0: 85390000 lh t9,0(t1)
    12b4: 13210008 beq t9,at,12d8 <act_start_hanging+0xf0>
    12b8: 00000000 nop
Since the t9 load is skipped, the only effect could be to potentially cause Mario to stay hanging for a single frame without a ceiling.
|-
|-
| Sound glitch || style="background-color: #ffb65e"| N/A || style="background-color: #ffb65e"| N/A || The cause of sound glitch is unknown. Contrary to popular belief, it can sometimes occur on versions other than the original Japanese N64 release.
| Sound glitch || style="background-color: #ffb65e"| N/A || style="background-color: #ffb65e"| N/A || The cause of sound glitch is unknown. Contrary to popular belief, it can sometimes occur on versions other than the original Japanese N64 release.
|}
|}