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 detect_tyre_collision (KartTyre *)
Global ENABLE_DEBUG_MODE
This looks like it should work at any point in the race.
Global func_8001969C (UNUSED s32 playerId, UNUSED f32 arg1, s32 cameraId, UNUSED s16 pathIndex)
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 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.