Mario Kart 64
Loading...
Searching...
No Matches
Bug List
Global crash_screen_draw_info (u16 *framebuffer, OSThread *thread)
if this check fails, the ra register is printed a second time.
Global DEBUG_MODE
This looks like it should work at any point in the race.
Global func_8001969C (s32, f32, s32, s16)
Adding an (f32) cast changes asm, why?
Global func_800B9BE4 (f32, f32, u16 *)
they probably meant to store the value to tmp[i] and tmp[8 + i]
Global func_800BB388 (s32 bankId, s32 instId, s32 arg2)
missing return
Global func_802AF314 (void)
possibly bug. Allocate memory but not increment the pointer. This is bad, dumb code, and more importantly it's bad dumb code that doesn't make any sense here. It is incremented after this function completes using a different variable. Not good.
Global init_sequence_players (void)
Size of wrong array. Zeroes out second half of gSequenceChannels[0], all of gSequenceChannels[1..31], and part of gSequenceLayers[0]. However, this is only called at startup, so it's harmless.
Global load_ceremony_cutscene (void)
these segmented addresses need to be symbols for mobility
Global load_sequence_internal (u32, u32, s32)
This should set the last bank (i.e. the first in the JSON) as default, not the missing one. This code path never gets taken, though – all sequence loading is synchronous.
Global new_actor (ActorInitParams *)

No null check.

Global note_set_vel_pan_reverb (struct Note *note, f32 velocity, u8 pan, u8 reverbVol)
for the change to UQ0.7, the if statement should also have been changed accordingly
Global preload_sequence (u32, u8)
should be IS_SEQ_LOAD_COMPLETE
Global update_gamestate (void)
Reloading this segment makes random_u16() deterministic for player spawn order. In laymens terms, random_u16() outputs the same value every time.